This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

SMB 2 (U) question

SMB 2 (U) question
by on (#72976)
I've been at this for awhile, I'm trying to figure out how to stop Luigi's kicking when jumping on SMB 2 (U).

I've run across a hex address where it stops animation completely, but, I'm not aiming for that.

My computer can barely handle doing a trace, because it slows it down horribly, and even when I do hold out, I still can't understand what code is what.

I'm not that good on disassembly and I couldn't find the code for it anywhere.

Can anyone help me find what hex value to edit (In game or out)?

by on (#72994)
In the rom, change $D87 from $A5 to $A9.

When you jump, the game checks $8F to see if you're playing as Luigi (if you are, $8F will be #$03). If so, it does the leg kick thing. This changes the routine so that it checks a constant value #$8F, instead of checking the value at $8F. #$8F != #$03, so the leg kick routine never runs.

by on (#72995)
Drag wrote:
In the rom, change $D87 from $A5 to $A9.

When you jump, the game checks $8F to see if you're playing as Luigi (if you are, $8F will be #$03). If so, it does the leg kick thing. This changes the routine so that it checks a constant value #$8F, instead of checking the value at $8F. #$8F != #$03, so the leg kick routine never runs.


Thank you SOU much! I'm going to do this in the morning.

I've been stumped on this for a long while!

Awesome. In rom $8F = 00 to stop the jump kicking or 03 to start it!

Going to put this on Datacrystal (And give you full credit)

by on (#72996)
No problem, happy to help. :)

by on (#73037)
For the reverse, I would surmise (but have not tested) that based on Drag's post, you can change $D87 to $A9 (LDA immediate) and change $D88 to $03, and get the leg kicking (or "fluttering" as I personally call it) on all characters.

by on (#73038)
"Flutter" was a good idea. It appears Luigi learned the technique from Yoshi.

by on (#73039)
And, after testing "my" reverse of the hack, it works just fine on all characters.

I miss 6502 coding...maybe I oughta do a C64-style demo on the NES sometime...

by on (#73043)
You can also change which character performs the fluttering by changing the value at D8A in the rom. Of course, in this case, you'd need to leave D87 and D88 alone. :P