Re-scan the MSU-1 fallback table on pack switch

This commit is contained in:
qwertymodo
2019-09-06 14:47:05 -07:00
parent 569722dc3c
commit bebdb1fd61
2 changed files with 14 additions and 3 deletions

View File

@@ -80,7 +80,7 @@ db #$20, #$19, #$08, #$31 ; year/month/day
!REG_MSU_DELAYED_COMMAND = $7F50A9 !REG_MSU_DELAYED_COMMAND = $7F50A9
!REG_MSU_PACK_COUNT = $7F50AA !REG_MSU_PACK_COUNT = $7F50AA
!REG_MSU_PACK_CURRENT = $7F50AB !REG_MSU_PACK_CURRENT = $7F50AB
!REG_MSU_PACK_PREVIOUS = $7F50AC !REG_MSU_PACK_REQUEST = $7F50AC
!REG_SPC_LOADING = $7F50AD !REG_SPC_LOADING = $7F50AD
!REG_MUSIC_CONTROL = $012B !REG_MUSIC_CONTROL = $012B
;!REG_MUSIC_CONTROL = $012C ;!REG_MUSIC_CONTROL = $012C

15
msu.asm
View File

@@ -151,8 +151,16 @@ CheckMusicLoadRequest:
RTL RTL
.continue .continue
LDA TournamentSeed : BNE ++
LDA !REG_MSU_PACK_REQUEST
CMP !REG_MSU_PACK_CURRENT : BEQ ++
CMP !REG_MSU_PACK_COUNT : !BLT +
LDA !REG_MSU_PACK_CURRENT : STA !REG_MSU_PACK_REQUEST
+ : STA !REG_MSU_PACK_CURRENT
JSL msu_init_check_fallback
; Shut down NMI until music loads ; Shut down NMI until music loads
STZ $4200 ++ : STZ $4200
LDA NoBGM : BEQ + LDA NoBGM : BEQ +
BRL .mute BRL .mute
@@ -326,9 +334,12 @@ msu_init:
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BNE .wait_pack LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BNE .wait_pack
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BEQ .check_pack LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BEQ .check_pack
TXA : STA !REG_MSU_PACK_COUNT TXA : STA !REG_MSU_PACK_COUNT
BRA +
; Check the current MSU-1 pack for tracks that require SPC fallback ; Check the current MSU-1 pack for tracks that require SPC fallback
LDA.b #64 .check_fallback
PHP : SEP #$10
+ : LDA.b #64
LDX.b #7 LDX.b #7
LDY.b #7 LDY.b #7