📄 ap_message2.lst
字号:
\ 009F ?0018:
\ 009F ?0017:
\ 009F ?0015:
125 {
126 if (tempVolume > 10)
\ 009F 3E0A LD A,10
\ 00A1 DDBEFC CP (IX-4)
\ 00A4 3013 JR NC,?0020
\ 00A6 ?0019:
127 {
128 output8(0x99, input(0x99)&0xe0|(tempVolume-1));
\ 00A6 019900 LD BC,153
\ 00A9 ED50 IN D,(C)
\ 00AB 7A LD A,D
\ 00AC E6E0 AND 224
\ 00AE F5 PUSH AF
\ 00AF DD7EFC LD A,(IX-4)
\ 00B2 C6FF ADD A,255
\ 00B4 47 LD B,A
\ 00B5 F1 POP AF
\ 00B6 B0 OR B
\ 00B7 D399 OUT (153),A
\ 00B9 ?0020:
129 }
130 g_half_hour_counter = 0;
\ 00B9 220100 LD (g_half_hour_counter),HL
\ 00BC ?0016:
131 }
132 #endif
133
134 //和上次的一样
135 if(key == key_value)
\ 00BC 3A0D00 LD A,(?0007)
\ 00BF 47 LD B,A
\ 00C0 7B LD A,E
\ 00C1 B8 CP B
\ 00C2 2034 JR NZ,?0022
\ 00C4 ?0021:
136 {
137 // if(g_comval.KeyTone) //key tone add by mzh 2007.3.14
138 // sKY_Beep(g_comval.KeyTone);
139 //开背光
140 if(g_light_time != 0) sKY_OpenBacklight();
\ 00C4 3A0300 LD A,(g_light_time)
\ 00C7 B7 OR A
\ 00C8 2803 JR Z,?0024
\ 00CA ?0023:
\ 00CA CD0000 CALL LWRD sKY_OpenBacklight
\ 00CD ?0024:
141
142 g_rtc_counter = 0;
\ 00CD 210000 LD HL,0
\ 00D0 220800 LD (g_rtc_counter),HL
143 key_count++;
\ 00D3 2A0B00 LD HL,(?0006)
\ 00D6 23 INC HL
\ 00D7 220B00 LD (?0006),HL
144 //key rate: ...0.3...0.3...0.3...0.3
145 if(key_count == 4) key |= AP_KEY_LONG; //=1.2s
\ 00DA 3E04 LD A,4
\ 00DC AD XOR L
\ 00DD B4 OR H
\ 00DE 2007 JR NZ,?0026
\ 00E0 ?0025:
\ 00E0 DDCBFEFE SET 7,(IX-2)
\ 00E4 C36C02 JP LWRD ?0089
\ 00E7 ?0026:
146 else if(key_count > 4) key |= AP_KEY_HOLD;
\ 00E7 4D LD C,L
\ 00E8 44 LD B,H
\ 00E9 210400 LD HL,4
\ 00EC ED42 SBC HL,BC
\ 00EE D26C02 JP NC,?0089
\ 00F1 ?0028:
\ 00F1 DDCBFEF6 SET 6,(IX-2)
\ 00F5 ?0029:
\ 00F5 ?0027:
147 return key;
\ 00F5 C36C02 JP LWRD ?0089
148 }
\ 00F8 ?0022:
149
150 switch( key )
\ 00F8 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 00FB 0C00 DEFW 12
\ 00FD 00 DEFB 0
\ 00FE 30 DEFB 48
\ 00FF 31 DEFB 49
\ 0100 32 DEFB 50
\ 0101 34 DEFB 52
\ 0102 80 DEFB 128
\ 0103 81 DEFB 129
\ 0104 82 DEFB 130
\ 0105 91 DEFB 145
\ 0106 92 DEFB 146
\ 0107 B0 DEFB 176
\ 0108 B1 DEFB 177
\ 0109 4802 DEFW ?0085
\ 010B 4202 DEFW ?0084
\ 010D 3C02 DEFW ?0083
\ 010F 1802 DEFW ?0078
\ 0111 EE01 DEFW ?0069
\ 0113 0B02 DEFW ?0075
\ 0115 3801 DEFW ?0032
\ 0117 3801 DEFW ?0032
\ 0119 2202 DEFW ?0080
\ 011B 2802 DEFW ?0082
\ 011D 2301 DEFW ?0031
\ 011F 2301 DEFW ?0031
\ 0121 2202 DEFW ?0080
\ 0123 ?0031:
151 {
152 case Msg_KeyLongUp:
153 case Msg_KeyShortUp:
154 key_count = 0;
\ 0123 210000 LD HL,0
\ 0126 220B00 LD (?0006),HL
155 g_rtc_counter = 0;
\ 0129 220800 LD (g_rtc_counter),HL
156 key = key_value | AP_KEY_UP;
\ 012C 78 LD A,B
\ 012D CBEF SET 5,A
\ 012F DD77FE LD (IX-2),A
157 key_value=key; //add by mzh 2007.3.14
\ 0132 320D00 LD (?0007),A
158 break;
\ 0135 C36C02 JP LWRD ?0089
\ 0138 ?0032:
159
160
161 case MSG_RTC2HZ: //rtc
162 case MSG_BAT_V_CHG: //charging & rtc
163 g_rtc_counter++;
\ 0138 2A0800 LD HL,(g_rtc_counter)
\ 013B 23 INC HL
\ 013C 220800 LD (g_rtc_counter),HL
164
165
166 if(g_comval.BatteryType != BATT_TYPE_LITHIUM)
\ 013F 3A0F00 LD A,(g_comval+15)
\ 0142 3D DEC A
\ 0143 3D DEC A
\ 0144 DB8E IN A,(142)
\ 0146 2810 JR Z,?0034
\ 0148 ?0033:
167 {
168 if(((input8(0x8e)&0x80)==0)&&((input8(0x8f)&0x3f)<= 0x09)) //check low battery
\ 0148 CB7F BIT 7,A
\ 014A 201A JR NZ,?0041
\ 014C DB8F IN A,(143)
\ 014E E63F AND 63
\ 0150 47 LD B,A
\ 0151 3E09 LD A,9
\ 0153 B8 CP B
\ 0154 3810 JR C,?0041
\ 0156 ?0038:
\ 0156 ?0037:
\ 0156 ?0035:
169 {
170 return AP_MSG_LOW_POWER;
\ 0156 1841 JR ?0118
171 }
\ 0158 ?0036:
172 }
173 else
\ 0158 ?0034:
174 {
175 if(((input8(0x8e)&0x80)==0)&&((input8(0x8f)&0x3f)<= 0x12)) //check low battery
\ 0158 CB7F BIT 7,A
\ 015A 200A JR NZ,?0041
\ 015C DB8F IN A,(143)
\ 015E E63F AND 63
\ 0160 47 LD B,A
\ 0161 3E12 LD A,18
\ 0163 B8 CP B
\ 0164 3033 JR NC,?0118
\ 0166 ?0043:
\ 0166 ?0042:
\ 0166 ?0040:
176 {
177 return AP_MSG_LOW_POWER;
178 }
\ 0166 ?0041:
\ 0166 ?0039:
179 }
180
181 #ifdef EAR_PROTECT
182 if (counter_flag)
\ 0166 AF XOR A
\ 0167 DDB6FD OR (IX-3)
\ 016A 2804 JR Z,?0045
\ 016C ?0044:
183 {
184 g_decrease_time++;
\ 016C 210000 LD HL,g_decrease_time
\ 016F 34 INC (HL)
\ 0170 ?0045:
185 }
186 g_half_hour_counter++;
\ 0170 2A0100 LD HL,(g_half_hour_counter)
\ 0173 23 INC HL
\ 0174 220100 LD (g_half_hour_counter),HL
187 //g_autoswitch_counter++;
188 #endif
189 if((g_light_time != 0) && (g_rtc_counter >= g_light_time)) //自动关背光
\ 0177 3A0300 LD A,(g_light_time)
\ 017A B7 OR A
\ 017B 280D JR Z,?0047
\ 017D 4F LD C,A
\ 017E 0600 LD B,0
\ 0180 2A0800 LD HL,(g_rtc_counter)
\ 0183 ED42 SBC HL,BC
\ 0185 3803 JR C,?0047
\ 0187 ?0049:
\ 0187 ?0048:
\ 0187 ?0046:
190 {
191 //关背光
192 sKY_CloseBacklight();
\ 0187 CD0000 CALL LWRD sKY_CloseBacklight
\ 018A ?0047:
193 }
194
195 if(g_sleep_time != 0 && g_rtc_counter == g_sleep_time) //睡眠
\ 018A 2A0400 LD HL,(g_sleep_time)
\ 018D 7D LD A,L
\ 018E B4 OR H
\ 018F 280D JR Z,?0051
\ 0191 ED4B0800 LD BC,(g_rtc_counter)
\ 0195 ED42 SBC HL,BC
\ 0197 2005 JR NZ,?0051
\ 0199 ?0053:
\ 0199 ?0052:
\ 0199 ?0050:
196 {
197 return AP_MSG_SLEEP;
\ 0199 ?0118:
\ 0199 2E1F LD L,31
198 }
\ 019B C36F02 JP LWRD ?0090
\ 019E ?0051:
199
200 if(g_standby_time != 0 && g_rtc_counter == g_standby_time) //自动关机
\ 019E 2A0600 LD HL,(g_standby_time)
\ 01A1 7D LD A,L
\ 01A2 B4 OR H
\ 01A3 280D JR Z,?0055
\ 01A5 ED4B0800 LD BC,(g_rtc_counter)
\ 01A9 ED42 SBC HL,BC
\ 01AB 2005 JR NZ,?0055
\ 01AD ?0057:
\ 01AD ?0056:
\ 01AD ?0054:
201 {
202 return AP_MSG_STANDBY;
\ 01AD 2E1D LD L,29
203 }
\ 01AF C36F02 JP LWRD ?0090
\ 01B2 ?0055:
204 #ifdef EAR_PROTECT
205 // if(g_autoswitch_time != 0 && g_autoswitch_counter == g_autoswitch_time) //自动关机
206 // {
207 // return AP_MSG_FORCE_STANDBY;
208 // }
209 #endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -