Language…
10 users online: 35TCB77, Abstract, Alansanchez412,  Big Brawler, BusterDoggy, Children's Playmate Magazine,  DonWafle, El Cuh Fermin, Heitor Porfirio, PD3512 - Guests: 93 - Bots: 123
Users: 70,196 (2,550 active)
Latest user: heemerson

Double Key Jump Fix

SMW Tweaks → Double Key Jump Fix

Tweak Details

Summary: Double Key Jump Fix
Description: This mitigates a very niche glitch that prevents Mario from jumping when interacting with the top of two keys at the same time.

More detailed explanation: When $1471 is set to #$02, it will force a specific behavior used by the Portable Springboard and Pea Bouncer sprites, which lets the player stand but be unable to jump. This is because those sprites are intended to "release" Mario automatically.
When Mario steps on a Key/P-Switch, it doesn't force $1471 to a static value of #$01 like other rideable sprites; it increments the value instead. So if two Keys are simultaneously touching Mario, the value is set to #$02 instead and locking Mario's jump.

These modifications force the behavior to apply to negative values of $1471 instead, and then forces the Portable Springboard and Pea Bouncer to write a value of #$FF instead of #$02 to $1471. This may require some tweaks to disassemblies or sprites based upon the Springboard/Pea Bouncer sprites. If you wish to detect this hijack within custom resources:
Code
if read2($00D60E) == $0E30
	;; hijack detected
endif
Tags: bugfix double key
Code:
org $00D60E : BMI $0E : NOP #2
org $01E67F : db $FF
org $02CFCA : db $FF
Submitted: by  Sonikku