Super Mario Bros. 3/RAM map

From Data Crystal
Jump to navigation Jump to search

NOTE: All values in Table are Hexadecimal unless noted otherwise.

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

RAM Purpose
0A Temp. used to adjust main character sprite vertical position
15 Increased by one every game cycle. Used as timer
75 On map screen vertical position. Multiples of 20, unless in boat.
77 Page counter on map screen
78 On map screen vertical position (see next RAM location description)
79 On map screen horizontal position. Multiples of 20, unless in boat. If multipaged, E0 shifts screen right, then 60, then D0, then 50. Shifting back to the left occurs at 20, then A0, then 20, then A0.
90 Mario/Luigi horizontal position. Changing may cause problems in Name Table.
A2 Mario/Luigi vetical position in levels.
A3-?? Enemy Sprite positions on screen
BD Current horizontal speed
ED Current Form: 00-Small, 01-Super, 02-Fire, 03-Racoon, 04-Frog, 05-Bear, 06-Hammer
EE Mario/Luigi Character Sprite Displayed(gets set just before display)
EF Mario/Luigi status flag: 40 facing right, 00 facing left
0100-01FF CPU Stack
03DD Power Meter in Status Bar, 7F is Full (Player Can Fly)
03F3 Character selection on map
04F1 (??) Set to $00 to remove some sounds (i.e. full fly meter sound)
0552 Timer that is set after player is hit. Determine how long you flash (are invincible)
0553 Timer for star mario
0567 Timer for P-Block
056E Timer that determines how long flight will last. Power Meter instantly empties when this hits zero. Setting to FF enables unlimited flight.
056F (??) Set to $FF for squat-float effect
0577 Determines if Player is inside the Goomba Boot: 00-No, 01-Yes
057A Enable statue mario characteristic (gray & invincible, note: can't go down pipes with this characteristic enabled)
057B (??) Set to $FF to fill up fly meter while standing still
0584 Underwater / not underwater selection
0585 (??) Set to $FF to slide "right" (not left) through solid objects
0588 Timer for "Backstage" status
05EE-05F0 Time remaining
0669 The item you'll get from a toad house
066F Card selection for the flashing card that you jump to get
0715-0717 current player score divided by dec10. (max F423F[dec999,999]) (There's a hard coded 0 in the score display)
0736 Mario # of Lives (max 63[dec99])
0737 Luigi # of Lives
0746 Mario's Form that he will start next level as. When the level is loaded this value gets transferred to 00ED.
0747 For Luigi; See 0746.
7D80-7D9B Each Byte Represents an Item that Mario is Carrying (Pressing 'B' while at Map Screen): 00-No Item, 01-Mushroom, 02-Flower, 03-Leaf, 04-Frog, 05-Bear, 06-Hammer Bro Suit, 07-Cloud, 08-P-Wing, 09-Star, 0A-Anchor, 0B-Hammer, 0C-Whistle, 0D-Music Box. 0E and above will most likely crash the game, not completely tested though.
7D9C-7D9E Each Byte Represents a reward card Mario has 00-No Item, 01-Mushroom, 02-Flower, 03-Star
7D9F-7DA1 Storage for Mario Score (/dec10)
7DA2 # of coins Mario has
7DA3-7DBE Each Byte Represents an Item that Luigi is Carrying (Pressing 'B' while at Map Screen): 00-No Item, 01-Mushroom, 02-Flower, 03-Leaf, 04-Frog, 05-Bear, 06-Hammer Bro Suit, 07-Cloud, 08-P-Wing, 09-Star, 0A-Anchor, 0B-Hammer, 0C-Whistle, 0D-Music Box. 0E and above will most likely crash the game, not completely tested though.
7DBF-7DC1 Each Byte Represents a reward card Luigi has 00-No Item, 01-Mushroom, 02-Flower, 03-Star
7DC2-7DC4 Storage for Luigi Score(/dec10)
7DC5 # of coins Luigi has
So very stubbly.
This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?