This is an old revision of this page, as edited by
Weatherton at
6/15/2015 12:15 AM
The purpose of this page is to document aspects of Mario Kart 64 that are important to Tool Assisted Speedrunning.
Increasing Speed
Rocket Start
As Lakitu counts down at the start of the race, pressing "A" revs your engine. The largest boost is obtained by pressing "A" for the entire pre-race sequence except for a single frame. Releasing "A" for additional frames (inclusive of this frame) may still receive a boost but it will be smaller. On some levels a smaller boost may be faster (e.g. to receive an optimal jump off another driver).
The frame where A must be released to receive the boost:
[To Do: Enter picture of correct frame]
Shrooming
The start boost is actually the same effect as using a mushroom. When "shrooming", you gain additional speed by sliding (~+10%). While "shroom sliding" it is also slightly faster (~+5%) to oscillate the horizontal joystick position every frame. This oscillating slide or "Xenos slide" (named after the
discoverer) typically requires you to take a slightly less direct route, so it is not always worth doing. Also of note is the fact that a Mini Turbo (MT) can be charged while shroom sliding, this is typically worth doing and thus further reduces the time frame for Xenos sliding.
Respawn Rev
When being placed back on the course after having gone out of bounds, the fastest way to accelerate is to hold "A" at the first possible frame that will not spin you out (i.e. any earlier and your driver spins out). This frame depends on whether you fell into ice water or not, because the ice shattering animation takes additional time.
Triple-Tap "A"
In many cases you may lose speed as consequence of a maneuver. The fastest way to regain speed (without the use of an item) is to triple-tap "A", which is optimally performed by alternating pressing and releasing "A" each frame (i.e. A_A_AAAA...). This technique is effective from a complete stop as well as from a partial loss of speed. It can be combined with Spin-Turning to turn quickly. Triple-Tapping is most effective with the light-weight characters and Bowser (the other characters benefit but to a much smaller degree).
Mini Turbo (MT)
An MT is a small boost awarded after a player performs a complicated drift process used to build the boost. The MT is a core advanced driving technique and is a primary differentiator between beginner and advanced players. It can be done around corners as well as on straightaways (a "Straight Stretch Mini Turbos" or SSMT). An MT has seven unique phases which can be performed "frame perfect". The longer a player spends on each step beyond what is necessary, the more speed they lose while building the MT boost and the greater overall distance they travel. Thus, for a TAS it is important to understand the absolute limits of this technique. The following table summarizes the MT phase requirements:
MT Phase | Frames | ΣFrames | Phase Description |
---|
1. Inward jump | 6 | 6 | Jump and turn (on the same frame) in the direction you wish to MT. 6 frames assumes flat ground. |
2. First outward slide | 9 | 15 | Once you land, immediately turn the opposite direction and hold the slide to charge. |
3. First inward toggle | 1 | 16 | Toggle inward to change smoke from yellow to orange |
4. Second outward slide | 4 | 20 | Immediately toggle back outward and hold the slide to charge. |
5. Second inward toggle | 1 | 21 | Toggle inward to change smoke from orange to red. Release "R" immediately and, if done frame-perfect, the red smoke will not be visible |
6. Glide turn | 8-12 | 29-33 | Once you release the slide an MT boost is active for 14 frames (speed is still elevated for some time after the boost ends). During this boost you can turn without losing speed. This MT glide allows you to angle yourself correctly coming out of the MT |
7. Untilt | 1-2 | 30-35 | Once angled correctly, you must toggle the opposite direction for at least one frame to align your kart to the track. If you do not do this the kart drives at an angle or is "tilted" to its direction of travel and loses speed. |
Note that optimal MT spacing is situation dependent. However, assuming an infinitely long, flat surface, optimal spacing would be XX (To do: test exact value) frames after the MT boost starts.
Depending on the terrain and situation several different options... The following table details these limits as they are currently understood. Note that the internal game requirements are not fully understood and the inputs in these tables were developed through experimentation:
MT Phase | X | Y | R | A | Comment |
---|
1. Inward jump | +65 | 000 | R | A}} | |
---|
1. Inward jump | +20 | 000 | R | A}} | |
1. Inward jump | +20 | 000 | R | A}} | |
1. Inward jump | +20 | 000 | R | A}} | |
1. Inward jump | -35 | 000 | R | A}} | For unknown reasons, values as low as -35 are permitted on this frame. |
1. Inward jump | +65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
---|
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
3. First inward toggle | +39 | 000 | R | A}} | A toggle with a magnitude of at least 39 is almost always required to charge an MT. |
---|
4. Second outward slide | -50 | 000 | R | A}} | |
---|
4. Second outward slide | -50 | 000 | R | A}} | |
4. Second outward slide | -50 | 000 | R | A}} | |
4. Second outward slide | -50 | 000 | R | A}} | |
5. Second inward toggle | +39 | 000 | R | A}} | |
---|
6. Glide turn | -65 | 000 | | A}} | Beginning a glide turn with max turning allows the fastest possible adjustment back to straight |
---|
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
7. Untilt | +63 | 000 | | A}} | +63 for one frame is all that is required to completely untilt with this MT |
---|
8. MT Spacing | 000 | 000 | | A}} | |
---|
⋮ | ⋮ | ⋮ | ⋮ | ⋮ | |
MT Phase | X | Y | R | A | Comment |
---|
1. Inward jump | +62 | 000 | R | A}} | |
---|
1. Inward jump | +20 | 000 | R | A}} | |
1. Inward jump | +20 | 000 | R | A}} | |
1. Inward jump | +20 | 000 | R | A}} | |
1. Inward jump | -35 | 000 | R | A}} | |
1. Inward jump | +64 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
---|
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
3. First inward toggle | +39 | 000 | R | A}} | |
---|
4. Second outward slide | -50 | 000 | R | A}} | |
---|
4. Second outward slide | -50 | 000 | R | A}} | |
4. Second outward slide | -50 | 000 | R | A}} | |
4. Second outward slide | -50 | 000 | R | A}} | |
5. Second inward toggle | +50 | 000 | R | A}} | |
---|
6. Glide turn | -56 | 000 | | A}} | |
---|
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
7. Untilt | +61 | 000 | | A}} | |
---|
8. MT Spacing | 000 | 000 | | A}} | |
---|
⋮ | ⋮ | ⋮ | ⋮ | ⋮ | |
MT Phase | X | Y | R | A | Comment |
---|
1. Inward jump | +65 | 000 | R | A}} | |
---|
1. Inward jump | +65 | 000 | R | A}} | |
1. Inward jump | +65 | 000 | R | A}} | |
1. Inward jump | +20 | 000 | R | A}} | |
1. Inward jump | +20 | 000 | R | A}} | |
1. Inward jump | +65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
---|
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
2. First outward slide | -60 | 000 | R | A}} | |
3. First inward toggle | +39 | 000 | R | A}} | |
---|
4. Second outward slide | -50 | 000 | R | A}} | |
---|
4. Second outward slide | -50 | 000 | R | A}} | |
4. Second outward slide | -50 | 000 | R | A}} | |
4. Second outward slide | -50 | 000 | R | A}} | |
5. Second inward toggle | +40 | 000 | R | A}} | |
---|
6. Glide turn | -55 | 000 | | A}} | |
---|
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
7. Untilt | +65 | 000 | | A}} | |
---|
8. MT Spacing | 000 | 000 | | A}} | |
---|
⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
MT Phase | X | Y | R | A | Comment |
---|
1. Inward jump | +65 | 000 | R | A}} | |
---|
1. Inward jump | +65 | 000 | R | A}} | |
1. Inward jump | +65 | 000 | R | A}} | |
1. Inward jump | +65 | 000 | R | A}} | |
1. Inward jump | +65 | 000 | R | A}} | |
1. Inward jump | +65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
---|
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
2. First outward slide | -65 | 000 | R | A}} | |
3. First inward toggle | +39 | 000 | R | A}} | |
---|
4. Second outward slide | -50 | 000 | R | A}} | |
---|
4. Second outward slide | -50 | 000 | R | A}} | |
4. Second outward slide | -50 | 000 | R | A}} | |
4. Second outward slide | -50 | 000 | R | A}} | |
5. Second inward toggle | +39 | 000 | R | A}} | |
---|
6. Glide turn | -65 | 000 | | A}} | |
---|
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -65 | 000 | | A}} | |
6. Glide turn | -40 | 000 | | A}} | |
7. Untilt | +65 | 000 | | A}} | |
---|
8. MT Spacing | 000 | 000 | | A}} | |
---|
⋮ | ⋮ | ⋮ | ⋮ | ⋮ | |
MT in mneumonic formats:
|..| 65, 0,.................r|
|..| 20, 0,.................r|
|..| 20, 0,.................r|
|..| 20, 0,.................r|
|..| -35, 0,.................r|
|..| 65, 0,.................r|
|..| -65, 0,.................r|
|..| -65, 0,.................r|
|..| -60, 0,.................r|
|..| -60, 0,.................r|
|..| -60, 0,.................r|
|..| -60, 0,.................r|
|..| -60, 0,.................r|
|..| -60, 0,.................r|
|..| -60, 0,.................r|
|..| 39, 0,.................r|
|..| -50, 0,.................r|
|..| -50, 0,.................r|
|..| -50, 0,.................r|
|..| -50, 0,.................r|
|..| 39, 0,.................r|
|..| -65, 0,..................|
|..| -65, 0,..................|
|..| -65, 0,..................|
|..| -65, 0,..................|
|..| -65, 0,..................|
|..| -65, 0,..................|
|..| -65, 0,..................|
|..| -65, 0,..................|
|..| -65, 0,..................|
|..| -65, 0,..................|
|..| 63, 0,..................|
|..| 0, 0,..................|
Drafting
If you follow closely behind another character for several seconds, you receive a draft boost. This boost is not very significant, however, and an MT would be more effective in all known cases.
Back Up
Pressing "B" and down while stopped allows you to back up. One unique aspect of backing up is that acceleration is nearly instantaneous. A velocity of -12 (from 0) is achieved within [To Do: Calculate number] frames.
Methods of Turning
Degree of Turn | Method |
---|
Slight | Slight adjustments in direction can be made without losing much speed by nudging the control stick in the desired direction for a few frames and then nudging back in the opposite direction for one or two frames to untilt the kart and realign to the new path. This should only be done in a TAS if necessary but is common in realtime speedrunning to make small adjustments. |
Small | |
Normal | |
Tight | |
Spin | |
Driver Attributes
Classes
Capabilities
Acceleration curves
[To do: Add tables for each of the following, with a column for each character and a row for each frame (including a graph would also be helpful)]:
- Rocket Start (Use LR or BC)
- Hold "A" from stop
- Triple-Tap "A" from stop
- Triple-Tap "AB" from stop
- Respawn Rev
- Reverse
Off road
Turning
Weight
Driver States
Note: States are not (necessarily) mutually exclusive. Many can be active concurrently.
Bit | 0x0F6A4C | 0x0F6A4D | 0x0F6A4E | 0x0F6A4F | 0x0F6A5B |
---|
1000 0000 (128) | Boo active | Face south | Dazed (e.g. penguin hit) | Spin-out (hit object) | Frozen |
0100 0000 (64) | Struck by lightning | "REVERSE" | unknown | Spin-out "WHIRRR!" | unknown |
0010 0000 (32) | Outward sliding | Draft boost | Shrooming | AB Spinning | Defrosting |
0001 0000 (16) | unknown | Acceleration(type unknown) | CPU controlled (After losing GP race) | "BOING!" speed (can slide) | Frosty (blue tint after ice breaks) |
0000 1000 (8) | Un-flattening | Face south | Spin-out (banana) | Off Ground | Stuck (out of bounds) |
0000 0100 (4) | Flattened | unknown | Tumble rotation (momentum) | Zipper boost | Low opacity (Lakitu fade-out) |
0000 0010 (2) | Directional tumble (i.e. green shell) | Slightly off ground | Star power | Jumped (pressed "R") | Lakitu holding |
0000 0001 (1) | Vertical tumble (i.e. fake item box) | Wall tumble | MT boost active | Braking | Water (out of bounds) |
Other States
Driving while underwater is indicated by 0x0E9F74 = 1.
Shrooming
MT Boost
AB Spinning
Off ground
It is important to know when you are off the ground as this generally means that you are losing speed. Being on the ground allows you to maintain your speed while driving on flat ground, charge a MT more quickly and accelerate while going down hill. The acceleration possible while going downhill is significant but can be tricky to initiate as your kart will tend to want to go airborne on steeper slopes. The right combination of pre-jumping and/or tapping "A" can help stick your kart to the down-slope.
Kart Location / Speed
Shortcuts
Wall Jumps
Seam Jumps / Breaks
Tenko Jumps
Collision Jumps
Lakitu Warps
Lakitu Effect
Finish line glitches
Items
Probabilities
Item | Code | 1st | 2nd | 3rd | 4th | 5th | 6th | 7th | 8th |
---|
Banana | 1 | 30% | | | | | | | |
Banana Bunch | 2 | 5% | 5% | | | | | | |
Green Shell | 3 | 30% | 5% | | | | | | |
Triple Green Shell | 4 | 5% | 10% | 10% | | | | | |
Red Shell | 5 | 5% | 15% | 20% | 15% | 10% | | | |
Triple Red Shell | 6 | | 20% | 20% | 20% | 20% | 20% | 20% | 20% |
Spiny Shell | 7 | | | | 5% | 5% | 10% | 10% | 15% |
Thunder Bolt | 8 | | 5% | 5% | 10% | 10% | 15% | 20% | 20% |
Fake Item Box | 9 | 10% | 5% | | | | | | |
Super Star | A | | 5% | 10% | 15% | 15% | 20% | 30% | 30% |
Boo | B | 5% | 5% | | | | | | |
Mushroom | C | 10% | 5% | 5% | 5% | 5% | | | |
Triple Mushrooms | E | | 15% | 20% | 20% | 25% | 25% | 10% | 5% |
Super Mushroom | F | | 5% | 10% | 10% | 10% | 10% | 10% | 10% |
Total | | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% |
This table is a summary of the entries that start at memory address 0x1A7A90.
Item | Code | 1st | 2nd | 3rd | 4th | 5th | 6th | 7th | 8th |
---|
Banana | 1 | 60% | 50% | 40% | 35% | 30% | 30% | 30% | 25% |
Banana Bunch | 2 | | | | | | | | |
Green Shell | 3 | 25% | 25% | 25% | 25% | 20% | 20% | 20% | 20% |
Triple Green Shell | 4 | | 5% | 10% | 15% | 20% | 20% | 20% | 20% |
Red Shell | 5 | | | | | | | | |
Triple Red Shell | 6 | | | | | | | | |
Spiny Shell | 7 | | | | | | | | |
Thunder Bolt | 8 | | | | | | | | 1% |
Fake Item Box | 9 | 10% | 10% | 10% | 10% | 5% | 5% | | |
Super Star | A | | | | | 5% | 5% | 10% | 10% |
Boo | B | 5% | 5% | 5% | 5% | | | | |
Mushroom | C | | 5% | 10% | 10% | 20% | 20% | 20% | 24% |
Triple Mushrooms | E | | | | | | | | |
Super Mushroom | F | | | | | | | | |
Total | | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% |
This table is a summary of the entries that start at memory address 0x1A7DBO.
Item | Code | 1st | 2nd |
---|
Banana | 1 | 25% | |
Banana Bunch | 2 | 10% | 5% |
Green Shell | 3 | 30% | |
Triple Green Shell | 4 | 5% | 5% |
Red Shell | 5 | 5% | 5% |
Triple Red Shell | 6 | | 15% |
Spiny Shell | 7 | | 5% |
Thunder Bolt | 8 | | 15% |
Fake Item Box | 9 | 10% | |
Super Star | A | | 15% |
Boo | B | 5% | |
Mushroom | C | 10% | |
Triple Mushrooms | E | | 15% |
Super Mushroom | F | | 20% |
Total | | 100% | 100% |
This table is a summary of the entries that start at memory address 0x1A80D0.
Item | Code | 1st | 2nd | 3rd |
---|
Banana | 1 | 35% | 5% | |
Banana Bunch | 2 | 5% | 5% | |
Green Shell | 3 | 30% | | |
Triple Green Shell | 4 | | 10% | |
Red Shell | 5 | 5% | 15% | 10% |
Triple Red Shell | 6 | | 15% | 20% |
Spiny Shell | 7 | | | 10% |
Thunder Bolt | 8 | | 5% | 15% |
Fake Item Box | 9 | 10% | 5% | |
Super Star | A | | 5% | 15% |
Boo | B | 5% | 5% | |
Mushroom | C | 10% | 5% | |
Triple Mushrooms | E | | 20% | 20% |
Super Mushroom | F | | 5% | 10% |
Total | | 100% | 100% | 100% |
This table is a summary of the entries that start at memory address 0x1A8198.
Item | Code | 1st | 2nd | 3rd | 4th |
---|
Banana | 1 | 35% | 5% | | |
Banana Bunch | 2 | 5% | 5% | 5% | |
Green Shell | 3 | 30% | 5% | | |
Triple Green Shell | 4 | | 10% | 5% | |
Red Shell | 5 | 5% | 15% | 10% | |
Triple Red Shell | 6 | | 15% | 15% | 20% |
Spiny Shell | 7 | | | 5% | 10% |
Thunder Bolt | 8 | | | 10% | 15% |
Fake Item Box | 9 | 10% | 5% | 5% | |
Super Star | A | | 5% | 10% | 20% |
Boo | B | 5% | 5% | | |
Mushroom | C | 10% | 5% | 5% | |
Triple Mushrooms | E | | 25% | 25% | 25% |
Super Mushroom | F | | | 5% | 10% |
Total | | 100% | 100% | 100% | 100% |
This table is a summary of the entries that start at memory address 0x1A82C4.
Item | Code | Active Players |
---|
Banana | 1 | 10% |
Banana Bunch | 2 | 5% |
Green Shell | 3 | 5% |
Triple Green Shell | 4 | 20% |
Red Shell | 5 | 20% |
Triple Red Shell | 6 | |
Spiny Shell | 7 | |
Thunder Bolt | 8 | |
Fake Item Box | 9 | 15% |
Super Star | A | 20% |
Boo | B | 5% |
Mushroom | C | |
Triple Mushrooms | E | |
Super Mushroom | F | |
Total | | 100% |
This table is a summary of the entries that start at memory address 0x1A8454.
Manipulation
Lap Progress Trick
Miscellaneous Tricks
Shells
Item cancel jump.
Fake Item Box
Vertical speed multiplier
Bananas
Although probably not useful in a TAS, it's worth documenting that spinning out from a banana results in a set speed. Normally this speed is slower than you could otherwise travel. However, if you have been shrunken by lightning spinning out on a banana peel, the spin out speed is faster than you could otherwise travel.
Lag Reduction
Wide-Angle Camera helps...
Helpful Game Shark Codes
When testing new strategies, particularly shortcuts, it can be helpful to change some memory addresses to test concepts. The following codes are particularly helpful for this purpose:
"Turn in Mid Air"
800F6A4F 0000
D00F6915 0020
810F69C8 4000
800F699D 0000
"Drive Through Walls"
8002E000 0010
8002E058 0010