SMAS Memory Map
Displaying 25 out of 1220 addresses.
View: moderated | waiting (204)
RAM Address | Length | Type | Context | Description | Details |
---|---|---|---|---|---|
$7E0000 | 8 bytes | Miscellaneous | Super Mario Bros. 1 | Scratch RAM for many subroutines | |
$7E0000 | Unknown | Miscellaneous | Super Mario Bros. 1 | TODOs: - Fix inconsistent SMB1 sprite table sizes - Consistent naming (player instead of Mario, Y Position instead of ypos, and the likes) - Find out what kind of sprites there are in SMB1. How many types of extended sprites, and so on. - SMB3/Global addresses need context re-assigning. |
|
$7E0008 | 1 byte | Empty | Super Mario Bros. 1 | Unused scratch RAM. | |
$7E0009 | 1 byte | Counter | Super Mario Bros. 1 | Frame Counter | |
$7E000A | 3 bytes | Flag | Super Mario Bros. 1 | Player action data. Note that these flags are not mirrors of SNES controller flags. They merely signify which states the player is experiencing. For example, the Jump flag can be set by whatever button maps to jumping. Also, the flag is set only by the controller of the current player. |
|
$7E000A | 1 byte | Flag | Super Mario Bros. 1 | Bit flags: JD000000 J - Jump button D - Dash button |
|
$7E000B | 1 byte | Flag | Super Mario Bros. 1 | Bit flags: 0000UD00 U - Up button D - Down button |
|
$7E000C | 1 byte | Flag | Super Mario Bros. 1 | Bit flags: 000000LR L - Left flag R - Right flag |
|
$7E000D | 1 byte | Flag | Super Mario Bros. 1 | Saves the value of $7E:000A (jump/run flags) from the previous frame. | |
$7E000F | 1 byte | Player Action | Super Mario Bros. 1 | Player's current action (Entering pipe, fade to image before level, vine, etc.) TODO: verify "Number of subroutines to run in game engine on next frame" |
|
$7E0010 | 8 bytes | Sprites | Super Mario Bros. 1 | Sprite onscreen flag. Bit 7 = never overwrite sprite slot of current index. Bit 0 = Onscreen flag. |
|
$7E0010 | 1 byte | Counter | Super Mario Bros. 2 | Frame Counter | |
$7E0011 | 1 byte | Stripe Image | Super Mario Bros. 1 | Layer image upload | |
$7E0012 | 1 byte | Position | Super Mario Bros. 3/Global | Which screen number the player is in. TODO: Verify, editing this seems to screw with the level drawing | |
$7E0014 | 1 byte | Player | Super Mario Bros. 2 | Player's X-position, high byte. | |
$7E0014 | 1 byte | Flag | Super Mario Bros. 3/Global | Level completed flag. | |
$7E0015 | 9 bytes | Sprites | Super Mario Bros. 2 | Sprites' X-position, high byte. | |
$7E0015 | 1 byte | Counter | Super Mario Bros. 3/Global | Frame counter. | |
$7E0016 | 1 byte | Hardware Mirror | Super Mario Bros. 3/Global | Brightness. Does not affect the statusbar on the overworld. | |
$7E001C | 8 bytes | Sprites | Super Mario Bros. 1 | Sprite number | |
$7E001C | 1 byte | Timer | Intro & Game Select Screens | Number of frames to show intro logo. Is initially set to #$81. At #$61, the logo will flash. |
|
$7E001E | 1 byte | Player | Super Mario Bros. 2 | Player's Y-position, high byte. | |
$7E001F | 9 bytes | Sprites | Super Mario Bros. 2 | Sprites' Y-position, high byte. | |
$7E0022 | 1 byte | Level | Super Mario Bros. 3/Global | How many screens the level has. | |
$7E0022 | 1 byte | Timer | Intro & Game Select Screens | Amount of time to wait until the "Super Mario All-Stars" text flashes. | |