Fix ActivateSubScreen: prevent .turnOn from falling through to clear

The .turnOn path was setting $1D=1 then falling through to .normal
which cleared $1D - immediately undoing the overlay enable.

Fix: Add BRA .exit after setting $1D in .turnOn path.
Also remove the unnecessary module $0E check - the real bug was
the fall-through, not menu state interference.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
scawful
2025-12-06 23:48:19 -05:00
parent 791ebaf552
commit d01a4b83a0
2 changed files with 13 additions and 7 deletions

View File

@@ -1570,18 +1570,16 @@ ActivateSubScreen:
.turnOn
SEP #$20 ; Set A in 8bit mode.
; Turn on BG1.
; Turn on BG1 and exit (don't fall through to clear!)
LDA.b #$01 : STA.b $1D
BRA .exit
.normal
; No overlay needed - clear $1D
SEP #$20 ; Set A in 8bit mode.
STZ.b $1D
; Only clear $1D if not in menu (module $0E)
LDA.b $10 : CMP.b #$0E : BEQ .skipClear
STZ.b $1D ; Only clear if no overlay needed AND not in menu
.skipClear
.exit
PLX
PLB