Banner
Views: 1,003,315,016
Time:
20 users online: AmyWiltender, bandicoot,  Bench-kun, BrandonBlank, Cappaque, cd722, DavitheHuman,  Deeke, E-man38, GrenudoGames, JupiHornet, Koopster, LadiesMan217, MarioDude321, MarsAmpere, schema_tuna, Teaser, The Cursed Goomba, Ultima, VinylHeart - Guests: 103 - Bots: 168 Users: 54,838 (2,036 active)
Tip: Before asking for help on the forums, make sure you've tried to figure out the problem on your own first.
Not logged in.
SMAS Memory Map
Displaying 500 out of 1220 addresses. Show Waiting Addresses (204)
Filter
Link
Address
Hexadecimal number for a partial address. 6-digit number for a full address. Use - to denote a range. Use , to list more than one address.
Length
Type
Enable JavaScript to use multiple regions.
Region
Hold control to select multiple. Check "All" to select all at once.

Type
Context
Description
Separate each individual keyword with spaces. Surround a phrase with quotes to look for the exact phrase, or with / to use a PCRE regular expression. Prepend with - to exclude a keyword or phrase, with + to require a whole word or phrase, or with -+ to exclude a whole word or phrase. ? matches any character, * matches any amount of characters.
 
Pages: « 1 2 3 » Per Page: 25 50 75 100 150 500 All
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 Timer for various things.

1. Number of frames to show each flash state during intro logo flashing
$7E0022 1 byte Timer Intro & Game Select Screens Amount of time to wait until the "Super Mario All-Stars" text flashes.
$7E0023 1 byte Counter Intro & Game Select Screens What step we are in, in the flashing "ALL*STARS" text in the hall screen.
$7E0024 1 byte Flag Intro & Game Select Screens Flag for various animation timers. When set, the animation timers will begin.

1. Flash animation for intro logo
$7E0025 1 byte Sprites Super Mario Bros. 1 Sprite number which came out of a question block.
$7E0027 1 byte Flag Intro & Game Select Screens Is #$10 if the start button has been pressed by either controller, otherwise #$00.
$7E0028 1 byte Player Super Mario Bros. 2 Player's X position, low byte
$7E0029 8 bytes Sprites Super Mario Bros. 1 Sprite state.

TODO: Find a list of values
$7E0029 9 bytes Sprites Super Mario Bros. 2 Sprites' X-position, low byte. First three bytes also used for movement of bonus slots. 00 = stop, 01 = slowing down, 02-FF = not slowing down.
$7E002E 3 bytes Pointers Super Mario Bros. 3/Main gameplay 24-bit pointer to the level map16 layout in RAM. (Note that this is used for both the low and high bytes; the game changes the index to switch between them.)
$7E0031 3 bytes Pointers Super Mario Bros. 3/Global Pointer to current current level's sprite data (SNES Address, Little endian)
$7E0032 1 byte Player Super Mario Bros. 2 Player's Y-Position, low byte
$7E0033 2 bytes Sprites Super Mario Bros. 1 Fireball states

TODO: Find out about the values
$7E0033 9 bytes Sprites Super Mario Bros. 2 Sprites' Y-position, low byte. $7E0038-9 is speed of bonus slot 1's images. $7E003A-B is speed of bonus slot 2's images.
$7E0035 2 bytes Sprites Super Mario Bros. 1 Bounce block state

TODO: find out the states
$7E003C 1 byte Speed Super Mario Bros. 2 Speed of one of bonus slot 3's images. Also used for player's speed.
$7E003D 9 bytes Sprites Super Mario Bros. 2 Sprite X speed table. $3D is also used for speed of the other of bonus slot 3's images.
$7E0042 2 bytes X Position Super Mario Bros. 1 X-Position of screen
$7E0042 2 bytes X Position Super Mario Bros. 1 Horizontal X coordinate of left side of the screen - 16-bit value.

Used for rendering certain sprites and sprite particles at their proper position.
$7E0043 2 bytes Overworld Super Mario Bros. 3/Overworld Low byte of the player Y position on the overworld. Byte 1 is for Mario, byte 2 is for Luigi
$7E0043 1 byte Miscellaneous Super Mario Bros. 3/Main gameplay Player X position in the level, high byte (i.e. screen number)
$7E0044 9 bytes Sprites Super Mario Bros. 3/Global Sprite X position, high byte.

TODO: Verify length
$7E0045 2 bytes Overworld Super Mario Bros. 3/Overworld High byte of the player X position. Alternatively, this can be considered the submap number of the current world the players are on. The first byte is for Mario, while the second is for Luigi.
$7E0046 1 byte Player Super Mario Bros. 1 Facing direction of player
$01 - Right
$02 - Left
$7E0046 1 byte Player Super Mario Bros. 2 Player's Y-speed
$7E0047 8 bytes Sprites Super Mario Bros. 1 Sprite direction
$01 - Right
$02 - Left
$7E0047 9 bytes Sprites Super Mario Bros. 2 Sprite Y speed table
$7E0047 2 bytes X Position Super Mario Bros. 3/Global Player overworld X-position.

First byte is for Mario, second byte for Luigi.
$7E0047 Unknown X Position Super Mario Bros. 3/Main gameplay Sprite X position in the level, high byte.

TODO: verify length
$7E004C 1 byte Direction Super Mario Bros. 3/Global Player's direction on the overworld.
$7E0050 1 byte Direction Super Mario Bros. 1 The direction of the sprite which came out of a [?]-block.
$7E0051 9 bytes Sprites Super Mario Bros. 2 Sprite status table. 00 = non-existant/init, 01 = main, 02 = falling from screen, 03 = flat, 04 = explode, 05 = disappear in a puff of smoke, 06 = dissolving sand, 07 = stop interacting, 08 = disappear in two puffs of smoke, 09 = disappear abruptly
$7E0055 1 byte Y Position Super Mario Bros. 3/Main gameplay Player Y-position in the level, high byte.
$7E0056 9 bytes Sprites Super Mario Bros. 3/Global Sprite Y position, high byte.

TODO: Verify length
$7E005A 1 byte Flag Super Mario Bros. 3/Global "Players spins in the overworld" flag (e.g. when player dies and gets placed to the latest checkpoint)
$7E005C 1 byte Level Data Super Mario Bros. 1 Map Type

$00 - Underwater
$01 - Normal
$02 - Underground
$03 - Castle
This address always has the same value as $7E:00BA.
$7E005D 1 byte X Speed Super Mario Bros. 1 Player's X Speed
$7E005E 8 bytes X Speed Super Mario Bros. 1 Sprite X-Speed
$7E005E 1 byte X Position Super Mario Bros. 3/Global Player X-position in the level, low byte
$7E005F 9 bytes Sprites Super Mario Bros. 3/Global Sprite X position, low byte.

TODO: Verify length
$7E0060 4 bytes Sound Effect Intro & Game Select Screens SPC700 I/O Ports. Write values to play music/sound effects.
$7E0067 1 byte X Speed Super Mario Bros. 1 X speed of the sprite which came out of a [?]-block.
$7E0068 2 bytes X Speed Super Mario Bros. 1 Fireball X-Speed
$7E006A 2 bytes X Speed Super Mario Bros. 1 Bounce blocks X-Speed
$7E0070 1 byte Y Position Super Mario Bros. 3/Global Player Y-position in the level, low byte.

TODO: Also related to OW 'player spawns' stars (those spinning ones), 34 bytes.
$7E0071 9 bytes Sprites Super Mario Bros. 3/Global Sprite Y position, low byte.

TODO: Verify length
$7E0078 1 byte X Position Super Mario Bros. 1 Player X-Position, high byte.
$7E0079 8 bytes X Position Super Mario Bros. 1 Sprite X-Position, high byte.
$7E0082 1 byte Player Super Mario Bros. 2 Amount of time to remain in a player state.
$7E0084 2 bytes X Position Super Mario Bros. 1 Fireball X-Position, high byte.
$7E0086 2 bytes X Position Super Mario Bros. 1 Bounce block X-Position, high byte.
$7E008B 1 byte Speed Super Mario Bros. 3/Global Player X-speed
$7E008C 9 bytes Sprites Super Mario Bros. 3/Global Sprite X speed.

TODO: Verify length
$7E008F 1 byte Player Super Mario Bros. 2 Current player. #$00 = Mario; #$01 = Peach; #$02 = Toad; #$03 = Luigi.
$7E0090 9 bytes Sprite Number Super Mario Bros. 2 Sprite num table
$7E0099 1 byte Level Super Mario Bros. 1 Which tileset to load upon level load.

$00 - Unused?
$01 - Mario bonus background + cave FG
$02 - Hills background & SUPER MARIO BROS banner
$03 - Underground background
$04 - Castle FG & BG tileset
$05 - Tall slim hills background
$06 - Castle FG & BG tileset
$07 - Hills background
$08 - Underwater BG & FG tileset
$09 - Hills background & SUPER MARIO BROS banner
$0A - Game over screen & Mario bonus room background
$0B - Starry night background
$0C - Bowser's Castle (outside) background
$0D - Mushrooms background
$0E - Waterfall background
$0F - Underwater ruins background
$10 - Goomba pillars BG & snow FG
$11 - Underground foreground
$12 - Snow foreground
$13 - Bowser's Castle BG, part 1
$14 - Bowser's Castle BG, part 2
$15 - Game Over and Time Up text
$16 - Starry night background
$17 - Grass foreground
$18 - Luigi bonus background + cave FG
$7E0099 1 byte Level Super Mario Bros. 1 Graphics to upload during level load. See this for a list of values.
$7E009B 1 byte Sprites Super Mario Bros. 3/Global The current sprite index.
$7E009C 1 byte Flag Super Mario Bros. 2 Player holding item flag ($01 = Holding.)
$7E009D 1 byte Player Super Mario Bros. 2 Player's Direction ($00 = Left, $01 = Right)
$7E009D 1 byte Y Speed Super Mario Bros. 3/Global Player Y-speed
$7E009E 1 byte Index Super Mario Bros. 1 Current sprite index
$7E009E 9 bytes Sprites Super Mario Bros. 3/Global Sprite Y speed.

TODO: Verify length
$7E00A0 1 byte Y Speed Super Mario Bros. 1 Player's Y Speed
$7E00A1 8 bytes Y Speed Super Mario Bros. 1 Sprite Y Speed
$7E00A2 1 byte Counter Super Mario Bros. 2 Alternative Frame Counter (Stops at times)
$7E00A8 9 bytes Sprites Super Mario Bros. 2 Sprite is picked up table. 07 = sprite = bottom at player, 01 = top, 00 = normal state
$7E00AA 1 byte Y Speed Super Mario Bros. 1 Y speed of the sprite which came out of a [?]-block. TODO: Value is only applied when the sprite is airborne?
$7E00AB 2 bytes Y Speed Super Mario Bros. 1 Player fireballs Y speed
$7E00AB 3 bytes Pointers Super Mario Bros. 3/Global Pointer to 24-bit RAM address which contains the windowing HDMA table used for various effects.

Seems to alternate between $7F:9000 and $7F:9200.
$7E00AD 2 bytes Y Speed Super Mario Bros. 1 Bounce block Y speed
$7E00B3 1 byte Overworld Super Mario Bros. 3/Global What overworld tile the player is standing on.

TODO: List of overworld tiles.
$7E00BA 1 byte Level Super Mario Bros. 1 Current background palette and music.

$00 - Light blue background with underwater music
$01 - Light blue background with normal world music
$02 - Black background with underground music
$03 - Black background with castle music

This address always has the same value as $7E:005C.
$7E00BB 1 byte Y Position Super Mario Bros. 1 Player position in the level:

$00 - Top of screen (above status bar)
$01 - Inside range (anywhere he can shoot fireballs)
$02 - In pit (obviously causes death, value increases up to 6)
$7E00BB 1 byte Miscellaneous Super Mario Bros. 3/Global Something related about OW powerup get? ($07 + higher= glitch)

TODO: Verify
$7E00BC 8 bytes Y Position Super Mario Bros. 1 Sprite Y position in the level.

$00 - Top of screen (above status bar)
$01 - Inside range
$02 - In pit
$7E00BD 1 byte Direction Super Mario Bros. 3/Global Player direction ($40 = right)
$00 - Left
$40 - Right
$41 - End level walk?
TODO: Find out the format of this address, seems bitwise rather than raw numbers.
$7E00BF 1 byte Player Super Mario Bros. 3/Main gameplay Indicates that the player is dying. Setting it causes the player to die immediately.
$7E00C5 1 byte Y Position Super Mario Bros. 1 [?]-block sprite Y position

$00 - Top of screen (above status bar)
$01 - Inside range
$02 - In pit
$7E00D0 1 byte Index Intro & Game Select Screens Selected game index in the Game Select screen
$7E00D1 1 byte Index Intro & Game Select Screens Selected file index in the File Select screen
$7E00D9 2 bytes Pointers Super Mario Bros. 2 16-bit pointer to Layer 1 room data.
$7E00DB 1 byte Level Data Super Mario Bros. 1 An index value signifying the Layer 2 Background map to use.

$00 - Underwater (short)
$01 - Underwater (full)
$02 - Underwater (castle)
$03 - Night sky (w/o mountains)
$04 - Outside castle (W8-3)
$05 - Mountains and trees
$06 - Night sky (w/ mountains)
$07 - Night sky (w/ mountains & snow)
$08 - Mountains
$09 - Waterfall
$0A - Goomba statues/pillars
$0B - Narrow green hills (W2-1)
$0C - One big mountain w/ underground palette
$0D - Narrow hills w/ snow (W5-1)
$0E - Mario/Luigi Bonus room
$0F - Mushrooms
$10 - Night sky (w/o mountains)
$11 - Night sky (w/ mountains)
$12 - Mushrooms
$13 - Mountains
$14 - Narrow hills w/ snow (W5-1)
$15 - Narrow orange hills
$16 - Narrow hills w/ snow
$17 - Mario/Luigi bonus room
$18 - Night sky (w/ mountains)
$19 - Underground
$1A - Underground
$1B - Mario/Luigi bonus room (underground)
$1C - Castle
$1D - Castle w/ pillars & chandeliers
$1E - Castle w/ pillars
$1F - Castle w/ pillars
$20 - Castle w/ pillars & doors
$21 - Castle w/ windows w/ thunder & lightning
$7E00DE 1 byte Flag Intro & Game Select Screens If non-zero $7F:0000 will get uploaded to BG1's tilemap.
$7E00E2 8 bytes X Position Super Mario Bros. 3/Global Extended sprite X-position, high byte.
$7E00E3 2 bytes Timer Intro & Game Select Screens Timer for showing the current hall screen state (blackout) or (lightened).

#$011A - First blackout time
#$044A - First lightened time
$7E00EB 2 bytes Clipping Super Mario Bros. 1 Used during level loading to load level backgrounds: Starting index of the background map16 to place the background objects at (Every $0100 bytes of RAM $7ED000 is a page).

Also used by the podoboo lava splash.
$7E00EB 1 byte Flag Super Mario Bros. 2 Horizontal level flag. #$00 = Vertical level; #$01 = Horizontal level.
$7E00ED 2 bytes Miscellaneous Super Mario Bros. 1 Used during level loading to load level backgrounds: Used to calculate $7E00EB

Also used by the podoboo lava splash.
$7E00EF 2 bytes Level Data Super Mario Bros. 1 Command to use in a level's background generation routine.

$00 - Increase index to background map16 tilemap's latest written tile by 1
$01 - Handle HDMA gradient. Underwater levels use below value, instead.
$02 - Enable underwater HDMA gradient. TODO: does it enable anything else? (cgadsub etc)
$03 - TODO: figure out what
$04 - TODO: figure out what
$05 - Related to background map16 tilemap generation
$06 - Fill background with repetitive rock pattern of cave background
$07 - Fill top 3 rows with blank tiles for underwater levels
$08 - Generate the rocks of the waterfall background
$09 - Enable Layer 3 image
$0A - Generate the waterfall of the waterfall background
$0B - Load tilemap-specific graphics? TODO: verify
$0C - Generate Goomba pillar background's sand

Despite being two bytes in size, only the first byte is used.

Also used by the podoboo lava splash.
$7E00F0 3 bytes Pointers Super Mario Bros. 2 Indirect pointer to load a layer image from. Controlled by $11.
$7E00F0 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:4219 - Controller Port 1 Data1 Register high byte.

This mirror is for controller data from the current frame.
$7E00F1 1 byte HDMA Super Mario Bros. 1 Associated value with a background generation command, e.g. value to enable/disable layer 3, which HDMA gradient, and so on.

Also used by the podoboo lava splash.
$7E00F1 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:421B - Controller Port 2 Data1 Register high byte.

This mirror is for controller data from the current frame.
$7E00F2 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:4218 - Controller Port 1 Data1 Register low byte.

This mirror is for controller data from the current frame.
$7E00F3 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:421A - Controller Port 2 Data1 Register low byte.

This mirror is for controller data from the current frame.
$7E00F4 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:4219 - Controller Port 1 Data1 Register high byte.

This mirror is for controller data that was set on the current frame but was clear on the previous frame. Basically, this determines which buttons were pressed on this frame while not having been held on the last frame.
$7E00F5 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:421B - Controller Port 2 Data1 Register high byte.

This mirror is for controller data that was set on the current frame but was clear on the previous frame. Basically, this determines which buttons were pressed on this frame while not having been held on the last frame.
$7E00F6 1 byte Hardware Mirror Super Mario Bros. 2 Controller Data 1. AXSPUDLR. All frames.
$7E00F6 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:4218 - Controller Port 1 Data1 Register low byte.

This mirror is for controller data that was set on the current frame but was clear on the previous frame. Basically, this determines which buttons were pressed on this frame while not having been held on the last frame.
$7E00F7 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:421A - Controller Port 2 Data1 Register low byte.

This mirror is for controller data that was set on the current frame but was clear on the previous frame. Basically, this determines which buttons were pressed on this frame while not having been held on the last frame.
$7E00F8 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:4219 - Controller Port 1 Data1 Register high byte.

This mirror is for controller data from the previous frame.
$7E00F9 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:421B - Controller Port 2 Data1 Register high byte.

This mirror is for controller data from the previous frame.
$7E00FA 3 bytes Pointers Super Mario Bros. 1 24-bit pointer to current level's objects, and their positions (SNES Address, Little endian)
$7E00FA 1 byte Hardware Mirror Super Mario Bros. 2 Controller Data 2. AXSPUDLR. 1 frame.
$7E00FA 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:4218 - Controller Port 1 Data1 Register low byte.

This mirror is for controller data from the previous frame.
$7E00FB 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:421A - Controller Port 2 Data1 Register low byte.

This mirror is for controller data from the previous frame.
$7E00FD 3 bytes Pointers Super Mario Bros. 1 24-bit pointer to current level's sprites, and their positions (SNES Address, Little endian)
$7E00FD 1 byte Counter Intro & Game Select Screens Frame counter.
$7E00FE 1 byte Hardware Mirror Super Mario Bros. 2 Brightness Register
$7E00FF 1 byte Hardware Mirror Super Mario Bros. 2 NMI / Joypad Enable
$7E0100 9 bytes Empty Super Mario Bros. 1 Free space
$7E0100 1 byte Hardware Mirror Intro & Game Select Screens Screen brightness.
$7E0101 1 byte Index Super Mario Bros. 3/Global IRQ Mode index? Valid values are: { 80 40 20 60 A0 55 75 95 }

TODO: seems like this goes bitwise. Figure it out. Also, figure out what each IRQ mode is.
$7E0101 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:2101 - Object Size and Chr Size
$7E0102 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2105: BG Mode and Character Size
$7E0103 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2106: Screen Pixelation
$7E0104 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2107: BG1 Tilemap Address and Size
$7E0105 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2108: BG2 Tilemap Address and Size
$7E0106 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2109: BG3 Tilemap Address and Size
$7E0107 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $210B: Mirror of BG1 and 2 Chr Address
$7E0108 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $210D: BG1 Horizontal Scroll
This value represents the low byte address and is written to the register first.
$7E0109 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $210D: BG1 Horizontal Scroll
This value represents the high byte address and is written to the register second.
$7E010A 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $210E: BG1 Vertical Scroll
This value represents the low byte address and is written to the register first.
$7E010B 1 byte Flag Super Mario Bros. 1 "Three byte object" flag when loading level data
$7E010B 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $210E: BG1 Vertical Scroll
This value represents the high byte address and is written to the register second.
$7E010C 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $210F: BG2 Horizontal Scroll
This value represents the low byte address and is written to the register first.
$7E010D 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $210F: BG2 Horizontal Scroll
This value represents the high byte address and is written to the register second.
$7E010E 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2110: BG2 Vertical Scroll
This value represents the low byte address and is written to the register first.
$7E010F 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2110: BG2 Vertical Scroll
This value represents the high byte address and is written to the register second.
$7E0110 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2111: BG3 Horizontal Scroll
This value represents the low byte address and is written to the register first.
$7E0111 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2111: BG3 Horizontal Scroll
This value represents the high byte address and is written to the register second.
$7E0112 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2112: BG3 Vertical Scroll
This value represents the low byte address and is written to the register first.
$7E0113 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2112: BG3 Vertical Scroll
This value represents the high byte address and is written to the register second.
$7E0114 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2123: Window Mask Settings for BG1 and BG2
$7E0115 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2124: Window Mask Settings for BG3 and BG4
$7E0116 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2125: Window Mask Settings for OBJ and Color Window
$7E0117 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $212C (Main screen designation).
$7E0117 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $212C: Main Screen Designation
$7E0118 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $212D: Subscreen Designation
$7E0118 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $212D (Sub screen designation).
$7E0119 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $212E: Window Mask Designation for the Main Screen
$7E011A 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $212F: Window Mask Designation for the Subscreen
$7E011B 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2130: Color addition select
$7E011B 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2130 (Color Addition Select).
$7E011C 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2131: Color math designation
$7E011C 1 byte Hardware Mirror Intro & Game Select Screens Miror of $2131 (Color math designation).
$7E011D 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2132: Fixed color data
This value is written to the mirror first.
$7E011D 3 bytes Hardware Mirror Intro & Game Select Screens Mirror of $2132 (Fixed Color Data).

$011D - Red fixed color component.
$011E - Green fixed color component.
$011F - Blue fixed color component.
$7E011E 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2132: Fixed color data
This value is written to the mirror second.
$7E011F 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $2132: Fixed color data
This value is written to the mirror third.
$7E0120 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:420C - HDMA Enable
$7E0121 1 byte Miscellaneous Intro & Game Select Screens Value is always $7E:0124 & #$FE, but is never read in-game.
$7E0122 1 byte Flag Intro & Game Select Screens "Main program loop initialize" flag.

