Super Mario Kart Glitches and Tricks

Super Mario Kart Physics

This is the compilation of the physics, glitches, and memory addresses for Super Mario Kart.

Super Mario Kart Game Physics

  • Accelerate moves you in the direction the screen is facing, not the direction the kart is drawn as facing.
  • The kart's handling is completely unaffected by being in midair.
  • Turning left or right causes the kart to move in the opposite direction, up to a point (but doesn't affect the kart's speed, just its direction). Moving at high speeds exaggerates this effect, and holding L or R greatly exaggerates it.
  • L/R have this effect whether the kart is in air or not -- the hop the kart does when L or R is pressed down doesn't affect the handling.
  • Skidding does not slow the kart down, nor does it slow the kart's acceleration.
  • Driving over dirt/water without pressing accelerate makes you to lose speed slower, but will eventually slow you to a stop. Therefore do not hold the gas if driving over dirt/water unless your speed is very low.
  • In a hop, the kart behaves as if it were on the type of surface (dirt, road, etc) it was on when the hop started.
  • Hitting a wall, pipe or kart while on the way up in a hop causes you to pause in mid-air for a few frames, but doesn't reduce your speed.
  • If you hop and land on water while in a mushroom boost, you bounce up into the air without losing speed. This can be used to bounce over walls .

Ramps

There are two different kinds of ramps in the game:
  • The ones on Mario Circuit, Donut Plains, Ghost Valley, Rainbow Road and Koopa Beach
    • These ramps don't slow you down.
    • In fact, during a jump from this kind of ramp you won't lose any speed - so they can be used to make mushroom-boosts last a long time - especially if you land on another ramp.
  • The ones on Bowser Castle
    • If you're going very fast, these ramps slow you down when you hit them
    • this means they cannot be used to make massive leaps.
    • It's generally best to hop over this type of ramp.

Mini-Boosts

  • There is a boost counter located at memory position 7e10ca 2u .
  • For every frame while {(L or R) and (right or left) and (accelerate)} are held down, this boost-counter is charged.
    • Releasing L/R or right/left or accelerate resets the boost-counter.
    • You may swap right or left without resetting the boost-counter, so long as at least one is held down each frame.
      • swapping left/right each frame allows you to charge the boost-counter while going in a straight line
    • You may swap L/R similarly, and this allows you to hop while still charging.
    • Using a feather resets the boost-counter ( need to double check this )
    • while charging, the boost-counter goes up 1 each frame from 0 to 20, then 2 per frame thereafter.
    • If the boost-counter is reset when it is 128 or more (eg. after 74 or more frames of being charged), the kart gets a small speed-boost (nowhere near as powerful as one from a mushroom, but still significant - especially good for driving over dirt without losing speed) when it next isn't drifting sideways, is facing 'straight' on the screen, and left/right aren't pressed.
      • You get this boost the next time you straighten out like this, even if you spin out, or hop again and start charging the boost counter again.
    • If you straighten like this in mid-air, then the kart gets the boost upon landing.
    • How charged the boost is doesn't affect how fast or long the boost is. It's all or nothing.
      • Pressing L or R during the boost will stop the boost.
        • If you straightened out in mid-air, then pressed L/R (or were holding down L/R at the time) you don't get a boost - this is because the boost has kinda started, but just isn't noticable until you land.
      • Using a feather during the boost won't stop the boost.
      • Driving over dirt won't stop the boost (and also doesn't stop the boost charging either), but does slow it down a little.
    • Over-charging the boost-counter seems to make 'skidding-out' while skidding happen sooner.
    • Having 'released' a boost charge of 128+, but not had the boost actually start yet seems to make 'skidding-out' happen much sooner.

The boost-counter cannot be charged during the 'revving up bit' at the start of each race. However, by starting to hold accelerate on the correct frame before the race starts (somewhere in between the second and third lights that Lakitu holds), you can get a substantial boost.

Long Boosts

  • Find a corner or wall, where you can bump into and have a wide, clear space ahead.
  • As you get near the wall, release accelerate and at the same time use a mushroom to get a boost.
  • Then hop and hold down L/R (be sure to hold down L/R for the duration of the extended boost). then on the way up on the hop hit a wall (hitting other karts works too. Make sure that whatever it is that you hit, you got the 'collision' before the peak of your jump), then continue to hold L/R at least until you've landed and the boost has peaked.
  • If you do this, the mushroom boost will take a very long time to die down
  • This doesn't appear to work at all with the mini-boosts mentioned above
  • Be sure to as soon as you let go of accelerate, to not press it at all until you have landed, and the extended boost lasts out its duration. When you're extending boosting, L/R should be the only button held down, and left and right can be used to turn. As soon as you begin to lose speed, and your top speed reduces to your characters' normal top speed, hit accelerate again.
  • You can also start a long boost by hitting a "zip arrow" while already in a long boost

Infini Boosts

  • Do a mini-boost and hit a "zip arrow" while in the mini-boost.
  • After the zip-boost your speed will stay higher than the peak of a mini-boost, but not as fast as the peak of a mushroom-boost.
  • Going over dirt, holding or not holding accelerate will have no effect on your speed.
  • Braking, hopping, using feathers or hitting stuff will kill the infini-boost, but other than that it lasts forever.
  • It's impossible to "spin-out" in an infini-boost.

Common to all types of boosts:

  • it's impossible to "spin-out" in a boost
  • in boosts turning doesn't seem to push you in the opposite direction at all

Lap Skips

On certain race courses (DP1, MC4, DP3 and KB2) you can drive around in circles near the finish line. This can trick the game into thinking that you successfully made a lap.

