📄 show_stop_menu.lst
字号:
429 result = ui_popup_list(&g_list, NULL);
\ 0486 48 LD C,B
\ 0487 C5 PUSH BC
\ 0488 C5 PUSH BC
\ 0489 CDFA00 CALL LWRD ?0196
\ 048C F1 POP AF
\ 048D F1 POP AF
\ 048E DD75F0 LD (IX-16),L
\ 0491 DD74F1 LD (IX-15),H
430
431 if(result == RESULT_IGNORE) return 0;
\ 0494 3E34 LD A,52
\ 0496 AD XOR L
\ 0497 B4 OR H
\ 0498 CA8D06 JP Z,?0139
\ 049B ?0089:
\ 049B ?0090:
432 else if(result != 0) return result;
\ 049B 7D LD A,L
\ 049C B4 OR H
\ 049D C26E06 JP NZ,?0186
\ 04A0 ?0091:
\ 04A0 ?0092:
433 active = g_list.active;
\ 04A0 3A0400 LD A,(g_list+4)
\ 04A3 320100 LD (?0085),A
434 if(menu_flag==0)
\ 04A6 AF XOR A
\ 04A7 DDB6F2 OR (IX-14)
\ 04AA 200A JR NZ,?0096
\ 04AC ?0093:
435 {
436 if (DRV_DetectUD(1) != 0x20)
\ 04AC 1E01 LD E,1
\ 04AE CD0000 CALL LWRD DRV_DetectUD
\ 04B1 FE20 CP 32
\ 04B3 C23506 JP NZ,?0194
\ 04B6 ?0095:
437 {
438 show_error(CARDPULL);//显示卡拔出
439 g_record_vars.location.disk = 'C';
440 fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR, g_record_vars.location.disk);
441 fselGetLocation(&g_record_vars.location);
442 //return RESULT_SD_OUT;
443 make_dirname();
444 return RESULT_DIR_CHANGED;
445 }
\ 04B6 ?0096:
\ 04B6 ?0094:
446 }
447
448 if(menu_flag)
\ 04B6 AF XOR A
\ 04B7 DDB6F2 OR (IX-14)
\ 04BA ED5B0400 LD DE,(g_list+4)
\ 04BE 286D JR Z,?0098
\ 04C0 ?0097:
449 {
450 switch( g_list.active )
\ 04C0 CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 04C3 0000 DEFW 0
\ 04C5 0300 DEFW 3
\ 04C7 8D06 DEFW ?0139
\ 04C9 CF04 DEFW ?0100
\ 04CB 8306 DEFW ?0137
\ 04CD 8D06 DEFW ?0139
\ 04CF ?0100:
451 {
452 case 0: //local folder
453 if(g_record_vars.location.disk=='H')
\ 04CF 3A0A00 LD A,(g_record_vars+10)
\ 04D2 FE48 CP 72
\ 04D4 2005 JR NZ,?0102
\ 04D6 ?0101:
454 {
455 g_record_vars.location.disk='C' ;
456
457 memset(g_record_vars.location.filename,0,12);
\ 04D6 CDF103 CALL LWRD ?0197
458 }
459 else
\ 04D9 1810 JR ?0103
\ 04DB ?0102:
460 {
461 memcpy(file, g_record_vars.location.filename,12);
\ 04DB 0E0C LD C,12
\ 04DD 210400 LD HL,4
\ 04E0 39 ADD HL,SP
\ 04E1 EB EX DE,HL
\ 04E2 212400 LD HL,g_record_vars+36
\ 04E5 EDB0 LDIR
462 g_record_vars.location.filename[0] = 0;
\ 04E7 AF XOR A
\ 04E8 322400 LD (g_record_vars+36),A
\ 04EB ?0103:
463 }
464
465 fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR, g_record_vars.location.disk);
\ 04EB 210A00 LD HL,g_record_vars+10
\ 04EE 4E LD C,(HL)
\ 04EF C5 PUSH BC
\ 04F0 0E00 LD C,0
\ 04F2 C5 PUSH BC
\ 04F3 CDFF03 CALL LWRD ?0199
\ 04F6 F1 POP AF
\ 04F7 F1 POP AF
466 fselGetLocation(&g_record_vars.location);
\ 04F8 CD0B04 CALL LWRD ?0200
467 result = ui_directory(&g_record_vars.location, DIRECTORY_ALL, g_comval.langid);
\ 04FB C5 PUSH BC
\ 04FC CD1B04 CALL LWRD ?0201
\ 04FF F1 POP AF
\ 0500 DD75F0 LD (IX-16),L
\ 0503 DD74F1 LD (IX-15),H
468 memcpy(g_record_vars.location.filename, file, 12);
\ 0506 010C00 LD BC,12
\ 0509 112400 LD DE,g_record_vars+36
\ 050C 210400 LD HL,4
\ 050F 39 ADD HL,SP
\ 0510 EDB0 LDIR
469 g_menu_active = FALSE;
\ 0512 AF XOR A
\ 0513 320000 LD (g_menu_active),A
470 if(result == RESULT_IGNORE) return 0;
\ 0516 3E34 LD A,52
\ 0518 DDAEF0 XOR (IX-16)
\ 051B DDB6F1 OR (IX-15)
\ 051E CA8D06 JP Z,?0139
\ 0521 ?0104:
\ 0521 ?0105:
471 else if(result != 0) return result;
\ 0521 DD7EF0 LD A,(IX-16)
\ 0524 DDB6F1 OR (IX-15)
\ 0527 CA7606 JP Z,?0136
\ 052A ?0106:
\ 052A C36E06 JP LWRD ?0186
472 else
\ 052D ?0107:
473 {
474 make_dirname();
475 return RESULT_DIR_CHANGED;
476 }
\ 052D ?0108:
477
478
479 case 1: //rec type
480 result = show_rectype_menu();
481
482 return result;
483 //break;
484 case 2: //exit
\ 052D ?0109:
485 return 0;
486 default:
\ 052D ?0110:
\ 052D ?0099:
487 //ASSERT(FALSE);
488 ;
489 }//switch
490 }
491 else
\ 052D ?0098:
492 {
493 switch( g_list.active )
\ 052D CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 0530 0000 DEFW 0
\ 0532 0400 DEFW 4
\ 0534 8D06 DEFW ?0139
\ 0536 3E05 DEFW ?0113
\ 0538 A105 DEFW ?0121
\ 053A 8306 DEFW ?0137
\ 053C 8D06 DEFW ?0139
\ 053E ?0113:
494 {
495 case 0: //local folder
496
497 if(g_record_vars.location.disk=='H')
\ 053E 3A0A00 LD A,(g_record_vars+10)
\ 0541 FE48 CP 72
\ 0543 2005 JR NZ,?0115
\ 0545 ?0114:
498 {
499 g_record_vars.location.disk='C' ;
500
501 memset(g_record_vars.location.filename,0,12);
\ 0545 CDF103 CALL LWRD ?0197
502 }
503 else
\ 0548 1810 JR ?0116
\ 054A ?0115:
504 {
505 memcpy(file, g_record_vars.location.filename,12);
\ 054A 0E0C LD C,12
\ 054C 210400 LD HL,4
\ 054F 39 ADD HL,SP
\ 0550 EB EX DE,HL
\ 0551 212400 LD HL,g_record_vars+36
\ 0554 EDB0 LDIR
506 g_record_vars.location.filename[0] = 0;
\ 0556 AF XOR A
\ 0557 322400 LD (g_record_vars+36),A
\ 055A ?0116:
507 }
508
509 fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR, g_record_vars.location.disk);
\ 055A 210A00 LD HL,g_record_vars+10
\ 055D 4E LD C,(HL)
\ 055E C5 PUSH BC
\ 055F 0E00 LD C,0
\ 0561 C5 PUSH BC
\ 0562 CDFF03 CALL LWRD ?0199
\ 0565 F1 POP AF
\ 0566 F1 POP AF
510 fselGetLocation(&g_record_vars.location);
\ 0567 CD0B04 CALL LWRD ?0200
511 result = ui_directory(&g_record_vars.location, DIRECTORY_ALL, g_comval.langid);
\ 056A C5 PUSH BC
\ 056B CD1B04 CALL LWRD ?0201
\ 056E F1 POP AF
\ 056F DD75F0 LD (IX-16),L
\ 0572 DD74F1 LD (IX-15),H
512 memcpy(g_record_vars.location.filename, file, 12);
\ 0575 010C00 LD BC,12
\ 0578 112400 LD DE,g_record_vars+36
\ 057B 210400 LD HL,4
\ 057E 39 ADD HL,SP
\ 057F EDB0 LDIR
513 g_menu_active = FALSE;
\ 0581 AF XOR A
\ 0582 320000 LD (g_menu_active),A
514 if(result == RESULT_IGNORE)
\ 0585 3E34 LD A,52
\ 0587 DDAEF0 XOR (IX-16)
\ 058A DDB6F1 OR (IX-15)
\ 058D 2006 JR NZ,?0118
\ 058F ?0117:
515 result= 0;
\ 058F DD77F0 LD (IX-16),A
\ 0592 DD77F1 LD (IX-15),A
\ 0595 ?0118:
516 if(result != 0) return result;
\ 0595 DD7EF0 LD A,(IX-16)
\ 0598 DDB6F1 OR (IX-15)
\ 059B CA7606 JP Z,?0136
\ 059E ?0119:
\ 059E C36E06 JP LWRD ?0186
517 else
\ 05A1 ?0120:
518 {
519 make_dirname();
520 return RESULT_DIR_CHANGED;
521 }
\ 05A1 ?0121:
522
523 case 1: //card folder
524
525 if(g_record_vars.location.disk=='C')
\ 05A1 3A0A00 LD A,(g_record_vars+10)
\ 05A4 FE43 CP 67
\ 05A6 2049 JR NZ,?0123
\ 05A8 ?0122:
526 {
527 g_record_vars.location.disk='H' ;
\ 05A8 3E48 LD A,72
\ 05AA 320A00 LD (g_record_vars+10),A
528 result=fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR, g_record_vars.location.disk);
\ 05AD 4F LD C,A
\ 05AE C5 PUSH BC
\ 05AF 48 LD C,B
\ 05B0 C5 PUSH BC
\ 05B1 CDFF03 CALL LWRD ?0199
\ 05B4 F1 POP AF
\ 05B5 F1 POP AF
529 if(!result)
\ 05B6 7D LD A,L
\ 05B7 B7 OR A
\ 05B8 201B JR NZ,?0125
\ 05BA ?0124:
530 {
531
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -