Navigation

Double/Triple Speed Koopa-the-Quick (gameshark code)


This is a cheap behavior trick that will work for many objects. Here is the original Koopa Behavior:


ROM Addr: 0021E380 Hex Behav: 13004580
Description: Koopa Behavior
21E380/004580 00 05 00 00
21E384/004584 11 01 20 41
21E388/004588 1E 00 00 00 <-- "gravity"
21E38C/00458C 27 26 00 00 06 01 13 64 <-- animation pointer
21E394/004594 28 09 00 00
21E398/004598 2D 00 00 00
21E39C/00459C 30 00 00 00 00 32 FE 70 00 00 00 00 03 E8 00 C8 00 00 00 00 <-- set floats
21E3B0/0045B0 32 00 00 96 <-- scaling (not used by KTQ)
21E3B4/0045B4 0E 1B 00 01
21E3B8/0045B8 0C 00 00 00 80 2F BC 4C <-- process arguments
21E3C0/0045C0 08 00 00 00 <-- "loop"
21E3C4/0045C4 0C 00 00 00 80 2F D7 F8 <-- Koopa main code
21E3CC/0045CC 09 00 00 00 <-- end

To get double, triple speed or whatever multiple speed you want, just make the Koopa code run x times.
The call between 0x08 and 0x09 is in a permanent loop, so this won't bring many side effects:

08 00 00 00
0C 00 00 00 80 2F D7 F8
0C 00 00 00 80 2F D7 F8 <-- Repeat as many times as you want.
09 00 00 00

To get this on a Gameshark code, I removed that big 0x30 command, which I thought was useless, to
get space for my new 0x0C calls. I can't mess with the following behavior (Koopa's Flag) otherwise
the game may crash.

The floats set by this 0x30 command are somehow used when Koopa jumps off the bridge. The Penguin
behavior also uses it when he first jumps to slide.

Here is the Double/Triple Speed code:

810EF71C 3200
810EF71E 0096
810EF720 0C00
810EF722 0000
810EF724 802F
810EF726 BC4C
810EF728 0800
810EF72A 0000
810EF72C 0C00
810EF72E 0000
810EF730 802F
810EF732 D7F8
810EF734 0C00
810EF736 0000
810EF738 802F
810EF73A D7F8
810EF73C 0900 (*)
810EF73E 0000

(*) Replace with this for Triple Speed:

810EF73C 0C00
810EF73E 0000
810EF740 802F
810EF742 D7F8
810EF744 0900
810EF746 0000

You can even increase a bit the difficulty by adding this (play and see the result!):

81338A32 D718
Comments