📄 ui_stop_menu.lst
字号:
\ 00E3 3600 LD (HL),HIGH(dir_string_card)
95 }
96 else
\ 00E5 1822 JR ?0014
\ 00E7 ?0011:
97 {
98 //无卡时的显示
99 list.total = sizeof(dir_string) / 2;
\ 00E7 3605 LD (HL),5
\ 00E9 23 INC HL
\ 00EA 77 LD (HL),A
100 list.strid = dir_string;
\ 00EB 2B DEC HL
\ 00EC 2B DEC HL
\ 00ED 2B DEC HL
\ 00EE 3600 LD (HL),LOW(dir_string)
\ 00F0 23 INC HL
\ 00F1 3600 LD (HL),HIGH(dir_string)
101 if (StopMenuactive >= list.total)
\ 00F3 23 INC HL
\ 00F4 4E LD C,(HL)
\ 00F5 47 LD B,A
\ 00F6 2A0000 LD HL,(?0009)
\ 00F9 60 LD H,B
\ 00FA F680 OR 128
\ 00FC ED42 SBC HL,BC
\ 00FE E20201 JP PO,?0070
\ 0101 AC XOR H
\ 0102 ?0070:
\ 0102 FA0901 JP M,?0014
\ 0105 ?0013:
102 {
103 StopMenuactive--;
\ 0105 210000 LD HL,?0009
\ 0108 35 DEC (HL)
\ 0109 ?0014:
\ 0109 ?0012:
104 }
105
106 }
107 //无卡时的显示
108 list.string_id = g_langid;
\ 0109 210800 LD HL,8
\ 010C 39 ADD HL,SP
\ 010D 3A0000 LD A,(g_langid)
\ 0110 77 LD (HL),A
109 list.active = StopMenuactive;
\ 0111 210400 LD HL,4
\ 0114 39 ADD HL,SP
\ 0115 ED4B0000 LD BC,(?0009)
\ 0119 0600 LD B,0
\ 011B 71 LD (HL),C
\ 011C 23 INC HL
\ 011D 70 LD (HL),B
110
111 result = ui_popup_list(&list, NULL);
\ 011E 48 LD C,B
\ 011F C5 PUSH BC
\ 0120 60 LD H,B
\ 0121 C5 PUSH BC
\ 0122 2E04 LD L,4
\ 0124 39 ADD HL,SP
\ 0125 EB EX DE,HL
\ 0126 3E00 LD A,BYTE3 ui_popup_list
\ 0128 210000 LD HL,LWRD ui_popup_list
\ 012B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 012E F1 POP AF
\ 012F F1 POP AF
\ 0130 E5 PUSH HL
\ 0131 DDE1 POP IX
112 StopMenuactive = list.active;
\ 0133 210400 LD HL,4
\ 0136 39 ADD HL,SP
\ 0137 7E LD A,(HL)
\ 0138 320000 LD (?0009),A
113
114 if (g_CardInFlag)
\ 013B 3A0000 LD A,(g_CardInFlag)
\ 013E B7 OR A
\ 013F 282C JR Z,?0018
\ 0141 ?0015:
115 {
116
117 if (DRV_DetectUD(1) != 0x20)
\ 0141 1E01 LD E,1
\ 0143 CD0000 CALL LWRD DRV_DetectUD
\ 0146 FE20 CP 32
\ 0148 2823 JR Z,?0018
\ 014A ?0017:
118 {
119 g_CardInFlag=0;
\ 014A AF XOR A
\ 014B 320000 LD (g_CardInFlag),A
120 ui_err_msg(CARDPULL,CARDPULL,g_langid);//显示卡拔出
\ 014E ED4B0000 LD BC,(g_langid)
\ 0152 47 LD B,A
\ 0153 C5 PUSH BC
\ 0154 019101 LD BC,401
\ 0157 59 LD E,C
\ 0158 50 LD D,B
\ 0159 3E00 LD A,BYTE3 ui_err_msg
\ 015B 210000 LD HL,LWRD ui_err_msg
\ 015E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0161 F1 POP AF
121 g_amv_vars.location.disk = 'C';
\ 0162 3E43 LD A,67
\ 0164 320500 LD (g_amv_vars+5),A
122 //return RESULT_SD_OUT;
123 return RESULT_SD_OUT;
\ 0167 213600 LD HL,54
124 }
\ 016A C30803 JP LWRD ?0055
\ 016D ?0018:
\ 016D ?0016:
125
126 }
127
128 if (result != 0)
\ 016D DDE5 PUSH IX
\ 016F E1 POP HL
\ 0170 7D LD A,L
\ 0171 B4 OR H
\ 0172 C20803 JP NZ,?0055
\ 0175 ?0019:
129 {
130 return result;
131 }
\ 0175 ?0020:
132
133
134 BankSwitch((unsigned long)FSELInit >> 16);
\ 0175 41 LD B,C
\ 0176 1E00 LD E,BYTE3 fselInit
\ 0178 48 LD C,B
\ 0179 CD0000 CALL LWRD BankSwitch
135 fselGetLocation(& g_amv_vars.location);
\ 017C CD4D00 CALL LWRD ?0081
136
137
138 if(!g_CardInFlag)
\ 017F 3A0000 LD A,(g_CardInFlag)
\ 0182 B7 OR A
\ 0183 210400 LD HL,4
\ 0186 39 ADD HL,SP
\ 0187 5E LD E,(HL)
\ 0188 23 INC HL
\ 0189 56 LD D,(HL)
\ 018A 202D JR NZ,?0022
\ 018C ?0021:
139 {
140 //无卡的情况
141 switch (list.active)
\ 018C CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 018F 0000 DEFW 0
\ 0191 0400 DEFW 4
\ 0193 E502 DEFW ?0050
\ 0195 9D01 DEFW ?0024
\ 0197 A302 DEFW ?0045
\ 0199 B202 DEFW ?0046
\ 019B A601 DEFW ?0029
\ 019D ?0024:
142 {
143 case 0: //主目录
144 // result=ui_explore(&g_amv_vars.location, EXPLORE_DIR, g_langid);
145 if (g_amv_vars.location.disk == 'H')
\ 019D 3A0500 LD A,(g_amv_vars+5)
\ 01A0 FE48 CP 72
\ 01A2 2047 JR NZ,?0037
\ 01A4 ?0025:
146 {
147 g_amv_vars.location.disk = 'C';
\ 01A4 182D JR ?0077
148 FSELInit(FSEL_TYPE_AMV, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_amv_vars.location.disk);
149 fselGetLocation(&g_amv_vars.location);
\ 01A6 ?0026:
150 }
151 result=ui_directory(&g_amv_vars.location, FSEL_TYPE_AMV, g_langid);
152 FSELSetMode(FSEL_ALL_SEQUENCE);
153 BankSwitch((unsigned long)AmvDecStart>>16);
154 g_menu_active=FALSE;
155 break;
\ 01A6 ?0027:
156
157 case 1: //删除文件
158 result = ui_delete_amv(DELETE_FILE);
159 break;
\ 01A6 ?0028:
160
161 case 2: //删除全部
162 //result = ui_delete_amv(DELETE_FILE);
163 FSELSetMode(FSEL_ALL_REPEATALL);
164 result = ui_delete_all(&g_amv_vars.location, DELETE_AMV, g_comval.langid);
165 FSELSetMode(g_amv_vars.repeat_mode);
166 break;
\ 01A6 ?0029:
167
168 case 3:
169 result = ui_loop_menu();
\ 01A6 3E00 LD A,BYTE3 ui_loop_menu
\ 01A8 215800 LD HL,LWRD ui_loop_menu
\ 01AB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01AE E5 PUSH HL
\ 01AF DDE1 POP IX
170 if(result==0)result=RESULT_IGNORE;
\ 01B1 7D LD A,L
\ 01B2 B4 OR H
\ 01B3 C2E902 JP NZ,?0034
\ 01B6 ?0030:
\ 01B6 C3E502 JP LWRD ?0050
\ 01B9 ?0031:
171 break;
\ 01B9 ?0032:
172 default://退出 case 3
173 result = RESULT_IGNORE;
174 break;
\ 01B9 ?0023:
175 }
176
177 }
178
179 else //有卡的情况
\ 01B9 ?0022:
180 {
181 switch (list.active)
\ 01B9 CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 01BC 0000 DEFW 0
\ 01BE 0500 DEFW 5
\ 01C0 E502 DEFW ?0050
\ 01C2 CC01 DEFW ?0035
\ 01C4 0D02 DEFW ?0038
\ 01C6 A302 DEFW ?0045
\ 01C8 B202 DEFW ?0046
\ 01CA D602 DEFW ?0047
\ 01CC ?0035:
182 {
183 case 0:
184 if (g_amv_vars.location.disk == 'H')
\ 01CC 3A0500 LD A,(g_amv_vars+5)
\ 01CF FE48 CP 72
\ 01D1 2018 JR NZ,?0037
\ 01D3 ?0036:
185 {
186 g_amv_vars.location.disk = 'C';
\ 01D3 ?0077:
\ 01D3 3E43 LD A,67
\ 01D5 320500 LD (g_amv_vars+5),A
187 FSELInit(FSEL_TYPE_AMV, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_amv_vars.location.disk);
\ 01D8 4F LD C,A
\ 01D9 C5 PUSH BC
\ 01DA 48 LD C,B
\ 01DB C5 PUSH BC
\ 01DC 1E05 LD E,5
\ 01DE 3E00 LD A,BYTE3 fselInit
\ 01E0 210000 LD HL,LWRD fselInit
\ 01E3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01E6 F1 POP AF
\ 01E7 F1 POP AF
188 fselGetLocation(&g_amv_vars.location);
\ 01E8 CD4D00 CALL LWRD ?0081
\ 01EB ?0037:
189 }
190 result=ui_directory(&g_amv_vars.location, FSEL_TYPE_AMV, g_langid);
\ 01EB 3A0000 LD A,(g_langid)
\ 01EE 4F LD C,A
\ 01EF C5 PUSH BC
\ 01F0 0E05 LD C,5
\ 01F2 110500 LD DE,g_amv_vars+5
\ 01F5 3E00 LD A,BYTE3 ui_directory
\ 01F7 210000 LD HL,LWRD ui_directory
\ 01FA CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01FD F1 POP AF
191 FSELSetMode(FSEL_ALL_SEQUENCE);
\ 01FE CD1603 CALL LWRD ?0082
192 BankSwitch((unsigned long)AmvDecStart>>16);
\ 0201 1E00 LD E,BYTE3 AmvDecStart
\ 0203 CD0000 CALL LWRD BankSwitch
193 g_menu_active=FALSE;
\ 0206 AF XOR A
\ 0207 320000 LD (g_menu_active),A
194 break;
\ 020A C3E902 JP LWRD ?0034
\ 020D ?0038:
195
196 case 1:
197 if (g_amv_vars.location.disk == 'C')
\ 020D 3A0500 LD A,(g_amv_vars+5)
\ 0210 FE43 CP 67
\ 0212 2048 JR NZ,?0040
\ 0214 ?0039:
198 {
199 //PASS_KEY(0x13);
200 g_amv_vars.location.disk = 'H';
\ 0214 3E48 LD A,72
\ 0216 320500 LD (g_amv_vars+5),A
201 result=FSELInit(FSEL_TYPE_AMV, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_amv_vars.location.disk);
\ 0219 4F LD C,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -