📄 ui_stop_menu.lst
字号:
\ 022B ?0033:
235 {
236 g_voice_vars.location.disk = 'C';
\ 022B 3E43 LD A,67
\ 022D 320600 LD (g_voice_vars+6),A
237 g_card_in_using=FALSE;
\ 0230 AF XOR A
\ 0231 320000 LD (g_card_in_using),A
238 fselInit(FSEL_TYPE_VOICE, FSEL_ALL_REPEATALL, FSEL_TYPE_COMMONDIR,g_voice_vars.location.disk);
\ 0234 0E43 LD C,67
\ 0236 C5 PUSH BC
\ 0237 48 LD C,B
\ 0238 C5 PUSH BC
\ 0239 0E04 LD C,4
\ 023B 1E01 LD E,1
\ 023D 3E00 LD A,BYTE3 fselInit
\ 023F 210000 LD HL,LWRD fselInit
\ 0242 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0245 F1 POP AF
\ 0246 F1 POP AF
239 fselGetLocation(&g_voice_vars.location); //更换驱动器要重新取location
\ 0247 185C JR ?0068
\ 0249 ?0034:
240 }
241 result=ui_directory(&g_voice_vars.location, FSEL_TYPE_VOICE, g_comval.langid);
242 // FSELSetMode(FSEL_ALL_SEQUENCE);
243 g_menu_active=FALSE;
244 need_sel_file=TRUE;
245 // need_restore=FALSE;
246 break;
\ 0249 ?0035:
247
248 case 1: //插卡目录
249 if (g_voice_vars.location.disk == 'C')
\ 0249 3A0600 LD A,(g_voice_vars+6)
\ 024C FE43 CP 67
\ 024E 2060 JR NZ,?0037
\ 0250 ?0036:
250 {
251 g_voice_vars.location.disk = 'H';
\ 0250 3E48 LD A,72
\ 0252 320600 LD (g_voice_vars+6),A
252 g_card_in_using=TRUE; //储存卡是否在使用
\ 0255 3E01 LD A,1
\ 0257 320000 LD (g_card_in_using),A
253 result =fselInit(FSEL_TYPE_VOICE, FSEL_ALL_REPEATALL, FSEL_TYPE_COMMONDIR,g_voice_vars.location.disk);
\ 025A 0E48 LD C,72
\ 025C C5 PUSH BC
\ 025D 48 LD C,B
\ 025E C5 PUSH BC
\ 025F 0E04 LD C,4
\ 0261 5F LD E,A
\ 0262 3E00 LD A,BYTE3 fselInit
\ 0264 210000 LD HL,LWRD fselInit
\ 0267 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 026A F1 POP AF
\ 026B F1 POP AF
\ 026C 2600 LD H,0
\ 026E E5 PUSH HL
\ 026F DDE1 POP IX
254 if(!result)
\ 0271 7D LD A,L
\ 0272 B7 OR A
\ 0273 202B JR NZ,?0039
\ 0275 ?0038:
255 {
256 g_voice_vars.location.disk = 'C';
\ 0275 3E43 LD A,67
\ 0277 320600 LD (g_voice_vars+6),A
257 g_card_in_using=0;
\ 027A AF XOR A
\ 027B 320000 LD (g_card_in_using),A
258 need_sel_file=TRUE;
\ 027E 3E01 LD A,1
\ 0280 320000 LD (need_sel_file),A
259 g_DiskStateFlag=g_DiskStateFlag&ClrCardOKFlag_def;
\ 0283 210000 LD HL,g_DiskStateFlag
\ 0286 CB9E RES 3,(HL)
260 ui_err_msg(CREADERR,CREADERR,g_comval.langid);
\ 0288 ED4B0C00 LD BC,(g_comval+12)
\ 028C 0600 LD B,0
\ 028E C5 PUSH BC
\ 028F 017602 LD BC,630
\ 0292 59 LD E,C
\ 0293 50 LD D,B
\ 0294 3E00 LD A,BYTE3 ui_err_msg
\ 0296 210000 LD HL,LWRD ui_err_msg
\ 0299 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 029C F1 POP AF
261 break;
\ 029D C32F03 JP LWRD ?0031
\ 02A0 ?0039:
262 }
263 g_DiskStateFlag=g_DiskStateFlag|SetCardOKFlag_def;
\ 02A0 210000 LD HL,g_DiskStateFlag
\ 02A3 CBDE SET 3,(HL)
264 fselGetLocation(&g_voice_vars.location); //更换驱动器要重新取location
\ 02A5 ?0068:
\ 02A5 110600 LD DE,g_voice_vars+6
\ 02A8 3E00 LD A,BYTE3 fselGetLocation
\ 02AA 210000 LD HL,LWRD fselGetLocation
\ 02AD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02B0 ?0037:
265 }
266
267 result=ui_directory(&g_voice_vars.location, FSEL_TYPE_VOICE, g_comval.langid);
\ 02B0 210C00 LD HL,g_comval+12
\ 02B3 4E LD C,(HL)
\ 02B4 C5 PUSH BC
\ 02B5 0E01 LD C,1
\ 02B7 110600 LD DE,g_voice_vars+6
\ 02BA 3E00 LD A,BYTE3 ui_directory
\ 02BC 210000 LD HL,LWRD ui_directory
\ 02BF CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02C2 F1 POP AF
\ 02C3 E5 PUSH HL
\ 02C4 DDE1 POP IX
268 // FSELSetMode(FSEL_ALL_SEQUENCE);
269 g_menu_active=FALSE;
\ 02C6 AF XOR A
\ 02C7 320000 LD (g_menu_active),A
270 need_sel_file=TRUE;
\ 02CA 3E01 LD A,1
\ 02CC 320000 LD (need_sel_file),A
271 // need_restore=FALSE;
272 break;
\ 02CF 185E JR ?0031
\ 02D1 ?0040:
273
274 case 2: //删除文件
275 g_voice_vars.location.ID3buffer = NULL;
\ 02D1 ED432C00 LD (g_voice_vars+44),BC
276 result = ui_delete(&g_voice_vars.location, DELETE_FILE, g_comval.langid);
\ 02D5 210C00 LD HL,g_comval+12
\ 02D8 4E LD C,(HL)
\ 02D9 C5 PUSH BC
\ 02DA 48 LD C,B
\ 02DB 110600 LD DE,g_voice_vars+6
\ 02DE 3E00 LD A,BYTE3 ui_delete
\ 02E0 210000 LD HL,LWRD ui_delete
\ 02E3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02E6 F1 POP AF
\ 02E7 E5 PUSH HL
\ 02E8 DDE1 POP IX
277 output8(0x4e,input8(0x4e)|0x8);
\ 02EA DB4E IN A,(78)
\ 02EC CBDF SET 3,A
\ 02EE D34E OUT (78),A
278 if(g_voice_vars.location.filename[0] == 0)
\ 02F0 3A2000 LD A,(g_voice_vars+32)
\ 02F3 B7 OR A
\ 02F4 2039 JR NZ,?0031
\ 02F6 ?0041:
279 g_voice_vars.location.filename[0] = 20;
\ 02F6 182C JR ?0071
\ 02F8 ?0042:
280 break;
\ 02F8 ?0043:
281
282 case 3: //删除全部
283 g_voice_vars.location.ID3buffer = NULL;
\ 02F8 ED432C00 LD (g_voice_vars+44),BC
284 FSELSetMode(FSEL_ALL_REPEATALL);
\ 02FC 1E04 LD E,4
\ 02FE CD5603 CALL LWRD ?0074
285 result = ui_delete_all(&g_voice_vars.location, DELETE_VOICE, g_comval.langid);
\ 0301 210C00 LD HL,g_comval+12
\ 0304 4E LD C,(HL)
\ 0305 C5 PUSH BC
\ 0306 0E02 LD C,2
\ 0308 110600 LD DE,g_voice_vars+6
\ 030B 3E00 LD A,BYTE3 ui_delete_all
\ 030D 210000 LD HL,LWRD ui_delete_all
\ 0310 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0313 F1 POP AF
286 FSELSetMode(g_voice_vars.repeat_mode);
\ 0314 CD4F03 CALL LWRD ?0075
287 output8(0x4e,input8(0x4e)|0x8);
\ 0317 DB4E IN A,(78)
\ 0319 CBDF SET 3,A
\ 031B D34E OUT (78),A
288 if(result == 0)
\ 031D DDE5 PUSH IX
\ 031F E1 POP HL
\ 0320 7D LD A,L
\ 0321 B4 OR H
\ 0322 200B JR NZ,?0031
\ 0324 ?0044:
289 {
290 //if(g_card_in_using)DRV_ActiveUD(1,MODE_SLOW);
291 // ap_set_event(AP_EVENT_FILE_DELETED);
292 g_voice_vars.location.filename[0] = 20;
\ 0324 ?0071:
\ 0324 3E14 LD A,20
\ 0326 322000 LD (g_voice_vars+32),A
\ 0329 ?0045:
293 //return 0;
294 }
295 break;
\ 0329 1804 JR ?0031
\ 032B ?0046:
296
297 case 4: //退出
298 result=RESULT_IGNORE;
299 break;
\ 032B ?0047:
300
301 default:
302 result=RESULT_IGNORE;
\ 032B DD213400 LD IX,52
303 break;
\ 032F ?0031:
\ 032F ?0030:
304 }
305
306 }
307 if( result==RESULT_IGNORE)
\ 032F DDE5 PUSH IX
\ 0331 E1 POP HL
\ 0332 3E34 LD A,52
\ 0334 AD XOR L
\ 0335 B4 OR H
\ 0336 2004 JR NZ,?0049
\ 0338 ?0048:
308 result=0;
\ 0338 DD210000 LD IX,0
\ 033C ?0049:
309 if(result!=0)
\ 033C DDE5 PUSH IX
\ 033E E1 POP HL
\ 033F 7D LD A,L
\ 0340 B4 OR H
\ 0341 2005 JR NZ,?0052
\ 0343 ?0050:
310 return result;
\ 0343 ?0051:
311 need_restore=FALSE;//时间断点参数从0开始
\ 0343 320000 LD (need_restore),A
312 return 0;
\ 0346 6F LD L,A
\ 0347 67 LD H,A
313 }
\ 0348 ?0052:
\ 0348 DDE1 POP IX
\ 034A D1 POP DE
\ 034B C1 POP BC
\ 034C C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 034F ?0075:
\ 034F E5 PUSH HL
\ 0350 DDE1 POP IX
\ 0352 ED5B0300 LD DE,(g_voice_vars+3)
\ 0356 ?0074:
\ 0356 3E00 LD A,BYTE3 fselSetMode
\ 0358 210000 LD HL,LWRD fselSetMode
\ 035B C30000 JP LWRD ?BANK_CALL_DIRECT_L08
314
315
316
317
\ 0000 RSEG CONST
\ 0000 dir_string:
\ 0000 7902 DEFW 633
\ 0002 7B02 DEFW 635
\ 0004 7C02 DEFW 636
\ 0006 7D02 DEFW 637
\ 0008 dir_string_card:
\ 0008 7902 DEFW 633
\ 000A 7A02 DEFW 634
\ 000C 7B02 DEFW 635
\ 000E 7C02 DEFW 636
\ 0010 7D02 DEFW 637
\ 0000 RSEG UDATA0
\ 0000 need_sel_file:
\ 0001 DEFS 1
\ 0000 RSEG IDATA0
\ 0000 ?0004:
\ 0001 DEFS 1
\ 0000 RSEG CDATA0
\ 0000 00 DEFB 0
\ 0001 END
Errors: none
Warnings: none
Code size: 862
Constant size: 19
Static variable size: Data(2) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -