Difference between revisions of "Super Mario Kart:RAM map"

From Data Crystal
Jump to navigation Jump to search
Line 1: Line 1:
 
{{rammap|game=Super Mario Kart}}
 
{{rammap|game=Super Mario Kart}}
 
Locations of variables in RAM,
 
Locations of variables in RAM,
for the US version of Super Mario Kart for the Super NES. These were ascertained for Player 1 using bowser on 150cc mode (shouldn't make a difference, though)
+
for the US version of Super Mario Kart for the Super NES. These were ascertained for Player 1 using Bowser on 150cc mode (shouldn't make a difference, though)
 
<pre>
 
<pre>
 
Player kart position coordinates, 2 unsigned bytes each:
 
Player kart position coordinates, 2 unsigned bytes each:
Line 79: Line 79:
 
finished = 133
 
finished = 133
  
collision detection, unsigned byte: 7E1052
+
Collision detection, unsigned byte: 7E1052
 
not collision = 0
 
not collision = 0
 
collision = 7, then one less each frame down to 0
 
collision = 7, then one less each frame down to 0
  
 
Gopher attatched to kart, unsigned byte: 7E1061
 
Gopher attatched to kart, unsigned byte: 7E1061
No = 0
+
no = 0
Yes = 152 / 153
+
yes = 152 / 153
  
 
Mushroom shrunk, unsigned byte: 7E1030  
 
Mushroom shrunk, unsigned byte: 7E1030  
Line 91: Line 91:
 
yes = 128
 
yes = 128
  
Boost counter (undocumented feature - charge it by holding accelerate,{L or R} and {right or left},
+
Boost-counter (undocumented feature - see http://tasvideos.org/SuperMarioKartPhysics.html).
once it goes above 127 stop charging it and you'll get a short speed boost once you next straighten out and aren't drifting sideways. This speed boost stops once you press L or R).
 
 
Two unsigned bytes: 7E10CA
 
Two unsigned bytes: 7E10CA
 
</pre>
 
</pre>

Revision as of 00:55, 24 July 2006

Locations of variables in RAM, for the US version of Super Mario Kart for the Super NES. These were ascertained for Player 1 using Bowser on 150cc mode (shouldn't make a difference, though)

Player kart position coordinates, 2 unsigned bytes each:
7E008C = how far south
7E0088 = how far east
So the 'origin' of the map is in the North West (top left)

How many coins, unsigned byte: 7E0E00

Player kart facing angle, 2 unsigned bytes: 7E0095
north = 0
east = 64
south = 128
west = 192

Player kart speed, 2 signed bytes each:
speed to the east = 7E1022
speed to the south = 7E1024

Skidding/spin out of control, 2 signed bytes: 7E10AA
Not skidding = 0
Skidding a little to the right = -1 to about -12000
Skidding a little to the left = 1 to about 12000
Spinning out of control = more than about +/- 16500
(eg hit a bananna skin, shell, etc)

Items, 2 unsigned bytes: (7E0D70, 7E0C69)
nothing = (0,60)
mushroom = (0,52)
feather = (1,52)
star = (2,56)
banana = (3,56)
green shell = (4,48)
red shell = (5,52)
coin = (7,56)
lightning = (8,56)
selecting/spinning = (0-8,?)

Height in hop/jump/ramp, 2 unsigned bytes: 7E101F
on ground = 0
above ground = 1+

Status, unsigned byte: 7E10A0
on the ground = 0
jump/hop/ramp = 2
fallen off edge = 4
in lava = 6
in deep water = 8

Surface type, unsigned byte: 7E10AE
unused power up square = 20
deep water = 34
mario circuit road / ghost valley road / used power up square / rainbow road = 64
bowser castle = 68
doughnut plains track = 70
koopa beach sand = 74
choco island track = 76
ghost valley rough bit / bowser castle rough bit / ice = 78
choco island bridges = 80
choco island slightly rough bit of track = 82
mario circuit off road = 84
choco island off road = 86
snow = 88
koopa beach bushes / doughnut plains grass = 90
shallow-water = 92
mud puddle = 94

Lap number, two variables, both unsigned bytes:
byte 7E10C1 = lap you're currently on
byte 7E10F9 = maximum lap you've reached
0 = 127
1 = 128
2 = 129
3 = 130
4 = 131
5 = 132
finished = 133

Collision detection, unsigned byte: 7E1052
not collision = 0
collision = 7, then one less each frame down to 0

Gopher attatched to kart, unsigned byte: 7E1061
no = 0
yes = 152 / 153

Mushroom shrunk, unsigned byte: 7E1030 
no = 0
yes = 128

Boost-counter (undocumented feature - see http://tasvideos.org/SuperMarioKartPhysics.html).
Two unsigned bytes: 7E10CA