Tables of Data

Memory Values

Address Meaning
Address Meaning
7E10EA 2u Player 1's speed (unknown units)
7E11EA 2u Player 2's speed
7E10A5 1u Player 1's camera/movement direction
7E102B 1u Player 1's displayed kart direction
7E11A5 1u Player 2's camera/movement direction
7E112B 1u Player 2's displayed kart direction
7E0D70 1u Player 1's item
7E0D71 1u Player 1's itembox state
7E0D72 1u Player 2's item
7E0D73 1u Player 2's itembox state
7E0D7C 2u Player 1's item [ 2 ]
7E008C 2u Player 1's y coordinate
7E0088 2u Player 1's x coordinate
Value of 7E0D70 Item
Value of 7E0D70 Item
0 Mushroom
1 Feather
2 Star
3 Banana peel
4 Green shell
5 Red shell
6 Ghost
7 Coins
8 Lightning

7E0D70 cannot become greater than 8 by normal means. If it is forced to be greater, conglomerate items (for example, at 9, ghost, mushroom and banana peel) are fired when A is pressed.

Note: 7E0D71 must be C0 to use items. A0 means the roulette is cycling, and 80 means the icon is blinking and making the "ding ding ding" sound effect. 00 means there's no item.

More RAM addresses here

Kart data

50cc Mario/Luigi Peach/Yoshi Bowser/Donkey Kong Koopa Troopa/Toad Top speed, normal Top speed, offroad Handling [ 1 ]
50cc Mario/Luigi Peach/Yoshi Bowser/Donkey Kong Koopa Troopa/Toad
Top speed, normal 783 751 815 736
Top speed, offroad 580 620 610 635
Handling [ 1 ] 40, 46 42, 45 43, 43 39, 42
100cc Mario/Luigi Peach/Yoshi Bowser/Donkey Kong Koopa Troopa/Toad Top speed, normal Top speed, offroad Handling
100cc Mario/Luigi Peach/Yoshi Bowser/Donkey Kong Koopa Troopa/Toad
Top speed, normal 911 878 943 863
Top speed, offroad 580 620 610 635
Handling [ 1 ] 40, 46 42, 45 43, 43 39, 42

Add 8 to your normal top speed for each coin you have. Off road speed is unaffected by coins.

Any mode that doesn't prompt for a cc class (Time Trial, Battle Mode, etc.) acts as 100cc. If coins are not involved, the coin count is zero.

See Also: Detailed game data

[ 1 ] The first number is the number of frames it takes for 7E10A5 to increment 30 times from the first frame the right arrow is pressed at a speed of 255. The second number is the value of 7E10A5 after the kart stops turning after releasing the right arrow. These are highly unscientific measurements intended only for comparison.

[ 2 ] This is a newly found memory address for a player's item. It appears to be superior to 7E0D70 in that at the moment the item box turns red, it shows the value similar to 7E0D70 of what item will appear, no matter what amount of input you do, such as pressing A to select the item earlier. This corresponds to the 'items are predetermined' rule, in that the item value is shown the instant you touch the item box, and this value matches what the item ends up being.

Super Mario Kart Luck

Each Super Mario Kart track has " ? " squares (item squares) which gives you an item when you drive over them.

The item they give you depends almost entirely on what time is displayed on the game clock (in the top right corner) when you hit the item square.

The game only detects that you've gone over an item square every other frame (and the clock time changes every other frame too).

The probability of getting each item is known [ 1 ] , but just because an item may have a one in sixteen chance of occurring doesn't mean it will occur once every 32 frames (16 * 2), it may not appear for a whole second or so, or it may appear twice in a row.

Sometimes, pressing different keys or taking a different route for a while before hitting an item square changes what items will appear at what time. The reasons for this are unknown, and probably won't be until someone reverse engineers the Super Mario Kart ROM.

Until then, getting the item you want can usually be achieved by using the Super Mario Kart Luck Manipulation Bot.

The Luck Manipulation Bot

The luck manipulation bot is a modified copy of snes9x that finds the next time a certain item will occur. You can then aim to hit an item square on that frame.

It is possible to find these times by hand by driving over item squares a frame at a time and then repeating, aiming to hit the square two frames later, but this approach may take many hours just to find a single item.

The luck manipulation bot is used like this:

  • Drive up to an item square a frame at a time in snes9x.
  • When you get about 10 frames or so away, save.
  • Drive onto the item square and press 'p' when you are on it
  • Reload so you're back about 10 frames before the item square
  • Press 'i' to find a mushroom or 'k' to find a feather

When you press 'p' the luck-bot saves the (X,Y) co-ordinates of where your kart is.

When you press 'i' or 'k' the luck-bot saves the game (to an internal save slot), then overwrites your kart's position in RAM to "teleport" to the item square. If it got the item you want, it stops there and prints that it has found it. If it didn't get the item you want it reloads back, waits two frames (on the spot by teleporting to it's position, in order to hold itself still even if you were moving at speed) then tries again, etc.

In other words it teleports backwards and forwards to the item square until it finds what you want.

Unfortunately the code for the luck-bot was hacked into the Linux user interface part of snes9x, and so the bot cannot be ported to Windows without a complete rewrite.

[ 1 ] I think the probabilities shown on this link are very optimistic. I quite often find there won't be a feather for around two seconds (the probability of this happening is about 0.017 according to this data, and it happens to me a lot. It is possible that the game changes the probabilities based on how far ahead you are.

 

Source: http://tasvideos.org

Back to glitches and tricks