This flag is set during NMI. Once set, the game will go through its main program loop. When the loop is finished, it will clear the flag and wait for NMI to set it again before continuing.
$7E0124 1 byte Flag Intro & Game Select Screens General IRQ flag. If set, IRQ mode registers will be enabled
$7E0124 2 bytes Counter Intro & Game Select Screens IRQ Vertical timer. Writes to $4209 and $420A. Used to keep the "Select v Game" box at a static position.
$7E0125 1 byte Hardware Mirror Intro & Game Select Screens Mirror of $7E:4209 - V-timer low byte.
$7E0142 2 bytes Empty Super Mario Bros. 1 Free space
$7E014D 7 bytes Empty Super Mario Bros. 1 Free space
$7E0154 1 byte Flag Super Mario Bros. 1 If the value in it is not zero, run the actual game; otherwise, loop forever. It's set to a non-zero value during NMI, and it's set to zero after the game mode has been run, so that the game runs exactly once a frame - one NMI trigger per frame.
$7E0155 1 byte Empty Super Mario Bros. 1 Free space
$7E0156 170 bytes Stack Global Stack RAM. Ends at $7E01FF.
$7E0160 1 byte Player Super Mario Bros. 3/Global Debug RAM. Setting it to $80 will allow you to cycle through the player's power-ups by using select. You can also press A / B / X / Y and Select to toggle the Kuribo's Shoe power-up.
$7E0200 2 bytes Hardware Mirror Super Mario Bros. 2 BG 1 X position
$7E0200 1 byte Hardware Mirror Super Mario Bros. 3/Global Window Mask Settings for BG1 and BG2
$7E0200 1 byte Index Intro & Game Select Screens Tilemap index for animating Luigi's head
$7E0201 1 byte Hardware Mirror Super Mario Bros. 3/Global Window Mask Settings for BG3 and BG4
$7E0201 1 byte Index Intro & Game Select Screens Tilemap index for animating Luigi's right hand
$7E0202 1 byte Direction Super Mario Bros. 1 Player direction.
$01 - Right
$02 - left
$7E0202 2 bytes Hardware Mirror Super Mario Bros. 2 BG 2 X position
$7E0202 1 byte Hardware Mirror Super Mario Bros. 3/Global Window Mask Settings for OBJ and Color Window
$7E0202 1 byte Index Intro & Game Select Screens Tilemap index for animating Peach's head
$7E0203 1 byte Hardware Mirror Super Mario Bros. 3/Global Color Addition Select
$7E0203 1 byte Index Intro & Game Select Screens Tilemap index for animating Toad
$7E0204 2 bytes Hardware Mirror Super Mario Bros. 2 BG 3 X position
$7E0204 1 byte Hardware Mirror Super Mario Bros. 3/Global Color math designation
$7E0204 1 byte Index Intro & Game Select Screens Tilemap index for animating Birdo's eyes.
This animation sequence was cut from the final game.
$7E0205 1 byte Hardware Mirror Super Mario Bros. 3/Global Fixed Color Data (red)
$7E0205 1 byte Index Intro & Game Select Screens Tilemap index for animating Birdo's right arm
$7E0206 2 bytes Hardware Mirror Super Mario Bros. 2 BG 1 Y Position, works together with $04C6 (low byte)
$7E0206 1 byte Hardware Mirror Super Mario Bros. 3/Global Fixed Color Data (green)
$7E0206 1 byte Index Intro & Game Select Screens Tilemap index for animating Birdo's tail
$7E0207 1 byte Hardware Mirror Super Mario Bros. 3/Global Fixed Color Data (blue)
$7E0207 1 byte Index Intro & Game Select Screens Tilemap index for animating Gommba's head.
This animation sequence was cut from the final game.
$7E0208 2 bytes Hardware Mirror Super Mario Bros. 2 BG 2 Y position
$7E0208 1 byte Hardware Mirror Super Mario Bros. 3/Global Main Screen Designation
$7E0208 1 byte Index Intro & Game Select Screens Tilemap index for animating Bob-omb's fuse.
This animation sequence was cut from the final game.
$7E0209 1 byte Hardware Mirror Super Mario Bros. 3/Global Subscreen Designation
$7E0209 1 byte Index Intro & Game Select Screens Tilemap index for animating Spiney's head.
This animation sequence was cut from the final game.
$7E020A 2 bytes Hardware Mirror Super Mario Bros. 2 BG 3 Y position
$7E020A 1 byte Hardware Mirror Super Mario Bros. 3/Global Window Mask Designation for the Main Screen
$7E020A 1 byte Index Intro & Game Select Screens Tilemap index for animating Pidgit.
$7E020B 1 byte Hardware Mirror Super Mario Bros. 3/Global Window Mask Designation for the Subscreen
$7E020B 1 byte Index Intro & Game Select Screens Tilemap index for animating Mario's head.

Also acts as a flag to animate Mario's left arm on frame 0 and frame 6.

Resets after 10 frames
$7E020C 1 byte Powerup Super Mario Bros. 1 Which powerup the current powerup entity is. ($00 = Mushroom, $01 = Fireflower, $02 = Star, $03 = 1-up)

Note: You can only have one powerup on the screen, hence this address is a single byte.
$7E020C 1 byte Clipping Super Mario Bros. 3/Global BG Mode and Character Size
$7E020C 1 byte Index Intro & Game Select Screens Tilemap index for animating Mario's left arm.
$7E020D 1 byte Hardware Mirror Super Mario Bros. 3/Global Screen Pixelation
$7E020D 1 byte Index Intro & Game Select Screens Tilemap index for animating Bowser's left arm.
$7E020E 1 byte Graphics Super Mario Bros. 3/Global BG mode of statusbar (Mode 1 by default)
$7E020F 1 byte Hardware Mirror Super Mario Bros. 3/Global Main screen designation of statusbar
$7E0210 2 bytes X Position Super Mario Bros. 3/Global BG1 Horizontal Scroll position

TODO: maybe break up into 2 sub addresses for low and high byte
$7E0214 2 bytes Hardware Mirror Intro & Game Select Screens Mirror of $7E:210D - BG1 horizontal scroll.

The low byte is written first and then the high byte is written second.

This mirror is only applied during IRQ.
$7E0214 2 bytes Hardware Mirror Intro & Game Select Screens BG1 Vertical scroll (IRQ) in Game Select screen
$7E0216 1 byte Timer Intro & Game Select Screens BG1 IRQ scroll timer in Game Select screen. This timer is used when scrolling right.
$7E0216 2 bytes Y Position Super Mario Bros. 3/Main gameplay BG1 Camera Y position. In the top of the level, this has a value of $0000 while on ground level in horizontal levels, this has a value of $00EF.
$7E0217 1 byte Timer Intro & Game Select Screens BG1 IRQ scroll timer in Game Select screen. This timer is used when scrolling left.
$7E0218 1 byte Flag Super Mario Bros. 1 Player's "peace" pose flag. (Used when entering vertical pipes)
$7E0218 1 byte Counter Intro & Game Select Screens Scroll index in Game Select menu. Increments by 1 when scrolling right, decrements by 1 when scrolling left.
$7E0218 2 bytes Y Position Super Mario Bros. 3/Main gameplay BG2 Camera Y position.
$7E0219 1 byte X Position Super Mario Bros. 1 Player's current X position within the screen.
$7E0219 1 byte Flag Intro & Game Select Screens "File Select mode" flag
$7E021A 8 bytes X Position Super Mario Bros. 1 Sprite X position, low byte
$7E021A 1 byte Flag Intro & Game Select Screens "File Select open/close" flag. When set, the File Select menu will either open if closed, or close if opened.
$7E021B 128 bytes Timer Intro & Game Select Screens "File Select open/close" timer. Counts the number of frames remaining to continue opening/closing the File Select menu.
$7E0220 1 byte Flag Intro & Game Select Screens "File Select menu open" flag. When set, the File Select menu in the Game Select screen is open.
$7E0223 1 byte Timer Intro & Game Select Screens Wait time before fading out the screen after a game has been selected.
$7E0224 1 byte Flag Intro & Game Select Screens "Begin gameplay" flag. Becomes set as soon as the player chooses a file in the Game Select screen. The flag is set to #$29 because it is set at the same time the "Begin gameplay" SFX is loaded (which is also #$29).
$7E0225 1 byte Flag Intro & Game Select Screens When $7E:00E3 decrements to this value, the timer delay for the next shine effect on the ALL-STARS logo in the intro will be set.
$7E0235 1 byte Hardware Mirror Super Mario Bros. 2 Window Mask for BG1 & BG2
$7E0236 1 byte Flag Super Mario Bros. 1 Grow vine in start of level (e.g. bonus cloud) flag.
$7E0236 1 byte Hardware Mirror Super Mario Bros. 2 Window Mask for BG3 & BG4
$7E0237 1 byte Y Position Super Mario Bros. 1 Player's Y Position
$7E0237 1 byte Hardware Mirror Super Mario Bros. 2 Window Mask for OBJ & COL
$7E0238 8 bytes Y Position Super Mario Bros. 1 Sprite Y position, low byte
$7E0238 1 byte Hardware Mirror Super Mario Bros. 2 Color addition select
$7E0239 1 byte Hardware Mirror Super Mario Bros. 2 CGADSUB settings
$7E023A 1 byte Hardware Mirror Super Mario Bros. 2 HDMA Enable
$7E023B 1 byte Hardware Mirror Super Mario Bros. 2 Window Mask Desig. Main Screen
$7E023D 3 bytes Hardware Mirror Super Mario Bros. 2 RGB Values for backdrop color
$7E0243 1 byte Hardware Mirror Super Mario Bros. 2 Main Screen Designation
$7E024B 1 byte Hardware Mirror Super Mario Bros. 2 V-count for IRQ. Starry BG appears at screen load.
$7E024C 1 byte Hardware Mirror Super Mario Bros. 2 BG1 Tilemap Address & Size
$7E026C 5 bytes X Position Super Mario Bros. 1 Whirlpool sprite X position, high byte.
$7E0283 1 byte Counter Super Mario Bros. 1 Bowser sprite's health against the player's fireballs.
$7E0285 2 bytes DMA Super Mario Bros. 1 Graphics DMA: Source address low and high byte
$7E0287 1 byte DMA Super Mario Bros. 1 Graphics DMA: Bank byte
$7E0288 2 bytes DMA Super Mario Bros. 1 Graphics DMA: DMA size
$7E028A 2 bytes DMA Super Mario Bros. 1 Graphics DMA: VRAM destination address
$7E028C 1 byte Flag Super Mario Bros. 1 Flag to disable scenery graphics animation and most of the background animations.
$7E028C 1 byte Flag Super Mario Bros. 3/Global Shows the Game Over dialogue on the overworld.
$7E028D 1 byte Flag Super Mario Bros. 1 Flag to upload the next frame of animated FG.
$7E02A9 1 byte Flag Super Mario Bros. 2 (Don't) update palettes flag.
$7E02C5 1 byte Level Data Super Mario Bros. 3/Global Layer 2 Palette, written upon level load.
$00 -
TODO: List of possible values.
$7E02DA 2 bytes Score Super Mario Bros. 3/Battle Mode The number of rounds each player has won in this match.
$7E02DE 2 bytes Score Super Mario Bros. 3/Battle Mode The number of matches each player has won. This determines the number of stars on the scoreboard.
$7E02DF 3 bytes Pointers Super Mario Bros. 2 Layer 2 Map16 data pointer.
$7E02E0 1 byte Speed Super Mario Bros. 3/Global Something related about Mario running at full speed

TODO: Figure out what
$7E02F8 1 byte Flag Super Mario Bros. 1 Bonus Room flag.
$7E0350 1 byte Level Data Super Mario Bros. 3/Global Layer 2 Background, written upon level load. Values #$26 and higher are most likely invalid. (TODO: double-check this)
$7E0364 1 byte Timer Super Mario Bros. 1 Amount of time left to make the next part of Bowser's bridge crumble
todo: also has other purposes during the Bowser fight
$7E0365 1 byte Direction Super Mario Bros. 1 Bowser sprite's movement direction.
$01 = right
$02 = right, but all he does is run towards the axe
$FF = left
$7E0367 1 byte Timer Super Mario Bros. 1 Index to ROM table $03:D6F1 (timer delay for next Bowser fireball). Increases as a bowser fireball is launched
$7E0368 1 byte Index Super Mario Bros. 1 Index of the Bowser sprite.
$7E037C 1 byte Miscellaneous Super Mario Bros. 3/Global Used by the 'slot machine' minigame to determine xposition of the parts.

TODO: What exactly is this address for?
$7E0399 1 byte Sprites Super Mario Bros. 1 How long the vine (both in start of a level and item boxes) has grown.
$7E03A2 8 bytes Timer Super Mario Bros. 1 Hammer bros hammer throw timer.

TODO: Also related to the player interacting with the red platforms.
$7E03CA 1 byte Timer Super Mario Bros. 1 Bowser's "dizzy bubbles" timer. Increases and shows the animation, until value $34.

Used in combination with $7E03CB.
$7E03CB 1 byte Flag Super Mario Bros. 1 Bowser's "dizzy bubbles" animation flag upon receiving the 4th fireball hit. Used in combination with $7E03CA.
$7E03F2 1 byte Counter Super Mario Bros. 1 Counts the amount of bounce blocks you've created in the current level. Doesn't seem to be used for anything else.
$7E0400 896 bytes VRAM Tilemap Intro & Game Select Screens "File Select tileset" buffer
$7E0422 1 byte Counter Super Mario Bros. 3/Global Amount of coins added to the coin counter (so setting this to $02 will add 2 coins to the coin counter).
$7E0428 1 byte Flag Super Mario Bros. 3/Global Setting this to $01 in a level gives the player the star powerup for the default amount of time.

Setting this in the overworld will give the player the star powerup on the overworld, to be applied when you enter a level.
$7E0429 1 byte Player Super Mario Bros. 3/Global Player's image on the overworld.

$00 - Small
$01 - Big
$02 - Big
$03 - Leaf
$04 - Frog
$05 - Tanooki
$06 - Hammer
$07 - Jugem's Cloud
$08 - P-Wing
$09 and higher - Glitch

Does not affect the powerup upon level entrance.
Palette does not update when changing image.
$7E04B5 1 byte Flag Super Mario Bros. 2 Crystal ball has been collected flag, height of opened mouth of hawkmouth.
$7E04B7 1 byte Counter Super Mario Bros. 2 How long the dark potion rooms last.
$7E04C3 1 byte Counter Super Mario Bros. 2 HP count. (Red hearts.)
$7E04C4 1 byte Miscellaneous Super Mario Bros. 2 Amount of hearts to show + 2.
$7E04C6 1 byte Hardware Mirror Super Mario Bros. 2 BG 1 Y (low byte) position, works together with $0206. Used for effects such as the POW.
$7E04CA 1 byte Player Super Mario Bros. 2 The amount of time the player can float.
$7E04CB 1 byte Counter Super Mario Bros. 2 Amount of time the player has to charge up for before doing the super jump.
$7E04E1 1 byte Timer Super Mario Bros. 2 Flashing timer, can kill enemies.
$7E04E8 1 byte Counter Super Mario Bros. 2 Accumulative level number to continue on.
$7E04E9 1 byte Level Data Super Mario Bros. 2 Current room to continue on.
$7E04EA 1 byte Level Data Super Mario Bros. 2 Screen number to continue on.
$7E04ED 1 byte Level Data Super Mario Bros. 2 0 = don't go out of level, 1 = go to player select screen, 2 = go to Game Over screen, 3 = go to bonus game, 4-FF = go to warp screen.
$7E04EE 1 byte Counter Super Mario Bros. 2 Current amount of lives.
$7E04EF 1 byte Miscellaneous Super Mario Bros. 2 Jar type. 0 = warp jar, 1 = regular jar, 2 = 'enclosed' jar
$7E0500 1 byte Sprites Super Mario Bros. 2 Amount of time sprites are frozen. (Stopwatch.)
$7E0533 1 byte Level Data Super Mario Bros. 2 Accumulative level number
$7E0534 1 byte Level Data Super Mario Bros. 2 Current room
$7E0535 1 byte Level Data Super Mario Bros. 2 Screen number to start out on.
$7E0545 1 byte Level Super Mario Bros. 3/Main gameplay During level load: Set level entrance type. Value is 00-07, set by the level header.
00 = normal
01 = slide
02 = vertical pipe exit up
03 = vertical pipe exit down??
04 = horizontal pipe exit right
05 = horizontal pipe exit left
06 = airship intro
07 = weird vertical scrolling?
(TODO: verify values 3 and 7)

During gameplay: Player sliding speed.
$00-$7F: right
$80-$FF: left

TODO: Doesn't seem to work in levels without slopes?
$7E0551 1 byte Timer Super Mario Bros. 3/Main gameplay Player growing/shrinking animation timer. $2F is the maximum value.

Does not apply to other animations (smoke animation, fire flower animation, etc.)
$7E0552 1 byte Timer Super Mario Bros. 3/Global Player is hurt flag (flashing after they get hit)
$7E0553 1 byte Timer Super Mario Bros. 3/Global Star power timer. Does not adjust the music.
$7E0554 1 byte Timer Super Mario Bros. 3/Global Player turns into smoke timer. (When you get Leaf, Tanooki suit etc.)
$7E0555 1 byte Timer Super Mario Bros. 3/Global Mario changes pallette rapidly timer (When you get fireflower)
$7E0556 1 byte Timer Super Mario Bros. 3/Global Everything freezes timer (Activates when Mario gets hit)
$7E0557 1 byte Timer Super Mario Bros. 3/Global Player kicks object image timer
$7E0558 1 byte Timer Super Mario Bros. 3/Global Player faces screen image timer
$7E0559 1 byte Timer Super Mario Bros. 3/Global Player walks to the right in level end timer (Activates when only on ground)
$7E055A 1 byte Timer Super Mario Bros. 3/Global Player walking towards doomship timer (during that one cutscene).
$7E0566 1 byte Generator Super Mario Bros. 3/Global Generator number. Valid values:

$00 - Nothing
$01 - Flying Cheep-Cheeps
$02 - Spiny Cheep-Cheeps
$03 - ? (turns off generator and does something else...)
$04 - Para-Beetles (red and green)
$05 - Moving background clouds?
$06 - Left-moving falling platforms
$07 - Exit on treasure chest obtain?
$08 - Turns off generators?

TODO: Verify values 05, 07, and 08 and check out 03.
$7E0567 1 byte Timer Super Mario Bros. 3/Global P-Switch timer.
$7E0577 1 byte Player Super Mario Bros. 3/Global Player Kuribo shoe status

$00 - Without
$01 - With
$7E0578 1 byte Powerup Super Mario Bros. 3/Global Current player's powerup.

$00 - Small
$01 - Small
$02 - Big
$03 - Fiery
$04 - Raccoon
$05 - Frog
$06 - Tanooki
$07 - Hammer
$20 - Tanooki statue
$7E057A 1 byte Timer Super Mario Bros. 3/Global Tanooki Player's statue mode timer. Makes the player lose statue mode once it hits 00.
$7E0598 1 byte Overworld Super Mario Bros. 3/Global Flag to enable the spotlight on the overworld. Read upon overworld loading, pausing and level entry.
$7E0598 1 byte Overworld Super Mario Bros. 3/Global Flag to hide the overworld in darkness when the Game Over screen pops up. Only used in World 8's 3rd submap (with the spotlight).
$7E05A5 1 byte Timer Super Mario Bros. 2 How long it takes Phanto to initially take off after grabbing a key. Starts at #$A0
$7E05BF 8 bytes Y Position Super Mario Bros. 3/Global Extended sprite Y-position, low byte.

TODO: Verify length
$7E05C9 8 bytes X Position Super Mario Bros. 3/Global Extended sprite X position, low byte

TODO: Verify length
$7E05EE 3 bytes Timer Super Mario Bros. 3/Global Current level timer (example: $03 $02 $05 = 325 seconds left)
$7E0620 1 byte Flag Super Mario Bros. 2 1UP has been collected flag.
$7E0628 1 byte Level Data Super Mario Bros. 2 In potion room or not. #$00 = regular level, #$01 = jar, #$02 = potion room.
$7E0629 1 byte Level Data Super Mario Bros. 2 Level number without world number added
$7E062A 1 byte Counter Super Mario Bros. 2 Amount of cherries collected
$7E062B 1 byte Counter Super Mario Bros. 2 Amount of coins you have for the bonus game
$7E062D 4 bytes Level Data Super Mario Bros. 2 Amount of levels completed per character table.
$7E0635 1 byte World Super Mario Bros. 2 World number.
$7E0671 8 bytes Sprites Super Mario Bros. 3/Global Sprite number.

TODO: Verify length; include list?
$7E06A1 13 bytes Map16 Super Mario Bros. 1 Map16 tile buffer.

Map16 tile which gets drawn off-screen as the level progresses. Tiles are drawn from top to bottom, so the first byte is for the top of the level while the last byte is for the bottom of the level.
$7E06C2 1 byte Player Super Mario Bros. 2 Player is shrinking or growing
$7E06CB 1 byte Generator Super Mario Bros. 1 Which generator to activate.
$7E06CC 1 byte Flag Super Mario Bros. 1 "Hard mode" flag. This flag is set at W5-3 and modifies sprites (makes platforms smaller and have bullet generators, etc.)
$7E06CD 1 byte Sprite Number Super Mario Bros. 1 Which enemy to generate during generators.
$7E06D9 1 byte Counter Super Mario Bros. 1 Looping maze level amount of correct checkpoints counter. Resets everytime you pass the last checkpoint of a certain part of the level.
$7E06DA 1 byte Counter Super Mario Bros. 1 Looping maze level amount of checkpoints counter. Resets everytime you pass the last checkpoint of a certain part of the level.
$7E06DB 1 byte Y Speed Super Mario Bros. 1 Springboard launch force. Later stored into $7E00A0, player Y Speed.
$7E0714 1 byte Flag Super Mario Bros. 1 Player is ducking flag. $04 = duck, $00 = normal. Unwritten when player is small.
$7E0715 3 bytes Routine Super Mario Bros. 3/Global Current player's score
$7E0716 1 byte Flag Super Mario Bros. 1 Disable player collision detection with objects flag.

Can still interact with sprites.
$7E0717 1 byte Counter Super Mario Bros. 1 Current Demo action executed
$7E0718 1 byte Timer Super Mario Bros. 1 Current Demo action's timer, counts down.
$7E071A 1 byte X Position Super Mario Bros. 1 Horizontal X coordinate of left side of the screen, high byte.
$7E071A 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $210D: BG1 X Position (high byte)
$7E071B 1 byte X Position Super Mario Bros. 1 Horizontal X coordinate of right side of the screen, high byte.
$7E071C 1 byte X Position Super Mario Bros. 1 Horizontal X coordinate of left side of the screen, low byte.
$7E071D 1 byte X Position Super Mario Bros. 1 Horizontal X coordinate of right side of the screen, low byte.
$7E0720 2 bytes VRAM Super Mario Bros. 1 Handles drawing of the layer 1 tiles? Adding 1 to it moves every layer 1 stuff to the left 1 8x8 tile.

"Is 0x04 on every odd numbered page and 0x00 on even."

TODO: Verify
$7E0725 1 byte Level Super Mario Bros. 1 Current screen number. Starts with $01 unlike traditional counters which start at $00.

Changing this seems to affect level loading in real-time. Seems to be used in maze castle levels (like 7-4)
$7E0726 1 byte Player Super Mario Bros. 3/Main gameplay Current player number.
$00 - Mario
$01 - Luigi
$7E0727 1 byte World Super Mario Bros. 3/Global Current world
$7E0727 1 byte Overworld Super Mario Bros. 3/Overworld Current player's overworld action.
$7E072C 2 bytes Objects Super Mario Bros. 1 Offset of level data, used as an index for [$FA],y
$7E0733 1 byte Level Super Mario Bros. 1 Area object style

$00 - Regular (green platforms, also used in cloud levels)
$01 - Mushroom platforms
$02 - Bullet Bill Cannons
$7E0735 1 byte Level Super Mario Bros. 1 Vertical length of object, used in rendering objects into the level.
$7E0739 1 byte Sprites Super Mario Bros. 1 Offset of sprite data, used as an index for [$FD],y
$7E073A 1 byte Sprites Super Mario Bros. 1 Screen number of the most recent sprite placed into the level.
$7E073D 2 bytes Flag Super Mario Bros. 3/Main gameplay Flag to beat the current world, display the "Oh thank heavens!" cutscene and proceed to the next world. Read upon level load.

Byte 1 is for Mario
Byte 2 is for Luigi
$7E073F 1 byte X Position Super Mario Bros. 1 BG1 X Position low byte.
$7E073F 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $210D: BG1 X Position (low byte)
$7E0740 1 byte Y Position Super Mario Bros. 1 BG1 Y Position low byte.
$7E0740 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $210E: BG1 Y Position (low byte)

High byte version of this address does not exist.
$7E0742 1 byte Flag Super Mario Bros. 3/Global Flag to keep N-Spade cards as is. 0 = shuffle, 1 = keep.
$7E0743 1 byte Flag Super Mario Bros. 1 Cloud bonus game level type flag (also replaces most objects with clouds as the level progresses).
$7E0744 3 bytes Pointers Super Mario Bros. 2 Layer 3 Map16 data pointer.
$7E0746 1 byte Counter Super Mario Bros. 1 Flagpole task control.

$00 - Nothing
$01 - Check if firework is applicable
$02 - Award points
$03 - Raise star flag and launch fireworks
$04 - Delay to level fadeout
$7E0747 1 byte Timer Super Mario Bros. 1 Everything freezes timer (when the player get a powerup or dies for example).
$7E0747 2 bytes Player Super Mario Bros. 3/Global Current player's powerup on the overworld.

$00 - Small
$01 - Big
$02 - Fire
$03 - Raccoon
$04 - Frog Suit
$05 - Tanooki Suit
$06 - Hammer Suit
$07 - Jugem's Cloud
$08 - P-Wing
$09 or higher - Glitch

Byte 1 is for Mario, byte 2 is for Luigi.

Behaviour of certain powerups apply once the overworld loads , not immediately upon changing the value (like Jugem's Cloud). Jugem's Cloud will also have seemingly infinite uses.
$7E074D 1 byte Sprites Super Mario Bros. 3/Global Number of pixels that a sprite has moved along the X- or Y-axis. It is set during the routine that updates a sprite's position based on its speed.
$7E074E 1 byte Graphics Super Mario Bros. 2 Enable Layer 3 image. Also controls which Layer 3 image to load.
$7E074F 9 bytes Sprites Super Mario Bros. 3/Global Sprite X position fractional bits.

TODO: Verify length
$7E0753 1 byte Player Super Mario Bros. 1 Current Player
$00 - Player 1 (Mario)
$01 - Player 2 (Luigi)

Changing this value effectively changes the input controller as well.
$7E0754 1 byte Flag Super Mario Bros. 1 Current player's small player flag.
$7E0756 1 byte Player Super Mario Bros. 1 Current player's powerup
$7E075A 1 byte Player Super Mario Bros. 1 Current player's current amount of lives.
$7E075B 1 byte Counter Super Mario Bros. 1 Current player's midway point screen number
$7E075C 1 byte Counter Super Mario Bros. 1 Current player's level number (used for dash-number display)
$7E075D 1 byte Flag Super Mario Bros. 1 Current player's hidden 1-up block can be hit flag.
$7E075E 1 byte Counter Super Mario Bros. 1 Current player's coins. (Statusbar display not updated)
$7E075F 1 byte World Super Mario Bros. 1 Current player's world.
$7E0760 1 byte World Super Mario Bros. 1 Current player's level (does not update dash-number)
$7E0761 1 byte Player Super Mario Bros. 1 Previous player's current amount of lives.
$7E0761 9 bytes Sprites Super Mario Bros. 3/Global Sprite Y position fractional bits.

TODO: Verify length
$7E0762 1 byte Counter Super Mario Bros. 1 Previous player's midway point screen number
$7E0763 1 byte Counter Super Mario Bros. 1 Previous player's level number (used for dash-number display)
$7E0764 1 byte Flag Super Mario Bros. 1 Previous player's hidden 1-up block can be hit flag.
$7E0765 1 byte Counter Super Mario Bros. 1 Previous player's coins. (Statusbar display not updated)
$7E0766 1 byte World Super Mario Bros. 1 Previous player's world.
$7E0767 1 byte World Super Mario Bros. 1 Previous player's level (does not update dash-number)
$7E0769 1 byte Flag Super Mario Bros. 1 Disable level preview flag.
$7E076A 1 byte Flag Super Mario Bros. 1 Current player's "More difficult quest" flag.
$7E0770 1 byte Routine Super Mario Bros. 1 Game operation mode.

$00 - Title screen
$01 - Main
$02 - Defeated Bowser
$03 - Game Over
$7E0772 1 byte Routine Super Mario Bros. 1 Which task to execute of the current operation mode ($7E0770).
$7E0772 1 byte Flag Super Mario Bros. 2 Layer 3 transparency flag. (Layer 3 in front of Layer 2) Used for light beams in cave levels.
$7E0773 1 byte VRAM Super Mario Bros. 1 Stripe image uploader destination VRAM address index. Indexes the tables at $0382DE (VRAM low byte) and $0382F1 (VRAM high byte).
$7E0775 1 byte Speed Super Mario Bros. 1 Camera scrolling x-speed.
$7E0775 1 byte Hardware Mirror Super Mario Bros. 2 BG Mode / Character Size / Layer 3 priority
$7E0776 1 byte Flag Super Mario Bros. 1 Pause flag. Shows the pause menu.
$7E0777 1 byte Timer Super Mario Bros. 1 Counter which disables the start button. Used when pausing the game so you can't rapidly pause/unpause. Counts down automatically.
$7E077A 1 byte Flag Super Mario Bros. 1 2-Player game flag
$7E077F 1 byte Flag Super Mario Bros. 1 Previous player's small player flag.
$7E0780 1 byte Player Super Mario Bros. 1 Previous player's powerup.
$7E0781 1 byte Flag Super Mario Bros. 1 "More difficult quest" flag for previous player
$7E0782 1 byte Timer Super Mario Bros. 2 Amount of times 'No Bonus' should flash. (Up to 7F)
$7E0783 1 byte Timer Super Mario Bros. 2 Amount of frames 'No Bonus' remains present or not. (00 slowest, 01 fastest)
$7E078A 1 byte Timer Super Mario Bros. 2 Amount of time to wait before changing music back to the original level music again. Used for several occasions like the Crystal Ball collecting scene.
$7E078C 1 byte Flag Super Mario Bros. 3/Battle Mode The player who won the round. $01 = Luigi, $02 = Mario.
$7E078F 1 byte Timer Super Mario Bros. 1 Countdown timer which when it hits 0, it reduces the level timer by 1. Lower values means the level timer counts down faster.
$7E079B 1 byte Timer Super Mario Bros. 1 Used in generators: Timer to spawn the next sprite.

TODO: Seems to behave differently for the bullet bill generator
$7E079C 1 byte Timer Super Mario Bros. 1 Time until Bowser's sprite shoots a fireball.
$7E07AE 1 byte Timer Super Mario Bros. 1 Player invincibility (after getting hit) timer.
$7E07AF 1 byte Timer Super Mario Bros. 1 Player Star power timer.
$7E07B7 7 bytes Miscellaneous Super Mario Bros. 1 Table of randomly generated numbers.
$7E07CE 6 bytes Player Super Mario Bros. 1 Player 1's current score. 1 digit each byte. Example: $01 $02 $03 $04 $05 $06 = 1234560 points
$7E07D4 6 bytes Player Super Mario Bros. 1 Player 2's current score.
$7E07E9 3 bytes Timer Super Mario Bros. 1 The level's current timer.
First byte is the hundreds, second byte is the tens, and the third byte is the ones.
$7E07FC 1 byte Flag Super Mario Bros. 1 "More difficult quest" flag.

Actually affects the world and level number display to show the star.
$7E07FD 1 byte World Super Mario Bros. 1 Residual address from NES SMB1: World number for the secret continue function (A + Start) of NES SMB1
$7E0800 544 bytes OAM Tilemap Super Mario Bros. 1 OAM table.
$7E0800 544 bytes OAM Tilemap Super Mario Bros. 2 OAM table.
$7E0800 512 bytes OAM Tilemap Intro & Game Select Screens OAM low table mirror
$7E0800 544 bytes Hardware Mirror Super Mario Bros. 3/Battle Mode Mirror of the entirety of OAM.
$7E0886 1 byte OAM Tile Number Super Mario Bros. 3/Global Miniature player's tile number in the

WORLD N
MARIO/LUIGI x N

blue screen popup on the overworld.
$7E0A00 32 bytes OAM Tilemap Intro & Game Select Screens OAM high table mirror (actual).
$7E0A20 128 bytes OAM Tilemap Super Mario Bros. 2 Table that determines the size of a sprite's tile - 8x8 (#$00) or 16x16 (#$02). Each byte corresponds to 4 OAM bytes. Stores to $0A00-$0A1F (where each 2 bits correspond to 4 OAM bytes.)
$7E0A20 128 bytes OAM Tilemap Intro & Game Select Screens OAM high table mirror (expanded).

Each byte only sets the lowest two bits that then get inserted into $7E:0A00.
$7E0AC0 1 byte Flag Intro & Game Select Screens If non-zero CGRAM will update (transfer $7F:9200 to CGRAM).
$7E0B00 512 bytes Palette Super Mario Bros. 2 CGRAM (palette) table.
$7E0B75 1 byte Pointers Super Mario Bros. 1 Pause window states.

$00 - Expand
$01 - Maintain pause window, wait for input, etc.
$02 - Option selected (?)
$03 - Collapse
$7E0B78 1 byte Timer Super Mario Bros. 1 Frame counter which increases every frame only when paused. Used to do the cursor blinking animation.
$7E0B9A 1 byte HDMA Super Mario Bros. 1 How big the windowing HDMA circle is of the player's and Peach's portrait after rescuing the princess. Maximum valid value is $30.
$7E0BA5 1 byte Flag Super Mario Bros. 1 Animation locked flag. $01 Locks the player animation.

Seems to be only used during the fadeout to a new world after rescuing Toad.
$7E0E4F 1 byte Flag Super Mario Bros. 1 Pipe fadeout flag - when taking a pipe, makes all screen fades mosaic and hides OAM tiles.
$7E0E7E 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2105: Mosaic/pixelation register.
$7E0EC0 2 bytes Index Super Mario Bros. 1 Index to the final background map16 page written. (Every $0100 bytes of RAM $7ED000 is a page)
$7E0EC2 1 byte Flag Super Mario Bros. 1 Current player's character graphics.

$00 - Mario's graphics
$01 - Luigi's graphics
$7E0ED1 1 byte Flag Super Mario Bros. 1 "Starry Night" background mode flag. Enables IRQ parallax scrolling and other things.
$7E0ED2 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2110: BG2 Y Position (low byte)
$7E0ED3 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2110: BG2 Y Position (high byte)
$7E0EDC 1 byte Flag Super Mario Bros. 1 Process layer 3 image display flag
$7E0EDE 1 byte Flag Super Mario Bros. 1 IRQ-related flag. $00 during fades, $01 during normal levels and $02 during Starry Night levels.
$7E0EE0 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2132: Direct Color Register
$7E0EE1 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2132: Direct Color Register
$7E0EE2 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2132: Direct Color Register
$7E0EEE 2 bytes Hardware Mirror Super Mario Bros. 1 if $7E0EF1 (starry night IRQ flag) is set:
Mirror of $210F: BG2 Horizontal scroll.

else:
Mirror of $2111: BG3 Horizontal scroll.
$7E0EF2 1 byte Counter Super Mario Bros. 1 IRQ V-Timer thing. #$AF during Starry Night levels to do the parallax effect, #$1F during other levels.
$7E0EFD 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $210F: BG2 X Position (low byte)
$7E0EFE 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $210F: BG2 X Position (high byte)
$7E0F4C 1 byte Timer Super Mario Bros. 1 Bowser animation freeze timer
$7E0F4E 1 byte Index Super Mario Bros. 1 Sprite index of latest generated Bowser fire.
$7E0F89 1 byte Counter Super Mario Bros. 1 'Phase' of the floating heart in the Princess kisses player sequence.
$7E1000 512 bytes Palette Super Mario Bros. 1 Level Palette
$7E1019 1 byte Counter Super Mario Bros. 3/Global An unused counter variable which controls how many times you get to play the Spade minigame. Setting the value to any value besides 00 during the game will allow you to keep trying until either you win, or the counter reaches zero (whichever comes first). Simply press A, B, or Start to spin the reels again.
$7E1061 1 byte Music Super Mario Bros. 3/Main gameplay The level music. Values:
00 = nothing
01 = athletic
02 = grassland
03 = water
04 = P-switch
05 = Bowser battle
06 = underground
07 = bonus win
08 = fortress
09 = miss
0A = game over
0B = boss clear
0C = level clear
0D = invincible
0E = Bowser defeated?
0F = falling with wand
10 = airship
11 = Hammer Bros. battle
12 = boss battle
13 = king saved
14 = Coin Heaven
15 = title screen
16 = 2-player battle (with intro)
17 = Bowser's letter
18 = Peach's letter
19-FF = nothing?
$7E1062 1 byte Music Super Mario Bros. 3/Main gameplay Music backup, used to restore the level music when it changes (as a result of something like a P-Switch or star).
$7E116C 14 bytes VRAM Tilemap Super Mario Bros. 2 Line of white squares to display how many levels there are in current world. 2 bytes per tile. 1st byte = tilemap, 2nd byte = properties.
$7E118E 1 byte VRAM Tilemap Super Mario Bros. 2 World number in beginning of level display tilemap
$7E118F 1 byte VRAM Tilemap Super Mario Bros. 2 World number in beginning of level display properties
$7E1190 1 byte VRAM Tilemap Super Mario Bros. 2 Dash in beginning of level display tilemap
$7E1191 1 byte VRAM Tilemap Super Mario Bros. 2 Dash in beginning of level display properties
$7E1192 1 byte VRAM Tilemap Super Mario Bros. 2 Level number in beginning of level display tilemap
$7E1193 1 byte VRAM Tilemap Super Mario Bros. 2 Level number in beginning of level display properties
$7E11B4 1 byte Counter Super Mario Bros. 2 Amount of lives in char. select, 10s
$7E11B5 1 byte VRAM Tilemap Super Mario Bros. 2 Properties of lives in char. select, 10s
$7E11B6 1 byte Counter Super Mario Bros. 2 Amount of lives in char. select, 1s
$7E11B7 1 byte VRAM Tilemap Super Mario Bros. 2 Properties of lives in char. select, 1s
$7E11BD 6 bytes VRAM Tilemap Super Mario Bros. 2 Tilemap and properties of number of 'World
$7E1200 1 byte Sound Effect Super Mario Bros. 3/Global Sound effects channel 1
$7E1201 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2100: Brightness settings.

Automatically goes into F-Blank when brightness is 0.
$7E1201 1 byte Sound Effect Super Mario Bros. 3/Global Sound effects channel 2
$7E1202 1 byte Music Super Mario Bros. 3/Global Current music number. Write $F2 to lower the volume, and $80 to fade out the music, although doing this disallows you from pausing inside levels.
$7E1203 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $420C: Enable HDMA channels
$7E1203 1 byte Sound Effect Super Mario Bros. 3/Global Sound effects channel 3
$7E1204 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2123: Window Mask Settings for BG1 and 2
$7E1204 4 bytes Hardware Mirror Super Mario Bros. 3/Global Backup of $1200; used to determine which music was played recently.
$7E1205 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2124: Window Mask Settings for BG3 and 4
$7E1206 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2125: Window Mask Settings for OAM and color window
$7E1207 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $212E: Window Mask Designation for main screen
$7E1208 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $212F: Window Mask Designation for sub screen
$7E1208 4 bytes Hardware Mirror Super Mario Bros. 3/Global SPC700 -> SNES I/O registers. Used to determine if a sound effect or music is finished playing.
$7E1209 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2130: Color addition select
$7E120A 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2131: CGADSUB
$7E120B 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $212C: Main Screen Designation
$7E120C 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $212D: Sub Screen Designation
$7E120D 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2105: Screen mode
$7E120E 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2128: Window 2 left position
$7E120F 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2129: Window 2 right position
$7E1210 1 byte Hardware Mirror Super Mario Bros. 1 Mirror of $2132: Direct color register
$7E1300 5 bytes Level Data (Objects) Super Mario Bros. 1 A buffer for rendering horizontally extendable objects. The buffer is represented as a stack that starts at $7E1304 and ends at $7E1300. A value of #$FF means there is no object to render. A value greater than or equal to zero means this object should render at the current X-coordinate.

Each byte represents the remaining width of the object to render. The area data parser renders the level an X-coordinate at a time. The renderer pauses until the player moves forward and more tile data needs to be read (this strategy to load area data is why you can't scroll backwards in SMB1).

How the buffer works is, when an object is at the X-coordinate as the area data renderer (the coordinate it is currently rendering) it will do the render logic for that coordinate, decrement the buffer value, and move on. Once the buffer value gets to $FF, this buffer value is free to use for another object. It will save the 16-bit index of this object relative to the area data address at $7E1305,x, and the 8-bit width of the object at $7E1300,x.

If there is already an object at the current buffer stack, the object will be saved to the next buffer location. If all five buffers are filled, the render will not render anymore objects until it gets to the next screen and the buffer is reset. This places a limit of 5 objects per X-coordinate in SMB1.
$7E1300 512 bytes Palette Super Mario Bros. 3/Global A buffer for the entire palette, both in levels and on the overworld. It may be uploaded to CGRAM depending on $1500.
$7E1305 10 bytes Level Data (Objects) Super Mario Bros. 1 A buffer that saves the index of the area data object in the respective buffer of $7E1300.

Once an object is ready to be rendered at its X-coordinate, the width of the object is saved to $7E1300,x and the index of this object in the area object data is saved at $7E1305,x. The X register for $7E1300,x is 8-bit, but for $7E1305,x it's 16-bit.
$7E130F 5 bytes Level Data (Objects) Super Mario Bros. 1 A flag for the current buffer object at $7E1300. If that object is a green tree platform, then this flag is set when it's rendering the left base of the tree (the stem), and then cleared once it reaches the right base.

This flag is used to determine when to start and stop rendering the stem green tree platform.
$7E1314 5 bytes Level Data (Objects) Super Mario Bros. 1 A value used for the current buffer object at $7E1300,x.

If that object is an orange mushroom platform, then this value is set to half the width of the platform and is used to determine where to draw the stem of the mushroom.
Pages: « 1 2 3 » Per Page: 25 50 75 100 150 500 All

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2022 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy
  • sm64romhacks