Hello, I've been wondering if there's a romhack of Super Mario advance 2 that let's you run with L trigger and B button (basically 2 run buttons like on snes). I'm because I really hate that you can't turn with cape (I mean you can but it's really weird), also if it would be possible to remap L to an alternative run button that would make a lot possiblities for romhacks (like those on SMWCentral).
Thanks to u/Ph147
Hello, I've been wondering if there's a romhack of Super Mario advance 2 that let's you run with L trigger and B button (basically 2 run buttons like on snes). I'm because I really hate that you can't turn with cape (I mean you can but it's really weird), also if it would be possible to remap L to an alternative run button that would make a lot possiblities for romhacks (like those on SMWCentral).
Thanks to u/Ph147 on Reddit, they found a way to remap the controls so that it's possible to run with L and shoot fire balls with B, cape is a bit tricky though as you have to hold L to get the P-speed and then hold B to actually fly (otherwise Mario/Luigi will fall after he reaches the end of his jump) it's not perfect but it's pretty close.
Here's the message:
I haven't done extensive testing, but this seems to work for the US version:
With the help of a hex editor, patch the following bytes into the ROM:
* at offset `0x0068f6` overwrite the existing bytes `0x08 0x40` with `0x00 0x20`
* at offset `0x06ecae` overwrite the existing bytes `0x02 0x21 0x08 0x40` with `0x92 0xf2 0xa7 0xf9`
* at offset `0x301000` overwrite a bunch of `0x00` bytes with the following: `01 21 49 02 08 40 00 b5 00 bd`
What this actually does:
First, disable old scrolling function of L-button during gameplay:
080068F6: 2000 mov r0, #0
At the point where the game determines if Mario should run, jump to a free area
0806ECAE: F292 F9A7 bl 0x08301000
and inject own code there that replaces B-button with L-button:
08301000: 2101 mov r1, #1 ; check for L-press
08301002: 0249 lsl r1, r1, #9
08301004: 4008 and r0, r1
08301006: B500 push {lr} ; go back
08301008: BD00 pop {pc}