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. 2 (NES)/RAM map: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 10: | Line 10: | ||
* $062B - Current number of coins pulled in Subspace (Slot machine currency) | * $062B - Current number of coins pulled in Subspace (Slot machine currency) | ||
* $062C - Current number of BIG vegetables pulled for stop watch | * $062C - Current number of BIG vegetables pulled for stop watch | ||
* $062D - Number of levels finished as Mario | |||
* $062E - Number of levels finished as Princess | |||
* $062F - Number of levels finished as Toad | |||
* $0630 - Number of levels finished as Luigi | |||
==Sprite Related== | ==Sprite Related== |
Revision as of 16:25, 29 April 2010
The following article is a RAM map for Super Mario Bros. 2 (NES).
RAM
Counters
- $04ED - Current number of lives
- $05C5 - Current number of Continues
- $062A - Current number of cherries
- $062B - Current number of coins pulled in Subspace (Slot machine currency)
- $062C - Current number of BIG vegetables pulled for stop watch
- $062D - Number of levels finished as Mario
- $062E - Number of levels finished as Princess
- $062F - Number of levels finished as Toad
- $0630 - Number of levels finished as Luigi
Sprite Related
- $0014 - Page of main character's X position
- $001E - Page of main character's Y position
Position of sprites
X position on page
- $0028 - main character
- $0029 - enemy 5
- $002A - enemy 4
- $002B - enemy 3
- $002C - enemy 2
- $002D - enemy 1
Y position on page
- $0033 - enemy 5
- $0034 - enemy 4
- $0035 - enemy 3
- $0036 - enemy 2
- $0037 - enemy 1
Speed of sprites (left/right)
- $003C - Main character
- $003D - Enemy 5
- $003E - Enemy 4
- $003F - Enemy 3
- $0040 - Enemy 2
- $0041 - Enemy 1
Jumping Physics
- $0046 - main character
- $0047 - enemy 5
- $0048 - enemy 4
- $0049 - enemy 3
- $004A - Enemy 2
- $004B - Enemy 1
- $0050 - Is character on a vine?
00 - no 01 - yes
Misc. sprite addresses
- $0051 - Enemy 5
- $0052 - Enemy 4
- $0053 - Enemy 3
- $0054 - Enemy 2
- $0055 - Enemy 1
00 - Invisable 01 - Visable 02 - Dead
- $005A - Enemy 5's relation to main character/landscape
- $005B - Enemy 4's relation to main character/landscape
- $005C - Enemy 3's relation to main character/landscape
- $005D - Enemy 2's relation to main character/landscape
- $005E - Enemy 1's relation to main character/landscape
00 - not on the ground (could be jumping or being thrown) 04 - walking 05 - turn left because object blocks path 06 - turn right because object blocks path 20 - carrying main character when reaching an edge to turn around 24 - carrying main character with same speed as movement
Sprite's palette, mirroring, etc.
- $0065 - Enemy 5
- $0066 - Enemy 4
- $0067 - Enemy 3
- $0068 - Enemy 2
- $0069 - Enemy 1
Sprite IDs
- $008F - Character selected (appearance only, until defeated, then stats as well)
00 - Mario 01 - Princess 02 - Toad 03 - Luigi
- $0090 - Enemy 5
- $0091 - Enemy 4
- $0092 - Enemy 3
- $0093 - Enemy 2
- $0094 - Enemy 1
- $0096 - Item pulled up from ground
- $0099 - Graphics for when main character jumps
- $009A - Drop through
- $009B - Graphics for when main character walks
- $00C7 - Character's status
Sprite HP
- $0465 - Enemy 5
- $0466 - Enemy 4
- $0467 - Enemy 3
- $0468 - Enemy 2
- $0469 - Enemy 1
Main character
- $04C2 - Current life in the life meter
0F - One heart 1F - Two hearts 2F - Three hearts 3F - Four hearts
- $04C3 - Number of bars in the life meter (for visual purposes only)
FF - One bar (doesn't work very well) 00 - Two bars (default) 01 - Three bars 02 - Four bars
Timers
- $0085 - Amount of time left until main character becomes vulnerable
- $0086 - Amount of time left for unknown
- $0087 - Amount of time left before Bob Omb 5 explodes
- $0088 - Amount of time left before Bob Omb 4 explodes
- $0089 - Amount of time left before Bob Omb 3 explodes
- $008A - Amount of time left before Bob Omb 2 explodes
- $008B - Amount of time left before Bob Omb 1 explodes
- $008C - Amount of time left before Bomb 1 explodes
- $008D - Amount of time left before Bomb 2 explodes
- $008E - Amount of time left before Bomb 3 explodes
- $00B9 - Current time left to use Pidget's carpet
- $04B7 - Amount of time left in subspace
- $04E0 - Amount of time left as star Mario
- $04FF - Current amount of time left from the stop watch
- $14CA - Timer for crouch jump power (0 - 3C)
Item flags
- $009C - Holding an item?
00 = no 01 = yes
- $009D - Character's mirroring, etc. (not palette)
- $00A3 - Changes once for everytime Tweeter jumps
- $00AD - Is key held?
00 - no 01 - yes - Key appears above head even if thrown, but then not chased.
- $00AE - Item in hand height (used for different character sizes?)
Misc.
- $00BA - Screen speed moving left and right
- $0100 - (screen hold?)
- $0415 - the rising of the heart
- $0416 - Height of whale's spout after peaking.
- $0456 - Current time left Hawkmouth (before Wart) is open
- $04EC - Level Transition.
00 - normal game play 01 - begin the same level and area again (like dying revive) 02 - game over 03 - end level, go to bonus game 04 - warp
- $06F6 - Character growing or shrinking
Button Related
- $00F5 - Button pressed (Controller 1)
- $00F6 - Button pressed (Controller 2)
- $00F7 - Button held (Controller 1)
- $00F8 - Button held (Controller 2)
Directional Pad *0 - no movement *1 - Right *2 - Left *3 - Left + Right *4 - Down *5 - Down + Right *6 - Down + Left *7 - Down + Left + Right *8 - Up *9 - Up + Right *A - Up + Left *B - Up + Left + Right *C - Up + Down *D - Up + Down + Right *E - Up + Down + Left *F - Up + Down + Left + Right
Buttons 0* - not pressed 1* - Start 2* - Select 3* - Start + Select 4* - B 5* - Start + B 6* - Select + B 7* - Start + Select + B 8* - A 9* - Start + A A* - Select + A B* - Start + Select + A C* - A + B D* - Start + A + B E* - Select + A + B F* - Start + Select + A + B
Sprite Flags
- $04B4 - Something to do with the Hawkmouth opening and closing
- $04AD - Current number of enemies defeated to grab a heart.
- $04B0 - Has Key been used on lock?
00 - no 01 - yes - If yes, then it won't reappear.
- $04B4 - How wide Hawkmouth is open
- $04B5 - Has the Crystal been obtained? If yes, effect will last while in area.
00 - no 01 - yes
- $04B6 - look into
- $04BE - Time counts up for how long the door takes to open
- $04C4 - Amount of time left for the screen to shake after POW
- $04C5 - Height to raise and lower the "level" for shake
- $04C6 - Amount of time left for bomb flash in background
- $04CA - Amount of time to build up to charged jump
- $04E0 - Current Starman time length left
Regeneration properties
- $04E7 - Area
- $04E8 - Sub-area
- $04E9 - Page
Mushroom Flags
- $04FB - Has First Mushroom been pulled? If yes, then it won't reappear.
00 - no 01 - yes
- $04FC - Has Second Mushroom been pulled? If yes, then it won't reappear.
00 - no 01 - yes
- $0620 - Has 1-up been pulled?
00 - no 01 - yes - If yes, then it won't reappear.
Subspace Related Properites
- $0621 - Number of times leaving Subspace aftering grabbing a coin
00 - 1st chance to grab coins 01 - 2nd chance to grab coins 02 - No more chances, get vegetables.
- $0628 - In subspace?
00 - no 02 - yes (doesn't work for vertical areas)
- $0629 - look into
Level in Memory
$0531 - Current level loaded
00 - 1-1 01 - 1-2 02 - 1-3 03 - 2-1 04 - 2-2 05 - 2-3 06 - 3-1 07 - 3-2 08 - 3-3 09 - 4-1 0A - 4-2 0B - 4-3 0C - 5-1 0D - 5-2 0E - 5-3 0F - 6-1 10 - 6-2 11 - 6-3 12 - 7-1 13 - 7-2
Character Properties
- $0546 - Pickup Speed Animation 1
- $0547 - Pickup Speed Animation 2
- $0548 - Pickup Speed Animation 3
- $0549 - Pickup Speed Animation 4
- $054A - Pickup Speed Animation 5
- $054B - Pickup Speed Animation 6
- $054D - Standing Jump Height
- $054E - Crouching Power Jump Height
- $0550 - Running Jump Height
- $0551 - Running Jump Height while carrying object
- $0553 - Float Timer (set to 0 for everyone but Princess)
- $0555 - Character's Jumping physics?
Music and Sound Properties
- $05EE - Current music track?
- $05EF - Current music track?
- $0600 - Loads the current song track
- $0601 - Plays a sound effect
- $0602 - Plays a sound effect
- $0603 - Plays a small clip of music (and also for ending sequence)
- $0604 - Character's sound effects
- $0605 - POW sound effects
- $0606 - Stores sound effect from $0603 played
- $0607 - Stores sound effect from $0602 played
- $0608 - Stores sound effect from $0601 played
- $0609 - Stores music track from $0600 played
- $0612 - Current music tempo
World Properites
- $0635 - Current World number (loads characteristics of world such as Ice)
Graphics Tileset
- $06F7 - Current Level Tileset (1st half of the right Table)
- $06F8 - Current Cycling Sprite Tileset (2nd half of the right Table)
- $06F9 - Current Character (Appearance,not stats) (1st quarter of left Table)
00 - Large Mario 01 - Large Luigi 02 - Large Princess 03 - Large Toad 04 - Small Mario 05 - Small Luigi 06 - Small Princess 07 - Small Toad
- $06FA - Current standard sprites (Snifits, Hawkmouth, etc.) (2nd quarter of left Table)
- $06FB - Current standard sprites (1-Up, Birdo, etc.) (3rd quarter of left Table)
- $06FC - Current changable sprites (Ostro, Pidget, Pokey, etc.) (4th quarter of left Table)
- $06FD - Current animation of $06F8 (Cycling sprites)
Level Layout
- $0700 ~ $07FF - Subspace and jars
- $6000 - $695F - Currently loaded level (Almost half the SRAM)
References
http://www.tekhacks.net/forum - lost when forum was removed (recovered by internet archieve) http://board.acmlm.org - lost when board was remade (recovered by internet archive) http://bmf.rustedmagick.com/