ui_stop.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,139 行 · 第 1/4 页
LST
1,139 行
\ 0256 F1 POP AF
170 ///-SetTextOutMode(1);
171 SetBackgdColor(0x0000df1c);
\ 0257 010000 LD BC,0
\ 025A 111CDF LD DE,57116
\ 025D CD0000 CALL LWRD SetBackgdColor
172 SetPenColor(Color_BLACK_def);
\ 0260 010000 LD BC,0
\ 0263 59 LD E,C
\ 0264 50 LD D,B
\ 0265 CD0000 CALL LWRD SetPenColor
173 ResShowMultiString(TEXT, g_comval.langid, 255, 1);
\ 0268 0E01 LD C,1
\ 026A C5 PUSH BC
\ 026B 0EFF LD C,255
\ 026D C5 PUSH BC
\ 026E ED4B0C00 LD BC,(g_comval+12)
\ 0272 11B901 LD DE,441
\ 0275 3E00 LD A,BYTE3 ResShowMultiString
\ 0277 210000 LD HL,LWRD ResShowMultiString
\ 027A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 027D F1 POP AF
\ 027E F1 POP AF
174 SetBackgdColor(Color_MENU_def);
\ 027F 010000 LD BC,0
\ 0282 11FFFF LD DE,65535
\ 0285 CD0000 CALL LWRD SetBackgdColor
175 ///-SetTextOutMode(0);
176 /*
177 ResShowPic(DHT,194,8);
178 ResShowPic(MDIR, explorer_pic_x_def-2, POSITION_MENU6-4);
179 SetTextPos(menu_str_x_def, POSITION_MENU6-2);
180 SetPenColor(Color_WHITE_def);
181 PutS(dir_name, -1);
182 if(g_reader_vars.location.disk=='H')
183 ResShowPic(CARDDISK,180,150);
184 */
185
186 //show icons & text
187 for(i=0; i<6; i++)
\ 0288 FD210000 LD IY,0
\ 028C ?0041:
\ 028C 010680 LD BC,32774
\ 028F FDE5 PUSH IY
\ 0291 E1 POP HL
\ 0292 78 LD A,B
\ 0293 AC XOR H
\ 0294 67 LD H,A
\ 0295 ED42 SBC HL,BC
\ 0297 D24103 JP NC,?0040
\ 029A ?0042:
188 {
189 if(top+i >= g_file_total) break; //处理不足5个的情况
\ 029A FDE5 PUSH IY
\ 029C E1 POP HL
\ 029D DD4EF6 LD C,(IX-10)
\ 02A0 DD46F7 LD B,(IX-9)
\ 02A3 09 ADD HL,BC
\ 02A4 ED4B0200 LD BC,(g_file_total)
\ 02A8 F680 OR 128
\ 02AA ED42 SBC HL,BC
\ 02AC E2B002 JP PO,?0106
\ 02AF AC XOR H
\ 02B0 ?0106:
\ 02B0 F24103 JP P,?0040
\ 02B3 ?0044:
\ 02B3 ?0045:
190 ///-ResShowPic(MFILE, explorer_pic_x_def, menu_pos[i]);
191 if(top+i==active)
\ 02B3 FDE5 PUSH IY
\ 02B5 E1 POP HL
\ 02B6 DD4EF6 LD C,(IX-10)
\ 02B9 DD46F7 LD B,(IX-9)
\ 02BC 09 ADD HL,BC
\ 02BD ED4B0000 LD BC,(active)
\ 02C1 A7 AND A
\ 02C2 ED42 SBC HL,BC
\ 02C4 210000 LD HL,menu_pos
\ 02C7 FDE5 PUSH IY
\ 02C9 C1 POP BC
\ 02CA 09 ADD HL,BC
\ 02CB 203C JR NZ,?0047
\ 02CD ?0046:
192 {
193 ResShowPic(MENUBCK, 0, menu_pos[i]-1);
\ 02CD 7E LD A,(HL)
\ 02CE C6FF ADD A,255
\ 02D0 5F LD E,A
\ 02D1 D5 PUSH DE
\ 02D2 0E00 LD C,0
\ 02D4 11B400 LD DE,180
\ 02D7 3E00 LD A,BYTE3 ResShowPic
\ 02D9 210000 LD HL,LWRD ResShowPic
\ 02DC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02DF F1 POP AF
194 SetPenColor(Color_WHITE_def);
\ 02E0 010000 LD BC,0
\ 02E3 11FFFF LD DE,65535
\ 02E6 CD0000 CALL LWRD SetPenColor
195 SetBackgdColor(0x00003358);
\ 02E9 010000 LD BC,0
\ 02EC 115833 LD DE,13144
\ 02EF CD0000 CALL LWRD SetBackgdColor
196 reset_cur_list_bg_color_reader(i, menu_pos[i]);
\ 02F2 210000 LD HL,menu_pos
\ 02F5 FDE5 PUSH IY
\ 02F7 C1 POP BC
\ 02F8 09 ADD HL,BC
\ 02F9 4E LD C,(HL)
\ 02FA 0600 LD B,0
\ 02FC FDE5 PUSH IY
\ 02FE D1 POP DE
\ 02FF 3E00 LD A,BYTE3 reset_cur_list_bg_color_reader
\ 0301 210000 LD HL,LWRD reset_cur_list_bg_color_reader
\ 0304 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
197 }
198 else
\ 0307 182D JR ?0048
\ 0309 ?0047:
199 {
200 SetTextPos(0, menu_pos[i]);
\ 0309 4E LD C,(HL)
\ 030A 1E00 LD E,0
\ 030C CD0000 CALL LWRD SetTextPos
201 read_idm_data_reader(fileName, i );
\ 030F FDE5 PUSH IY
\ 0311 C1 POP BC
\ 0312 110500 LD DE,fileName
\ 0315 3E00 LD A,BYTE3 read_idm_data_reader
\ 0317 210000 LD HL,LWRD read_idm_data_reader
\ 031A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
202 SetPenColor(Color_BLACK_def);
\ 031D 010000 LD BC,0
\ 0320 59 LD E,C
\ 0321 50 LD D,B
\ 0322 CD0000 CALL LWRD SetPenColor
203 SetBackgdColor(Color_MENU_def);
\ 0325 010000 LD BC,0
\ 0328 11FFFF LD DE,65535
\ 032B CD0000 CALL LWRD SetBackgdColor
204 PutS(fileName, -1);
\ 032E 0EFF LD C,255
\ 0330 110500 LD DE,fileName
\ 0333 CD0000 CALL LWRD PutS
\ 0336 ?0048:
205 }
206 output8(0x4e,input8(0x4e)|0x08); //清WATCH DOG
\ 0336 DB4E IN A,(78)
\ 0338 CBDF SET 3,A
\ 033A D34E OUT (78),A
\ 033C FD23 INC IY
\ 033E C38C02 JP LWRD ?0041
\ 0341 ?0040:
207 }
208
209 fselSetLocation(&g_reader_vars.location);
\ 0341 110600 LD DE,g_reader_vars+6
\ 0344 3E00 LD A,BYTE3 fselSetLocation
\ 0346 210000 LD HL,LWRD fselSetLocation
\ 0349 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
210 need_draw = FALSE;
\ 034C DD36EE00 LD (IX-18),0
\ 0350 ?0037:
211
212 }
213 if(list_change)
\ 0350 AF XOR A
\ 0351 DDB6F0 OR (IX-16)
\ 0354 281E JR Z,?0050
\ 0356 ?0049:
214 {
215 show_active_list_reader(old_active, active, top);
\ 0356 DD6EF6 LD L,(IX-10)
\ 0359 DD66F7 LD H,(IX-9)
\ 035C E5 PUSH HL
\ 035D ED4B0000 LD BC,(active)
\ 0361 DD5EFA LD E,(IX-6)
\ 0364 DD56FB LD D,(IX-5)
\ 0367 3E00 LD A,BYTE3 show_active_list_reader
\ 0369 210000 LD HL,LWRD show_active_list_reader
\ 036C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 036F E1 POP HL
216 list_change = FALSE;
\ 0370 DD36F000 LD (IX-16),0
\ 0374 ?0050:
217 }
218
219 key=ap_get_message(); // get the user message
\ 0374 CD0000 CALL LWRD ap_get_message
\ 0377 DD77F4 LD (IX-12),A
\ 037A 0600 LD B,0
220 if(g_from_browser)
\ 037C 3A0000 LD A,(g_from_browser)
\ 037F B7 OR A
\ 0380 2808 JR Z,?0052
\ 0382 ?0051:
221 {
222 key = (AP_KEY_PLAY | AP_KEY_UP);
223 g_from_browser = FALSE;
\ 0382 AF XOR A
\ 0383 320000 LD (g_from_browser),A
\ 0386 DD36F421 LD (IX-12),33
\ 038A ?0052:
224 }
225 switch(key)
\ 038A DD5EF4 LD E,(IX-12)
\ 038D 50 LD D,B
\ 038E CD0000 CALL LWRD ?S_V_SWITCH_L06
\ 0391 0800 DEFW 8
\ 0393 0500 DEFW 5
\ 0395 0600 DEFW 6
\ 0397 1000 DEFW 16
\ 0399 2100 DEFW 33
\ 039B 3000 DEFW 48
\ 039D 3700 DEFW 55
\ 039F 4500 DEFW 69
\ 03A1 4600 DEFW 70
\ 03A3 C904 DEFW ?0089
\ 03A5 0C04 DEFW ?0064
\ 03A7 B503 DEFW ?0054
\ 03A9 A104 DEFW ?0087
\ 03AB 6404 DEFW ?0075
\ 03AD 8C04 DEFW ?0084
\ 03AF 8404 DEFW ?0077
\ 03B1 0C04 DEFW ?0064
\ 03B3 B503 DEFW ?0054
\ 03B5 ?0054:
226 {
227 case AP_KEY_PREV :
228 case AP_KEY_PREV | AP_KEY_HOLD:
229 if(active > 0)
\ 03B5 ED4B0000 LD BC,(active)
\ 03B9 6F LD L,A
\ 03BA 67 LD H,A
\ 03BB F680 OR 128
\ 03BD ED42 SBC HL,BC
\ 03BF E2C303 JP PO,?0107
\ 03C2 AC XOR H
\ 03C3 ?0107:
\ 03C3 F2EE03 JP P,?0056
\ 03C6 ?0055:
230 {
231 active--;
\ 03C6 69 LD L,C
\ 03C7 60 LD H,B
\ 03C8 2B DEC HL
\ 03C9 220000 LD (active),HL
232 if(active/6==cur_group)
\ 03CC 010600 LD BC,6
\ 03CF EB EX DE,HL
\ 03D0 CD0000 CALL LWRD ?SS_DIV_L02
\ 03D3 DD6EF8 LD L,(IX-8)
\ 03D6 DD66F9 LD H,(IX-7)
\ 03D9 A7 AND A
\ 03DA ED52 SBC HL,DE
\ 03DC 2017 JR NZ,?0114
\ 03DE ?0057:
233 {
234 old_active=active+1;
\ 03DE 2A0000 LD HL,(active)
\ 03E1 23 INC HL
\ 03E2 DD75FA LD (IX-6),L
\ 03E5 DD74FB LD (IX-5),H
235 list_change=TRUE;
\ 03E8 DD36F001 LD (IX-16),1
236 }
237 else
\ 03EC 180B JR ?0060
\ 03EE ?0058:
238 need_draw = TRUE;
\ 03EE ?0059:
239 }
240 else
\ 03EE ?0056:
241 {
242 active = g_file_total - 1;
\ 03EE 2A0200 LD HL,(g_file_total)
\ 03F1 2B DEC HL
\ 03F2 220000 LD (active),HL
243 need_draw = TRUE;
\ 03F5 ?0114:
\ 03F5 DD36EE01 LD (IX-18),1
\ 03F9 ?0060:
244 }
245 sel_prev(TRUE);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?