📄 sub_function1.s01
字号:
JR ?0092
?0103:
; 376.
; 377. case MC_STOP:
; 378. PlayStatus = StopSta;
XOR A
LD (PlayStatus),A
; 379. CaltimeFlag = FALSE;//等待计时间
JR ?0157
; 380. WaitForCaltimeCNT = 0;
; 381. break;
?0104:
; 382.
; 383. case MC_CALTIME:
; 384. CaltimeFlag = TRUE;
LD A,1
?0157:
LD (CaltimeFlag),A
; 385. WaitForCaltimeCNT = 0;
XOR A
LD (WaitForCaltimeCNT),A
; 386.
; 387. break;
?0105:
; 388.
; 389. default:
; 390. break;
?0092:
; 391. }
; 392. return result;
LD L,(IX-2)
; 393. }
?0106:
POP IY
JP LWRD ?BANK_LEAVE_DIRECT_L08
?0163:
CALL LWRD ?BANK_CALL_DIRECT_L08
LD BC,(g_music_vars+3)
LD A,C
RLCA
SBC A,A
LD B,A
LD E,70
RET
?0164:
CALL LWRD ?BANK_CALL_DIRECT_L08
LD (IX-2),L
LD A,(IX+2)
CP 3
RET
?0165:
CALL LWRD ?BANK_CALL_DIRECT_L08
LD BC,(g_music_vars+2)
LD B,0
LD E,67
RET
?0166:
CALL LWRD ?BANK_CALL_DIRECT_L08
LD A,(g_music_vars+2)
LD B,A
LD A,8
CP B
RET
?0167:
CALL LWRD ?BANK_CALL_DIRECT_L08
LD A,(g_music_vars+2)
LD B,A
LD A,16
CP B
RET
?0172:
CALL LWRD BankSwitch
PUSH IY
POP BC
LD E,(IX+2)
RET
SelectCurMusic:
; 394.
; 395. //===================重选当前歌曲=========================
; 396. void SelectCurMusic(void)
; 397. {
PUSH BC
PUSH DE
; 398. musicpSendCommand(MC_STOP, NULL);
LD BC,0
LD E,6
CALL LWRD ?0168
; 399. musicpSendCommand(MC_CLOSE, NULL);
LD E,2
CALL LWRD ?0169
; 400. ChangeMusic(Music_Cur, Play_play); //播放当前歌曲
LD C,1
LD E,2
LD A,BYTE3 ChangeMusic
LD HL,LWRD ChangeMusic
CALL LWRD ?BANK_CALL_DIRECT_L08
; 401. FSELSetMode( FSEL_ALL_REPEATALL );
LD E,4
CALL LWRD ?0173
; 402. FSELGetNext(g_music_vars.location.filename);
CALL LWRD ?0175
; 403. fselGetLocation(& g_music_vars.location);
CALL LWRD ?BANK_CALL_DIRECT_L08
; 404. GetInformation();
LD A,BYTE3 GetInformation
LD HL,LWRD GetInformation
CALL LWRD ?BANK_CALL_DIRECT_L08
; 405. memcpy(g_TagInfoBuf1,g_TagInfoBuf,20);
LD BC,20
LD DE,g_TagInfoBuf1
LD HL,g_TagInfoBuf
LDIR
; 406. //g_TagInfoBuf1[19]=0;
; 407. FSELGetPrev(g_music_vars.location.filename);
LD DE,g_music_vars+33
LD A,BYTE3 fselGetPrevFile
LD HL,LWRD fselGetPrevFile
CALL LWRD ?0176
; 408. fselGetLocation(& g_music_vars.location);
CALL LWRD ?BANK_CALL_DIRECT_L08
; 409. FSELSetMode(g_music_vars.repeat_mode);
CALL LWRD ?0174
; 410. GetInformation(); //取文件信息
LD A,BYTE3 GetInformation
LD HL,LWRD GetInformation
CALL LWRD ?BANK_CALL_DIRECT_L08
; 411. musicpSendCommand( MC_OPEN, (int)& g_Openparam );
LD BC,g_Openparam
LD E,1
CALL LWRD ?0168
; 412. musicpSendCommand(MC_LOAD, NULL);
LD E,3
CALL LWRD ?0168
; 413. musicpSendCommand(MC_CALTIME, NULL);
LD E,19
CALL LWRD ?0168
; 414. musicpSendCommand(MC_PLAY, NULL);
LD E,4
CALL LWRD ?0169
; 415. //StartIntro(TRUE);
; 416. }
POP DE
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
?0168:
LD A,BYTE3 musicpSendCommand
LD HL,LWRD musicpSendCommand
CALL LWRD ?BANK_CALL_DIRECT_L08
LD BC,0
RET
?0175:
LD DE,g_music_vars+33
LD A,BYTE3 fselGetNextFile
LD HL,LWRD fselGetNextFile
?0176:
CALL LWRD ?BANK_CALL_DIRECT_L08
LD DE,g_music_vars+7
LD A,BYTE3 fselGetLocation
LD HL,LWRD fselGetLocation
RET
ui_delete_Music:
; 417. //========================================================
; 418.
; 419.
; 420.
; 421. int ui_delete_Music( int type )
; 422. {
CALL LWRD ?ENT_PARM_DIRECT_L09
; 423. if ( g_music_vars.fselmod == FSEL_TYPE_PLAYLIST )
LD A,(g_music_vars+79)
DEC A
JR NZ,?0108
?0107:
; 424. {
; 425. fselPlayListExit();
CALL LWRD ?0179
; 426. FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);
PUSH BC
LD C,0
PUSH BC
CALL LWRD ?0180
POP AF
POP AF
; 427. FSELGetNext(g_music_vars.location.filename);
CALL LWRD ?0175
; 428. fselGetLocation(&g_music_vars.location);
CALL LWRD ?0177
; 429. g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
?0108:
; 430. }
; 431.
; 432. g_music_vars.location.ID3buffer = g_TagInfoBuf;
LD HL,g_TagInfoBuf
LD (g_music_vars+45),HL
; 433.
; 434.
; 435. if (g_music_vars.location.disk == 'H')
LD A,(g_music_vars+7)
CP 72
JR NZ,?0110
?0109:
; 436. {
; 437. DRV_ActiveUD(1, MODE_SLOW); //04-2-28 16:29
LD C,1
LD E,C
JR ?0158
?0110:
; 438. }
; 439. else if (g_music_vars.location.disk == 'C')
CP 67
JR NZ,?0113
?0112:
; 440. {
; 441. DRV_ActiveUD(0, MODE_SLOW); //04-2-28 16:29
LD C,1
LD E,0
?0158:
CALL LWRD DRV_ActiveUD
?0113:
?0111:
; 442. }
; 443.
; 444. if(type==DELETE_MUSIC)
LD A,1
XOR (IX+2)
OR (IX+3)
JR NZ,?0115
?0114:
; 445. {
; 446. FSELSetMode(FSEL_ALL_REPEATALL);
LD E,4
CALL LWRD ?0173
; 447. g_result=ui_delete_all(& g_music_vars.location, DELETE_MUSIC,g_comval.langid);
LD HL,g_comval+12
LD C,(HL)
PUSH BC
LD C,1
LD DE,g_music_vars+7
LD A,BYTE3 ui_delete_all
LD HL,LWRD ui_delete_all
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
LD (g_result),HL
; 448. FSELSetMode(g_music_vars.repeat_mode);
CALL LWRD ?0174
; 449. }
; 450. else
JR ?0116
?0115:
; 451. g_result = ui_delete(& g_music_vars.location, type, g_comval.langid);
LD HL,g_comval+12
LD C,(HL)
PUSH BC
LD C,(IX+2)
LD DE,g_music_vars+7
LD A,BYTE3 ui_delete
LD HL,LWRD ui_delete
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
LD (g_result),HL
?0116:
; 452.
; 453. if (g_result == RESULT_SD_OUT)
LD HL,(g_result)
LD A,54
XOR L
OR H
JR NZ,?0118
?0117:
; 454. {
; 455. DisplayErrMsg(CARDPULL);//显示卡拔出
LD DE,401
LD A,BYTE3 DisplayErrMsg
LD HL,LWRD DisplayErrMsg
CALL LWRD ?BANK_CALL_DIRECT_L08
; 456. g_music_vars.location.disk = 'C';
LD A,67
LD (g_music_vars+7),A
; 457. return RESULT_IGNORE;
LD HL,52
; 458. }
JR ?0125
?0118:
; 459.
; 460. if (g_result != 0)
LD A,L
OR H
JR NZ,?0125
?0119:
; 461. {
; 462. return g_result;
; 463. }
?0120:
; 464.
; 465. if (!ChangeMusic(Music_Next, Stop_key))
LD C,A
LD E,3
LD A,BYTE3 ChangeMusic
LD HL,LWRD ChangeMusic
CALL LWRD ?BANK_CALL_DIRECT_L08
INC L
DEC L
JR NZ,?0124
?0121:
; 466. {
; 467. if (UpdateFileSelector() == 0)
LD A,BYTE3 UpdateFileSelector
LD HL,LWRD UpdateFileSelector
CALL LWRD ?BANK_CALL_DIRECT_L08
LD A,L
OR H
JR Z,?0159
?0123:
; 468. {
; 469. return 0;
; 470. }
?0124:
?0122:
; 471.
; 472.
; 473. }
; 474.
; 475. fselGetLocation(& g_music_vars.location);
CALL LWRD ?0178
; 476.
; 477. return 0; //RESULT_RESTART;
?0159:
LD HL,0
; 478. }
?0125:
JP LWRD ?BANK_LEAVE_DIRECT_L08
?0177:
CALL LWRD ?BANK_CALL_DIRECT_L08
XOR A
LD (g_music_vars+79),A
RET
?0179:
LD A,BYTE3 fselPlayListExit
LD HL,LWRD fselPlayListExit
CALL LWRD ?BANK_CALL_DIRECT_L08
LD HL,g_music_vars+7
LD C,(HL)
RET
?0180:
LD E,C
LD A,BYTE3 fselInit
LD HL,LWRD fselInit
JP LWRD ?BANK_CALL_DIRECT_L08
NoCardCaseInStopMenu:
; 479.
; 480. int NoCardCaseInStopMenu(int active)
; 481. {
PUSH BC
PUSH IX
PUSH DE
; 482. int result;
; 483. switch (active)
CALL LWRD ?S_S_SWITCH_L06
DEFW 6
DEFW 3
DEFW ?0138
DEFW ?0127
DEFW ?0134
DEFW ?0137
?0127:
; 484. {
; 485. case 6: //主目录
; 486. if (g_music_vars.location.disk == 'H')
LD A,(g_music_vars+7)
CP 72
JR NZ,?0129
?0128:
; 487. {
; 488. g_music_vars.location.disk = 'C';
LD A,67
LD (g_music_vars+7),A
; 489. FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);
LD C,A
PUSH BC
LD C,0
PUSH BC
CALL LWRD ?0180
POP AF
POP AF
?0129:
; 490. }
; 491.
; 492. if (g_music_vars.fselmod == FSEL_TYPE_PLAYLIST)
LD A,(g_music_vars+79)
DEC A
JR NZ,?0131
?0130:
; 493. {
; 494. fselPlayListExit();
CALL LWRD ?0179
; 495. FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);
PUSH BC
LD C,0
PUSH BC
CALL LWRD ?0180
POP AF
POP AF
; 496. FSELGetNext(g_music_vars.location.filename);
CALL LWRD ?0175
; 497. fselGetLocation(&g_music_vars.location);
CALL LWRD ?0177
; 498. g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
?0131:
; 499. }
; 500.
; 501. result = ui_directory(& g_music_vars.location, DIRECTORY_MUSIC, g_comval.langid);
LD HL,g_comval+12
LD C,(HL)
PUSH BC
LD C,0
LD DE,g_music_vars+7
LD A,BYTE3 ui_directory
LD HL,LWRD ui_directory
CALL LWRD ?BANK_CALL_DIRECT_L08
POP AF
PUSH HL
POP IX
; 502. FSELSetMode(FSEL_ALL_SEQUENCE);
LD E,0
CALL LWRD ?0173
; 503. if (result == 0)
PUSH IX
POP HL
LD A,L
OR H
JR NZ,?0126
?0132:
; 504. {
; 505. //当选中目录后用普通模式播放
; 506. g_music_vars.play_listmod = mlistnor;
LD A,5
LD (g_music_vars+78),A
?0133:
; 507. //musicpSendCommand(MC_CLOSE, NULL);
; 508. }
; 509. break;
JR ?0126
?0134:
; 510.
; 511. case 7: //删除文件
; 512. if (g_music_vars.fselmod == FSEL_TYPE_PLAYLIST)
LD A,(g_music_vars+79)
DEC A
JR NZ,?0136
?0135:
; 513. {
; 514. fselPlayListExit();
CALL LWRD ?0179
; 515. FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);
PUSH BC
LD C,0
PUSH BC
CALL LWRD ?0180
POP AF
POP AF
; 516. FSELGetNext(g_music_vars.location.filename);
CALL LWRD ?0175
; 517. fselGetLocation(&g_music_vars.location);
CALL LWRD ?0177
; 518. g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
?0136:
; 519. }
; 520. result = ui_delete_Music(DELETE_FILE);
LD DE,0
LD A,BYTE3 ui_delete_Music
LD HL,LWRD ui_delete_Music
CALL LWRD ?BANK_CALL_DIRECT_L08
PUSH HL
POP IX
; 521. break;
JR ?0126
?0137:
; 522.
; 523. case 8: //删除全部
; 524. //result = ui_delete_Music(DELETE_MUSIC);
; 525. FSELSetMode(FSEL_ALL_REPEATALL);
LD E,4
CALL LWRD ?0173
; 526. result = ui_delete_Music(DELETE_MUSIC);
LD DE,1
LD A,BYTE3 ui_delete_Music
LD HL,LWRD ui_delete_Music
CALL LWRD ?BANK_CALL_DIRECT_L08
PUSH HL
POP IX
; 527. FSELSetMode(g_music_vars.repeat_mode);
CALL LWRD ?0174
; 528. break;
JR ?0126
?0138:
; 529.
; 530. default://退出
; 531. //result = 0;
; 532. result = RESULT_IGNORE;
LD IX,52
; 533. break;
?0126:
; 534. }
; 535. return result;
PUSH IX
POP HL
; 536. }
POP AF
POP IX
POP BC
JP LWRD ?BANK_FAST_LEAVE_L08
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -