📄 show_rec.lst
字号:
\ 048E 2806 JR Z,?0037
\ 0490 ?0039:
\ 0490 ?0038:
\ 0490 ?0036:
426 key = ap_get_message();
\ 0490 CD0000 CALL LWRD ap_get_message
\ 0493 DD77E7 LD (IX-25),A
\ 0496 ?0037:
427 if(status==saving)
\ 0496 3A0000 LD A,(status)
\ 0499 FE04 CP 4
\ 049B 2004 JR NZ,?0041
\ 049D ?0040:
428 key =AP_MSG_STANDBY;
\ 049D DD36E71D LD (IX-25),29
\ 04A1 ?0041:
429 switch( key )
\ 04A1 DD5EE7 LD E,(IX-25)
\ 04A4 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 04A7 0700 DEFW 7
\ 04A9 1B DEFB 27
\ 04AA 1C DEFB 28
\ 04AB 1D DEFB 29
\ 04AC 21 DEFB 33
\ 04AD 31 DEFB 49
\ 04AE 81 DEFB 129
\ 04AF 91 DEFB 145
\ 04B0 2206 DEFW ?0077
\ 04B2 0C05 DEFW ?0055
\ 04B4 0C05 DEFW ?0055
\ 04B6 C004 DEFW ?0044
\ 04B8 C004 DEFW ?0044
\ 04BA 4E06 DEFW ?0084
\ 04BC 2605 DEFW ?0057
\ 04BE 1C05 DEFW ?0056
\ 04C0 ?0043:
430 {
431 //overwrite auto standby
432 //case AP_KEY_MODE | AP_KEY_LONG:
433 case AP_MSG_STANDBY:
434 //do nothing
435
436 break;
\ 04C0 ?0044:
437 case AP_KEY_PLAY | AP_KEY_UP:
438 case AP_KEY_AB | AP_KEY_UP:
439 //正在保存不要暂停
440 if(status == recording)
\ 04C0 3D DEC A
\ 04C1 2042 JR NZ,?0046
\ 04C3 ?0045:
441 {
442 recordSendCommand(MC_GETTIME, (int)&g_rec_time); //取出现在时间
\ 04C3 010000 LD BC,g_rec_time
\ 04C6 1E80 LD E,128
\ 04C8 CD0801 CALL LWRD ?0125
443 //send record command
444 // 要在show_pause() BANK 切换之前发送 MC_PAUSE
445 recordSendCommand(MC_PAUSE, 0);
\ 04CB 010000 LD BC,0
\ 04CE 1E05 LD E,5
\ 04D0 CD0801 CALL LWRD ?0125
446
447 result = show_pause();
\ 04D3 3E00 LD A,BYTE3 show_pause
\ 04D5 210000 LD HL,LWRD show_pause
\ 04D8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04DB E5 PUSH HL
\ 04DC FDE1 POP IY
448 // 要在BANK 切换之后才发送 MC_RECORD, 避免DSP BUFFER FULL
449 recordSendCommand(MC_RECORD, 0);
\ 04DE 010000 LD BC,0
\ 04E1 1E08 LD E,8
\ 04E3 CD0801 CALL LWRD ?0125
450
451 if(result != 0)
\ 04E6 FDE5 PUSH IY
\ 04E8 E1 POP HL
\ 04E9 7D LD A,L
\ 04EA B4 OR H
\ 04EB CA4E06 JP Z,?0084
\ 04EE ?0047:
452 {
453 status = wait_to_save;
\ 04EE 3E03 LD A,3
\ 04F0 320000 LD (status),A
454
455 //检查是否长按menu/play 返回
456 if(result == RESULT_USER_STOP)
\ 04F3 3E65 LD A,101
\ 04F5 AD XOR L
\ 04F6 B4 OR H
\ 04F7 2818 JR Z,?0123
\ 04F9 ?0049:
457 {
458 key_stop = TRUE;
459 result = 0;
\ 04F9 ?0050:
460 }
461 else if(result == RESULT_LOW_POWER_STOP)
\ 04F9 3E66 LD A,102
\ 04FB AD XOR L
\ 04FC B4 OR H
\ 04FD C24E06 JP NZ,?0084
\ 0500 ?0052:
462 {
463 key_stop = FALSE;
464 result = 0;
\ 0500 DD77E6 LD (IX-26),A
\ 0503 1810 JR ?0122
\ 0505 ?0053:
\ 0505 ?0051:
\ 0505 ?0048:
\ 0505 ?0046:
465 }
466 }
467
468 //need_draw = TRUE;
469
470 DUMP_NUM(result);
471 }
472 else key_stop = FALSE;;
\ 0505 DD36E600 LD (IX-26),0
\ 0509 ?0054:
473
474 break;
\ 0509 C34E06 JP LWRD ?0084
\ 050C ?0055:
475 case AP_KEY_PLAY | AP_KEY_LONG:
476 case AP_KEY_AB | AP_KEY_LONG:
477 //normal redcord end
478 status = wait_to_save;
\ 050C 3E03 LD A,3
\ 050E 320000 LD (status),A
479 key_stop = TRUE;
480 result = 0;
\ 0511 ?0123:
\ 0511 DD36E601 LD (IX-26),1
\ 0515 ?0122:
\ 0515 FD210000 LD IY,0
481
482 break;
\ 0519 C34E06 JP LWRD ?0084
\ 051C ?0056:
483 case AP_MSG_CHARGING:
484 ui_show_batt(GetBattery(), g_comval.BatteryType,0);
\ 051C 0E00 LD C,0
\ 051E C5 PUSH BC
\ 051F CDF400 CALL LWRD ?0124
\ 0522 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0525 E1 POP HL
\ 0526 ?0057:
485 //lint -fallthrough
486 case AP_MSG_RTC:
487
488 if(status == recording)
\ 0526 3A0000 LD A,(status)
\ 0529 3D DEC A
\ 052A C24E06 JP NZ,?0084
\ 052D ?0058:
489 {
490 int batt;
491
492 time_draw(TRUE);
\ 052D 1E01 LD E,1
\ 052F 3E00 LD A,BYTE3 time_draw
\ 0531 21BC02 LD HL,LWRD time_draw
\ 0534 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
493
494 batt = GetBattery();
\ 0537 CD0000 CALL LWRD GetBattery
\ 053A 4F LD C,A
\ 053B DD71FD LD (IX-3),C
\ 053E 0600 LD B,0
\ 0540 DD70FE LD (IX-2),B
495
496 //MY_DUMP("battery",g_comval.BatteryType);
497
498 //show batt when change > 1 level
499 if((batt_old - batt) > 10 || (batt_old - batt) < -10)
\ 0543 DD6EF9 LD L,(IX-7)
\ 0546 DD66FA LD H,(IX-6)
\ 0549 A7 AND A
\ 054A ED42 SBC HL,BC
\ 054C 4D LD C,L
\ 054D 44 LD B,H
\ 054E 210A00 LD HL,10
\ 0551 F680 OR 128
\ 0553 ED42 SBC HL,BC
\ 0555 E25905 JP PO,?0118
\ 0558 AC XOR H
\ 0559 ?0118:
\ 0559 FA7605 JP M,?0062
\ 055C DD4EFD LD C,(IX-3)
\ 055F DD46FE LD B,(IX-2)
\ 0562 DD6EF9 LD L,(IX-7)
\ 0565 DD66FA LD H,(IX-6)
\ 0568 A7 AND A
\ 0569 ED42 SBC HL,BC
\ 056B 01F67F LD BC,32758
\ 056E 3E80 LD A,128
\ 0570 AC XOR H
\ 0571 67 LD H,A
\ 0572 ED42 SBC HL,BC
\ 0574 301D JR NC,?0061
\ 0576 ?0062:
\ 0576 ?0063:
\ 0576 ?0060:
500 {
501 batt_old = batt;
\ 0576 DD6EFD LD L,(IX-3)
\ 0579 DD66FE LD H,(IX-2)
\ 057C DD75F9 LD (IX-7),L
\ 057F DD74FA LD (IX-6),H
502 ui_show_batt(batt, g_comval.BatteryType,0);
\ 0582 0E00 LD C,0
\ 0584 C5 PUSH BC
\ 0585 ED4B0F00 LD BC,(g_comval+15)
\ 0589 EB EX DE,HL
\ 058A 3E00 LD A,BYTE3 ui_show_batt
\ 058C 210000 LD HL,LWRD ui_show_batt
\ 058F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0592 E1 POP HL
\ 0593 ?0061:
503 }
504
505 //check low power
506 if(is_lowbatt(batt)) low_power_count++;
\ 0593 DD5EFD LD E,(IX-3)
\ 0596 3E00 LD A,BYTE3 is_lowbatt
\ 0598 21F403 LD HL,LWRD is_lowbatt
\ 059B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 059E 2C INC L
\ 059F 2D DEC L
\ 05A0 2805 JR Z,?0065
\ 05A2 ?0064:
\ 05A2 DD34F5 INC (IX-11)
\ 05A5 1803 JR ?0066
\ 05A7 ?0065:
507 else low_power_count = 0;
\ 05A7 DD75F5 LD (IX-11),L
\ 05AA ?0066:
508
509 //检测低电压的次数
510 if(low_power_count > LOW_POWER_COUNT)
\ 05AA 3E04 LD A,4
\ 05AC DDBEF5 CP (IX-11)
\ 05AF 3005 JR NC,?0068
\ 05B1 ?0067:
511 {
512 // ClearScreen(®ion_msg);
513 // ResShowMultiString(MPWROUT, g_comval.langid, 255, 32);
514 status = wait_to_save;
\ 05B1 3E03 LD A,3
\ 05B3 320000 LD (status),A
\ 05B6 ?0068:
515 }
516
517 //flash time when vor 00:00:00
518 if(g_record_vars.rec_type > 1)
\ 05B6 3A0500 LD A,(g_record_vars+5)
\ 05B9 47 LD B,A
\ 05BA 3E01 LD A,1
\ 05BC B8 CP B
\ 05BD D24E06 JP NC,?0084
\ 05C0 ?0069:
519 {
520 if(vor_waiting && (++vor_counter > 4)) //2s then flash
\ 05C0 AF XOR A
\ 05C1 DDB6F6 OR (IX-10)
\ 05C4 CA4E06 JP Z,?0084
\ 05C7 DD34F7 INC (IX-9)
\ 05CA DD46F7 LD B,(IX-9)
\ 05CD 3E04 LD A,4
\ 05CF B8 CP B
\ 05D0 307C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -