Allow MSU-1 fanfares to play to the end in non-tournament ROMs

This commit is contained in:
qwertymodo
2018-09-28 23:40:21 -07:00
parent 923b907df9
commit ccbe13e7e8
2 changed files with 49 additions and 4 deletions

View File

@@ -1321,12 +1321,24 @@ JSL.l GetMagicBatItem
; MSU Music
;--------------------------------------------------------------------------------
org $0080D7 ; <- D7 - Bank00.asm:172 (SEP #$30)
spc_nmi:
JML msu_main
NOP
JML msu_main : NOP
spc_continue:
org $0EE6EC ; <- E220 A922 - Bank0E.asm:2892 (SEP #$20)
org $08C421 ; <- AD4021 F005 - ancilla_receive_item.asm:108 (LDA $2140 : BEQ .wait_for_music)
JML pendant_fanfare : NOP
pendant_continue:
org $08C42B
pendant_done:
org $08C62A ; <- AD4021 D008 - ancilla_receive_item.asm:442 (LDA $2140 : BNE .waitForSilence)
JML crystal_fanfare : NOP
crystal_done:
org $08C637
crystal_done:
org $0EE6EC ; <- E220 A922 - Bank0E.asm:2892 (SEP #$20 : LDA.b #$22 : STA $012C)
JSL.l ending_wait
;--------------------------------------------------------------------------------

33
msu.asm
View File

@@ -169,6 +169,39 @@ load_track:
STX !REG_CURRENT_MSU_TRACK
JML spc_continue
pendant_fanfare:
REP #$20
LDA !TournamentSeed : BNE .spc
LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BNE .spc
LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .spc
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .spc
SEP #$20
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
.continue
jml pendant_continue
.spc
SEP #$20
LDA !REG_SPC_CONTROL : BNE .continue
.done
jml pendant_done
crystal_fanfare:
REP #$20
LDA !TournamentSeed : BNE .spc
LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BNE .spc
LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .spc
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .spc
SEP #$20
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
.continue
jml crystal_continue
.spc
SEP #$20
LDA !REG_SPC_CONTROL : BNE .continue
.done
jml crystal_done
ending_wait:
REP #$20