📄 ui_directory.lst
字号:
\ 0380 7E LD A,(HL)
\ 0381 B7 OR A
\ 0382 285C JR Z,?0092
\ 0384 ?0088:
265 {
266 fselEntCurrentDir(temp_record.name);
\ 0384 110D00 LD DE,temp_record+13
\ 0387 3E00 LD A,BYTE3 fselEntCurrentDir
\ 0389 210000 LD HL,LWRD fselEntCurrentDir
\ 038C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
267
268 init_dir_buf();
\ 038F CD5204 CALL LWRD ?0117
269 list_active=0;
\ 0392 68 LD L,B
\ 0393 60 LD H,B
\ 0394 220000 LD (list_active),HL
270 cur_group=0;
\ 0397 220000 LD (cur_group),HL
271 top=0; //顶的序号
272 bottom=top+GroupDefine-1; //底的序号
\ 039A FD210500 LD IY,5
273 if(bottom>(list_total_num-1))
\ 039E AF XOR A
\ 039F DD77EC LD (IX-20),A
\ 03A2 DD77ED LD (IX-19),A
\ 03A5 2B DEC HL
\ 03A6 ED4B0000 LD BC,(list_total_num)
\ 03AA 09 ADD HL,BC
\ 03AB FDE5 PUSH IY
\ 03AD C1 POP BC
\ 03AE A7 AND A
\ 03AF ED42 SBC HL,BC
\ 03B1 302D JR NC,?0092
\ 03B3 ?0090:
274 bottom=list_total_num-1;
\ 03B3 21FFFF LD HL,65535
\ 03B6 ED4B0000 LD BC,(list_total_num)
\ 03BA 09 ADD HL,BC
\ 03BB E5 PUSH HL
\ 03BC FDE1 POP IY
\ 03BE ?0091:
\ 03BE ?0089:
275 }
276 }
277 else
\ 03BE 1820 JR ?0092
\ 03C0 ?0085:
278 {
279 if(fselDirLayer==0)
\ 03C0 B7 OR A
\ 03C1 2009 JR NZ,?0094
\ 03C3 ?0093:
280 fselDirNo[fselDirLayer] = 0;
\ 03C3 4F LD C,A
\ 03C4 41 LD B,C
\ 03C5 210000 LD HL,fselDirNo
\ 03C8 09 ADD HL,BC
\ 03C9 70 LD (HL),B
281 else
\ 03CA 1804 JR ?0095
\ 03CC ?0094:
282 fselDirLayer--;
\ 03CC 210000 LD HL,fselDirLayer
\ 03CF 35 DEC (HL)
\ 03D0 ?0095:
283
284 fselGetLocation(location); //更新location
\ 03D0 DD5E02 LD E,(IX+2)
\ 03D3 DD5603 LD D,(IX+3)
\ 03D6 3E00 LD A,BYTE3 fselGetLocation
\ 03D8 210000 LD HL,LWRD fselGetLocation
\ 03DB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
285 return RESULT_NULL;
\ 03DE 1852 JR ?0109
286 }
\ 03E0 ?0092:
\ 03E0 ?0083:
287 }
288 DecodeOnePage(top,bottom,type,string_id);
\ 03E0 DD6E0A LD L,(IX+10)
\ 03E3 E5 PUSH HL
\ 03E4 DD6E04 LD L,(IX+4)
\ 03E7 E5 PUSH HL
\ 03E8 CD5A04 CALL LWRD ?0119
\ 03EB E1 POP HL
\ 03EC E1 POP HL
289 ap_message_init(NULL);
\ 03ED 110000 LD DE,0
\ 03F0 3E00 LD A,BYTE3 ap_message_init
\ 03F2 210000 LD HL,LWRD ap_message_init
\ 03F5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
290 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 03F8 DD6EEE LD L,(IX-18)
\ 03FB E5 PUSH HL
\ 03FC DD6E0A LD L,(IX+10)
\ 03FF E5 PUSH HL
\ 0400 3A0000 LD A,(list_active)
\ 0403 4F LD C,A
\ 0404 C5 PUSH BC
\ 0405 4F LD C,A
\ 0406 C5 PUSH BC
\ 0407 CD6B04 CALL LWRD ?0120
\ 040A E1 POP HL
\ 040B E1 POP HL
\ 040C E1 POP HL
\ 040D E1 POP HL
291 break;
\ 040E 1831 JR ?0027
\ 0410 ?0096:
292
293 case AP_MSG_WAIT_TIMEOUT:
294 fselSetLocationC(location);
\ 0410 CD4404 CALL LWRD ?0116
295 return RESULT_IGNORE;
\ 0413 213400 LD HL,52
296 case AP_MSG_SD_OUT:
\ 0416 181D JR ?0106
\ 0418 ?0097:
297 //如在游览SD卡,但SD卡又被拔出,就返回拔出信号
298 if (location->disk == 'H')
\ 0418 DD6E02 LD L,(IX+2)
\ 041B DD6603 LD H,(IX+3)
\ 041E 7E LD A,(HL)
\ 041F FE48 CP 72
\ 0421 201E JR NZ,?0027
\ 0423 ?0098:
299 {
300 return RESULT_SD_OUT;
\ 0423 213600 LD HL,54
301 }
\ 0426 180D JR ?0106
\ 0428 ?0099:
302 break;
\ 0428 ?0100:
303
304 case AP_MSG_SD_IN:
305 break;
\ 0428 ?0101:
306
307 default:
308 key=ap_handle_hotkey(key);
\ 0428 CD0000 CALL LWRD ap_handle_hotkey
\ 042B DD77EF LD (IX-17),A
309 if(key == RESULT_REDRAW)
\ 042E FE32 CP 50
\ 0430 2008 JR NZ,?0103
\ 0432 ?0102:
310 {
311 return 0; //界面不能重画直接返回
\ 0432 ?0109:
\ 0432 210000 LD HL,0
312 }
\ 0435 ?0106:
\ 0435 FDE1 POP IY
\ 0437 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 043A ?0103:
313 else if(key != 0)
\ 043A AF XOR A
\ 043B DDB6EF OR (IX-17)
\ 043E C28602 JP NZ,?0058
\ 0441 ?0104:
314 {
315 goto LongTime;
\ 0441 ?0105:
316 }
317 break;
\ 0441 ?0027:
318 } //switch() end
319 }//while(1) end
320 }
\ 0441 C3EC00 JP LWRD ?0025
\ 0444 ?0116:
\ 0444 DD5E02 LD E,(IX+2)
\ 0447 DD5603 LD D,(IX+3)
\ 044A 3E00 LD A,BYTE3 fselSetLocationC
\ 044C 210000 LD HL,LWRD fselSetLocationC
\ 044F C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0452 ?0117:
\ 0452 3E00 LD A,BYTE3 init_dir_buf
\ 0454 210000 LD HL,LWRD init_dir_buf
\ 0457 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 045A ?0119:
\ 045A FDE5 PUSH IY
\ 045C C1 POP BC
\ 045D DD5EEC LD E,(IX-20)
\ 0460 DD56ED LD D,(IX-19)
\ 0463 ?0118:
\ 0463 3E00 LD A,BYTE3 DecodeOnePage
\ 0465 210000 LD HL,LWRD DecodeOnePage
\ 0468 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 046B ?0120:
\ 046B FDE5 PUSH IY
\ 046D E1 POP HL
\ 046E 4D LD C,L
\ 046F DD5EEC LD E,(IX-20)
\ 0472 3E00 LD A,BYTE3 ShowDirectory
\ 0474 210000 LD HL,LWRD ShowDirectory
\ 0477 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 047A ?0121:
\ 047A ED4B0000 LD BC,(cur_group)
\ 047E 09 ADD HL,BC
\ 047F 220000 LD (cur_group),HL
\ 0482 010600 LD BC,6
\ 0485 ED5B0000 LD DE,(list_active)
\ 0489 CD0000 CALL LWRD ?US_DIV_L02
\ 048C EB EX DE,HL
\ 048D 29 ADD HL,HL
\ 048E 4D LD C,L
\ 048F 44 LD B,H
\ 0490 29 ADD HL,HL
\ 0491 09 ADD HL,BC
\ 0492 DD75EC LD (IX-20),L
\ 0495 DD74ED LD (IX-19),H
\ 0498 010500 LD BC,5
\ 049B 09 ADD HL,BC
\ 049C E5 PUSH HL
\ 049D FDE1 POP IY
\ 049F 21FFFF LD HL,65535
\ 04A2 ED4B0000 LD BC,(list_total_num)
\ 04A6 09 ADD HL,BC
\ 04A7 FDE5 PUSH IY
\ 04A9 C1 POP BC
\ 04AA A7 AND A
\ 04AB ED42 SBC HL,BC
\ 04AD C9 RET
\ 04AE ?0122:
\ 04AE EB EX DE,HL
\ 04AF CD0000 CALL LWRD ?US_DIV_L02
\ 04B2 ED530000 LD (cur_group),DE
\ 04B6 EB EX DE,HL
\ 04B7 29 ADD HL,HL
\ 04B8 4D LD C,L
\ 04B9 44 LD B,H
\ 04BA 29 ADD HL,HL
\ 04BB 09 ADD HL,BC
\ 04BC DD75EC LD (IX-20),L
\ 04BF DD74ED LD (IX-19),H
\ 04C2 010500 LD BC,5
\ 04C5 09 ADD HL,BC
\ 04C6 E5 PUSH HL
\ 04C7 FDE1 POP IY
\ 04C9 C9 RET
\ 04CA ?0123:
\ 04CA DB4E IN A,(78)
\ 04CC CBDF SET 3,A
\ 04CE D34E OUT (78),A
\ 04D0 010600 LD BC,6
\ 04D3 ED5B0000 LD DE,(list_active)
\ 04D7 CD0000 CALL LWRD ?US_MOD_L02
\ 04DA 0E4B LD C,75
\ 04DC CD0000 CALL LWRD ?S_MUL_L02
\ 04DF 210000 LD HL,OnePageRecord
\ 04E2 19 ADD HL,DE
\ 04E3 4D LD C,L
\ 04E4 44 LD B,H
\ 04E5 110000 LD DE,temp_record
\ 04E8 3E00 LD A,BYTE3 TransOneRecord
\ 04EA 210000 LD HL,LWRD TransOneRecord
\ 04ED CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04F0 3A0B00 LD A,(temp_record+11)
\ 04F3 320000 LD (fselDirLayer),A
\ 04F6 210100 LD HL,temp_record+1
\ 04F9 4F LD C,A
\ 04FA 0600 LD B,0
\ 04FC 09 ADD HL,BC
\ 04FD 46 LD B,(HL)
\ 04FE C9 RET
\ 0000 RSEG CSTR
\ 0000 ?0011:
\ 0000 3A DEFB ':'
\ 0001 00 DEFB 0
\ 0002 END
Errors: none
Warnings: none
Code size: 1279
Constant size: 2
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -