Super Mario Bros./RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Super Mario Bros..

This data is relevant to Super Mario Bros. (JU) (PRG0) [!] and may not be correct for other dumps.

Table

RAM Information
0001 Mario's Animation
0002 Y-axis position (for Mario)
0003 Direction Mario's facing
0004 How much to load?
0005 X-axis position (for Mario)
000A Button state
  • 00 - No button
  • 04 - A
  • 08 - B
000B Direction-pad state (vertical)
  • 04 - Down
  • 08 - Up
000D Button state
  • 00 - No button
  • 04 - A
  • 08 - B
000E* Mario mode
  • 00 - Leftmost of screen
  • 01 - Climbing vine
  • 02 - Entered pipe
  • 03 - Pipe2
  • 04 - Autowalk
  • 05 - Autowalk
  • 06 - Mario dies
  • 08 - Normal
  • 09 - Cannot move
  • 0B - Dying
  • 0C - Pallete Cycling, Can't move
000F* Enemy mode
  • 00 - Not shown
  • 01 - Shown
0014* Show sprite (bool)
0016* Current enemy type 1
  • 00 - Green Koopa
  • 01 - Red Koopa
  • 02 - Buzzy Beetle
  • 03 - Red Koopa
  • 04 - Green Koopa
  • 05 - Hammer Brother
  • 06 - Goomba
  • 07 - Blooper
  • 08 - Bullet Bill (low)
  • 09 - Green Koopa Paratroopa
  • 10 - Flying Green Koopa Paratroopa
  • 11 - Lakitu
  • 12 - Spiny
  • 13 - Bizzare
  • 14 - Airborne Fish
  • 15 - crashes game
  • 16 - Fire from Bowser
  • 17 - Bullet Bill (high)
  • 18 - Goomba
  • 19 - nada
  • 20 - fire thingy
  • 2A - Surfing Lift
0017 Current enemy type 2
0018 Current enemy type 3
0019 Current enemy type 4
0019 Current enemy type 5
001B* Current power-up
  • 2E - Mushroom/Fire
001D Indication value for Mario
  • 00 - Standing
  • 01 - Jumping
  • 02 - Falling
  • 03 - Sliding down flagpole
0023 Indication value for power-ups
  • 06+ - Power-up checking routine is run
  • 80 - Power-up on screen
002A* Coin anim (?)
002B* Coin anim (?)
002C* Coin anim (?)
002D* Coin anim (?)
002E* Coin anim (?)
002F* Coin anim (?)
0030* Coin anim (?)
0031* Coin anim (?)
0032* Run 200pts animation or throw hammer (?)
0033* Facing direction (for Mario)
  • 00 - F1 - Right
  • F2 - FF - Left
0039* Power-up type on screen
  • 00 - Mushroom
  • 01 - Fire Flower
  • 02 - Starman
  • 03 - 1UP)
0045 Facing direction (for Mario)
  • 01 - Right
  • 02 - Left
0046 Enemy Direction
0047 Enemy Direction
004B Mushroom Sprite Direction
  • 01 - Right
  • 02 - Left
0057 Horizontal speed (pos/neg)
0058 Enemy speed (pos/neg)
0059 Enemy speed (pos/neg)
005A Enemy speed (pos/neg)
006D* Horitonal position (?)
0070 Current page (?)
0071 Current page (?)
0072 Current page (?)
0073 Current page - 1 (?)
0086* X-axis position (for Mario)
0087* Current enemy 1 sprite x location
0088* Current enemy 2 sprite x location
008C* Current power up sprite x location
009F Vertical speed
00B5 Appears to be the screen height multiplier (ie [mario's y location at 00CE] * [this byte] = [mario's true y val])
00CE* Mario sprite y pos
00CF* Enemy 1 sprite y pos
00D0* Enemy 2 sprite y pos
00D4* Power up sprite y pos
03AD Mario x pos
03AE Enemy x pos
03B8 Mario vertical pos
03B9 Enemy vertical pos
03C4* Mario palette #
0400 Horizontal movement counter
0416 Mario vert position
0433 Mario vertical speed
0450 F8 if running
0456 28 if running
0490* FF normal game play allows horizontal movement
04C4 power up location 1
04C6 power up location 2
06CE Uses Bit 0 to toggle between the 2 fireballs
06D4 gold color cycle
06D5 Mario state (?) (B8 - small stand, [60, 70, 80] - small walk cycle, C8 - big stand, 20 - big jump, [00, 10, 20] - bigwalk cycle, 50 - crouch)
06FC buttons pressed
0700 x speed
0701 is skidding
0702 E4 - is running, 30 - skidding, 98 normal
0705 some kind of horizontal movement counter, doesnt count while in air
070B if true, runs big-small animation (doesnt affect state though)
0714* 04 when crouching
071A current level room
071B next level room
071C* affects marios Horiz pos (on screen only though?)
071D* affects marios Horiz pos (on screen only though?)
071F scroll speed?
0743 if true, is cloud level (game sets to $03), can be set mid level
0744 affects background color
0747 timer (?) pauses enemies while set
074A Buttons pressed
074E "Gold" block pallette - 00 turns blocks into water world and makes bubble, but no swimming
0752 if not 00 will crash game when level load
0753 affects mario/luigi if set before level load, but prevents movement in level if not 00
0754 if true, is small
0756 Player Power-Up State
0 Small Mario
1 Big Mario
2> Fire Flower Mario

Does not alter sprite or color palette (i.e. small Mario fires fireballs)

0757 set to 01 during "prelevel" screen
075A lives
075E coins
075F Current World number minus one. This gets set to 23 when warp glitch in 1-2 takes you to level -1
0770* game mode (00 - demo, 01 - normal, 02 - End World, 03 - End Game (?) ) (set to 01 at the title screen and you start the game with the title screen showing )
0771
0772* 00 restarts level
0773* Level palette (00 - normal, 01 - underwater, 02 - night, 03 - underground, 04 - castle)
0774 ?? changes on game and level start. crashes game if changed
0775 scroll speed (?)
0776* is paused (bool)
0777 timer (set when pausing/unpausing
0778* affects blocks
0779* affects colors.. most values crash, 1E default, 1F makes it grey scale
077A* if true, will load luigi when mario dies. you have to unset 0753 to move with luigi though
0780* timer - (all timers count down from whatever value they are set to)
0781* timer - fired when fireball shot
0782* timer - fired when jumping
0783* timer
0784* timer
0785* timer
0786* timer
0787 ??
0788* timer
0789 ??
078A* timer
078B* timer
078C* timer
078D* timer
078E* timer
078F* timer
0790* timer
0791* timer
0792* timer
0793* timer
0794* timer
0795* timer - fired when you fall down a pit
0796* timer
0797* timer
0798* timer
0799* timer
079A* timer
079B* timer
079C* timer
079D* timer
079E* flashing timer (when you get hit and are invincible for a short while)
079F* starman timer
07A0* timer - "prelevel" screen timer, fired again when level starts
07A1* timer
07A2* timer - counts how long before demo is run on main screen
07A7 ?? rapidly changing even when paused
07A8 ?? rapidly changing even when paused
07A9 ?? rapidly changing even when paused
07AA ?? rapidly changing even when paused
07AB ?? rapidly changing even when paused
07AC ?? rapidly changing even when paused
07AD ?? rapidly changing even when paused
07B1* if true, you wont "die" after falling or getting hit while small. you will be unable to move at the bottom of the screen though until you set it to 00)
07BD* timer (?) 10 when mushroom/fireflower block last hit (fired when power up grabbed or coin block hit)
07D7* high score - 1000000s
07D8* high score - 100000s
07D9* high score - 10000s
07DA* high score - 1000s
07DB* high score - 100s
07DC* high score - 10s
07DD* mario score - 1000000s
07DE* mario score - 100000s
07DF* mario score - 10000s
07E0* mario score - 1000s
07E1* mario score - 100s
07E2* mario score - 10s
07E3* luigi score - 1000000s
07E4* luigi score - 100000s
07E5* luigi score - 10000s
07E6* luigi score - 1000s
07E7* luigi score - 100s
07E8* luigi score - 10s
07ED* coins 10s (on screen only)
07EE* coins 1s (on screen only)
07F8* time - 100s
07F9* time - 10s
07FA* time - 1s
07FC* if true, game is harder (set after you beat the game)
17A2 timer for demo start