📄 ui_main.lst
字号:
\ 012E DDE5 PUSH IX
\ 0130 DD210000 LD IX,0
\ 0134 DD39 ADD IX,SP
\ 0136 C5 PUSH BC
\ 0137 D5 PUSH DE
\ 0138 F5 PUSH AF
\ 0139 F5 PUSH AF
115 WORD buf[2]; //buffer for sd read
116
117 ASSERT(id <= UIID_MAX);
118
119 //读entry
120 SD_FSeek(res_fp, SEEK_SET, (long)id * sizeof(res_entry_t));
\ 013A EB EX DE,HL
\ 013B 010000 LD BC,0
\ 013E 3E04 LD A,4
\ 0140 CD0000 CALL LWRD ?L_LSH_L03
\ 0143 C5 PUSH BC
\ 0144 E5 PUSH HL
\ 0145 0E00 LD C,0
\ 0147 ED5B0000 LD DE,(res_fp)
\ 014B CD0000 CALL LWRD SD_FSeek
\ 014E E1 POP HL
\ 014F E1 POP HL
121 SD_FRead(res_fp, &res_entry, sizeof(res_entry_t));
\ 0150 211000 LD HL,16
\ 0153 E5 PUSH HL
\ 0154 010000 LD BC,res_entry
\ 0157 ED5B0000 LD DE,(res_fp)
\ 015B CD0000 CALL LWRD SD_FRead
\ 015E F1 POP AF
122 if(res_entry.type != RES_TYPE_PIC) return 0;
\ 015F 3A0600 LD A,(res_entry+6)
\ 0162 3D DEC A
\ 0163 2805 JR Z,?0003
\ 0165 ?0002:
\ 0165 210000 LD HL,0
123 ASSERT(res_entry.length <= 512);
\ 0168 1869 JR ?0006
\ 016A ?0003:
124
125 //读数据
126 SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
\ 016A 2A0200 LD HL,(res_entry+2)
\ 016D E5 PUSH HL
\ 016E 2A0000 LD HL,(res_entry)
\ 0171 E5 PUSH HL
\ 0172 0E00 LD C,0
\ 0174 ED5B0000 LD DE,(res_fp)
\ 0178 CD0000 CALL LWRD SD_FSeek
\ 017B E1 POP HL
\ 017C E1 POP HL
127 SD_FRead(res_fp, buf, sizeof(buf));
\ 017D 210400 LD HL,4
\ 0180 E5 PUSH HL
\ 0181 210200 LD HL,2
\ 0184 39 ADD HL,SP
\ 0185 4D LD C,L
\ 0186 44 LD B,H
\ 0187 ED5B0000 LD DE,(res_fp)
\ 018B CD0000 CALL LWRD SD_FRead
\ 018E F1 POP AF
128 res_region.width = (char)buf[0];
\ 018F DD46F8 LD B,(IX-8)
\ 0192 78 LD A,B
\ 0193 320200 LD (res_region+2),A
129 res_region.height = (char)buf[1];
\ 0196 DD46FA LD B,(IX-6)
\ 0199 78 LD A,B
\ 019A 320300 LD (res_region+3),A
130
131 //显示
132 res_region.x = x;
\ 019D DD46FE LD B,(IX-2)
\ 01A0 78 LD A,B
\ 01A1 320000 LD (res_region),A
133 res_region.y = y;
\ 01A4 DD4606 LD B,(IX+6)
\ 01A7 78 LD A,B
\ 01A8 320100 LD (res_region+1),A
134 PutSDImage(&res_region, res_fp->rwpointer);
\ 01AB 211400 LD HL,20
\ 01AE ED4B0000 LD BC,(res_fp)
\ 01B2 09 ADD HL,BC
\ 01B3 4E LD C,(HL)
\ 01B4 23 INC HL
\ 01B5 46 LD B,(HL)
\ 01B6 23 INC HL
\ 01B7 5E LD E,(HL)
\ 01B8 23 INC HL
\ 01B9 56 LD D,(HL)
\ 01BA D5 PUSH DE
\ 01BB C5 PUSH BC
\ 01BC 110000 LD DE,res_region
\ 01BF CD0000 CALL LWRD PutSDImage
\ 01C2 E1 POP HL
\ 01C3 E1 POP HL
135 if(ui_auto_update) UpdateScreen(&res_region);
\ 01C4 3A0000 LD A,(ui_auto_update)
\ 01C7 B7 OR A
\ 01C8 2806 JR Z,?0005
\ 01CA ?0004:
\ 01CA 110000 LD DE,res_region
\ 01CD CD0000 CALL LWRD UpdateScreen
\ 01D0 ?0005:
136 return 1;
\ 01D0 210100 LD HL,1
137 }
\ 01D3 ?0006:
\ 01D3 DDF9 LD SP,IX
\ 01D5 DDE1 POP IX
\ 01D7 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 01DA ui_show_a:
138
139
140
141 void ui_show_a(WORD id) //音乐类型
142 {
\ 01DA C5 PUSH BC
\ 01DB DDE5 PUSH IX
\ 01DD DD210000 LD IX,0
\ 01E1 DD39 ADD IX,SP
\ 01E3 D5 PUSH DE
143 main_ResShowPic(id, POS_TYPE, POSY_TYPE);
\ 01E4 0E04 LD C,4
\ 01E6 C5 PUSH BC
\ 01E7 0E42 LD C,66
\ 01E9 3E00 LD A,BYTE3 main_ResShowPic
\ 01EB 212E01 LD HL,LWRD main_ResShowPic
\ 01EE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01F1 F1 POP AF
144
145 }
\ 01F2 DDF9 LD SP,IX
\ 01F4 DDE1 POP IX
\ 01F6 C1 POP BC
\ 01F7 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 01FA ui_show_b:
146 void ui_show_b(WORD id) //播放模式
147 {
\ 01FA C5 PUSH BC
\ 01FB DDE5 PUSH IX
\ 01FD DD210000 LD IX,0
\ 0201 DD39 ADD IX,SP
\ 0203 D5 PUSH DE
148 main_ResShowPic(id, 142, 22);
\ 0204 0E16 LD C,22
\ 0206 C5 PUSH BC
\ 0207 0E8E LD C,142
\ 0209 3E00 LD A,BYTE3 main_ResShowPic
\ 020B 212E01 LD HL,LWRD main_ResShowPic
\ 020E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0211 F1 POP AF
149 }
\ 0212 DDF9 LD SP,IX
\ 0214 DDE1 POP IX
\ 0216 C1 POP BC
\ 0217 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 021A ui_show_c:
150
151 //id =0, clear the icon
152 void ui_show_c(WORD id) //EQ
153 {
\ 021A C5 PUSH BC
\ 021B DDE5 PUSH IX
\ 021D DD210000 LD IX,0
\ 0221 DD39 ADD IX,SP
\ 0223 D5 PUSH DE
154 main_ResShowPic(id,POS_EQ,POSY_EQ);
\ 0224 0E06 LD C,6
\ 0226 C5 PUSH BC
\ 0227 0E0C LD C,12
\ 0229 3E00 LD A,BYTE3 main_ResShowPic
\ 022B 212E01 LD HL,LWRD main_ResShowPic
\ 022E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0231 F1 POP AF
155 }
\ 0232 DDF9 LD SP,IX
\ 0234 DDE1 POP IX
\ 0236 C1 POP BC
\ 0237 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 023A ui_show_d:
156
157
158 void ui_show_d(const char *string, char mode) //显示当前时间
159 { /*char id;
\ 023A DDE5 PUSH IX
\ 023C DD210000 LD IX,0
\ 0240 DD39 ADD IX,SP
\ 0242 C5 PUSH BC
\ 0243 D5 PUSH DE
\ 0244 F5 PUSH AF
\ 0245 F5 PUSH AF
\ 0246 F5 PUSH AF
\ 0247 F5 PUSH AF
160 id=*string-0x30;
161 main_ResShowPic(PRGNUM0+id,POS_SONGTIME,POSY_SONGTIME);
162 string++;
163 id= *string-0x30;
164 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+24,POSY_SONGTIME);
165 string++;
166 id= *string-0x30;
167 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+40,POSY_SONGTIME);
168 string++;
169 id= *string-0x30;
170 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+62,POSY_SONGTIME);
171 string++;
172 id= *string-0x30;
173 main_ResShowPic(PRGNUM0+id,POS_SONGTIME+78,POSY_SONGTIME);*/
174 DC oldDC_sav;
175 GetDCStatus(&oldDC_sav);
\ 0248 210000 LD HL,0
\ 024B 39 ADD HL,SP
\ 024C 5D LD E,L
\ 024D 54 LD D,H
\ 024E CD0000 CALL LWRD GetDCStatus
176 SetPenColor(Color_BLACK_def);
\ 0251 010000 LD BC,0
\ 0254 110000 LD DE,0
\ 0257 CD0000 CALL LWRD SetPenColor
177 SetBackgdColor(Color_MENU_def);
\ 025A 010000 LD BC,0
\ 025D 11FFFF LD DE,65535
\ 0260 CD0000 CALL LWRD SetBackgdColor
178
179 SetAsciiFont(FONT_TYPE_SMALL);
\ 0263 1E00 LD E,0
\ 0265 CD0000 CALL LWRD SetAsciiFont
180 if(mode)
\ 0268 AF XOR A
\ 0269 DDB6FE OR (IX-2)
\ 026C 2809 JR Z,?0008
\ 026E ?0007:
181 SetTextPos(122, 124);
\ 026E 0E7C LD C,124
\ 0270 1E7A LD E,122
\ 0272 CD0000 CALL LWRD SetTextPos
182 else
\ 0275 1807 JR ?0009
\ 0277 ?0008:
183 SetTextPos(6, 124);
\ 0277 0E7C LD C,124
\ 0279 1E06 LD E,6
\ 027B CD0000 CALL LWRD SetTextPos
\ 027E ?0009:
184 PutS(string, -1);
\ 027E 0EFF LD C,255
\ 0280 DD5EFC LD E,(IX-4)
\ 0283 DD56FD LD D,(IX-3)
\ 0286 CD0000 CALL LWRD PutS
185 SetAsciiFont(FONT_TYPE_DEFAULT);
\ 0289 1E04 LD E,4
\ 028B CD0000 CALL LWRD SetAsciiFont
186
187 SetPenColor(oldDC_sav.PenColor);
\ 028E DD4EF6 LD C,(IX-10)
\ 0291 DD46F7 LD B,(IX-9)
\ 0294 DD5EF4 LD E,(IX-12)
\ 0297 DD56F5 LD D,(IX-11)
\ 029A CD0000 CALL LWRD SetPenColor
188 SetBackgdColor(oldDC_sav.BackgdColor);
\ 029D 210400 LD HL,4
\ 02A0 39 ADD HL,SP
\ 02A1 5E LD E,(HL)
\ 02A2 23 INC HL
\ 02A3 56 LD D,(HL)
\ 02A4 23 INC HL
\ 02A5 4E LD C,(HL)
\ 02A6 23 INC HL
\ 02A7 46 LD B,(HL)
\ 02A8 CD0000 CALL LWRD SetBackgdColor
189 }
\ 02AB DDF9 LD SP,IX
\ 02AD DDE1 POP IX
\ 02AF C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 02B2 ui_show_f:
190
191
192 void ui_show_f(const char *string) //文件名/滚屏显示
193 {
\ 02B2 C5 PUSH BC
\ 02B3 DDE5 PUSH IX
\ 02B5 DD210000 LD IX,0
\ 02B9 DD39 ADD IX,SP
\ 02BB D5 PUSH DE
194 SetTextPos(POS_SCROLLSTRAT, POSY_SCROLL);
\ 02BC 0E6E LD C,110
\ 02BE 1E2D LD E,45
\ 02C0 CD0000 CALL LWRD SetTextPos
195 PutS(string, -1);
\ 02C3 0EFF LD C,255
\ 02C5 DD5EFE LD E,(IX-2)
\ 02C8 DD56FF LD D,(IX-1)
\ 02CB CD0000 CALL LWRD PutS
196 }
\ 02CE DDF9 LD SP,IX
\ 02D0 DDE1 POP IX
\ 02D2 C1 POP BC
\ 02D3 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 02D6 ui_show_g:
197
198 void ui_show_g(const char *string) //文件名显示
199 {
\ 02D6 C5 PUSH BC
\ 02D7 DDE5 PUSH IX
\ 02D9 DD210000 LD IX,0
\ 02DD DD39 ADD IX,SP
\ 02DF D5 PUSH DE
200 SetTextPos(POS_FILENAME, POSY_FILENAME);
\ 02E0 0E4F LD C,79
\ 02E2 1E2D LD E,45
\ 02E4 CD0000 CALL LWRD SetTextPos
201 PutS(string, -1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -