Set DB/DP to 0 in frame hook

Possible fix for hole transition crashes
This commit is contained in:
qwertymodo
2021-06-18 16:50:49 -07:00
parent d0fbd11d0f
commit 429fea004f
2 changed files with 6 additions and 8 deletions

View File

@@ -22,8 +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
LDA #$0000 : TCD : SEP #$20 : PHA : PLB
JSL CheckMusicLoadRequest JSL CheckMusicLoadRequest
PHA : PHP
;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,7 +41,7 @@ FrameHookAction:
+ +
SEP #$20 ; set 8-bit accumulator ?? check this SEP #$20 ; set 8-bit accumulator ?? check this
++ ++
PLP : PLA REP #$30 : PLY : PLX : PLA : PLD : PLB : PLP
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
NMIHookAction: NMIHookAction:

View File

@@ -186,7 +186,6 @@ RTS
; Extended OST/SPC fallback, decide which track to actually play ; Extended OST/SPC fallback, decide which track to actually play
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
CheckMusicLoadRequest: CheckMusicLoadRequest:
PHP : REP #$10 : PHA : PHX : PHY
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
@@ -196,7 +195,6 @@ 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
PLY : PLX : PLA : PLP
RTL RTL
.continue .continue
@@ -357,13 +355,11 @@ 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
PLY : PLX : PLA : 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
PLY : PLX : PLA : PLP SEP #$20 : LDA.b #$05 : STA $012D ; Vanilla subroutine expects 8-bit A, doesn't use X/Y
PHP : SEP #$20 : LDA.b #$05 : STA $012D : PLP
JML Module_PreDungeon_setAmbientSfx JML Module_PreDungeon_setAmbientSfx
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------