Super Mario Bros./RAM map

From Data Crystal
< Super Mario Bros.
Revision as of 10:39, 25 October 2005 by AnyoneEB (talk | contribs) (Added {{rammap}})
Jump to navigation Jump to search

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

This data was found by acmlm board member frantik. It is currently posted here exactly as it was posted on the acmlm board.

(With minor updates. - 47)


RAM Purpose
0002 Current y (vert) pos
0005 Current x (horz) pos
000A Button State (4 - A, 8 - B)
000B Pad State - Vertical (4 - Down, 8 - Up)
000D Button State (4 - A, 8 - B)
000E* Mario mode
00 Move Mario to left side of screen.
01 Climbing up vine.
02 Went in pipe.
03 Pipe2
04,05 Autowalk
06 Mario dies.
08 Normal
09 Mario can't move.

Higher numbers crash emu.

000F* Enemy mode (00 - not shown, 01 - shown)
0014* Show sprite (bool)
0016* Current Enemy type 06 - goomba; 11 - lakitu; 2a - surfing lift
001B* Current power up 2E - Mushroom/fire
001D 00 when standing, 01 when jumping, 02 when falling, 03 when sliding down flagpole
0023 set to 80 when a power up on screen. if set above 06, game will run power up checking routine
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* 00 to F1: face right, F2 - FF face left
0039* Power up type on screen (00 - mushroom, 01 - fire flower, 02 - starman, 03 - 1UP)
0045 Mario Direction (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* Mario x location
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 fire ball counter (?) increases when fireball thrown
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
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)