Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Super Mario Bros. 2 (NES)/RAM map

From Data Crystal
< Super Mario Bros. 2 (NES)
Revision as of 05:18, 3 December 2005 by 164.58.59.30 (talk) (Many RAM Addresses)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Random findings by a variety of people. I can't remember exactly who found what, so here it is. Some is from Acmlm, BMF, Dan, Rockman, Chickenlump, and myself (Ice Ranger).
$0014 - Page of main character's X position
$001E - Page of main character's Y position

$0028 - Fraction of main character's X position on page
$0029 - Fraction of enemy 5's X position on page
$002A - Fraction of enemy 4's X position on page
$002B - Fraction of enemy 3's X position on page
$002C - Fraction of enemy 2's X position on page
$002D - Fraction of enemy 1's X position on page

$0033 - Fraction of enemy 5's Y position on page
$0034 - Fraction of enemy 4's Y position on page
$0035 - Fraction of enemy 3's Y position on page
$0036 - Fraction of enemy 2's Y position on page
$0037 - Fraction of enemy 1's Y position on page

$003C - Enemy 5's speed left/right
$003D - Enemy 4's speed left/right
$003E - Enemy 3's speed left/right
$003F - Enemy 2's speed left/right
$0040 - Enemy 1's speed left/right

$0046 - main character's jumping physics
$0047 - enemy 5's jumping physics
$0048 - enemy 4's jumping physics
$0049 - enemy 3's jumping physics
$004A - Enemy 2's jumping physics
$004B - Enemy 1's jumping physics

$0050 - Is character on a vine? If 01, then yes.
......00 - no
......01 - yes

$0051 - Enemy 5's status
$0052 - Enemy 4's status
$0053 - Enemy 3's status
$0054 - Enemy 3's status
$0055 - Enemy 2's status
......00 - Invisable
......01 - Visable
......02 - Dead

$005A - Enemy 5's relation to main character/landscape
$005B - Enemy 4's relation to main character/landscape
$005C - Enemy 3's relation to main character/landscape
$005D - Enemy 2's relation to main character/landscape
$005E - Enemy 1's relation to main character/landscape
......00 - not on the ground (could be jumping or being thrown)
......04 - walking
......05 - turn left because object blocks path
......06 - turn right because object blocks path
......20 - carrying main character when reaching an edge to turn around
......24 - carrying main character with same speed as movement

$0065 - Enemy 5's palette, mirroring, etc.
$0066 - Enemy 4's palette, mirroring, etc.
$0067 - Enemy 3's palette, mirroring, etc.
$0068 - Enemy 2's palette, mirroring, etc.
$0069 - Enemy 1's palette, mirroring, etc.

$0082 -

$0085 - Amount of time left until Mario becomes vulnerable
$0086 - Amount of time left?
$0087 - Amount of time left before Bob Omb 5 explodes
$0088 - Amount of time left before Bob Omb 4 explodes
$0089 - Amount of time left before Bob Omb 3 explodes
$008A - Amount of time left before Bob Omb 2 explodes
$008B - Amount of time left before Bob Omb 1 explodes
$008C - Amount of time left before Bomb 1 explodes
$008D - Amount of time left before Bomb 2 explodes
$008E - Amount of time left before Bomb 3 explodes
$008F - Character selected (appearance only, until defeated, then stats as well)
......00 - Mario
......01 - Princess
......02 - Toad
......03 - Luigi
$0090 - Changes enemy 5's ID
$0091 - Changes enemy 4's ID
$0092 - Changes enemy 3's ID
$0093 - Changes enemy 2's ID
$0094 - Changes enemy 1's ID

$0096 - Item pulled up from ground

$0099 - Sprite graphics used when jumping
$009A - Drop through
$009B - Sprite graphics used when walking

$009C - Status - Holding an item
......00 = no
......01 = yes
$009D - Character's mirroring, etc. (not palette)
$00A3 - Changes once for everytime Tweeter jumps

$00AD - Is key held? Key appears above head even if thrown, but then not chased.
......00 - no
......01 - yes
$00AE - Item in hand height (used for different character sizes?)

$00B9 - Current time left to use Pidget's carpet
$00BA - Screen speed moving left and right

$00C7 - Character's status

$00D5 -
$00D6 -
$00D7 -

$00F5 - Button pressed (Controller 1)
$00F6 - Button pressed (Controller 2)
$00F7 - Button held (Controller 1)
>>>>>>>>>> Directional Pad
......*0 - no movement
......*1 - Right
......*2 - Left
......*3 - Left + Right
......*4 - Down
......*5 - Down + Right
......*6 - Down + Left
......*7 - Down + Left + Right
......*8 - Up
......*9 - Up + Right
......*A - Up + Left
......*B - Up + Left + Right
......*C - Up + Down
......*D - Up + Down + Right
......*E - Up + Down + Left
......*F - Up + Down + Left + Right
>>>>>>>>>> Buttons
......0* - not pressed
......1* - Start
......2* - Select
......3* - Start + Select
......4* - B
......5* - Start + B
......6* - Select + B
......7* - Start + Select + B
......8* - A
......9* - Start + A
......A* - Select + A
......B* - Start + Select + A
......C* - A + B
......D* - Start + A + B
......E* - Select + A + B
......F* - Start + Select + A + B
$00F8 - Button held (Controller 2)

$0100 - (screen hold?)

$0246 - !!!!!!!!!

