ap_message2_formusic.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,069 行 · 第 1/4 页
LST
1,069 行
\ 0089 B8 CP B
\ 008A 3006 JR NC,?0015
\ 008C ?0014:
130 {
131 counter_flag = TRUE;
\ 008C DD36FF01 LD (IX-1),1
132 }
133 else
\ 0090 1804 JR ?0016
\ 0092 ?0015:
134 {
135 counter_flag = FALSE;
\ 0092 DD36FF00 LD (IX-1),0
\ 0096 ?0016:
136 }
137 if ( g_EarProtect_flag && (tempVolume > EarProtectThreshold) && (g_decrease_time == EarProctetTimeTick) )
\ 0096 3A0000 LD A,(g_EarProtect_flag)
\ 0099 B7 OR A
\ 009A 2816 JR Z,?0018
\ 009C 3A0100 LD A,(EarProtectThreshold)
\ 009F B8 CP B
\ 00A0 3010 JR NC,?0018
\ 00A2 3A0000 LD A,(g_decrease_time)
\ 00A5 FE3C CP 60
\ 00A7 2009 JR NZ,?0018
\ 00A9 ?0020:
\ 00A9 ?0019:
\ 00A9 ?0017:
138 {
139 output8(0x87, tempVolume-1);
\ 00A9 78 LD A,B
\ 00AA C6FF ADD A,255
\ 00AC D387 OUT (135),A
140 g_decrease_time = 0;
\ 00AE AF XOR A
\ 00AF 320000 LD (g_decrease_time),A
\ 00B2 ?0018:
141 }
142 if ( g_EarProtect_flag && (g_half_hour_counter == 7200) )
\ 00B2 3A0000 LD A,(g_EarProtect_flag)
\ 00B5 B7 OR A
\ 00B6 281C JR Z,?0022
\ 00B8 21201C LD HL,7200
\ 00BB ED4B0100 LD BC,(g_half_hour_counter)
\ 00BF ED42 SBC HL,BC
\ 00C1 2011 JR NZ,?0022
\ 00C3 ?0024:
\ 00C3 ?0023:
\ 00C3 ?0021:
143 {
144 if (tempVolume > 10)
\ 00C3 3E0A LD A,10
\ 00C5 DDBEFE CP (IX-2)
\ 00C8 3007 JR NC,?0026
\ 00CA ?0025:
145 {
146 output8(0x87, tempVolume-1);
\ 00CA DD7EFE LD A,(IX-2)
\ 00CD C6FF ADD A,255
\ 00CF D387 OUT (135),A
\ 00D1 ?0026:
147 }
148 g_half_hour_counter = 0;
\ 00D1 220100 LD (g_half_hour_counter),HL
\ 00D4 ?0022:
149 }
150 #endif
151
152 //和上次的一样
153 if(key == key_value)
\ 00D4 3A1100 LD A,(?0013)
\ 00D7 47 LD B,A
\ 00D8 DD7E02 LD A,(IX+2)
\ 00DB B8 CP B
\ 00DC 2039 JR NZ,?0028
\ 00DE ?0027:
154 {
155 //开背光
156 if (!g_light_flag)
\ 00DE 3A0E00 LD A,(g_light_flag)
\ 00E1 B7 OR A
\ 00E2 200A JR NZ,?0030
\ 00E4 ?0029:
157 {
158 //如背灯没开,不理按键
159 key_count = 0;
\ 00E4 6F LD L,A
\ 00E5 67 LD H,A
\ 00E6 220F00 LD (?0012),HL
160 g_rtc_counter = 0;
\ 00E9 220C00 LD (g_rtc_counter),HL
161 return NULL;
\ 00EC 1868 JR ?0107
162 }
\ 00EE ?0030:
163
164 g_rtc_counter = 0;
\ 00EE 210000 LD HL,0
\ 00F1 220C00 LD (g_rtc_counter),HL
165 key_count++;
\ 00F4 2A0F00 LD HL,(?0012)
\ 00F7 23 INC HL
\ 00F8 220F00 LD (?0012),HL
166 //key rate: ...0.3...0.3...0.3...0.3
167 if(key_count == 4) key |= AP_KEY_LONG; //=1.2s
\ 00FB 3E04 LD A,4
\ 00FD AD XOR L
\ 00FE B4 OR H
\ 00FF 2006 JR NZ,?0032
\ 0101 ?0031:
\ 0101 DDCB02FE SET 7,(IX+2)
\ 0105 180D JR ?0035
\ 0107 ?0032:
168 else if(key_count > 4) key |= AP_KEY_HOLD;
\ 0107 4D LD C,L
\ 0108 44 LD B,H
\ 0109 210400 LD HL,4
\ 010C ED42 SBC HL,BC
\ 010E 3004 JR NC,?0035
\ 0110 ?0034:
\ 0110 DDCB02F6 SET 6,(IX+2)
\ 0114 ?0035:
\ 0114 ?0033:
169 return key;
\ 0114 C36E02 JP LWRD ?0076
170 }
\ 0117 ?0028:
171
172
173
174 switch( key )
\ 0117 5F LD E,A
\ 0118 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 011B 0A00 DEFW 10
\ 011D 00 DEFB 0
\ 011E 22 DEFB 34
\ 011F 24 DEFB 36
\ 0120 30 DEFB 48
\ 0121 31 DEFB 49
\ 0122 80 DEFB 128
\ 0123 81 DEFB 129
\ 0124 8B DEFB 139
\ 0125 91 DEFB 145
\ 0126 92 DEFB 146
\ 0127 4502 DEFW ?0072
\ 0129 1D02 DEFW ?0069
\ 012B F901 DEFW ?0064
\ 012D 1702 DEFW ?0068
\ 012F 6501 DEFW ?0040
\ 0131 6501 DEFW ?0040
\ 0133 3D01 DEFW ?0037
\ 0135 3D01 DEFW ?0037
\ 0137 2302 DEFW ?0070
\ 0139 3102 DEFW ?0071
\ 013B 1D02 DEFW ?0069
\ 013D ?0037:
175 {
176 case Msg_KeyLongUp:
177 case Msg_KeyShortUp:
178 key_count = 0;
\ 013D 210000 LD HL,0
\ 0140 220F00 LD (?0012),HL
179 g_rtc_counter = 0;
\ 0143 220C00 LD (g_rtc_counter),HL
180 if (!g_light_flag)
\ 0146 3A0E00 LD A,(g_light_flag)
\ 0149 B7 OR A
\ 014A 200D JR NZ,?0039
\ 014C ?0038:
181 {
182 Lightmodeset(TRUE);//开关背光(TRUE: 开, FALSE:关)
\ 014C 1E01 LD E,1
\ 014E CD7402 CALL LWRD ?0113
183 g_light_flag = TRUE;
\ 0151 3E01 LD A,1
\ 0153 320E00 LD (g_light_flag),A
184 return NULL;
\ 0156 ?0107:
\ 0156 C35D02 JP LWRD ?0108
185 }
\ 0159 ?0039:
186 key = key_value | AP_KEY_UP;
\ 0159 78 LD A,B
\ 015A CBEF SET 5,A
\ 015C DD7702 LD (IX+2),A
187 key_value=key; //add by mzh 2007.3.14
\ 015F 321100 LD (?0013),A
188 break;
\ 0162 C36E02 JP LWRD ?0076
\ 0165 ?0040:
189
190
191 case MSG_RTC2HZ: //rtc
192 case MSG_BAT_V_CHG: //charging & rtc
193 g_rtc_counter++;
\ 0165 2A0C00 LD HL,(g_rtc_counter)
\ 0168 23 INC HL
\ 0169 220C00 LD (g_rtc_counter),HL
194 #ifdef EAR_PROTECT
195 if (counter_flag)
\ 016C AF XOR A
\ 016D DDB6FF OR (IX-1)
\ 0170 2804 JR Z,?0042
\ 0172 ?0041:
196 {
197 g_decrease_time++;
\ 0172 210000 LD HL,g_decrease_time
\ 0175 34 INC (HL)
\ 0176 ?0042:
198 }
199 g_half_hour_counter++;
\ 0176 2A0100 LD HL,(g_half_hour_counter)
\ 0179 23 INC HL
\ 017A 220100 LD (g_half_hour_counter),HL
200 g_autoswitch_counter++;
\ 017D 2A0300 LD HL,(g_autoswitch_counter)
\ 0180 23 INC HL
\ 0181 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)) //自动关背光
\ 0184 3A0500 LD A,(g_light_time)
\ 0187 B7 OR A
\ 0188 2818 JR Z,?0044
\ 018A 4F LD C,A
\ 018B 0600 LD B,0
\ 018D 2A0C00 LD HL,(g_rtc_counter)
\ 0190 ED42 SBC HL,BC
\ 0192 380E JR C,?0044
\ 0194 DB57 IN A,(87)
\ 0196 CB4F BIT 1,A
\ 0198 2008 JR NZ,?0044
\ 019A ?0046:
\ 019A ?0045:
\ 019A ?0043:
204 {
205 //关背光
206 Lightmodeset(FALSE); //开关背光(true: 开, false:关) zxs //
\ 019A 58 LD E,B
\ 019B CD7402 CALL LWRD ?0113
207 g_light_flag = FALSE;
\ 019E AF XOR A
\ 019F 320E00 LD (g_light_flag),A
\ 01A2 ?0044:
208 }
209
210 if(g_sleep_time != 0 && g_rtc_counter == g_sleep_time) //睡眠
\ 01A2 2A0800 LD HL,(g_sleep_time)
\ 01A5 7D LD A,L
\ 01A6 B4 OR H
\ 01A7 2808 JR Z,?0048
\ 01A9 ED4B0C00 LD BC,(g_rtc_counter)
\ 01AD ED42 SBC HL,BC
\ 01AF 2823 JR Z,?0109
\ 01B1 ?0050:
\ 01B1 ?0049:
\ 01B1 ?0047:
211 {
212 return AP_MSG_SLEEP;
213 }
\ 01B1 ?0048:
214
215 if(g_standby_time != 0 && g_rtc_counter == g_standby_time) //自动关机
\ 01B1 2A0A00 LD HL,(g_standby_time)
\ 01B4 7D LD A,L
\ 01B5 B4 OR H
\ 01B6 280D JR Z,?0052
\ 01B8 ED4B0C00 LD BC,(g_rtc_counter)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?