Super Mario Bros.:RAM map

From Data Crystal
Revision as of 18:06, 8 October 2005 by Gau (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

RAM - Purpose

0002 - Current y (vert) pos 0005 - Current x (horz) pos 000A - Button State (4 - A, 8 - B) 000B - Vertical direction pad State (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 cant 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 - power up state (small/big/fire) 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)