diff --git a/hooks.asm b/hooks.asm index 76b632f..f9b871f 100755 --- a/hooks.asm +++ b/hooks.asm @@ -1960,6 +1960,12 @@ NOP #$02 org $07A3E2 ;<- 3A3E2 Bank07.asm:5764 (LDA.b #$80 : STA $03F0) JSL.l FreeDuckCheck : NOP ;================================================================================ +org $07A9AC ; <- 3A9AC - Bank07.asm:6628 (LDA $0C : ORA $0E : STA $00 : AND.b #$0C : BEQ BRANCH_BETA) +JML.l MirrorBonk +MirrorBonk_NormalReturn: +org $07A9D1 ; <- 3A9D1 - Bank07.asm:6649 (BRANCH_GAMMA:) +MirrorBonk_BranchGamma: +;================================================================================ ;================================================================================ ; Add SFX diff --git a/inverted.asm b/inverted.asm index 5589470..c0bc80c 100644 --- a/inverted.asm +++ b/inverted.asm @@ -192,3 +192,20 @@ TurtleRockPegSolved: + LDA.w #$0020 ; We always treat puzzle as pre solved (overlay flag set) for inverted mode. RTL + +MirrorBonk: + ; must preserve X/Y, and must preserve $00-$0F + LDA.l InvertedMode : BEQ .normal + + ; Goal: use $20 and $22 to decide to force a bonk + ; if we want to bonk branch to .forceBonk + ; otherwise fall through to .normal + + ; PUT CODE HERE + +.normal + ;Not forcing a bonk, so the vanilla bonk detection run. + LDA $0C : ORA $0E +JML.l MirrorBonk_NormalReturn +.forceBonk +JML.l MirrorBonk_BranchGamma