📄 sub_playstatuskey.lst
字号:
195 if (RePlayStatus != NormalPlay)
\ 01B4 3A0000 LD A,(RePlayStatus)
\ 01B7 B7 OR A
\ 01B8 2806 JR Z,?0051
\ 01BA ?0050:
196 {
197 return RESULT_MAIN;
\ 01BA ?0172:
\ 01BA 210A00 LD HL,10
198 }
\ 01BD C38D02 JP LWRD ?0072
\ 01C0 ?0051:
199 g_result = ui_lyric();
\ 01C0 3E00 LD A,BYTE3 ui_lyric
\ 01C2 210000 LD HL,LWRD ui_lyric
\ 01C5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01C8 220000 LD (g_result),HL
200 return_to_play=1;
\ 01CB 3E01 LD A,1
\ 01CD 320000 LD (return_to_play),A
201 //恢复背光时间
202 VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
\ 01D0 012000 LD BC,32
\ 01D3 C5 PUSH BC
\ 01D4 010002 LD BC,512
\ 01D7 110000 LD DE,g_comval
\ 01DA CD0000 CALL LWRD VMRead
\ 01DD E1 POP HL
203 ap_message_init(& g_comval);
\ 01DE 110000 LD DE,g_comval
\ 01E1 3E00 LD A,BYTE3 ap_message_init
\ 01E3 210000 LD HL,LWRD ap_message_init
\ 01E6 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
204 if( g_result == 0 ) //如果是热键,不要清屏.
\ 01E9 2A0000 LD HL,(g_result)
\ 01EC 7D LD A,L
\ 01ED B4 OR H
\ 01EE 2050 JR NZ,?0174
\ 01F0 ?0052:
205 {
206 SetFullInterface();
\ 01F0 320000 LD (ui_auto_update),A
\ 01F3 210000 LD HL,UpDisplayFlag
\ 01F6 7E LD A,(HL)
\ 01F7 F6C1 OR 193
\ 01F9 77 LD (HL),A
\ 01FA 23 INC HL
\ 01FB 36FF LD (HL),255
207 need_draw = TRUE;
\ 01FD 3E01 LD A,1
\ 01FF 320000 LD (need_draw),A
\ 0202 ?0053:
208 }
209
210 return g_result;
\ 0202 183C JR ?0174
211 //SetFullInterface();
212 //need_draw = TRUE;
213 #endif/* OPT_Sup_LRC_fun */
214 break;
\ 0204 ?0054:
215
216 case AP_KEY_PLAY | AP_KEY_UP:
217 return DealPlayKey();
\ 0204 3E00 LD A,BYTE3 DealPlayKey
\ 0206 21EC05 LD HL,LWRD DealPlayKey
\ 0209 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
218
219 case AP_KEY_VOLSUB:
\ 020C 187F JR ?0072
\ 020E ?0055:
220 case AP_KEY_VOLADD:
221 g_result = ChangeVolume();
\ 020E 3E00 LD A,BYTE3 ChangeVolume
\ 0210 210000 LD HL,LWRD ChangeVolume
\ 0213 CDC002 CALL LWRD ?0225
222
223 if (g_result == RESULT_RECORD )//不响应AB键
\ 0216 2024 JR NZ,?0057
\ 0218 ?0056:
224 {
225 g_result = play_key_next(AP_KEY_AB | AP_KEY_UP);
\ 0218 113100 LD DE,49
\ 021B CDCB02 CALL LWRD ?0227
226 if (g_result == RESULT_UI_STOP)
\ 021E 3E66 LD A,102
\ 0220 AD XOR L
\ 0221 B4 OR H
\ 0222 2866 JR Z,?0002
\ 0224 ?0058:
227 {
228 return 0;
229 }
\ 0224 ?0059:
230 if (g_result != 0)
\ 0224 7D LD A,L
\ 0225 B4 OR H
\ 0226 2018 JR NZ,?0174
\ 0228 ?0060:
231 {
232 return g_result;
233 }
\ 0228 ?0061:
234 SetFullInterface();
\ 0228 320000 LD (ui_auto_update),A
\ 022B 210000 LD HL,UpDisplayFlag
\ 022E 7E LD A,(HL)
\ 022F F6C1 OR 193
\ 0231 77 LD (HL),A
\ 0232 23 INC HL
\ 0233 36FF LD (HL),255
235 need_draw = TRUE;
\ 0235 3E01 LD A,1
\ 0237 ?0175:
\ 0237 320000 LD (need_draw),A
236 }
237 else
\ 023A 184E JR ?0002
\ 023C ?0057:
238 {
239 if (g_result != 0)
\ 023C 7D LD A,L
\ 023D B4 OR H
\ 023E 284A JR Z,?0002
\ 0240 ?0063:
240 {
241 return g_result;
\ 0240 ?0174:
\ 0240 2A0000 LD HL,(g_result)
242 }
\ 0243 1848 JR ?0072
\ 0245 ?0064:
\ 0245 ?0062:
243 }
244
245
246 break;
\ 0245 ?0065:
247 case AP_MSG_CHARGING:
248 ui_show_batt(GetBattery(), g_comval.BatteryType,0);
\ 0245 0E00 LD C,0
\ 0247 C5 PUSH BC
\ 0248 ED4B0F00 LD BC,(g_comval+15)
\ 024C CD0000 CALL LWRD GetBattery
\ 024F 5F LD E,A
\ 0250 1600 LD D,0
\ 0252 3E00 LD A,BYTE3 ui_show_batt
\ 0254 210000 LD HL,LWRD ui_show_batt
\ 0257 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 025A E1 POP HL
249 break;
\ 025B 182D JR ?0002
\ 025D ?0066:
250
251 default:
252 key = ap_handle_hotkey(key);
\ 025D CD0000 CALL LWRD ap_handle_hotkey
\ 0260 DD7702 LD (IX+2),A
253 if (key == RESULT_REDRAW)
\ 0263 FE32 CP 50
\ 0265 2018 JR NZ,?0068
\ 0267 ?0067:
254 {
255 SetFullInterface();
\ 0267 AF XOR A
\ 0268 320000 LD (ui_auto_update),A
\ 026B 210000 LD HL,UpDisplayFlag
\ 026E 7E LD A,(HL)
\ 026F F6C1 OR 193
\ 0271 77 LD (HL),A
\ 0272 23 INC HL
\ 0273 36FF LD (HL),255
256 need_draw = TRUE;
\ 0275 3E01 LD A,1
\ 0277 320000 LD (need_draw),A
257 return_to_play=1;
\ 027A 320000 LD (return_to_play),A
\ 027D 180B JR ?0002
\ 027F ?0068:
258 }
259 else if (key != 0)
\ 027F AF XOR A
\ 0280 DDB602 OR (IX+2)
\ 0283 2805 JR Z,?0002
\ 0285 ?0070:
260 {
261 return key;
\ 0285 6F LD L,A
\ 0286 2600 LD H,0
262 }
\ 0288 1803 JR ?0072
\ 028A ?0071:
\ 028A ?0069:
263 break;
\ 028A ?0002:
264 }
265 return NULL;
\ 028A 210000 LD HL,0
266
267 }
\ 028D ?0072:
\ 028D FDE1 POP IY
\ 028F C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 0292 ?0213:
\ 0292 010000 LD BC,0
\ 0295 1E02 LD E,2
\ 0297 3E00 LD A,BYTE3 musicpSendCommand
\ 0299 210000 LD HL,LWRD musicpSendCommand
\ 029C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 029F AF XOR A
\ 02A0 320000 LD (ui_auto_update),A
\ 02A3 210000 LD HL,UpDisplayFlag
\ 02A6 7E LD A,(HL)
\ 02A7 F6C1 OR 193
\ 02A9 77 LD (HL),A
\ 02AA 23 INC HL
\ 02AB 36FF LD (HL),255
\ 02AD 3E01 LD A,1
\ 02AF 320000 LD (need_draw),A
\ 02B2 C9 RET
\ 02B3 ?0222:
\ 02B3 010000 LD BC,0
\ 02B6 ?0223:
\ 02B6 1E41 LD E,65
\ 02B8 ?0221:
\ 02B8 3E00 LD A,BYTE3 musicpSendCommand
\ 02BA 210000 LD HL,LWRD musicpSendCommand
\ 02BD C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 02C0 ?0225:
\ 02C0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02C3 220000 LD (g_result),HL
\ 02C6 3E09 LD A,9
\ 02C8 AD XOR L
\ 02C9 B4 OR H
\ 02CA C9 RET
\ 02CB ?0227:
\ 02CB 3E00 LD A,BYTE3 play_key_next
\ 02CD 21D702 LD HL,LWRD play_key_next
\ 02D0 ?0226:
\ 02D0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02D3 220000 LD (g_result),HL
\ 02D6 C9 RET
\ 02D7 play_key_next:
268
269 //============================================================
270 //======正常播放时的NEXT键处理========
271 int play_key_next( int key )
272 {
\ 02D7 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 02DA F8FF DEFW 65528
273 wma_play_status_t status_buf;
274 //停快进退
275 if ((PlayStatus == FFPlaySta) || (PlayStatus == FBPlaySta))
\ 02DC 3A0000 LD A,(PlayStatus)
\ 02DF FE03 CP 3
\ 02E1 2804 JR Z,?0075
\ 02E3 FE04 CP 4
\ 02E5 2010 JR NZ,?0074
\ 02E7 ?0075:
\ 02E7 ?0076:
\ 02E7 ?0073:
276 {
277 musicpSendCommand(MC_STEP, 0);
\ 02E7 010000 LD BC,0
\ 02EA 1E07 LD E,7
\ 02EC CDB802 CALL LWRD ?0221
278 PlayStatus = PlaySta;
\ 02EF 3E02 LD A,2
\ 02F1 320000 LD (PlayStatus),A
279 }
280 else
\ 02F4 C3C403 JP LWRD ?0100
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -