If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Super Mario Bros./RAM map
Jump to navigation
Jump to search
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 versions.
Table
RAM | Information | ||||||
---|---|---|---|---|---|---|---|
0002 | Y-axis position (for Mario) | ||||||
0005 | X-axis position (for Mario) | ||||||
000A | Button state
| ||||||
000B | Direction-pad state (vertical)
| ||||||
000D | Button state
| ||||||
000E* | Mario mode
| ||||||
000F* | Enemy mode
| ||||||
0014* | Show sprite (bool) | ||||||
0016* | Current enemy type
| ||||||
001B* | Current power-up
| ||||||
001D | Indication value for Mario
| ||||||
0023 | Indication value for power-ups
| ||||||
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)
| ||||||
0039* | Power-up type on screen
| ||||||
0045 | Facing direction (for Mario)
| ||||||
0046 | Enemy Direction | ||||||
0047 | Enemy Direction | ||||||
004B | Mushroom Sprite Direction
| ||||||
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
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 |