$0415 - the rising of the heart
$0416 - Height of whale's spout after peaking.

$0456 - Current time left Hawkmouth (before Wart) is open

$0465 - Enemy 5's health
$0466 - Enemy 4's health
$0467 - Enemy 3's health
$0468 - Enemy 2's health
$0469 - Enemy 1's health

$0471 - look into

$0484 - look into

$04B4 - Something to do with the Hawkmouth opening and closing

$04AD - Current number of enemies defeated to grab a heart.

$04B0 - Has Key been used on lock? If yes, then it won't reappear.
......00 - no
......01 - yes

$04B4 - How wide Hawkmouth is open
$04B5 - Has the Crystal been obtained? If yes, effect will last while in area.
......00 - no
......01 - yes
$04B6 - look into

$04BE - Time counts up for how long the door takes to open

$04C2 - Current life in the life meter
......0F - One heart
......1F - Two hearts
......2F - Three hearts
......3F - Four hearts

$04C3 - Number of bars in the life meter (for visual purposes only)
......FF - One bar (doesn't work very well)
......00 - Two bars (default)
......01 - Three bars
......02 - Four bars
$04C4 - Amount of time left for the screen to shake after POW
$04C5 - Height to raise and lower the "level" for shake
$04C6 - Amount of time left for bomb flash in background

$04CA - Amount of time to build up to charged jump

$04E0 - Current Starman time length left

$04E7 - Area to regenerate
$04E8 - Sub-area to regenerate
$04E9 - Page to regenerate

$04EC - I can't describe this one.
......00 - normal game play
......01 - begin the same level and area again (like dying revive)
......02 - game over
......03 - end level, go to bonus game
......04 - warp
$04ED - Current number of lives

$04FB - Has First Mushroom been pulled? If yes, then it won't reappear.
......00 - no
......01 - yes
$04FC - Has Second Mushroom been pulled? If yes, then it won't reappear.
......00 - no
......01 - yes

$04FF - Current amount of time left from the stop watch.

$051D - look into

$0521 - look into

$0531 - Current level loaded
......00 - 1-1
......01 - 1-2
......02 - 1-3
......03 - 2-1
......04 - 2-2
......05 - 2-3
......06 - 3-1
......07 - 3-2
......08 - 3-3
......09 - 4-1
......0A - 4-2
......0B - 4-3
......0C - 5-1
......0D - 5-2
......0E - 5-3
......0F - 6-1
......10 - 6-2
......11 - 6-3
......12 - 7-1
......13 - 7-2

$0532 - look into
$0533 - look into

$0544 - look into
$0545 - look into
$0546 - Pickup Speed Animation 1
$0547 - Pickup Speed Animation 2
$0548 - Pickup Speed Animation 3
$0549 - Pickup Speed Animation 4
$054A - Pickup Speed Animation 5
$054B - Pickup Speed Animation 6

$054D - Standing Jump Height
$054E - Crouching Power Jump Height

$0550 - Running Jump Height
$0551 - Running Jump Height while carrying object

$0553 - Float Timer (set to 0 for everyone but Princess)

$0545 - look into

$0555 - Character's Jumping physics?

$05C5 - Current number of Continues

$05EE - Current music track?
$05EF - Current music track?

$0600 - Loads the current song track
$0601 - Plays a sound effect
$0602 - Plays a sound effect
$0603 - Plays a small clip of music (and also for ending sequence)
$0604 - Character's sound effects
$0605 - POW sound effects
$0606 - Stores sound effect from $0603 played
$0607 - Stores sound effect from $0602 played
$0608 - Stores sound effect from $0601 played
$0609 - Stores music track from $0600 played

$0612 - Current music tempo

$0620 - Has 1-up been pulled? If yes, then it won't reappear.
......00 - no
......01 - yes
$0621 - Number of times leaving Subspace aftering grabbing a coin
......00 - 1st chance to grab coins
......01 - 2nd chance to grab coins
......02 - No more chances, get vegetables.

$0628 - Are you in subspace?
......00 - no
......02 - yes (doesn't work for vertical areas)
$0629 - look into
$062A - Current number of cherries
$062B - Current number of coins pulled in Subspace (Slot machine currency)
$062C - Current number of BIG vegetables pulled for stop watch

$0635 - Current World number (loads characteristics of world such as Ice)

$06F2 - !!!!!

$06F4 - look into!

$06F6 - Character growing or shrinking

$06F7 - Current Level Tileset (1st half of the right Table)
$06F8 - Current Cycling Sprite Tileset (2nd half of the right Table)
$06F9 - Current Character (Appearance,not stats) (1st quarter of left Table)
......00 - Large Mario
......01 - Large Luigi
......02 - Large Princess
......03 - Large Toad
......04 - Small Mario
......05 - Small Luigi
......06 - Small Princess
......07 - Small Toad
$06FA - Current standard sprites (Snifits, Hawkmouth, etc.) (2nd quarter of left Table)
$06FB - Current standard sprites (1-Up, Birdo, etc.) (3rd quarter of left Table)
$06FC - Current changable sprites (Ostro, Pidget, Pokey, etc.) (4th quarter of left Table)
$06FD - Current animation of $06F8 (Cycling sprites)


$0700 ~ $07FF - Subspace and jars

$14CA - Timer for crouch jump power (0 - 3C)

$6000 ~ $695F - Currently loaded level (Almost half the SRAM)