📄 ui_directory.lst
字号:
\ 0344 110D00 LD DE,temp_record+13
\ 0347 3E00 LD A,BYTE3 fselEntCurrentDir
\ 0349 210000 LD HL,LWRD fselEntCurrentDir
\ 034C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
267
268 init_dir_buf();
\ 034F 3E00 LD A,BYTE3 init_dir_buf
\ 0351 210000 LD HL,LWRD init_dir_buf
\ 0354 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
269 list_active=0;
\ 0357 68 LD L,B
\ 0358 60 LD H,B
\ 0359 220000 LD (list_active),HL
270 cur_group=0;
\ 035C 220000 LD (cur_group),HL
271 top=0; //顶的序号
272 bottom=top+GroupDefine-1; //底的序号
\ 035F FD210500 LD IY,5
273 if(bottom>(list_total_num-1))
\ 0363 AF XOR A
\ 0364 DD77E8 LD (IX-24),A
\ 0367 DD77E9 LD (IX-23),A
\ 036A 2B DEC HL
\ 036B ED4B0000 LD BC,(list_total_num)
\ 036F 09 ADD HL,BC
\ 0370 FDE5 PUSH IY
\ 0372 C1 POP BC
\ 0373 A7 AND A
\ 0374 ED42 SBC HL,BC
\ 0376 302D JR NC,?0092
\ 0378 ?0090:
274 bottom=list_total_num-1;
\ 0378 ?0118:
\ 0378 21FFFF LD HL,65535
\ 037B ED4B0000 LD BC,(list_total_num)
\ 037F 09 ADD HL,BC
\ 0380 E5 PUSH HL
\ 0381 FDE1 POP IY
\ 0383 ?0091:
\ 0383 ?0089:
275 }
276 }
277 else
\ 0383 1820 JR ?0092
\ 0385 ?0085:
278 {
279 if(fselDirLayer==0)
\ 0385 B7 OR A
\ 0386 2009 JR NZ,?0094
\ 0388 ?0093:
280 fselDirNo[fselDirLayer] = 0;
\ 0388 4F LD C,A
\ 0389 41 LD B,C
\ 038A 210000 LD HL,fselDirNo
\ 038D 09 ADD HL,BC
\ 038E 70 LD (HL),B
281 else
\ 038F 1804 JR ?0095
\ 0391 ?0094:
282 fselDirLayer--;
\ 0391 210000 LD HL,fselDirLayer
\ 0394 35 DEC (HL)
\ 0395 ?0095:
283
284 fselGetLocation(location); //更新location
\ 0395 DD5EFC LD E,(IX-4)
\ 0398 DD56FD LD D,(IX-3)
\ 039B 3E00 LD A,BYTE3 fselGetLocation
\ 039D 210000 LD HL,LWRD fselGetLocation
\ 03A0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
285 return RESULT_NULL;
\ 03A3 185F JR ?0109
286 }
\ 03A5 ?0092:
\ 03A5 ?0083:
287 }
288 DecodeOnePage(top,bottom,type,string_id);
\ 03A5 DD6E08 LD L,(IX+8)
\ 03A8 E5 PUSH HL
\ 03A9 DD6EFE LD L,(IX-2)
\ 03AC E5 PUSH HL
\ 03AD CD1A04 CALL LWRD ?0122
\ 03B0 E1 POP HL
\ 03B1 E1 POP HL
289 ap_message_init(NULL);
\ 03B2 110000 LD DE,0
\ 03B5 3E00 LD A,BYTE3 ap_message_init
\ 03B7 210000 LD HL,LWRD ap_message_init
\ 03BA CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
290 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 03BD DD6EEA LD L,(IX-22)
\ 03C0 E5 PUSH HL
\ 03C1 DD6E08 LD L,(IX+8)
\ 03C4 E5 PUSH HL
\ 03C5 3A0000 LD A,(list_active)
\ 03C8 4F LD C,A
\ 03C9 C5 PUSH BC
\ 03CA 4F LD C,A
\ 03CB C5 PUSH BC
\ 03CC CD2B04 CALL LWRD ?0123
\ 03CF E1 POP HL
\ 03D0 E1 POP HL
\ 03D1 E1 POP HL
\ 03D2 E1 POP HL
291 break;
\ 03D3 C30001 JP LWRD ?0025
\ 03D6 ?0096:
292
293 case AP_MSG_WAIT_TIMEOUT:
294 fselSetLocationC(location);
\ 03D6 DD5EFC LD E,(IX-4)
\ 03D9 DD56FD LD D,(IX-3)
\ 03DC 3E00 LD A,BYTE3 fselSetLocationC
\ 03DE 210000 LD HL,LWRD fselSetLocationC
\ 03E1 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
295 return RESULT_IGNORE;
\ 03E4 213400 LD HL,52
296 case AP_MSG_SD_OUT:
\ 03E7 181E JR ?0106
\ 03E9 ?0097:
297 //如在游览SD卡,但SD卡又被拔出,就返回拔出信号
298 if (location->disk == 'H')
\ 03E9 DD6EFC LD L,(IX-4)
\ 03EC DD66FD LD H,(IX-3)
\ 03EF 7E LD A,(HL)
\ 03F0 FE48 CP 72
\ 03F2 C20001 JP NZ,?0025
\ 03F5 ?0098:
299 {
300 return RESULT_SD_OUT;
\ 03F5 213600 LD HL,54
301 }
\ 03F8 180D JR ?0106
\ 03FA ?0099:
302 break;
\ 03FA ?0100:
303
304 case AP_MSG_SD_IN:
305 break;
\ 03FA ?0101:
306
307 default:
308 key=ap_handle_hotkey(key);
\ 03FA CD0000 CALL LWRD ap_handle_hotkey
\ 03FD DD77EB LD (IX-21),A
309 if(key == RESULT_REDRAW)
\ 0400 FE32 CP 50
\ 0402 200C JR NZ,?0103
\ 0404 ?0102:
310 {
311 return 0; //界面不能重画直接返回
\ 0404 ?0109:
\ 0404 210000 LD HL,0
312 }
\ 0407 ?0106:
\ 0407 DDF9 LD SP,IX
\ 0409 DDE1 POP IX
\ 040B FDE1 POP IY
\ 040D C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0410 ?0103:
313 else if(key != 0)
\ 0410 AF XOR A
\ 0411 DDB6EB OR (IX-21)
\ 0414 CA0001 JP Z,?0025
\ 0417 ?0104:
314 {
315 goto LongTime;
\ 0417 C34B02 JP LWRD ?0058
\ 041A ?0122:
\ 041A FDE5 PUSH IY
\ 041C C1 POP BC
\ 041D DD5EE8 LD E,(IX-24)
\ 0420 DD56E9 LD D,(IX-23)
\ 0423 ?0121:
\ 0423 3E00 LD A,BYTE3 DecodeOnePage
\ 0425 210000 LD HL,LWRD DecodeOnePage
\ 0428 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 042B ?0123:
\ 042B FDE5 PUSH IY
\ 042D E1 POP HL
\ 042E 4D LD C,L
\ 042F DD5EE8 LD E,(IX-24)
\ 0432 3E00 LD A,BYTE3 ShowDirectory
\ 0434 210000 LD HL,LWRD ShowDirectory
\ 0437 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 043A ?0124:
\ 043A ED4B0000 LD BC,(cur_group)
\ 043E 09 ADD HL,BC
\ 043F 220000 LD (cur_group),HL
\ 0442 010600 LD BC,6
\ 0445 ED5B0000 LD DE,(list_active)
\ 0449 CD0000 CALL LWRD ?US_DIV_L02
\ 044C EB EX DE,HL
\ 044D 29 ADD HL,HL
\ 044E 4D LD C,L
\ 044F 44 LD B,H
\ 0450 29 ADD HL,HL
\ 0451 09 ADD HL,BC
\ 0452 DD75E8 LD (IX-24),L
\ 0455 DD74E9 LD (IX-23),H
\ 0458 010500 LD BC,5
\ 045B 09 ADD HL,BC
\ 045C E5 PUSH HL
\ 045D FDE1 POP IY
\ 045F 21FFFF LD HL,65535
\ 0462 ED4B0000 LD BC,(list_total_num)
\ 0466 09 ADD HL,BC
\ 0467 FDE5 PUSH IY
\ 0469 C1 POP BC
\ 046A A7 AND A
\ 046B ED42 SBC HL,BC
\ 046D C9 RET
\ 046E ?0125:
\ 046E EB EX DE,HL
\ 046F CD0000 CALL LWRD ?US_DIV_L02
\ 0472 ED530000 LD (cur_group),DE
\ 0476 EB EX DE,HL
\ 0477 29 ADD HL,HL
\ 0478 4D LD C,L
\ 0479 44 LD B,H
\ 047A 29 ADD HL,HL
\ 047B 09 ADD HL,BC
\ 047C DD75E8 LD (IX-24),L
\ 047F DD74E9 LD (IX-23),H
\ 0482 010500 LD BC,5
\ 0485 09 ADD HL,BC
\ 0486 E5 PUSH HL
\ 0487 FDE1 POP IY
\ 0489 C9 RET
\ 048A ?0126:
\ 048A DB4E IN A,(78)
\ 048C CBDF SET 3,A
\ 048E D34E OUT (78),A
\ 0490 010600 LD BC,6
\ 0493 ED5B0000 LD DE,(list_active)
\ 0497 CD0000 CALL LWRD ?US_MOD_L02
\ 049A 0E4B LD C,75
\ 049C CD0000 CALL LWRD ?S_MUL_L02
\ 049F 210000 LD HL,OnePageRecord
\ 04A2 19 ADD HL,DE
\ 04A3 4D LD C,L
\ 04A4 44 LD B,H
\ 04A5 110000 LD DE,temp_record
\ 04A8 3E00 LD A,BYTE3 TransOneRecord
\ 04AA 210000 LD HL,LWRD TransOneRecord
\ 04AD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04B0 3A0B00 LD A,(temp_record+11)
\ 04B3 320000 LD (fselDirLayer),A
\ 04B6 210100 LD HL,temp_record+1
\ 04B9 4F LD C,A
\ 04BA 0600 LD B,0
\ 04BC 09 ADD HL,BC
\ 04BD 46 LD B,(HL)
\ 04BE C9 RET
\ 04BF ?0105:
316 }
317 break;
\ 04BF ?0027:
318 } //switch() end
319 }//while(1) end
320 }
\ 0000 RSEG CSTR
\ 0000 ?0011:
\ 0000 3A DEFB ':'
\ 0001 00 DEFB 0
\ 0002 END
Errors: none
Warnings: none
Code size: 1215
Constant size: 2
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -