📄 ap_message2.lst
字号:
131 {
132 counter_flag = TRUE;
\ 00BE DD36FD01 LD (IX-3),1
133 }
134 else
\ 00C2 1804 JR ?0016
\ 00C4 ?0015:
135 {
136 counter_flag = FALSE;
\ 00C4 DD36FD00 LD (IX-3),0
\ 00C8 ?0016:
137 }
138
139 if ( g_EarProtect_flag && (tempVolume > EarProtectThreshold) && (g_decrease_time == EarProctetTimeTick) )
\ 00C8 3A0000 LD A,(g_EarProtect_flag)
\ 00CB B7 OR A
\ 00CC 281A JR Z,?0018
\ 00CE 3A0100 LD A,(EarProtectThreshold)
\ 00D1 DDBEFC CP (IX-4)
\ 00D4 3012 JR NC,?0018
\ 00D6 3A0000 LD A,(g_decrease_time)
\ 00D9 FE3C CP 60
\ 00DB 200B JR NZ,?0018
\ 00DD ?0020:
\ 00DD ?0019:
\ 00DD ?0017:
140 {
141 output8(0x87, tempVolume-1);
\ 00DD DD7EFC LD A,(IX-4)
\ 00E0 C6FF ADD A,255
\ 00E2 D387 OUT (135),A
142 g_decrease_time = 0;
\ 00E4 AF XOR A
\ 00E5 320000 LD (g_decrease_time),A
\ 00E8 ?0018:
143 }
144 if ( g_EarProtect_flag && (g_half_hour_counter == 7200) )
\ 00E8 3A0000 LD A,(g_EarProtect_flag)
\ 00EB B7 OR A
\ 00EC 2820 JR Z,?0022
\ 00EE 21201C LD HL,7200
\ 00F1 ED4B0100 LD BC,(g_half_hour_counter)
\ 00F5 A7 AND A
\ 00F6 ED42 SBC HL,BC
\ 00F8 2014 JR NZ,?0022
\ 00FA ?0024:
\ 00FA ?0023:
\ 00FA ?0021:
145 {
146 if (tempVolume > 10)
\ 00FA 3E0A LD A,10
\ 00FC DDBEFC CP (IX-4)
\ 00FF 3007 JR NC,?0026
\ 0101 ?0025:
147 {
148 output8(0x87, tempVolume-1);
\ 0101 DD7EFC LD A,(IX-4)
\ 0104 C6FF ADD A,255
\ 0106 D387 OUT (135),A
\ 0108 ?0026:
149 }
150 g_half_hour_counter = 0;
\ 0108 210000 LD HL,0
\ 010B 220100 LD (g_half_hour_counter),HL
\ 010E ?0022:
151 }
152 #endif
153
154 //和上次的一样
155 if(key == key_value)
\ 010E 3A1100 LD A,(?0013)
\ 0111 47 LD B,A
\ 0112 DD7EFE LD A,(IX-2)
\ 0115 B8 CP B
\ 0116 2049 JR NZ,?0028
\ 0118 ?0027:
156 {
157 //开背光
158 if (!g_light_flag)
\ 0118 3A0E00 LD A,(g_light_flag)
\ 011B B7 OR A
\ 011C 2011 JR NZ,?0030
\ 011E ?0029:
159 {
160 //如背灯没开,不理按键
161 key_count = 0;
\ 011E 210000 LD HL,0
\ 0121 220F00 LD (?0012),HL
162 g_rtc_counter = 0;
\ 0124 210000 LD HL,0
\ 0127 220C00 LD (g_rtc_counter),HL
163 return NULL;
\ 012A 2E00 LD L,0
164 }
\ 012C C31103 JP LWRD ?0076
\ 012F ?0030:
165
166 g_rtc_counter = 0;
\ 012F 210000 LD HL,0
\ 0132 220C00 LD (g_rtc_counter),HL
167 key_count++;
\ 0135 2A0F00 LD HL,(?0012)
\ 0138 23 INC HL
\ 0139 220F00 LD (?0012),HL
168 //key rate: ...0.3...0.3...0.3...0.3
169 if(key_count == 4) key |= AP_KEY_LONG; //=1.2s
\ 013C 2A0F00 LD HL,(?0012)
\ 013F 3E04 LD A,4
\ 0141 AD XOR L
\ 0142 B4 OR H
\ 0143 2006 JR NZ,?0032
\ 0145 ?0031:
\ 0145 DDCBFEFE SET 7,(IX-2)
\ 0149 1810 JR ?0035
\ 014B ?0032:
170 else if(key_count > 4) key |= AP_KEY_HOLD;
\ 014B ED4B0F00 LD BC,(?0012)
\ 014F 210400 LD HL,4
\ 0152 A7 AND A
\ 0153 ED42 SBC HL,BC
\ 0155 3004 JR NC,?0035
\ 0157 ?0034:
\ 0157 DDCBFEF6 SET 6,(IX-2)
\ 015B ?0035:
\ 015B ?0033:
171 return key;
\ 015B DD6EFE LD L,(IX-2)
172 }
\ 015E C31103 JP LWRD ?0076
\ 0161 ?0028:
173
174 switch( key )
\ 0161 DD5EFE LD E,(IX-2)
\ 0164 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0167 0A00 DEFW 10
\ 0169 00 DEFB 0
\ 016A 22 DEFB 34
\ 016B 24 DEFB 36
\ 016C 30 DEFB 48
\ 016D 31 DEFB 49
\ 016E 80 DEFB 128
\ 016F 81 DEFB 129
\ 0170 8B DEFB 139
\ 0171 91 DEFB 145
\ 0172 92 DEFB 146
\ 0173 D802 DEFW ?0071
\ 0175 A002 DEFW ?0068
\ 0177 7302 DEFW ?0064
\ 0179 9A02 DEFW ?0067
\ 017B BD01 DEFW ?0040
\ 017D BD01 DEFW ?0040
\ 017F 8901 DEFW ?0037
\ 0181 8901 DEFW ?0037
\ 0183 A602 DEFW ?0069
\ 0185 BF02 DEFW ?0070
\ 0187 A002 DEFW ?0068
\ 0189 ?0037:
175 {
176 case Msg_KeyLongUp:
177 case Msg_KeyShortUp:
178 key_count = 0;
\ 0189 210000 LD HL,0
\ 018C 220F00 LD (?0012),HL
179 g_rtc_counter = 0;
\ 018F 210000 LD HL,0
\ 0192 220C00 LD (g_rtc_counter),HL
180 if (!g_light_flag)
\ 0195 3A0E00 LD A,(g_light_flag)
\ 0198 B7 OR A
\ 0199 2014 JR NZ,?0039
\ 019B ?0038:
181 {
182 Lightmodeset(TRUE);//开关背光(TRUE: 开, FALSE:关)
\ 019B 1E01 LD E,1
\ 019D 3E00 LD A,BYTE3 Lightmodeset
\ 019F 210000 LD HL,LWRD Lightmodeset
\ 01A2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
183 g_light_flag = TRUE;
\ 01A5 3E01 LD A,1
\ 01A7 320E00 LD (g_light_flag),A
184 return NULL;
\ 01AA 2E00 LD L,0
185 }
\ 01AC C31103 JP LWRD ?0076
\ 01AF ?0039:
186 key = key_value | AP_KEY_UP;
\ 01AF 3A1100 LD A,(?0013)
\ 01B2 CBEF SET 5,A
\ 01B4 DD77FE LD (IX-2),A
187 key_value=key; //add by mzh 2007.3.14
\ 01B7 321100 LD (?0013),A
188 break;
\ 01BA C30E03 JP LWRD ?0075
\ 01BD ?0040:
189
190
191 case MSG_RTC2HZ: //rtc
192 case MSG_BAT_V_CHG: //charging & rtc
193 g_rtc_counter++;
\ 01BD 2A0C00 LD HL,(g_rtc_counter)
\ 01C0 23 INC HL
\ 01C1 220C00 LD (g_rtc_counter),HL
194 #ifdef EAR_PROTECT
195 if (counter_flag)
\ 01C4 AF XOR A
\ 01C5 DDB6FD OR (IX-3)
\ 01C8 2804 JR Z,?0042
\ 01CA ?0041:
196 {
197 g_decrease_time++;
\ 01CA 210000 LD HL,g_decrease_time
\ 01CD 34 INC (HL)
\ 01CE ?0042:
198 }
199 g_half_hour_counter++;
\ 01CE 2A0100 LD HL,(g_half_hour_counter)
\ 01D1 23 INC HL
\ 01D2 220100 LD (g_half_hour_counter),HL
200 g_autoswitch_counter++;
\ 01D5 2A0300 LD HL,(g_autoswitch_counter)
\ 01D8 23 INC HL
\ 01D9 220300 LD (g_autoswitch_counter),HL
201 #endif
202
203 if((g_light_time != 0) && (g_rtc_counter >= g_light_time)&&((input8(0x57) & 0x02)==0)) //自动关背光
\ 01DC 3A0500 LD A,(g_light_time)
\ 01DF B7 OR A
\ 01E0 2822 JR Z,?0044
\ 01E2 ED4B0500 LD BC,(g_light_time)
\ 01E6 0600 LD B,0
\ 01E8 2A0C00 LD HL,(g_rtc_counter)
\ 01EB A7 AND A
\ 01EC ED42 SBC HL,BC
\ 01EE 3814 JR C,?0044
\ 01F0 DB57 IN A,(87)
\ 01F2 CB4F BIT 1,A
\ 01F4 200E JR NZ,?0044
\ 01F6 ?0046:
\ 01F6 ?0045:
\ 01F6 ?0043:
204 {
205 //关背光
206 Lightmodeset(FALSE); //开关背光(true: 开, false:关) //zxs add for test
\ 01F6 1E00 LD E,0
\ 01F8 3E00 LD A,BYTE3 Lightmodeset
\ 01FA 210000 LD HL,LWRD Lightmodeset
\ 01FD CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
207 g_light_flag = FALSE;
\ 0200 AF XOR A
\ 0201 320E00 LD (g_light_flag),A
\ 0204 ?0044:
208 }
209 if(g_sleep_time != 0 && g_rtc_counter == g_sleep_time) //睡眠
\ 0204 2A0800 LD HL,(g_sleep_time)
\ 0207 7D LD A,L
\ 0208 B4 OR H
\ 0209 2811 JR Z,?0048
\ 020B 2A0800 LD HL,(g_sleep_time)
\ 020E ED4B0C00 LD BC,(g_rtc_counter)
\ 0212 A7 AND A
\ 0213 ED42 SBC HL,BC
\ 0215 2005 JR NZ,?0048
\ 0217 ?0050:
\ 0217 ?0049:
\ 0217 ?0047:
210 {
211 return AP_MSG_SLEEP;
\ 0217 2E1F LD L,31
212 }
\ 0219 C31103 JP LWRD ?0076
\ 021C ?0048:
213
214 if(g_standby_time != 0 && g_rtc_counter == g_standby_time) //自动关机
\ 021C 2A0A00 LD HL,(g_standby_time)
\ 021F 7D LD A,L
\ 0220 B4 OR H
\ 0221 2811 JR Z,?0052
\ 0223 2A0A00 LD HL,(g_standby_time)
\ 0226 ED4B0C00 LD BC,(g_rtc_counter)
\ 022A A7 AND A
\ 022B ED42 SBC HL,BC
\ 022D 2005 JR NZ,?0052
\ 022F ?0054:
\ 022F ?0053:
\ 022F ?0051:
215 {
216 return AP_MSG_STANDBY;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -