📄 ui_directory.lst
字号:
\ 0342 110D00 LD DE,temp_record+13
\ 0345 3E00 LD A,BYTE3 fselEntCurrentDir
\ 0347 210000 LD HL,LWRD fselEntCurrentDir
\ 034A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
267
268 init_dir_buf();
\ 034D 3E00 LD A,BYTE3 init_dir_buf
\ 034F 210000 LD HL,LWRD init_dir_buf
\ 0352 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
269 list_active=0;
\ 0355 68 LD L,B
\ 0356 60 LD H,B
\ 0357 220000 LD (list_active),HL
270 cur_group=0;
\ 035A 220000 LD (cur_group),HL
271 top=0; //顶的序号
272 bottom=top+GroupDefine-1; //底的序号
\ 035D FD210500 LD IY,5
273 if(bottom>(list_total_num-1))
\ 0361 AF XOR A
\ 0362 DD77E8 LD (IX-24),A
\ 0365 DD77E9 LD (IX-23),A
\ 0368 2B DEC HL
\ 0369 ED4B0000 LD BC,(list_total_num)
\ 036D 09 ADD HL,BC
\ 036E FDE5 PUSH IY
\ 0370 C1 POP BC
\ 0371 A7 AND A
\ 0372 ED42 SBC HL,BC
\ 0374 302D JR NC,?0092
\ 0376 ?0090:
274 bottom=list_total_num-1;
\ 0376 ?0118:
\ 0376 21FFFF LD HL,65535
\ 0379 ED4B0000 LD BC,(list_total_num)
\ 037D 09 ADD HL,BC
\ 037E E5 PUSH HL
\ 037F FDE1 POP IY
\ 0381 ?0091:
\ 0381 ?0089:
275 }
276 }
277 else
\ 0381 1820 JR ?0092
\ 0383 ?0085:
278 {
279 if(fselDirLayer==0)
\ 0383 B7 OR A
\ 0384 2009 JR NZ,?0094
\ 0386 ?0093:
280 fselDirNo[fselDirLayer] = 0;
\ 0386 4F LD C,A
\ 0387 41 LD B,C
\ 0388 210000 LD HL,fselDirNo
\ 038B 09 ADD HL,BC
\ 038C 70 LD (HL),B
281 else
\ 038D 1804 JR ?0095
\ 038F ?0094:
282 fselDirLayer--;
\ 038F 210000 LD HL,fselDirLayer
\ 0392 35 DEC (HL)
\ 0393 ?0095:
283
284 fselGetLocation(location); //更新location
\ 0393 DD5EFC LD E,(IX-4)
\ 0396 DD56FD LD D,(IX-3)
\ 0399 3E00 LD A,BYTE3 fselGetLocation
\ 039B 210000 LD HL,LWRD fselGetLocation
\ 039E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
285 return RESULT_NULL;
\ 03A1 185D JR ?0109
286 }
\ 03A3 ?0092:
\ 03A3 ?0083:
287 }
288 DecodeOnePage(top,bottom,type,string_id);
\ 03A3 DD6E08 LD L,(IX+8)
\ 03A6 E5 PUSH HL
\ 03A7 DD6EFE LD L,(IX-2)
\ 03AA E5 PUSH HL
\ 03AB CD2704 CALL LWRD ?0123
\ 03AE E1 POP HL
\ 03AF E1 POP HL
289 ap_message_init(NULL);
\ 03B0 110000 LD DE,0
\ 03B3 3E00 LD A,BYTE3 ap_message_init
\ 03B5 210000 LD HL,LWRD ap_message_init
\ 03B8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
290 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 03BB DD6EEA LD L,(IX-22)
\ 03BE E5 PUSH HL
\ 03BF DD6E08 LD L,(IX+8)
\ 03C2 E5 PUSH HL
\ 03C3 2A0000 LD HL,(list_active)
\ 03C6 E5 PUSH HL
\ 03C7 E5 PUSH HL
\ 03C8 CD1604 CALL LWRD ?0121
\ 03CB E1 POP HL
\ 03CC E1 POP HL
\ 03CD E1 POP HL
\ 03CE E1 POP HL
291 break;
\ 03CF C3FE00 JP LWRD ?0025
\ 03D2 ?0096:
292
293 case AP_MSG_WAIT_TIMEOUT:
294 fselSetLocationC(location);
\ 03D2 DD5EFC LD E,(IX-4)
\ 03D5 DD56FD LD D,(IX-3)
\ 03D8 3E00 LD A,BYTE3 fselSetLocationC
\ 03DA 210000 LD HL,LWRD fselSetLocationC
\ 03DD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
295 return RESULT_IGNORE;
\ 03E0 213400 LD HL,52
296 case AP_MSG_SD_OUT:
\ 03E3 181E JR ?0106
\ 03E5 ?0097:
297 //如在游览SD卡,但SD卡又被拔出,就返回拔出信号
298 if (location->disk == 'H')
\ 03E5 DD6EFC LD L,(IX-4)
\ 03E8 DD66FD LD H,(IX-3)
\ 03EB 7E LD A,(HL)
\ 03EC FE48 CP 72
\ 03EE C2FE00 JP NZ,?0025
\ 03F1 ?0098:
299 {
300 return RESULT_SD_OUT;
\ 03F1 213600 LD HL,54
301 }
\ 03F4 180D JR ?0106
\ 03F6 ?0099:
302 break;
\ 03F6 ?0100:
303
304 case AP_MSG_SD_IN:
305 break;
\ 03F6 ?0101:
306
307 default:
308 key=ap_handle_hotkey(key);
\ 03F6 CD0000 CALL LWRD ap_handle_hotkey
\ 03F9 DD77EB LD (IX-21),A
309 if(key == RESULT_REDRAW)
\ 03FC FE32 CP 50
\ 03FE 200C JR NZ,?0103
\ 0400 ?0102:
310 {
311 return 0; //界面不能重画直接返回
\ 0400 ?0109:
\ 0400 210000 LD HL,0
312 }
\ 0403 ?0106:
\ 0403 DDF9 LD SP,IX
\ 0405 DDE1 POP IX
\ 0407 FDE1 POP IY
\ 0409 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 040C ?0103:
313 else if(key != 0)
\ 040C AF XOR A
\ 040D DDB6EB OR (IX-21)
\ 0410 CAFE00 JP Z,?0025
\ 0413 ?0104:
314 {
315 goto LongTime;
\ 0413 C34902 JP LWRD ?0058
\ 0416 ?0121:
\ 0416 FDE5 PUSH IY
\ 0418 C1 POP BC
\ 0419 DD5EE8 LD E,(IX-24)
\ 041C DD56E9 LD D,(IX-23)
\ 041F 3E00 LD A,BYTE3 ShowDirectory
\ 0421 210000 LD HL,LWRD ShowDirectory
\ 0424 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0427 ?0123:
\ 0427 FDE5 PUSH IY
\ 0429 C1 POP BC
\ 042A DD5EE8 LD E,(IX-24)
\ 042D DD56E9 LD D,(IX-23)
\ 0430 ?0122:
\ 0430 3E00 LD A,BYTE3 DecodeOnePage
\ 0432 210000 LD HL,LWRD DecodeOnePage
\ 0435 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0438 ?0124:
\ 0438 ED4B0000 LD BC,(cur_group)
\ 043C 09 ADD HL,BC
\ 043D 220000 LD (cur_group),HL
\ 0440 010600 LD BC,6
\ 0443 ED5B0000 LD DE,(list_active)
\ 0447 CD0000 CALL LWRD ?US_DIV_L02
\ 044A EB EX DE,HL
\ 044B 29 ADD HL,HL
\ 044C 4D LD C,L
\ 044D 44 LD B,H
\ 044E 29 ADD HL,HL
\ 044F 09 ADD HL,BC
\ 0450 DD75E8 LD (IX-24),L
\ 0453 DD74E9 LD (IX-23),H
\ 0456 010500 LD BC,5
\ 0459 09 ADD HL,BC
\ 045A E5 PUSH HL
\ 045B FDE1 POP IY
\ 045D 21FFFF LD HL,65535
\ 0460 ED4B0000 LD BC,(list_total_num)
\ 0464 09 ADD HL,BC
\ 0465 FDE5 PUSH IY
\ 0467 C1 POP BC
\ 0468 A7 AND A
\ 0469 ED42 SBC HL,BC
\ 046B C9 RET
\ 046C ?0125:
\ 046C EB EX DE,HL
\ 046D CD0000 CALL LWRD ?US_DIV_L02
\ 0470 ED530000 LD (cur_group),DE
\ 0474 EB EX DE,HL
\ 0475 29 ADD HL,HL
\ 0476 4D LD C,L
\ 0477 44 LD B,H
\ 0478 29 ADD HL,HL
\ 0479 09 ADD HL,BC
\ 047A DD75E8 LD (IX-24),L
\ 047D DD74E9 LD (IX-23),H
\ 0480 010500 LD BC,5
\ 0483 09 ADD HL,BC
\ 0484 E5 PUSH HL
\ 0485 FDE1 POP IY
\ 0487 C9 RET
\ 0488 ?0126:
\ 0488 DB4E IN A,(78)
\ 048A CBDF SET 3,A
\ 048C D34E OUT (78),A
\ 048E 010600 LD BC,6
\ 0491 ED5B0000 LD DE,(list_active)
\ 0495 CD0000 CALL LWRD ?US_MOD_L02
\ 0498 0E4B LD C,75
\ 049A CD0000 CALL LWRD ?S_MUL_L02
\ 049D 210000 LD HL,OnePageRecord
\ 04A0 19 ADD HL,DE
\ 04A1 4D LD C,L
\ 04A2 44 LD B,H
\ 04A3 110000 LD DE,temp_record
\ 04A6 3E00 LD A,BYTE3 TransOneRecord
\ 04A8 210000 LD HL,LWRD TransOneRecord
\ 04AB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04AE 3A0B00 LD A,(temp_record+11)
\ 04B1 320000 LD (fselDirLayer),A
\ 04B4 210100 LD HL,temp_record+1
\ 04B7 4F LD C,A
\ 04B8 0600 LD B,0
\ 04BA 09 ADD HL,BC
\ 04BB 46 LD B,(HL)
\ 04BC C9 RET
\ 04BD ?0105:
316 }
317 break;
\ 04BD ?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: 1213
Constant size: 2
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -