Difference between revisions of "Super Mario Bros.:RAM map"

From Data Crystal
Jump to navigation Jump to search
 
(Fixed the line breaks)
Line 4: Line 4:
  
 
0002 - Current y (vert) pos   
 
0002 - Current y (vert) pos   
 +
 
0005 - Current x (horz) pos  
 
0005 - Current x (horz) pos  
 +
 
000A - Button State (4 - A, 8 - B)  
 
000A - Button State (4 - A, 8 - B)  
 +
 
000B - Vertical direction pad State (4 - Down, 8 - Up)  
 
000B - Vertical direction pad State (4 - Down, 8 - Up)  
 +
 
000D - Button State (4 - A, 8 - B)  
 
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)
 
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)  
 
000F*- Enemy mode (00 - not shown, 01 - shown)  
 
   
 
   
 
0014*- Show sprite (bool)
 
0014*- Show sprite (bool)
 +
 
0016*- Current Enemy type 06 - goomba; 11 - lakitu; 2a - surfing lift
 
0016*- Current Enemy type 06 - goomba; 11 - lakitu; 2a - surfing lift
 +
 
001B*- Current power up 2E - Mushroom/fire
 
001B*- Current power up 2E - Mushroom/fire
 +
 
001D - 00 when standing, 01 when jumping, 02 when falling, 03 when sliding down flagpole
 
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
 
0023 - set to 80 when a power up on screen. if set above 06, game will run power up checking routine
 +
 
002A*- Coin anim (?)
 
002A*- Coin anim (?)
 +
 
002B*- Coin anim (?)
 
002B*- Coin anim (?)
 +
 
002C*- Coin anim (?)
 
002C*- Coin anim (?)
 +
 
002D*- Coin anim (?)
 
002D*- Coin anim (?)
 +
 
002E*- Coin anim (?)
 
002E*- Coin anim (?)
 +
 
002F*- Coin anim (?)
 
002F*- Coin anim (?)
  
 
0030*- Coin anim (?)
 
0030*- Coin anim (?)
 +
 
0031*- Coin anim (?)
 
0031*- Coin anim (?)
 +
 
0032*- Run 200pts animation or throw hammer (?)
 
0032*- Run 200pts animation or throw hammer (?)
 +
 
0033*- 00 to F1: face right, F2 - FF face left
 
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)
 
0039*- Power up type on screen (00 - mushroom, 01 - fire flower, 02 - starman, 03 - 1UP)
  
 
0045 - Mario Direction (01 - Right, 02 - Left)
 
0045 - Mario Direction (01 - Right, 02 - Left)
 +
 
0046 - Enemy Direction
 
0046 - Enemy Direction
 +
 
0047 - Enemy Direction
 
0047 - Enemy Direction
 +
 
004B - Mushroom Sprite Direction (01 - Right, 02 - Left)
 
004B - Mushroom Sprite Direction (01 - Right, 02 - Left)
  
 
0057 - horizontal speed (pos/neg)
 
0057 - horizontal speed (pos/neg)
 +
 
0058 - enemy speed (pos/neg)
 
0058 - enemy speed (pos/neg)
 +
 
0059 - enemy speed (pos/neg)
 
0059 - enemy speed (pos/neg)
 +
 
005A - enemy speed (pos/neg)
 
005A - enemy speed (pos/neg)
  
Line 43: Line 68:
  
 
0070 - current page (?)
 
0070 - current page (?)
 +
 
0071 - current page (?)
 
0071 - current page (?)
 +
 
0072 - current page (?)
 
0072 - current page (?)
 +
 
0073 - current page - 1 (?)
 
0073 - current page - 1 (?)
  
 
0086*- Mario x location
 
0086*- Mario x location
 +
 
0087*- current enemy 1 sprite x location
 
0087*- current enemy 1 sprite x location
 +
 
0088*- current enemy 2 sprite x location
 
0088*- current enemy 2 sprite x location
 +
 
008C*- current power up sprite x location
 
008C*- current power up sprite x location
  
Line 57: Line 88:
  
 
00CE*- Mario sprite y pos
 
00CE*- Mario sprite y pos
 +
 
00CF*- enemy 1 sprite y pos
 
00CF*- enemy 1 sprite y pos
  
 
00D0*- enemy 2 sprite y pos
 
00D0*- enemy 2 sprite y pos
 +
 
00D4*- Power up sprite y pos
 
00D4*- Power up sprite y pos
  
 
03AD - mario x pos
 
03AD - mario x pos
 +
 
03AE - enemy x pos
 
03AE - enemy x pos
  
 
03B8 - mario vertical pos
 
03B8 - mario vertical pos
 +
 
03B9 - enemy vertical pos
 
03B9 - enemy vertical pos
  
Line 77: Line 112:
  
 
0450 - F8 if running
 
0450 - F8 if running
 +
 
0456 - 28 if running
 
0456 - 28 if running
  
Line 82: Line 118:
  
 
04C4 - power up location 1
 
04C4 - power up location 1
 +
 
04C6 - power up location 2
 
04C6 - power up location 2
  
Line 87: Line 124:
  
 
06D4 - gold color cycle
 
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)
 
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)
  
Line 92: Line 130:
  
 
0700 - x speed
 
0700 - x speed
 +
 
0701 - is skidding
 
0701 - is skidding
 +
 
0702 - E4 - is running, 30 - skidding, 98 normal
 
0702 - E4 - is running, 30 - skidding, 98 normal
 +
 
0705 - some kind of horizontal movement counter, doesnt count while in air
 
0705 - some kind of horizontal movement counter, doesnt count while in air
 +
 
070B - if true, runs big-small animation (doesnt affect state though)
 
070B - if true, runs big-small animation (doesnt affect state though)
  
 
0714*- 04 when crouching
 
0714*- 04 when crouching
 +
 
071A - current level room
 
071A - current level room
 +
 
071B - next level room
 
071B - next level room
 +
 
071C*- affects marios Horiz pos (on screen only though?)
 
071C*- affects marios Horiz pos (on screen only though?)
 +
 
071D*- affects marios Horiz pos (on screen only though?)
 
071D*- affects marios Horiz pos (on screen only though?)
 +
 
071F - scroll speed?
 
071F - scroll speed?
  
 
0743 - if true, is cloud level (game sets to $03), can be set mid level
 
0743 - if true, is cloud level (game sets to $03), can be set mid level
 +
 
0744 - affects background color
 
0744 - affects background color
 +
 
0747 - timer (?) pauses enemies while set
 
0747 - timer (?) pauses enemies while set
 +
 
074A - Buttons pressed
 
074A - Buttons pressed
 +
 
074E - "Gold" block pallette - 00 turns blocks into water world and makes bubble, but no swimming
 
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
 
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
 
0753 - affects mario/luigi if set before level load, but prevents movement in level if not 00
 +
 
0754 - if true, is small
 
0754 - if true, is small
 +
 
0756 - power up state (small/big/fire)
 
0756 - power up state (small/big/fire)
 +
 
0757 - set to 01 during "prelevel" screen
 
0757 - set to 01 during "prelevel" screen
 +
 
075A - lives
 
075A - lives
 +
 
075E - coins
 
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 )
 
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
 
0771
 +
 
0772*- 00 restarts level
 
0772*- 00 restarts level
 +
 
0773*- Level palette (00 - normal, 01 - underwater, 02 - night, 03 - underground, 04 - castle)
 
0773*- Level palette (00 - normal, 01 - underwater, 02 - night, 03 - underground, 04 - castle)
 +
 
0774 - ?? changes on game and level start. crashes game if changed
 
0774 - ?? changes on game and level start. crashes game if changed
 +
 
0775 - scroll speed (?)
 
0775 - scroll speed (?)
 +
 
0776*- is paused (bool)
 
0776*- is paused (bool)
 +
 
0777 - timer (set when pausing/unpausing
 
0777 - timer (set when pausing/unpausing
 +
 
0778*- affects blocks
 
0778*- affects blocks
 +
 
0779*- affects colors.. most values crash, 1E default, 1F makes it grey scale
 
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
 
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)
 
0780*- timer - (all timers count down from whatever value they are set to)
 +
 
0781*- timer - fired when fireball shot
 
0781*- timer - fired when fireball shot
 +
 
0782*- timer - fired when jumping
 
0782*- timer - fired when jumping
 +
 
0783*- timer
 
0783*- timer
 +
 
0784*- timer
 
0784*- timer
 +
 
0785*- timer
 
0785*- timer
 +
 
0786*- timer
 
0786*- timer
 +
 
0787 - ??
 
0787 - ??
 +
 
0788*- timer
 
0788*- timer
 +
 
0789 - ??
 
0789 - ??
 +
 
078A*- timer
 
078A*- timer
 +
 
078B*- timer
 
078B*- timer
 +
 
078C*- timer
 
078C*- timer
 +
 
078D*- timer
 
078D*- timer
 +
 
078E*- timer
 
078E*- timer
 +
 
078F*- timer
 
078F*- timer
  
 
0790*- timer
 
0790*- timer
 +
 
0791*- timer -
 
0791*- timer -
 +
 
0792*- timer
 
0792*- timer
 +
 
0793*- timer
 
0793*- timer
 +
 
0794*- timer
 
0794*- timer
 +
 
0795*- timer - fired when you fall down a pit
 
0795*- timer - fired when you fall down a pit
 +
 
0796*- timer -
 
0796*- timer -
 +
 
0797*- timer
 
0797*- timer
 +
 
0798*- timer
 
0798*- timer
 +
 
0799*- timer
 
0799*- timer
 +
 
079A*- timer
 
079A*- timer
 +
 
079B*- timer
 
079B*- timer
 +
 
079C*- timer
 
079C*- timer
 +
 
079D*- timer
 
079D*- timer
 +
 
079E*- flashing timer (when you get hit and are invincible for a short while)
 
079E*- flashing timer (when you get hit and are invincible for a short while)
 +
 
079F*- starman timer
 
079F*- starman timer
  
 
07A0*- timer - "prelevel" screen timer, fired again when level starts
 
07A0*- timer - "prelevel" screen timer, fired again when level starts
 +
 
07A1*- timer
 
07A1*- timer
 +
 
07A2*- timer - counts how long before demo is run on main screen
 
07A2*- timer - counts how long before demo is run on main screen
 +
 
07A7 - ?? rapidly changing even when paused
 
07A7 - ?? rapidly changing even when paused
 +
 
07A8 - ?? rapidly changing even when paused
 
07A8 - ?? rapidly changing even when paused
 +
 
07A9 - ?? rapidly changing even when paused
 
07A9 - ?? rapidly changing even when paused
 +
 
07AA - ?? rapidly changing even when paused
 
07AA - ?? rapidly changing even when paused
 +
 
07AB - ?? rapidly changing even when paused
 
07AB - ?? rapidly changing even when paused
 +
 
07AC - ?? rapidly changing even when paused
 
07AC - ?? rapidly changing even when paused
 +
 
07AD - ?? 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)
 
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)
 
07BD*- timer (?) 10 when mushroom/fireflower block last hit (fired when power up grabbed or coin block hit)
  
 
07D7*- high score - 1000000s
 
07D7*- high score - 1000000s
 +
 
07D8*- high score - 100000s
 
07D8*- high score - 100000s
 +
 
07D9*- high score - 10000s
 
07D9*- high score - 10000s
 +
 
07DA*- high score - 1000s
 
07DA*- high score - 1000s
 +
 
07DB*- high score - 100s
 
07DB*- high score - 100s
 +
 
07DC*- high score - 10s
 
07DC*- high score - 10s
 +
 
07DD*- mario score 1000000s
 
07DD*- mario score 1000000s
 +
 
07DE*- mario score - 100000s
 
07DE*- mario score - 100000s
 +
 
07DF*- mario score - 10000s
 
07DF*- mario score - 10000s
  
 
07E0*- mario score - 1000s
 
07E0*- mario score - 1000s
 +
 
07E1*- mario score - 100s
 
07E1*- mario score - 100s
 +
 
07E2*- mario score - 10s
 
07E2*- mario score - 10s
 +
 
07E3*- luigi score 1000000s
 
07E3*- luigi score 1000000s
 +
 
07E4*- luigi score - 100000s
 
07E4*- luigi score - 100000s
 +
 
07E5*- luigi score - 10000s
 
07E5*- luigi score - 10000s
 +
 
07E6*- luigi score - 1000s
 
07E6*- luigi score - 1000s
 +
 
07E7*- luigi score - 100s
 
07E7*- luigi score - 100s
 +
 
07E8*- luigi score - 10s
 
07E8*- luigi score - 10s
 +
 
07ED*- coins 10s (on screen only)
 
07ED*- coins 10s (on screen only)
 +
 
07EE*- coins 1s (on screen only)
 
07EE*- coins 1s (on screen only)
  
 
07F8*- time - 100s
 
07F8*- time - 100s
 +
 
07F9*- time - 10s
 
07F9*- time - 10s
 +
 
07FA*- time - 1s
 
07FA*- time - 1s
 +
 
07FC*- if true, game is harder (set after you beat the game)
 
07FC*- if true, game is harder (set after you beat the game)

Revision as of 19:28, 10 October 2005

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)