📄 sub_playstatuskey.lst
字号:
\ 041C CDB802 CALL LWRD ?0221
388 PlayStatus = PlaySta;
\ 041F 3E02 LD A,2
\ 0421 320000 LD (PlayStatus),A
389 break;
\ 0424 1816 JR ?0105
\ 0426 ?0107:
\ 0426 FE02 CP 2
\ 0428 2012 JR NZ,?0105
390
391 case PlaySta:
392 #ifdef OPT_Sup_FadeOut_fun
393 FadeOut(TRUE);
\ 042A CDE703 CALL LWRD ?0228
394 #endif
395 g_result = PrevMusicInPlay();
\ 042D 3E00 LD A,BYTE3 PrevMusicInPlay
\ 042F 217205 LD HL,LWRD PrevMusicInPlay
\ 0432 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0435 220000 LD (g_result),HL
396 if (g_result != 0) return g_result;
\ 0438 7D LD A,L
\ 0439 B4 OR H
\ 043A 2003 JR NZ,?0111
\ 043C ?0108:
397 break;
\ 043C ?0109:
\ 043C ?0110:
398
399 default:
400 break;
\ 043C ?0105:
401 }
402 return NULL;
\ 043C 210000 LD HL,0
403 }
\ 043F ?0111:
\ 043F F1 POP AF
\ 0440 C1 POP BC
\ 0441 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0444 ToNextMusic:
404
405 int ToNextMusic( Music_sel_mod_t mod )
406 {
\ 0444 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0447 F8FF DEFW 65528
407 wma_play_status_t status_buf;
408 output8(0x27,input8(0x27)&0xbf); //For test zxs 2006.04.07
\ 0449 DB27 IN A,(39)
\ 044B CBB7 RES 6,A
\ 044D D327 OUT (39),A
409 musicpSendCommand(MC_STOP, NULL);
\ 044F CDCC04 CALL LWRD ?0217
410 musicpSendCommand(MC_CLOSE, NULL);
\ 0452 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
411 output8(0x27,input8(0x27)|0x40); //For test zxs 2006.04.07
\ 0455 DB27 IN A,(39)
\ 0457 CBF7 SET 6,A
\ 0459 D327 OUT (39),A
412 g_result = ChangeMusic(Music_Next, mod);
\ 045B DD4E02 LD C,(IX+2)
\ 045E 1E03 LD E,3
\ 0460 CD6205 CALL LWRD ?0229
413 if(!g_result)
\ 0463 2839 JR Z,?0195
\ 0465 ?0112:
414 {
415 return RESULT_UI_STOP;//回到停止界面
416 }
\ 0465 ?0113:
417 FSELSetMode( FSEL_ALL_REPEATALL );
418 FSELGetNext(g_music_vars.location.filename);
419 fselGetLocation(& g_music_vars.location);
420 GetInformation();
\ 0465 CD0705 CALL LWRD ?0224
421 memcpy(g_TagInfoBuf1,g_TagInfoBuf,20);
422 //g_TagInfoBuf1[19]=0;
423 FSELGetPrev(g_music_vars.location.filename);
424 fselGetLocation(& g_music_vars.location);
425 FSELSetMode(g_music_vars.repeat_mode);
426 GetInformation(); //取文件信息
\ 0468 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
427 musicpSendCommand( MC_OPEN, (int)& g_Openparam );
\ 046B CDE404 CALL LWRD ?0219
428 g_result = musicpSendCommand(MC_LOAD, NULL);
\ 046E CDFC04 CALL LWRD ?0220
429 if(g_result)
\ 0471 2826 JR Z,?0115
\ 0473 ?0114:
430 {
431 //当是WMA时由于要提高速度,在这种情况下就不计算总时间了,
432 musicpSendCommand(MC_CALTIME, NULL);
\ 0473 4C LD C,H
\ 0474 44 LD B,H
\ 0475 1E13 LD E,19
\ 0477 CDB802 CALL LWRD ?0221
433 if (g_PowerOffFlag == 0x55)
\ 047A 3A0000 LD A,(g_PowerOffFlag)
\ 047D FE55 CP 85
\ 047F 2022 JR NZ,?0120
\ 0481 ?0116:
434 {
435 if (!DisplayTimeRollback())
\ 0481 3E00 LD A,BYTE3 DisplayTimeRollback
\ 0483 210000 LD HL,LWRD DisplayTimeRollback
\ 0486 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0489 2C INC L
\ 048A 2D DEC L
\ 048B 2016 JR NZ,?0120
\ 048D ?0118:
436 {
437 musicpSendCommand(MC_STOP, NULL);
\ 048D 4D LD C,L
\ 048E 45 LD B,L
\ 048F 1E06 LD E,6
\ 0491 CDB802 CALL LWRD ?0221
438 musicpSendCommand(MC_CLOSE, NULL);
\ 0494 CD9202 CALL LWRD ?0213
439 SetFullInterface();
440 need_draw = TRUE;
441 return RESULT_UI_STOP;
\ 0497 1805 JR ?0195
442 }
\ 0499 ?0119:
\ 0499 ?0117:
443 }
444 }
445
446 // if(!g_result)
447 else
\ 0499 ?0115:
448 {
449 musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
\ 0499 6C LD L,H
\ 049A 39 ADD HL,SP
\ 049B CDAF04 CALL LWRD ?0214
450 ErrReport(PlayStatus);
451 PlayStatus=StopSta;
452 return RESULT_UI_STOP;//回到停止界面
\ 049E ?0195:
\ 049E 216600 LD HL,102
453 }
\ 04A1 1809 JR ?0121
\ 04A3 ?0120:
454
455 // musicpSendCommand(MC_CALTIME, NULL);
456
457 musicpSendCommand(MC_SETPOWERCOUNT, 5); //by jmzhang
\ 04A3 CDCF03 CALL LWRD ?0216
458
459
460 musicpSendCommand(MC_PLAY, NULL);
\ 04A6 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
461 //StartIntro(TRUE);
462 return NULL;
\ 04A9 210000 LD HL,0
463 }
\ 04AC ?0121:
\ 04AC C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 04AF ?0214:
\ 04AF 4D LD C,L
\ 04B0 44 LD B,H
\ 04B1 1E83 LD E,131
\ 04B3 3E00 LD A,BYTE3 musicpSendCommand
\ 04B5 210000 LD HL,LWRD musicpSendCommand
\ 04B8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04BB ED5B0000 LD DE,(PlayStatus)
\ 04BF 3E00 LD A,BYTE3 ErrReport
\ 04C1 215C06 LD HL,LWRD ErrReport
\ 04C4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04C7 AF XOR A
\ 04C8 320000 LD (PlayStatus),A
\ 04CB C9 RET
\ 04CC ?0217:
\ 04CC 010000 LD BC,0
\ 04CF 1E06 LD E,6
\ 04D1 ?0218:
\ 04D1 3E00 LD A,BYTE3 musicpSendCommand
\ 04D3 210000 LD HL,LWRD musicpSendCommand
\ 04D6 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04D9 010000 LD BC,0
\ 04DC 1E02 LD E,2
\ 04DE 3E00 LD A,BYTE3 musicpSendCommand
\ 04E0 210000 LD HL,LWRD musicpSendCommand
\ 04E3 C9 RET
\ 04E4 ?0219:
\ 04E4 010000 LD BC,g_Openparam
\ 04E7 1E01 LD E,1
\ 04E9 3E00 LD A,BYTE3 musicpSendCommand
\ 04EB 210000 LD HL,LWRD musicpSendCommand
\ 04EE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04F1 010000 LD BC,0
\ 04F4 1E03 LD E,3
\ 04F6 3E00 LD A,BYTE3 musicpSendCommand
\ 04F8 210000 LD HL,LWRD musicpSendCommand
\ 04FB C9 RET
\ 04FC ?0220:
\ 04FC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04FF 2600 LD H,0
\ 0501 220000 LD (g_result),HL
\ 0504 7D LD A,L
\ 0505 B7 OR A
\ 0506 C9 RET
\ 0507 ?0224:
\ 0507 1E04 LD E,4
\ 0509 3E00 LD A,BYTE3 fselSetMode
\ 050B 210000 LD HL,LWRD fselSetMode
\ 050E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0511 112100 LD DE,g_music_vars+33
\ 0514 3E00 LD A,BYTE3 fselGetNextFile
\ 0516 210000 LD HL,LWRD fselGetNextFile
\ 0519 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 051C 110700 LD DE,g_music_vars+7
\ 051F 3E00 LD A,BYTE3 fselGetLocation
\ 0521 210000 LD HL,LWRD fselGetLocation
\ 0524 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0527 3E00 LD A,BYTE3 GetInformation
\ 0529 210000 LD HL,LWRD GetInformation
\ 052C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 052F 011400 LD BC,20
\ 0532 110000 LD DE,g_TagInfoBuf1
\ 0535 210000 LD HL,g_TagInfoBuf
\ 0538 EDB0 LDIR
\ 053A 112100 LD DE,g_music_vars+33
\ 053D 3E00 LD A,BYTE3 fselGetPrevFile
\ 053F 210000 LD HL,LWRD fselGetPrevFile
\ 0542 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0545 110700 LD DE,g_music_vars+7
\ 0548 3E00 LD A,BYTE3 fselGetLocation
\ 054A 210000 LD HL,LWRD fselGetLocation
\ 054D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0550 ED5B0100 LD DE,(g_music_vars+1)
\ 0554 3E00 LD A,BYTE3 fselSetMode
\ 0556 210000 LD HL,LWRD fselSetMode
\ 0559 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 055C 3E00 LD A,BYTE3 GetInformation
\ 055E 210000 LD HL,LWRD GetInformation
\ 0561 C9 RET
\ 0562 ?0229:
\ 0562 3E00 LD A,BYTE3 ChangeMusic
\ 0564 210000 LD HL,LWRD ChangeMusic
\ 0567 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 056A 2600 LD H,0
\ 056C 220000 LD (g_result),HL
\ 056F 7D LD A,L
\ 0570 B7 OR A
\ 0571 C9 RET
\ 0572 PrevMusicInPlay:
464
465
466 int PrevMusicInPlay(void)
467 {
\ 0572 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0575 F8FF DEFW 65528
468 wma_play_status_t status_buf;
469
470 musicpSendCommand(MC_STOP, NULL);
\ 0577 CDCC04 CALL LWRD ?0217
471 musicpSendCommand(MC_CLOSE, NULL);
\ 057A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
472 g_result = ChangeMusic(Music_Prev, Play_key);
\ 057D 0E02 LD C,2
\ 057F 1E04 LD E,4
\ 0581 CD6205 CALL LWRD ?0229
473 if(!g_result)
\ 0584 283D JR Z,?0199
\ 0586 ?0122:
474 {
475 return RESULT_UI_STOP;//回到停止
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -