More robust bank fix
Shouldn't crash on crystal/pendant anymore
This commit is contained in:
@@ -22,9 +22,10 @@
|
|||||||
!LOCK_STATS = "$7EF443"
|
!LOCK_STATS = "$7EF443"
|
||||||
FrameHookAction:
|
FrameHookAction:
|
||||||
JSL $0080B5 ; Module_MainRouting
|
JSL $0080B5 ; Module_MainRouting
|
||||||
PHP : PHB : PHD : REP #$30 : PHA : PHX : PHY
|
JSL CheckMusicLoadRequest
|
||||||
LDA #$0000 : TCD : SEP #$20 : PHA : PLB
|
PHP : REP #$30 : PHA
|
||||||
JSL CheckMusicLoadRequest
|
|
||||||
|
SEP #$20
|
||||||
|
|
||||||
;LDA EnableSRAMTrace : AND.l TournamentSeedInverse : BEQ +
|
;LDA EnableSRAMTrace : AND.l TournamentSeedInverse : BEQ +
|
||||||
; LDA $1A : BNE ++ : JSL.l WriteStatusPreview : ++ ; write every 256 frames
|
; LDA $1A : BNE ++ : JSL.l WriteStatusPreview : ++ ; write every 256 frames
|
||||||
@@ -39,9 +40,9 @@ FrameHookAction:
|
|||||||
LDA !ITEM_FRAMES_LOW : INC : STA !ITEM_FRAMES_LOW : BNE +
|
LDA !ITEM_FRAMES_LOW : INC : STA !ITEM_FRAMES_LOW : BNE +
|
||||||
LDA !ITEM_FRAMES_HIGH : INC : STA !ITEM_FRAMES_HIGH
|
LDA !ITEM_FRAMES_HIGH : INC : STA !ITEM_FRAMES_HIGH
|
||||||
+
|
+
|
||||||
SEP #$20 ; set 8-bit accumulator ?? check this
|
;SEP #$20 ; set 8-bit accumulator ?? check this
|
||||||
++
|
++
|
||||||
REP #$30 : PLY : PLX : PLA : PLD : PLB : PLP
|
REP #$30 : PLA : PLP
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
NMIHookAction:
|
NMIHookAction:
|
||||||
|
|||||||
15
msu.asm
15
msu.asm
@@ -186,6 +186,8 @@ RTS
|
|||||||
; Extended OST/SPC fallback, decide which track to actually play
|
; Extended OST/SPC fallback, decide which track to actually play
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
CheckMusicLoadRequest:
|
CheckMusicLoadRequest:
|
||||||
|
PHP : PHB : PHD : REP #$30 : PHA : PHX : PHY
|
||||||
|
LDA #$0000 : TCD : SEP #$20 : PHA : PLB
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST : BEQ .skip+3 : BMI .skip+3
|
LDA !REG_MUSIC_CONTROL_REQUEST : BEQ .skip+3 : BMI .skip+3
|
||||||
CMP !REG_CURRENT_COMMAND : BNE .continue
|
CMP !REG_CURRENT_COMMAND : BNE .continue
|
||||||
CMP.b #22 : BNE .skip ; Check GT when mirroring from upstairs
|
CMP.b #22 : BNE .skip ; Check GT when mirroring from upstairs
|
||||||
@@ -195,6 +197,7 @@ CheckMusicLoadRequest:
|
|||||||
.skip
|
.skip
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST
|
LDA !REG_MUSIC_CONTROL_REQUEST
|
||||||
STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
REP #$30 : PLY : PLX : PLA : PLD : PLB : PLP
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.continue
|
.continue
|
||||||
@@ -355,11 +358,13 @@ CheckMusicLoadRequest:
|
|||||||
|
|
||||||
.done
|
.done
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
REP #$30 : PLY : PLX : PLA : PLD : PLB : PLP
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.sfx_indoors
|
.sfx_indoors
|
||||||
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
||||||
SEP #$20 : LDA.b #$05 : STA $012D ; Vanilla subroutine expects 8-bit A, doesn't use X/Y
|
SEP #$20 : LDA.b #$05 : STA $012D
|
||||||
|
REP #$30 : PLY : PLX : PLA : PLD : PLB : PLP
|
||||||
JML Module_PreDungeon_setAmbientSfx
|
JML Module_PreDungeon_setAmbientSfx
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -737,12 +742,12 @@ MSUMain:
|
|||||||
; Wait for the fanfare music to start, or else it can get skipped entirely
|
; Wait for the fanfare music to start, or else it can get skipped entirely
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
FanfarePreload:
|
FanfarePreload:
|
||||||
STA !REG_MUSIC_CONTROL_REQUEST ; thing we wrote over
|
STA.l !REG_MUSIC_CONTROL_REQUEST ; thing we wrote over
|
||||||
PHA
|
PHA
|
||||||
JSL CheckMusicLoadRequest
|
JSL CheckMusicLoadRequest
|
||||||
WAI
|
WAI
|
||||||
PLA
|
PLA
|
||||||
- : CMP !REG_SPC_CONTROL : BNE -
|
- : CMP.l !REG_SPC_CONTROL : BNE -
|
||||||
JML AddReceivedItem_doneWithSoundEffects
|
JML AddReceivedItem_doneWithSoundEffects
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -765,7 +770,7 @@ PendantFanfareWait:
|
|||||||
jml PendantFanfareContinue
|
jml PendantFanfareContinue
|
||||||
.spc
|
.spc
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA !REG_SPC_CONTROL : BNE .continue
|
LDA.l !REG_SPC_CONTROL : BNE .continue
|
||||||
.done
|
.done
|
||||||
jml PendantFanfareDone
|
jml PendantFanfareDone
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -789,7 +794,7 @@ CrystalFanfareWait:
|
|||||||
jml CrystalFanfareContinue
|
jml CrystalFanfareContinue
|
||||||
.spc
|
.spc
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA !REG_SPC_CONTROL : BNE .continue
|
LDA.l !REG_SPC_CONTROL : BNE .continue
|
||||||
.done
|
.done
|
||||||
jml CrystalFanfareDone
|
jml CrystalFanfareDone
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user