Super Mario Kart's AI Exclusive Items Hacked To Be Useable

Super-Mario-Kart-Enemy-Items-HackedOne of the most frustrating aspects to the original Super Mario Kart has always been rival racer's use of exclusive battle items. If Donkey Kong's thrown bananas, Peach's poison mushroom, and Bowzer's fireball have caused you countless headaches in the past, get ready to give your racing rivals a taste of their own medicine.

Over at the ROMHacking forums, one user recently detailed his frustration with Super Mario Kart's AI behaviour and secret items by requesting help to level the playing field. Given that no such cheat code or ROM hack with this modification has been made available previously, several of those in the discussion remained sceptical that it could be done. Not too long after, the talented Mattrizzle chirped in with some good news following his tinkering around in the super Nintendo emulator bsnes.

Mattrizzle managed to find the exact locations in the game's code where these items were referenced and worked out how they could be used to the player's advantage. Following this a selection of homemade cheat codes for the Pro Action Replay cartridge were presented which finally put the power back in the player's hands.

After a few hours messing with the bsnes Debugger, I've discovered this:
Subroutine $80:F17A is called when a placeable item is used. Prior to the jump the value from direct page address $B4 is stored in X, and one of the following values is stored in Y:

00: Banana Peel (placed on ground)
01: Green Shell (thrown)
02: Red Shell
03: Chomp (acts like a thrown Green Shell)
04: AI Items (placed on ground) *$
05: AI Items (thrown) *+
06: Banana Peel (thrown)
07: Green Shell (placed on ground)

* The specific item placed depends on the character value. Mario and Luigi don't have placeable items, so they default to the Princess and Toad's Poison Mushroom. The Poison Mushroom doesn't have the desired effect in Battle Mode--while it does shrink and slow down anyone who touches it, they cannot be squished and the effect lasts until the end of the battle.

$ Bowser's fireball doesn't seem to spawn at all with this value.

+ While this is the value used when computer players throw items in front of them, it normally seems to behave the same as 04 when used by a player (there's probably an additional timer variable, because CPU AI holds onto items as Jeville mentioned in a prior post) Bowser's fireball does appear with this value. Nevertheless, it will collide with Bowser shortly after being placed if he is sitting still, as the fireball spawns at the "bottom" of its clockwise radius (6 o'clock).

Here are the relevant cheat codes:
80E93500 + 80E937?? Banana Peel replaced with another placeable item (replace ?? with one of the values in the list above)
80EEF280 + 80EEF3F4 Allows AI Items to be thrown by a player (side effect: AI will no longer hold items before throwing them)

7E0D7C03 Player 1 always gets a Banana Peel from item boxes
7E0D7E03 Player 2 always gets a Banana Peel from item boxes

It's now time to take revenge on those unsuspecting karters with an arsenal of 16-bit weaponry!

Last Updated ( 18 March 2014 )  


Better known as Adam offline, Cauterize is one of RetroCollect's final bosses with an unhealthy addiction to pixels. When he's not out searching the web for the latest retro gaming news or creating content for RetroCollect, he'll will most likely be found working on his Sensible Soccer skills.

Other recent articles:


Retro Game Database Search

Retro Gaming Podcast

Join the RetroCollect Squad as they discuss our gaming past in the all new RetroCollect FM - Retro Gaming Podcast.

Retro Gamers Online

Retro Games on eBay now

About RetroCollect

RetroCollect is your one stop for everything retro games and retro gaming. Featuring the latest classic gaming news around, informative reviews and an ever active forum, you'll feel right at home with other retro gamers.

RetroCollect FM - Retro Gaming Podcast

Join the RetroCollect Squad as they talk their way through the wonderful world of retro gaming.

Listen to RetroCollect FM - Retro Gaming Podcast

Join RetroCollect on the web