📄 sub_playstatuskey.lst
字号:
\ 02F7 ?0074:
281 {
282 switch (RePlayStatus)
\ 02F7 ED5B0000 LD DE,(RePlayStatus)
\ 02FB CD0000 CALL LWRD ?C_S_SWITCH_L06
\ 02FE 00 DEFB 0
\ 02FF 0400 DEFW 4
\ 0301 C403 DEFW ?0100
\ 0303 0B03 DEFW ?0079
\ 0305 4603 DEFW ?0085
\ 0307 4E03 DEFW ?0086
\ 0309 6003 DEFW ?0091
\ 030B ?0079:
283 {
284 case NormalPlay:
285 if (key == (AP_KEY_AB | AP_KEY_UP)) //ab key
\ 030B 3E31 LD A,49
\ 030D DDAE02 XOR (IX+2)
\ 0310 DDB603 OR (IX+3)
\ 0313 2008 JR NZ,?0081
\ 0315 ?0080:
286 {
287 musicpSendCommand(MC_SETA_B, SetAPoint); //SET_A
\ 0315 010100 LD BC,1
\ 0318 CDB602 CALL LWRD ?0223
288 }
289 else //next key
\ 031B 1827 JR ?0082
\ 031D ?0081:
290 {
291 #ifdef OPT_Sup_FadeOut_fun
292 FadeOut(TRUE);
\ 031D CDE703 CALL LWRD ?0228
293 #endif
294 g_result = ToNextMusic(Play_key);
\ 0320 1E02 LD E,2
\ 0322 3E00 LD A,BYTE3 ToNextMusic
\ 0324 214404 LD HL,LWRD ToNextMusic
\ 0327 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 032A 220000 LD (g_result),HL
295 if(g_result != 0)
\ 032D 7D LD A,L
\ 032E B4 OR H
\ 032F C2CC03 JP NZ,?0102
\ 0332 ?0083:
296 {
297 return g_result;
298 }
\ 0332 ?0084:
299 SetFullInterface();
\ 0332 320000 LD (ui_auto_update),A
\ 0335 210000 LD HL,UpDisplayFlag
\ 0338 7E LD A,(HL)
\ 0339 F6C1 OR 193
\ 033B 77 LD (HL),A
\ 033C 23 INC HL
\ 033D 36FF LD (HL),255
300 UpDisplayFlag=UpDisplayFlag & clr_musicBackGDPic ; //by zxs for not refresh the bg
\ 033F 210000 LD HL,UpDisplayFlag
\ 0342 CB86 RES 0,(HL)
\ 0344 ?0082:
301 }
302 break;
\ 0344 187E JR ?0100
\ 0346 ?0085:
303
304 case WaitSetAPointForAB:
305 musicpSendCommand(MC_SETA_B, SetAPoint); //SET_A
\ 0346 010100 LD BC,1
\ 0349 CDB602 CALL LWRD ?0223
306 break;
\ 034C 1876 JR ?0100
\ 034E ?0086:
307
308 case WaitSetBPointForAB:
309 if(g_ABMinTimeCNT == 0) //要大于AB最小时间
\ 034E 3A0000 LD A,(g_ABMinTimeCNT)
\ 0351 B7 OR A
\ 0352 200A JR NZ,?0088
\ 0354 ?0087:
310 {
311 DEBUGP(0xa1);
312
313 if ( musicpSendCommand(MC_SETA_B, SetBPoint) ); //SET_B
\ 0354 010200 LD BC,2
\ 0357 CDB602 CALL LWRD ?0223
\ 035A ?0089:
\ 035A ?0090:
314 {
315 g_AVSetFlag = FALSE;
\ 035A AF XOR A
\ 035B 320000 LD (g_AVSetFlag),A
\ 035E ?0088:
316 }
317 DEBUGP(0xa2);
318 }
319 break;
\ 035E 1864 JR ?0100
\ 0360 ?0091:
320
321 case ABLoopPlay:
322 #ifdef OPT_Sup_follow_fun//支持跟读对比功能
323 if (g_music_vars.location.disk == 'C')
\ 0360 3A0700 LD A,(g_music_vars+7)
\ 0363 FE43 CP 67
\ 0365 203B JR NZ,?0093
\ 0367 ?0092:
324 {
325 //只有当前盘为“C”时才支持跟读对比功能
326 musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
\ 0367 210000 LD HL,0
\ 036A 39 ADD HL,SP
\ 036B 4D LD C,L
\ 036C 44 LD B,H
\ 036D 1E83 LD E,131
\ 036F CDB802 CALL LWRD ?0221
327 if (status_buf.status == PLAYING_REACH_A)
\ 0372 DD7EF8 LD A,(IX-8)
\ 0375 FE07 CP 7
\ 0377 200B JR NZ,?0095
\ 0379 ?0094:
328 {
329 musicpSendCommand(MC_CALTIME, NULL);
\ 0379 010000 LD BC,0
\ 037C 1E13 LD E,19
\ 037E CDD403 CALL LWRD ?0215
330 musicpSendCommand(MC_PLAY, NULL);
\ 0381 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0384 ?0095:
331 }
332 g_FCexitflag = FALSE;
\ 0384 AF XOR A
\ 0385 320000 LD (g_FCexitflag),A
333 g_result = ui_follow_compare();
\ 0388 3E00 LD A,BYTE3 ui_follow_compare
\ 038A 210000 LD HL,LWRD ui_follow_compare
\ 038D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0390 220000 LD (g_result),HL
334 g_music_vars.MusicOpenMod = Nor_Break_open;//都是以断点方式退出的
\ 0393 3E01 LD A,1
\ 0395 320600 LD (g_music_vars+6),A
335 g_ReplayTimeCNT = 0;
\ 0398 AF XOR A
\ 0399 320000 LD (g_ReplayTimeCNT),A
336 if (g_result != 0)
\ 039C 7D LD A,L
\ 039D B4 OR H
\ 039E 280A JR Z,?0098
\ 03A0 ?0096:
337 {
338 return g_result;
339 }
\ 03A0 182A JR ?0102
\ 03A2 ?0097:
340 }
341 else
\ 03A2 ?0093:
342 {
343 //当插卡时不支持跟读对比功能
344 musicpSendCommand(MC_SETA_B, ClrABPoint); //CLEAR_AB
\ 03A2 CDB302 CALL LWRD ?0222
345 RePlayStatus = WaitSetAPointForAB;
\ 03A5 3E01 LD A,1
\ 03A7 320000 LD (RePlayStatus),A
\ 03AA ?0098:
346 }
347 #else//OPT_Sup_follow_fun
348 musicpSendCommand(MC_SETA_B, ClrABPoint); //CLEAR_AB
349 RePlayStatus = WaitSetAPointForAB;
350 #endif//OPT_Sup_follow_fun
351
352
353 SetFullInterface();
\ 03AA AF XOR A
\ 03AB 320000 LD (ui_auto_update),A
\ 03AE 210000 LD HL,UpDisplayFlag
\ 03B1 7E LD A,(HL)
\ 03B2 F6C1 OR 193
\ 03B4 77 LD (HL),A
\ 03B5 23 INC HL
\ 03B6 36FF LD (HL),255
354 // UpDisplayFlag=UpDisplayFlag & clr_musicBackGDPic ; //by zxs for not refresh the bg
355 if(RePlayStatus!=NormalPlay) //zxs add for s73
\ 03B8 3A0000 LD A,(RePlayStatus)
\ 03BB B7 OR A
\ 03BC 2806 JR Z,?0100
\ 03BE ?0099:
356 UpDisplayFlag = UpDisplayFlag &clr_musicbitrate;
\ 03BE 210000 LD HL,UpDisplayFlag
\ 03C1 23 INC HL
\ 03C2 CBAE RES 5,(HL)
\ 03C4 ?0100:
357 //UpDisplayFlag=UpDisplayFlag | up_MPRLmode;
358 break;
\ 03C4 ?0101:
359
360 default:
361 break;
\ 03C4 ?0078:
\ 03C4 ?0077:
362 }
363 }
364 need_draw = TRUE;
\ 03C4 3E01 LD A,1
\ 03C6 320000 LD (need_draw),A
365 return NULL;
\ 03C9 210000 LD HL,0
366 }
\ 03CC ?0102:
\ 03CC C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 03CF ?0216:
\ 03CF 010500 LD BC,5
\ 03D2 1E59 LD E,89
\ 03D4 ?0215:
\ 03D4 3E00 LD A,BYTE3 musicpSendCommand
\ 03D6 210000 LD HL,LWRD musicpSendCommand
\ 03D9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03DC 010000 LD BC,0
\ 03DF 1E04 LD E,4
\ 03E1 3E00 LD A,BYTE3 musicpSendCommand
\ 03E3 210000 LD HL,LWRD musicpSendCommand
\ 03E6 C9 RET
\ 03E7 ?0228:
\ 03E7 1E01 LD E,1
\ 03E9 3E00 LD A,BYTE3 FadeOut
\ 03EB 210000 LD HL,LWRD FadeOut
\ 03EE C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 03F1 play_key_prev:
367
368 //======正常播放时的PREV键处理========
369 int play_key_prev( int key )
370 {
\ 03F1 C5 PUSH BC
\ 03F2 D5 PUSH DE
371 wma_play_status_t status_buf;
372
373 if (RePlayStatus != NormalPlay)
\ 03F3 3A0000 LD A,(RePlayStatus)
\ 03F6 B7 OR A
\ 03F7 2813 JR Z,?0104
\ 03F9 ?0103:
374 {
375 musicpSendCommand(MC_SETA_B, ClrABPoint); //clear AB
\ 03F9 CDB302 CALL LWRD ?0222
376
377 RePlayStatus = WaitSetAPointForAB;
\ 03FC 3E01 LD A,1
\ 03FE 320000 LD (RePlayStatus),A
378 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
\ 0401 210000 LD HL,UpDisplayFlag
\ 0404 23 INC HL
\ 0405 CBDE SET 3,(HL)
379 need_draw = TRUE;
\ 0407 320000 LD (need_draw),A
380 return NULL;
\ 040A 1830 JR ?0105
381 }
\ 040C ?0104:
382
383 switch (PlayStatus)
\ 040C 3A0000 LD A,(PlayStatus)
\ 040F FE03 CP 3
\ 0411 3813 JR C,?0107
\ 0413 FE05 CP 5
\ 0415 300F JR NC,?0107
\ 0417 ?0106:
384 {
385 case FBPlaySta:
386 case FFPlaySta:
387 musicpSendCommand(MC_STEP, 0);
\ 0417 010000 LD BC,0
\ 041A 1E07 LD E,7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -