📄 show_pause.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 25/Dec/106 17:00:11 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d90f\ap\ap_fmrecord\show_pause.c #
# List file = d:\case_i_d90f\ap\ap_fmrecord\list\show_pause.lst #
# Object file = d:\case_i_d90f\ap\ap_fmrecord\obj\show_pause.r01 #
# Command line = -v0 -mb -OD:\case_i_d90f\ap\ap_fmrecord\Obj\ -e -K #
# -w -gA -s9 -RCODE -r0 -DNAPDEBUG #
# -LD:\case_i_d90f\ap\ap_fmrecord\List\ -q -t8 -X #
# -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\ #
# d:\case_i_d90f\AP\AP_FMRECORD\show_pause.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME show_pause(17)
\ 0000 RSEG CODE(0)
\ 0000 EXTERN GetBattery
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_handle_hotkey
\ 0000 EXTERN g_comval
\ 0000 EXTERN g_now_time
\ 0000 EXTERN g_rec_time
\ 0000 EXTERN is_lowbatt
\ 0000 EXTERN itoa_1
\ 0000 EXTERN itoa_2
\ 0000 EXTERN main_ResShowPic
\ 0000 PUBLIC show_pause
\ 0000 EXTERN ui_draw
\ 0000 EXTERN ui_run_realtime
\ 0000 EXTERN ui_show_batt
\ 0000 EXTERN ui_show_d
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?C_V_SWITCH_L06
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CODE
\ 0000 show_pause:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * voice recorder main program.
5 *
6 * (c) Copyright, Actions Co,Ld.
7 * All Right Reserved
8 *
9 * $Id: show_pause.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
10 *******************************************************************************
11 */
12 #include "actos.h"
13 #include "basal.h"
14 #include "enhanced.h"
15 #include "ap_common.h"
16 #include "ap_record.h"
17
18 /*
19 ********************************************************************************
20 * Description : 暂停界面
21 *
22 * Arguments :
23 *
24 * Returns : 结果消息或0
25 RESULT_USER_STOP //用户按键结束
26 RESULT_LOW_POWER_STOP //低电压结束
27 *
28 * Notes :
29 *
30 ********************************************************************************
31 */
32 int show_pause(void)
33 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
\ 0002 DDE5 PUSH IX
\ 0004 DD210000 LD IX,0
\ 0008 DD39 ADD IX,SP
\ 000A F5 PUSH AF
\ 000B F5 PUSH AF
\ 000C F5 PUSH AF
34 int result;
35 char key;
36 BOOL need_draw=TRUE;
37 BOOL flash_state=TRUE; //闪烁的状态
38 BYTE low_power_count=0; //获得低电压的次数
39 BYTE batt;
40
41 ASSERT(ui_run_realtime == TRUE);
42
43
44
45 //这个界面打开hold显示
46 ui_run_realtime = FALSE;
\ 000D AF XOR A
\ 000E 320000 LD (ui_run_realtime),A
\ 0011 DD36FD01 LD (IX-3),1
\ 0015 DD36FC01 LD (IX-4),1
\ 0019 DD77FB LD (IX-5),A
\ 001C ?0003:
47
48 while(1)
49 {
50 //show ui
51 if(need_draw)
\ 001C AF XOR A
\ 001D DDB6FD OR (IX-3)
\ 0020 280C JR Z,?0006
\ 0022 ?0005:
52 {
53 ui_draw();
\ 0022 3E00 LD A,BYTE3 ui_draw
\ 0024 210000 LD HL,LWRD ui_draw
\ 0027 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
54
55 need_draw = FALSE;
\ 002A DD36FD00 LD (IX-3),0
\ 002E ?0006:
56 }
57
58 //handle msg
59 key = ap_get_message();
\ 002E CD0000 CALL LWRD ap_get_message
60 switch( key )
\ 0031 5F LD E,A
\ 0032 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0035 0600 DEFW 6
\ 0037 1B DEFB 27
\ 0038 1C DEFB 28
\ 0039 21 DEFB 33
\ 003A 31 DEFB 49
\ 003B 81 DEFB 129
\ 003C 91 DEFB 145
\ 003D 2301 DEFW ?0020
\ 003F 5600 DEFW ?0009
\ 0041 5600 DEFW ?0009
\ 0043 4B00 DEFW ?0008
\ 0045 4B00 DEFW ?0008
\ 0047 7200 DEFW ?0011
\ 0049 5C00 DEFW ?0010
\ 004B ?0008:
61 {
62 case AP_KEY_PLAY | AP_KEY_UP:
63 case AP_KEY_AB | AP_KEY_UP:
64
65 ui_run_realtime = TRUE;
\ 004B 3E01 LD A,1
\ 004D 320000 LD (ui_run_realtime),A
66
67 return 0;
\ 0050 210000 LD HL,0
68
69
70 case AP_KEY_PLAY | AP_KEY_LONG:
\ 0053 C33E01 JP LWRD ?0026
\ 0056 ?0009:
71 case AP_KEY_AB | AP_KEY_LONG:
72 //exit to show_rec and end recording
73 //recordSendCommand(MC_RECORD, 0);
74
75 return RESULT_USER_STOP;
\ 0056 216500 LD HL,101
76
77
78 case AP_MSG_CHARGING:
\ 0059 C33E01 JP LWRD ?0026
\ 005C ?0010:
79 ui_show_batt(GetBattery(), g_comval.BatteryType,0);
\ 005C 0E00 LD C,0
\ 005E C5 PUSH BC
\ 005F ED4B0F00 LD BC,(g_comval+15)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -