📄 sub_function1.lst
字号:
\ 0442 47 LD B,A
\ 0443 3E08 LD A,8
\ 0445 B8 CP B
\ 0446 C9 RET
\ 0447 ?0167:
\ 0447 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 044A 3A0200 LD A,(g_music_vars+2)
\ 044D 47 LD B,A
\ 044E 3E10 LD A,16
\ 0450 B8 CP B
\ 0451 C9 RET
\ 0452 ?0172:
\ 0452 CD0000 CALL LWRD BankSwitch
\ 0455 FDE5 PUSH IY
\ 0457 C1 POP BC
\ 0458 DD5E02 LD E,(IX+2)
\ 045B C9 RET
\ 045C SelectCurMusic:
394
395 //===================重选当前歌曲=========================
396 void SelectCurMusic(void)
397 {
\ 045C C5 PUSH BC
\ 045D D5 PUSH DE
398 musicpSendCommand(MC_STOP, NULL);
\ 045E 010000 LD BC,0
\ 0461 1E06 LD E,6
\ 0463 CDCA04 CALL LWRD ?0168
399 musicpSendCommand(MC_CLOSE, NULL);
\ 0466 1E02 LD E,2
\ 0468 CD9900 CALL LWRD ?0169
400 ChangeMusic(Music_Cur, Play_play); //播放当前歌曲
\ 046B 0E01 LD C,1
\ 046D 1E02 LD E,2
\ 046F 3E00 LD A,BYTE3 ChangeMusic
\ 0471 213001 LD HL,LWRD ChangeMusic
\ 0474 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
401 FSELSetMode( FSEL_ALL_REPEATALL );
\ 0477 1E04 LD E,4
\ 0479 CD0902 CALL LWRD ?0173
402 FSELGetNext(g_music_vars.location.filename);
\ 047C CDD604 CALL LWRD ?0175
403 fselGetLocation(& g_music_vars.location);
\ 047F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
404 GetInformation();
\ 0482 3E00 LD A,BYTE3 GetInformation
\ 0484 210000 LD HL,LWRD GetInformation
\ 0487 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
405 memcpy(g_TagInfoBuf1,g_TagInfoBuf,20);
\ 048A 011400 LD BC,20
\ 048D 110000 LD DE,g_TagInfoBuf1
\ 0490 210000 LD HL,g_TagInfoBuf
\ 0493 EDB0 LDIR
406 //g_TagInfoBuf1[19]=0;
407 FSELGetPrev(g_music_vars.location.filename);
\ 0495 112100 LD DE,g_music_vars+33
\ 0498 3E00 LD A,BYTE3 fselGetPrevFile
\ 049A 210000 LD HL,LWRD fselGetPrevFile
\ 049D CDDE04 CALL LWRD ?0176
408 fselGetLocation(& g_music_vars.location);
\ 04A0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
409 FSELSetMode(g_music_vars.repeat_mode);
\ 04A3 CD0502 CALL LWRD ?0174
410 GetInformation(); //取文件信息
\ 04A6 3E00 LD A,BYTE3 GetInformation
\ 04A8 210000 LD HL,LWRD GetInformation
\ 04AB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
411 musicpSendCommand( MC_OPEN, (int)& g_Openparam );
\ 04AE 010000 LD BC,g_Openparam
\ 04B1 1E01 LD E,1
\ 04B3 CDCA04 CALL LWRD ?0168
412 musicpSendCommand(MC_LOAD, NULL);
\ 04B6 1E03 LD E,3
\ 04B8 CDCA04 CALL LWRD ?0168
413 musicpSendCommand(MC_CALTIME, NULL);
\ 04BB 1E13 LD E,19
\ 04BD CDCA04 CALL LWRD ?0168
414 musicpSendCommand(MC_PLAY, NULL);
\ 04C0 1E04 LD E,4
\ 04C2 CD9900 CALL LWRD ?0169
415 //StartIntro(TRUE);
416 }
\ 04C5 D1 POP DE
\ 04C6 C1 POP BC
\ 04C7 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 04CA ?0168:
\ 04CA 3E00 LD A,BYTE3 musicpSendCommand
\ 04CC 210000 LD HL,LWRD musicpSendCommand
\ 04CF CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04D2 010000 LD BC,0
\ 04D5 C9 RET
\ 04D6 ?0175:
\ 04D6 112100 LD DE,g_music_vars+33
\ 04D9 3E00 LD A,BYTE3 fselGetNextFile
\ 04DB 210000 LD HL,LWRD fselGetNextFile
\ 04DE ?0176:
\ 04DE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 04E1 110700 LD DE,g_music_vars+7
\ 04E4 3E00 LD A,BYTE3 fselGetLocation
\ 04E6 210000 LD HL,LWRD fselGetLocation
\ 04E9 C9 RET
\ 04EA ui_delete_Music:
417 //========================================================
418
419
420
421 int ui_delete_Music( int type )
422 {
\ 04EA CD0000 CALL LWRD ?ENT_PARM_DIRECT_L09
423 if ( g_music_vars.fselmod == FSEL_TYPE_PLAYLIST )
\ 04ED 3A4F00 LD A,(g_music_vars+79)
\ 04F0 3D DEC A
\ 04F1 2012 JR NZ,?0108
\ 04F3 ?0107:
424 {
425 fselPlayListExit();
\ 04F3 CDB105 CALL LWRD ?0179
426 FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_SEQUENCE, FSEL_TYPE_COMMONDIR,g_music_vars.location.disk);
\ 04F6 C5 PUSH BC
\ 04F7 0E00 LD C,0
\ 04F9 C5 PUSH BC
\ 04FA CDBE05 CALL LWRD ?0180
\ 04FD F1 POP AF
\ 04FE F1 POP AF
427 FSELGetNext(g_music_vars.location.filename);
\ 04FF CDD604 CALL LWRD ?0175
428 fselGetLocation(&g_music_vars.location);
\ 0502 CDA905 CALL LWRD ?0177
429 g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;
\ 0505 ?0108:
430 }
431
432 g_music_vars.location.ID3buffer = g_TagInfoBuf;
\ 0505 210000 LD HL,g_TagInfoBuf
\ 0508 222D00 LD (g_music_vars+45),HL
433
434
435 if (g_music_vars.location.disk == 'H')
\ 050B 3A0700 LD A,(g_music_vars+7)
\ 050E FE48 CP 72
\ 0510 2005 JR NZ,?0110
\ 0512 ?0109:
436 {
437 DRV_ActiveUD(1, MODE_SLOW); //04-2-28 16:29
\ 0512 0E01 LD C,1
\ 0514 59 LD E,C
\ 0515 1808 JR ?0158
\ 0517 ?0110:
438 }
439 else if (g_music_vars.location.disk == 'C')
\ 0517 FE43 CP 67
\ 0519 2007 JR NZ,?0113
\ 051B ?0112:
440 {
441 DRV_ActiveUD(0, MODE_SLOW); //04-2-28 16:29
\ 051B 0E01 LD C,1
\ 051D 1E00 LD E,0
\ 051F ?0158:
\ 051F CD0000 CALL LWRD DRV_ActiveUD
\ 0522 ?0113:
\ 0522 ?0111:
442 }
443
444 if(type==DELETE_MUSIC)
\ 0522 3E01 LD A,1
\ 0524 DDAE02 XOR (IX+2)
\ 0527 DDB603 OR (IX+3)
\ 052A 2020 JR NZ,?0115
\ 052C ?0114:
445 {
446 FSELSetMode(FSEL_ALL_REPEATALL);
\ 052C 1E04 LD E,4
\ 052E CD0902 CALL LWRD ?0173
447 g_result=ui_delete_all(& g_music_vars.location, DELETE_MUSIC,g_comval.langid);
\ 0531 210C00 LD HL,g_comval+12
\ 0534 4E LD C,(HL)
\ 0535 C5 PUSH BC
\ 0536 0E01 LD C,1
\ 0538 110700 LD DE,g_music_vars+7
\ 053B 3E00 LD A,BYTE3 ui_delete_all
\ 053D 210000 LD HL,LWRD ui_delete_all
\ 0540 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0543 F1 POP AF
\ 0544 220000 LD (g_result),HL
448 FSELSetMode(g_music_vars.repeat_mode);
\ 0547 CD0502 CALL LWRD ?0174
449 }
450 else
\ 054A 1817 JR ?0116
\ 054C ?0115:
451 g_result = ui_delete(& g_music_vars.location, type, g_comval.langid);
\ 054C 210C00 LD HL,g_comval+12
\ 054F 4E LD C,(HL)
\ 0550 C5 PUSH BC
\ 0551 DD4E02 LD C,(IX+2)
\ 0554 110700 LD DE,g_music_vars+7
\ 0557 3E00 LD A,BYTE3 ui_delete
\ 0559 210000 LD HL,LWRD ui_delete
\ 055C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 055F F1 POP AF
\ 0560 220000 LD (g_result),HL
\ 0563 ?0116:
452
453 if (g_result == RESULT_SD_OUT)
\ 0563 2A0000 LD HL,(g_result)
\ 0566 3E36 LD A,54
\ 0568 AD XOR L
\ 0569 B4 OR H
\ 056A 2015 JR NZ,?0118
\ 056C ?0117:
454 {
455 DisplayErrMsg(CARDPULL);//显示卡拔出
\ 056C 119101 LD DE,401
\ 056F 3E00 LD A,BYTE3 DisplayErrMsg
\ 0571 210000 LD HL,LWRD DisplayErrMsg
\ 0574 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
456 g_music_vars.location.disk = 'C';
\ 0577 3E43 LD A,67
\ 0579 320700 LD (g_music_vars+7),A
457 return RESULT_IGNORE;
\ 057C 213400 LD HL,52
458 }
\ 057F 1825 JR ?0125
\ 0581 ?0118:
459
460 if (g_result != 0)
\ 0581 7D LD A,L
\ 0582 B4 OR H
\ 0583 2021 JR NZ,?0125
\ 0585 ?0119:
461 {
462 return g_result;
463 }
\ 0585 ?0120:
464
465 if (!ChangeMusic(Music_Next, Stop_key))
\ 0585 4F LD C,A
\ 0586 1E03 LD E,3
\ 0588 3E00 LD A,BYTE3 ChangeMusic
\ 058A 213001 LD HL,LWRD ChangeMusic
\ 058D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0590 2C INC L
\ 0591 2D DEC L
\ 0592 200C JR NZ,?0124
\ 0594 ?0121:
466 {
467 if (UpdateFileSelector() == 0)
\ 0594 3E00 LD A,BYTE3 UpdateFileSelector
\ 0596 210000 LD HL,LWRD UpdateFileSelector
\ 0599 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 059C 7D LD A,L
\ 059D B4 OR H
\ 059E 2803 JR Z,?0159
\ 05A0 ?0123:
468 {
469 return 0;
470 }
\ 05A0 ?0124:
\ 05A0 ?0122:
471
472
473 }
474
475 fselGetLocation(& g_music_vars.location);
\ 05A0 CD1102 CALL LWRD ?0178
476
477 return 0; //RESULT_RESTART;
\ 05A3 ?0159:
\ 05A3 210000 LD HL,0
478 }
\ 05A6 ?0125:
\ 05A6 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 05A9 ?0177:
\ 05A9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -