Super Mario Land/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Binary-coded decimal is a more standard name for it)
Line 36: Line 36:
  C20D      1    Direction Mario faces while walking. 0x20 = Left, 0x10 = Right
  C20D      1    Direction Mario faces while walking. 0x20 = Left, 0x10 = Right
  DA15      1    Lives
  DA15      1    Lives
DFE0      1    Request a Channel 1 Sound Effect (0x00 = no request, 0x01 = jump, 0x02 = fireball, 0x03 = jump on enemy, 0x04 = gain powerup, 0x05 = coin, 0x06 = shrink, 0x07 = hit block, 0x08 = 1up, 0x09 = hit block again?, 0x0a = time count down at the end of level, 0x0b = powerup comes out, 0x0c and above = invalid)
DFE1      1    Channel 1 Sound Effect currently playing


=== HRAM ===
=== HRAM ===
Line 43: Line 45:
  ....    ....    ....
  ....    ....    ....
  FFB3      1    ? (0x39 = Game Over)
  FFB3      1    ? (0x39 = Game Over)
  FFFA      1    Coins (Hex-encoded decimal)
  FFFA      1    Coins (Binary-coded decimal)
  FFFB      1    ? (0x2B = Extra Life)
  FFFB      1    ? (0x2B = Extra Life)


== Notes ==
== Notes ==
* Hex encoded decimal (daa) - if you view it as a hex number, the count skips A through F in any given ordinal. In this way, the hex value is human readable as the "correct" (decimal) number.
* Binary-coded decimal (daa) - if you view it as a hex number, the count skips A through F in any given ordinal. In this way, the hex value is human readable as the "correct" (decimal) number.
* A list of less certain addresses is available on the [[Talk:Super_Mario_Land:RAM_map|Talk page]] for further review.
* A list of less certain addresses is available on the [[Talk:Super_Mario_Land:RAM_map|Talk page]] for further review.


{{Internal Data|game=Super Mario Land}}
{{Internal Data|game=Super Mario Land}}

Revision as of 11:10, 23 April 2022

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

RAM Map

VRAM

Addr    Size    Description
----    ----    -----------
9806       2    Lives displayed, copy from (DA15)
9821       1    Score - Ten thousands
9822       1    Score - Thousands
9823       1    Score - Hundreds
9824       1    Score - Tens
9825       1    Score - Ones
....    ....    ....
9829       1    Coin - Tens
982A       1    Coin - Ones
....    ....    ....
982C       1    Current world
982E       1    Current stage
....    ....    ...
9831       1    Timer - Hundreds
9832       1    Timer - Tens
9833       1    Timer - Ones

WRAM

Addr    Size    Description
----    ----    -----------
C0A3       1    Lives earned or lost
C0A4       1    ? (0x39 = Game Over)
C201       1    ? Mario's Y position relative to the screen
C202       1    ? Mario's X position relative to the screen
C203       1    Mario's pose.
C207       1    Probably used in Mario's jump routine. 0x00 = Not jumping, 0x01 = Ascending, 0x02 = Descending
C208       1    Mario's Y speed.
C20A       1    Mario is on the ground flag (0x01 = On the ground, 0x00 = In the air)
C20C       1    ? Absolute value of Mario's X speed
C20D       1    Direction Mario faces while walking. 0x20 = Left, 0x10 = Right
DA15       1    Lives
DFE0       1    Request a Channel 1 Sound Effect (0x00 = no request, 0x01 = jump, 0x02 = fireball, 0x03 = jump on enemy, 0x04 = gain powerup, 0x05 = coin, 0x06 = shrink, 0x07 = hit block, 0x08 = 1up, 0x09 = hit block again?, 0x0a = time count down at the end of level, 0x0b = powerup comes out, 0x0c and above = invalid)
DFE1       1    Channel 1 Sound Effect currently playing

HRAM

Addr    Size    Description
----    ----    -----------
FF99       1    Powerup Status
....    ....    ....
FFB3       1    ? (0x39 = Game Over)
FFFA       1    Coins (Binary-coded decimal)
FFFB       1    ? (0x2B = Extra Life)

Notes

  • Binary-coded decimal (daa) - if you view it as a hex number, the count skips A through F in any given ordinal. In this way, the hex value is human readable as the "correct" (decimal) number.
  • A list of less certain addresses is available on the Talk page for further review.