Site visits: 6 at 2024-03-19 (Lifetime visits: 119114)
Don't forget to post your discoveries here!
Download map as: XML - JSON
SNES OffsetTypeGameLengthDescription
$7E:0000MiscellaneousSuper Mario Bros. 18 bytesScratch RAM for many subroutines
$7E:0009CounterSuper Mario Bros. 11 byteFrame Counter
$7E:000AFlagSuper Mario Bros. 13 bytesPlayer 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.
$7E:000A1 bytesBit flags: JD000000
J - Jump button
D - Dash button
$7E:000B1 bytesBit flags: 0000UD00
U - Up button
D - Down button
$7E:000C1 bytesBit flags: 000000LR
L - Left flag
R - Right flag
$7E:000DFlagSuper Mario Bros. 11 byteSaves the value of $7E:000A (jump/run flags) from the previous frame.
$7E:000FPlayer ActionSuper Mario Bros. 11 bytePlayer's current action (Entering pipe, fade to image before level, vine, etc.)
$7E:0011Stripe ImageSuper Mario Bros. 11 byteLayer image upload
$7E:0042X PositionSuper Mario Bros. 12 bytesX-Position of screen
$7E:0046PlayerSuper Mario Bros. 11 byteFacing direction of player
1 - right
2 - left
$7E:005CLevel DataSuper Mario Bros. 11 byteMap Type
$00 - Underwater
$01 - Normal
$02 - Underground
$03 - Castle

This address always has the same value as $7E:00BA.
$7E:005DX SpeedSuper Mario Bros. 11 bytePlayer's X Speed
$7E:00A0Y SpeedSuper Mario Bros. 11 bytePlayer's Y Speed
$7E:00BAFlagSuper Mario Bros. 11 byteCurrent 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.
$7E:00DBLevel DataSuper Mario Bros. 11 byteAn index value signifying the Layer 2 Background map to use.
$7E:00EBClippingSuper Mario Bros. 11 bytePlayer's vertical hitbox size for object interactions? $0E = Small Mario, $00 = Big Mario, $07 = Swimming Big Mario.

TODO: Verify this address
$7E:00FAPointersSuper Mario Bros. 13 bytes24-bit pointer to current level's objects, and their positions (SNES Address, Little endian)
$7E:00FDPointersSuper Mario Bros. 13 bytes24-bit pointer to current level's sprites, and their positions (SNES Address, Little endian)
$7E:010BFlagSuper Mario Bros. 11 byte"Three byte object" flag when loading level data
$7E:0154FlagSuper Mario Bros. 11 byteIf 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.
$7E:0156StackSuper Mario Bros. 1170 bytesStack RAM area reserved for SMAS SMB1.
$7E:020CPowerupSuper Mario Bros. 11 byteWhich 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.
$7E:0236FlagSuper Mario Bros. 11 byteGrow a vine in start of level flag.
$7E:0237Y PositionSuper Mario Bros. 11 bytePlayer's Y Position
$7E:028CFlagSuper Mario Bros. 11 byteFlag to disable scenery graphics animation and most of the background animations.
$7E:0367TimerSuper Mario Bros. 11 byteIndex to ROM table $03:D6F1 (timer delay for next Bowser fireball). Increases as a bowser fireball is launched
$7E:03A2TimerSuper Mario Bros. 11 byteHammer bros hammer throw timer?

TODO: Verify
$7E:06A1Map16Super Mario Bros. 112 bytesMap16 tile to draw on the screen? One byte is one 16 pixels high 'line' on the screen.

"What 16x16 block covers non-written tiles in a level (consult Map16.png for list of 16x16 tiles)."

TODO: Verify
$7E:06CBGeneratorSuper Mario Bros. 11 byteWhich generator to activate.
$7E:06CCFlagSuper Mario Bros. 11 byte"Hard mode" flag. This flag is set at W5-3 and modifies sprites (makes platforms smaller and have bullet generators, etc.)
$7E:0714FlagSuper Mario Bros. 11 bytePlayer is ducking flag. $04 = duck, $00 = normal. Unwritten when player is small.
$7E:071AX PositionSuper Mario Bros. 11 byteScreen number - 1 (in hex; increments when $7E:0726 is 1, not 0).
$7E:071BX SpeedSuper Mario Bros. 11 byteScreen number (in hex; increments when $7E:0726 is 1, not 0).
$7E:0720VRAMSuper Mario Bros. 12 bytesHandles 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
$7E:072CObjectsSuper Mario Bros. 12 bytesTotal number of objects (adds per byte by object).
$7E:073FX PositionSuper Mario Bros. 11 byteBG1 X Position low byte.
$7E:0740Y PositionSuper Mario Bros. 11 byteBG1 Y Position low byte.
$7E:0743FlagSuper Mario Bros. 11 byteCloud bonus game level type flag (also replaces most objects with clouds as the level progresses).
$7E:0746CounterSuper Mario Bros. 11 byteFlagpole timer->score conversion controller? $00 = nothing, 01 = Begin countdown, 02 = continue countdown, 03 = fireworks, 04-05 - fade out?

TODO: Verify this address
$7E:0747TimerSuper Mario Bros. 11 byteEverything freezes timer (when the player get a powerup or dies for example).
$7E:0773VRAMSuper Mario Bros. 11 byteStripe image uploader destination VRAM address index. Indexes the tables at $0382DE (VRAM low byte) and $0382F1 (VRAM high byte).
$7E:1000PaletteSuper Mario Bros. 1512 bytesLevel Palette
$7E:1600Sound EffectSuper Mario Bros. 11 byteSound effect channel 1
$7E:1601Sound EffectSuper Mario Bros. 11 byteSound effect channel 2
$7E:1602MusicSuper Mario Bros. 11 byteMusic channel
$7E:1603Sound EffectSuper Mario Bros. 11 byteSound effect channel 3
$7E:2000Map16 TileSuper Mario Bros. 145056 bytesLayer 2 Map16 Tiles
$7E:D000Map16 TilemapSuper Mario Bros. 13328 bytesLayer 2 Map16 tilemap
$7F:3000Map16Super Mario Bros. 12688 bytesLayer 3 Map16 tilemap, read upon level load for the individual VRAM tiles located around $04:BD09.

TODO: Confirm size, size of ROM address, format of ROM address, and $7F2000 & $7F2004,x