📄 show_stop_menu.lst
字号:
\ 0330 2009 JR NZ,?0070
\ 0332 ?0071:
\ 0332 ?0072:
\ 0332 ?0069:
328 {
329 g_record_vars.rec_bitrate=0;
\ 0332 AF XOR A
\ 0333 320300 LD (g_record_vars+3),A
330 channelnum = SINGLE_CH;
\ 0336 3E01 LD A,1
\ 0338 320000 LD (channelnum),A
\ 033B ?0070:
331 }
332
333 //g_record_vars.location.filename[0] = 0;
334 memset(g_record_vars.location.filename,0,12);
\ 033B 010C00 LD BC,12
\ 033E CDF803 CALL LWRD ?0198
335 }
336 else
\ 0341 181C JR ?0073
\ 0343 ?0066:
337 {
338 memcpy(file, g_record_vars.location.filename,12);
\ 0343 0E0C LD C,12
\ 0345 210400 LD HL,4
\ 0348 39 ADD HL,SP
\ 0349 EB EX DE,HL
\ 034A 212400 LD HL,g_record_vars+36
\ 034D EDB0 LDIR
339 g_record_vars.location.filename[0] = 0;
\ 034F AF XOR A
\ 0350 322400 LD (g_record_vars+36),A
340 fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
\ 0353 210A00 LD HL,g_record_vars+10
\ 0356 4E LD C,(HL)
\ 0357 C5 PUSH BC
\ 0358 48 LD C,B
\ 0359 C5 PUSH BC
\ 035A CDFF03 CALL LWRD ?0199
\ 035D F1 POP AF
\ 035E F1 POP AF
\ 035F ?0073:
341 }
342
343 fselGetLocation(&g_record_vars.location);
\ 035F CD0B04 CALL LWRD ?0200
344 result = ui_directory(&g_record_vars.location, DIRECTORY_ALL, g_comval.langid);
\ 0362 C5 PUSH BC
\ 0363 CD1B04 CALL LWRD ?0201
\ 0366 F1 POP AF
\ 0367 DD75F0 LD (IX-16),L
\ 036A DD74F1 LD (IX-15),H
345 memcpy(g_record_vars.location.filename, file, 12);
\ 036D 010C00 LD BC,12
\ 0370 112400 LD DE,g_record_vars+36
\ 0373 210400 LD HL,4
\ 0376 39 ADD HL,SP
\ 0377 EDB0 LDIR
346 g_menu_active = FALSE;
\ 0379 AF XOR A
\ 037A 320000 LD (g_menu_active),A
347
348 if (result == RESULT_SD_OUT)
\ 037D 3E36 LD A,54
\ 037F DDAEF0 XOR (IX-16)
\ 0382 DDB6F1 OR (IX-15)
\ 0385 2021 JR NZ,?0075
\ 0387 ?0074:
349 {
350 show_error(CARDPULL);//显示卡拔出
\ 0387 ?0175:
\ 0387 118A01 LD DE,394
\ 038A CD3004 CALL LWRD ?0203
351 g_record_vars.location.disk = 'C';
\ 038D 3E43 LD A,67
\ 038F 320A00 LD (g_record_vars+10),A
352 fselInit(DIRECTORY_ALL, FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
\ 0392 4F LD C,A
\ 0393 C5 PUSH BC
\ 0394 48 LD C,B
\ 0395 C5 PUSH BC
\ 0396 CDFF03 CALL LWRD ?0199
\ 0399 F1 POP AF
\ 039A F1 POP AF
353 fselGetLocation(&g_record_vars.location);
\ 039B 110A00 LD DE,g_record_vars+10
\ 039E 3E00 LD A,BYTE3 fselGetLocation
\ 03A0 210000 LD HL,LWRD fselGetLocation
\ 03A3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
354 make_dirname();
\ 03A6 1820 JR ?0079
355 return RESULT_DIR_CHANGED;
356 //return 0;
357 }
\ 03A8 ?0075:
358
359 if(result == RESULT_IGNORE)
\ 03A8 3E34 LD A,52
\ 03AA DDAEF0 XOR (IX-16)
\ 03AD DDB6F1 OR (IX-15)
\ 03B0 2006 JR NZ,?0077
\ 03B2 ?0076:
360 result= 0;
\ 03B2 DD77F0 LD (IX-16),A
\ 03B5 DD77F1 LD (IX-15),A
\ 03B8 ?0077:
361 if(result != 0) return result;
\ 03B8 DD7EF0 LD A,(IX-16)
\ 03BB DDB6F1 OR (IX-15)
\ 03BE 2808 JR Z,?0079
\ 03C0 ?0078:
\ 03C0 ?0162:
\ 03C0 DD6EF0 LD L,(IX-16)
\ 03C3 DD66F1 LD H,(IX-15)
362 else
\ 03C6 1820 JR ?0084
\ 03C8 ?0079:
363 {
364 make_dirname();
\ 03C8 3E00 LD A,BYTE3 make_dirname
\ 03CA 210000 LD HL,LWRD make_dirname
\ 03CD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
365 return RESULT_DIR_CHANGED;
\ 03D0 216700 LD HL,103
366 }
\ 03D3 1813 JR ?0084
\ 03D5 ?0080:
367
368
369
370 case 2:
371 result = show_RecFrom_menu();
\ 03D5 3E00 LD A,BYTE3 show_RecFrom_menu
\ 03D7 210501 LD HL,LWRD show_RecFrom_menu
\ 03DA 1805 JR ?0169
372
373 return result;
374
375 case 3: //rec type
\ 03DC ?0081:
376 result = show_rectype_menu();
\ 03DC 3E00 LD A,BYTE3 show_rectype_menu
\ 03DE 219100 LD HL,LWRD show_rectype_menu
\ 03E1 ?0169:
\ 03E1 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
377
378 return result;
379 //break;
380 case 4: //exit
\ 03E4 1802 JR ?0084
\ 03E6 ?0082:
381 return 0;
382 default:
\ 03E6 ?0083:
\ 03E6 ?0055:
383 //ASSERT(FALSE);
384 ;
385 }//switch
386 }
387 return 0;
\ 03E6 69 LD L,C
\ 03E7 60 LD H,B
388
389 }
\ 03E8 ?0084:
\ 03E8 DDF9 LD SP,IX
\ 03EA DDE1 POP IX
\ 03EC D1 POP DE
\ 03ED C1 POP BC
\ 03EE C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 03F1 ?0197:
\ 03F1 3E43 LD A,67
\ 03F3 320A00 LD (g_record_vars+10),A
\ 03F6 0E0C LD C,12
\ 03F8 ?0198:
\ 03F8 112400 LD DE,g_record_vars+36
\ 03FB 68 LD L,B
\ 03FC C30000 JP LWRD ?MEMSET_L11
\ 03FF ?0199:
\ 03FF 0E07 LD C,7
\ 0401 1E02 LD E,2
\ 0403 3E00 LD A,BYTE3 fselInit
\ 0405 210000 LD HL,LWRD fselInit
\ 0408 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 040B ?0200:
\ 040B 110A00 LD DE,g_record_vars+10
\ 040E 3E00 LD A,BYTE3 fselGetLocation
\ 0410 210000 LD HL,LWRD fselGetLocation
\ 0413 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0416 210C00 LD HL,g_comval+12
\ 0419 4E LD C,(HL)
\ 041A C9 RET
\ 041B ?0201:
\ 041B 0E02 LD C,2
\ 041D 110A00 LD DE,g_record_vars+10
\ 0420 3E00 LD A,BYTE3 ui_directory
\ 0422 210000 LD HL,LWRD ui_directory
\ 0425 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0428 ?0202:
\ 0428 3E43 LD A,67
\ 042A 320A00 LD (g_record_vars+10),A
\ 042D 117602 LD DE,630
\ 0430 ?0203:
\ 0430 3E00 LD A,BYTE3 show_error
\ 0432 210000 LD HL,LWRD show_error
\ 0435 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0438 fm_show_stop_menu:
390
391 /*
392 ********************************************************************************
393 * Description : FM录音停止菜单界面
394 *
395 * Arguments :
396 *
397 * Returns : 结果消息或0
398 RESULT_DIR_CHANGED //录音目录改变
399 *
400 * Notes :
401 *
402 ********************************************************************************
403 */
404
405 int fm_show_stop_menu(void)
406 {
\ 0438 C5 PUSH BC
\ 0439 D5 PUSH DE
\ 043A DDE5 PUSH IX
\ 043C DD210000 LD IX,0
\ 0440 DD39 ADD IX,SP
\ 0442 21F0FF LD HL,65520
\ 0445 39 ADD HL,SP
\ 0446 F9 LD SP,HL
407 int result;
408 static char active=0; //保持选中菜单的序号
409 char file[12];
410 char menu_flag; //0:卡 1://no 卡
411 g_list.headid = STOPMENU;
\ 0447 218B01 LD HL,395
\ 044A 220600 LD (g_list+6),HL
412 if (DRV_DetectUD(1) == 0x20) //card
\ 044D 5C LD E,H
\ 044E CD0000 CALL LWRD DRV_DetectUD
\ 0451 FE20 CP 32
\ 0453 ED4B0100 LD BC,(?0085)
\ 0457 0600 LD B,0
\ 0459 ED430400 LD (g_list+4),BC
\ 045D 2011 JR NZ,?0087
\ 045F ?0086:
413 {
414 g_list.active = active;
415 g_list.total = sizeof(fm_stop_string_card) / 2;
\ 045F 210400 LD HL,4
\ 0462 220200 LD (g_list+2),HL
416 g_list.strid = fm_stop_string_card;
\ 0465 211800 LD HL,fm_stop_string_card
\ 0468 220000 LD (g_list),HL
417 menu_flag = 0;
\ 046B DD70F2 LD (IX-14),B
418 }
419 else
\ 046E 1810 JR ?0088
\ 0470 ?0087:
420 {
421 g_list.active = active;
422 g_list.total = 3;
\ 0470 210300 LD HL,3
\ 0473 220200 LD (g_list+2),HL
423 g_list.strid = fm_stop_string;
\ 0476 211200 LD HL,fm_stop_string
\ 0479 220000 LD (g_list),HL
424 menu_flag = 1;
\ 047C DD36F201 LD (IX-14),1
\ 0480 ?0088:
425 }
426
427 g_list.string_id = g_comval.langid;
\ 0480 3A0C00 LD A,(g_comval+12)
\ 0483 320800 LD (g_list+8),A
428
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -