📄 ui_stop_menu.lst
字号:
\ 00C2 320000 LD (g_card_ok),A
\ 00C5 ?0006:
134
135
136 //show dir delete & manage
137 list.headid = STOPMENU;
\ 00C5 218B01 LD HL,395
\ 00C8 220600 LD (list+6),HL
138 list.active = active;
\ 00CB ED4B0000 LD BC,(?0004)
\ 00CF 0600 LD B,0
\ 00D1 ED430400 LD (list+4),BC
139 list.string_id = g_comval.langid;
\ 00D5 3A0C00 LD A,(g_comval+12)
\ 00D8 320800 LD (list+8),A
140 if(g_card_ok)
\ 00DB 3A0000 LD A,(g_card_ok)
\ 00DE B7 OR A
\ 00DF 280B JR Z,?0008
\ 00E1 ?0007:
141 {
142 list.total = 5;
\ 00E1 210500 LD HL,5
\ 00E4 220200 LD (list+2),HL
143 list.strid = dir_string_card;
\ 00E7 210800 LD HL,dir_string_card
\ 00EA 1809 JR ?0063
144 }
145 else
\ 00EC ?0008:
146 {
147 list.total = 4;
\ 00EC 210400 LD HL,4
\ 00EF 220200 LD (list+2),HL
148 list.strid = dir_string;
\ 00F2 210000 LD HL,dir_string
\ 00F5 ?0063:
\ 00F5 220000 LD (list),HL
\ 00F8 ?0009:
149 }
150
151 //ui_auto_update = FALSE;
152 result = ui_popup_list(&list, NULL);
\ 00F8 48 LD C,B
\ 00F9 C5 PUSH BC
\ 00FA C5 PUSH BC
\ 00FB 110000 LD DE,list
\ 00FE 3E00 LD A,BYTE3 ui_popup_list
\ 0100 210000 LD HL,LWRD ui_popup_list
\ 0103 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0106 F1 POP AF
\ 0107 F1 POP AF
\ 0108 E5 PUSH HL
\ 0109 DDE1 POP IX
153 // ui_auto_update = TRUE;
154
155 if(g_card_ok)
\ 010B 3A0000 LD A,(g_card_ok)
\ 010E B7 OR A
\ 010F 282C JR Z,?0013
\ 0111 ?0010:
156 {
157 if (DRV_DetectUD(1) != 0x20)
\ 0111 1E01 LD E,1
\ 0113 CD0000 CALL LWRD DRV_DetectUD
\ 0116 FE20 CP 32
\ 0118 2823 JR Z,?0013
\ 011A ?0012:
158 {
159 g_card_ok=FALSE;
\ 011A AF XOR A
\ 011B 320000 LD (g_card_ok),A
160 ui_err_msg(CARDPULL,CARDPULL,g_comval.langid);//显示卡拔出
\ 011E ED4B0C00 LD BC,(g_comval+12)
\ 0122 47 LD B,A
\ 0123 C5 PUSH BC
\ 0124 018A01 LD BC,394
\ 0127 59 LD E,C
\ 0128 50 LD D,B
\ 0129 3E00 LD A,BYTE3 ui_err_msg
\ 012B 210000 LD HL,LWRD ui_err_msg
\ 012E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0131 F1 POP AF
161 g_voice_vars.location.disk = 'C';
\ 0132 3E43 LD A,67
\ 0134 320600 LD (g_voice_vars+6),A
162 //return RESULT_SD_OUT;
163 return RESULT_SD_OUT;
\ 0137 213600 LD HL,54
164 }
\ 013A C34803 JP LWRD ?0052
\ 013D ?0013:
\ 013D ?0011:
165 }
166 if(result != 0) return result;
\ 013D DDE5 PUSH IX
\ 013F E1 POP HL
\ 0140 7D LD A,L
\ 0141 B4 OR H
\ 0142 C24803 JP NZ,?0052
\ 0145 ?0014:
\ 0145 ?0015:
167 //read the return value in menu
168 active = list.active;
\ 0145 3A0400 LD A,(list+4)
\ 0148 320000 LD (?0004),A
169
170 // BankSwitch((unsigned long)FSELInit >> 16);
171 //fselGetLocation(& g_voice_vars.location);
172
173 if(!g_card_ok) //无卡的情况
\ 014B 3A0000 LD A,(g_card_ok)
\ 014E B7 OR A
\ 014F ED5B0400 LD DE,(list+4)
\ 0153 C21002 JP NZ,?0017
\ 0156 ?0016:
174 {
175 switch (list.active)
\ 0156 CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 0159 0000 DEFW 0
\ 015B 0400 DEFW 4
\ 015D 2B03 DEFW ?0047
\ 015F 6701 DEFW ?0019
\ 0161 B701 DEFW ?0022
\ 0163 E001 DEFW ?0025
\ 0165 2B03 DEFW ?0047
\ 0167 ?0019:
176 {
177 case 0: //主目录
178 // result=ui_explore(&g_voice_vars.location, EXPLORE_DIR, g_langid);
179 if (g_voice_vars.location.disk == 'H')
\ 0167 3A0600 LD A,(g_voice_vars+6)
\ 016A FE48 CP 72
\ 016C 2027 JR NZ,?0021
\ 016E ?0020:
180 {
181 g_voice_vars.location.disk = 'C';
\ 016E 3E43 LD A,67
\ 0170 320600 LD (g_voice_vars+6),A
182 g_card_in_using=FALSE;
\ 0173 AF XOR A
\ 0174 320000 LD (g_card_in_using),A
183 fselInit(FSEL_TYPE_VOICE, FSEL_ALL_REPEATALL, FSEL_TYPE_COMMONDIR,g_voice_vars.location.disk);
\ 0177 0E43 LD C,67
\ 0179 C5 PUSH BC
\ 017A 48 LD C,B
\ 017B C5 PUSH BC
\ 017C 0E04 LD C,4
\ 017E 1E01 LD E,1
\ 0180 3E00 LD A,BYTE3 fselInit
\ 0182 210000 LD HL,LWRD fselInit
\ 0185 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0188 F1 POP AF
\ 0189 F1 POP AF
184 fselGetLocation(&g_voice_vars.location); //更换驱动器要重新取location
\ 018A 110600 LD DE,g_voice_vars+6
\ 018D 3E00 LD A,BYTE3 fselGetLocation
\ 018F 210000 LD HL,LWRD fselGetLocation
\ 0192 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0195 ?0021:
185
186 }
187 result=ui_directory(&g_voice_vars.location, FSEL_TYPE_VOICE, g_comval.langid);
\ 0195 210C00 LD HL,g_comval+12
\ 0198 4E LD C,(HL)
\ 0199 C5 PUSH BC
\ 019A 0E01 LD C,1
\ 019C 110600 LD DE,g_voice_vars+6
\ 019F 3E00 LD A,BYTE3 ui_directory
\ 01A1 210000 LD HL,LWRD ui_directory
\ 01A4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01A7 F1 POP AF
\ 01A8 E5 PUSH HL
\ 01A9 DDE1 POP IX
188 need_sel_file=TRUE;
\ 01AB 3E01 LD A,1
\ 01AD 320000 LD (need_sel_file),A
189 // need_restore=FALSE;
190 g_menu_active=FALSE;
\ 01B0 AF XOR A
\ 01B1 320000 LD (g_menu_active),A
191 break;
\ 01B4 C32F03 JP LWRD ?0031
\ 01B7 ?0022:
192
193 case 1:
194 g_voice_vars.location.ID3buffer = NULL;
\ 01B7 ED432C00 LD (g_voice_vars+44),BC
195 result = ui_delete(&g_voice_vars.location, DELETE_FILE, g_comval.langid);
\ 01BB 210C00 LD HL,g_comval+12
\ 01BE 4E LD C,(HL)
\ 01BF C5 PUSH BC
\ 01C0 48 LD C,B
\ 01C1 110600 LD DE,g_voice_vars+6
\ 01C4 3E00 LD A,BYTE3 ui_delete
\ 01C6 210000 LD HL,LWRD ui_delete
\ 01C9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01CC F1 POP AF
\ 01CD E5 PUSH HL
\ 01CE DDE1 POP IX
196 output8(0x4e,input8(0x4e)|0x8);
\ 01D0 DB4E IN A,(78)
\ 01D2 CBDF SET 3,A
\ 01D4 D34E OUT (78),A
197 if(g_voice_vars.location.filename[0] == 0)
\ 01D6 3A2000 LD A,(g_voice_vars+32)
\ 01D9 B7 OR A
\ 01DA C22F03 JP NZ,?0031
\ 01DD ?0023:
198 g_voice_vars.location.filename[0] = 20;
\ 01DD C32403 JP LWRD ?0071
\ 01E0 ?0024:
199 break;
\ 01E0 ?0025:
200
201 case 2:
202 g_voice_vars.location.ID3buffer = NULL;
\ 01E0 ED432C00 LD (g_voice_vars+44),BC
203 FSELSetMode(FSEL_ALL_REPEATALL);
\ 01E4 1E04 LD E,4
\ 01E6 CD5603 CALL LWRD ?0074
204 result = ui_delete_all(&g_voice_vars.location, DELETE_VOICE, g_comval.langid);
\ 01E9 210C00 LD HL,g_comval+12
\ 01EC 4E LD C,(HL)
\ 01ED C5 PUSH BC
\ 01EE 0E02 LD C,2
\ 01F0 110600 LD DE,g_voice_vars+6
\ 01F3 3E00 LD A,BYTE3 ui_delete_all
\ 01F5 210000 LD HL,LWRD ui_delete_all
\ 01F8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01FB F1 POP AF
205 FSELSetMode(g_voice_vars.repeat_mode);
\ 01FC CD4F03 CALL LWRD ?0075
206 output8(0x4e,input8(0x4e)|0x8);
\ 01FF DB4E IN A,(78)
\ 0201 CBDF SET 3,A
\ 0203 D34E OUT (78),A
207 if(result == 0)
\ 0205 DDE5 PUSH IX
\ 0207 E1 POP HL
\ 0208 7D LD A,L
\ 0209 B4 OR H
\ 020A C22F03 JP NZ,?0031
\ 020D ?0026:
208 {
209 //if(g_card_in_using)DRV_ActiveUD(1,MODE_SLOW);
210 // ap_set_event(AP_EVENT_FILE_DELETED);
211 g_voice_vars.location.filename[0] = 20;
\ 020D C32403 JP LWRD ?0071
\ 0210 ?0027:
212 //return 0;
213 }
214 break;
\ 0210 ?0028:
215
216 case 3:
217 result=RESULT_IGNORE;
218 break;
\ 0210 ?0029:
219
220 default:
221 result=RESULT_IGNORE;
222 break;
\ 0210 ?0018:
223 }
224
225 }
226
227 else // 有卡的情况
\ 0210 ?0017:
228 {
229
230 switch (list.active)
\ 0210 CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 0213 0000 DEFW 0
\ 0215 0500 DEFW 5
\ 0217 2B03 DEFW ?0047
\ 0219 2302 DEFW ?0032
\ 021B 4902 DEFW ?0035
\ 021D D102 DEFW ?0040
\ 021F F802 DEFW ?0043
\ 0221 2B03 DEFW ?0047
\ 0223 ?0032:
231 {
232 case 0: //主目录
233 // result=ui_explore(&g_voice_vars.location, EXPLORE_DIR, g_langid);
234 if (g_voice_vars.location.disk == 'H')
\ 0223 3A0600 LD A,(g_voice_vars+6)
\ 0226 FE48 CP 72
\ 0228 C2B002 JP NZ,?0037
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -