Site visits: 12 at 2024-03-19 (Lifetime visits: 119120)
Don't forget to post your discoveries here!
Download map as: XML - JSON
SNES OffsetTypeGameLengthDescription
$7E:0012PositionSuper Mario Bros. 31 byteWhich screen number the player is in. TODO: Verify, editing this seems to screw with the level drawing
$7E:0014FlagSuper Mario Bros. 31 byteLevel completed flag.
$7E:0015CounterSuper Mario Bros. 31 byteFrame counter.
$7E:0016Hardware MirrorSuper Mario Bros. 31 byteBrightness. Does not affect the statusbar on the overworld.
$7E:0022LevelSuper Mario Bros. 31 byteHow many screens the level has.
$7E:0031PointersSuper Mario Bros. 33 bytesPointer to current current level's sprite data (SNES Address, Little endian)
$7E:0044SpritesSuper Mario Bros. 39 bytesSprite X position, high byte.

TODO: Verify length
$7E:0047X PositionSuper Mario Bros. 31 bytePlayer overworld X-position.
$7E:004CDirectionSuper Mario Bros. 31 bytePlayer's direction on the overworld.
$7E:0056SpritesSuper Mario Bros. 39 bytesSprite Y position, high byte.

TODO: Verify length
$7E:005AFlagSuper Mario Bros. 31 byte"Players spins in the overworld" flag (e.g. when player dies and gets placed to the latest checkpoint)
$7E:005EX PositionSuper Mario Bros. 31 bytePlayer X-position in the level, low byte
$7E:005FSpritesSuper Mario Bros. 39 bytesSprite X position, low byte.

TODO: Verify length
$7E:0070Y PositionSuper Mario Bros. 31 bytePlayer Y-position in the level, low byte.

TODO: Also related to OW 'player spawns' stars (those spinning ones), 34 bytes.
$7E:0071SpritesSuper Mario Bros. 39 bytesSprite Y position, low byte.

TODO: Verify length
$7E:008BSpeedSuper Mario Bros. 31 bytePlayer X-speed
$7E:008CSpritesSuper Mario Bros. 39 bytesSprite X speed.

TODO: Verify length
$7E:009DY SpeedSuper Mario Bros. 31 bytePlayer Y-speed
$7E:009ESpritesSuper Mario Bros. 39 bytesSprite Y speed.

TODO: Verify length
$7E:00ABPointersSuper Mario Bros. 33 bytesPointer to 24-bit RAM address which contains the windowing HDMA table used for various effects.

Seems to alternate between $7F:9000 and $7F:9200.
$7E:00BBMiscellaneousSuper Mario Bros. 31 byteSomething related about OW powerup get? ($07 + higher= glitch)

TODO: Verify
$7E:00BDDirectionSuper Mario Bros. 31 bytePlayer direction ($40 = right)
$7E:00E2X PositionSuper Mario Bros. 38 bytesExtended sprite X-position, high byte.
$7E:0101IndexSuper Mario Bros. 31 byteIRQ 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.
$7E:0160PlayerSuper Mario Bros. 31 byteDebug RAM. Setting it to $80 will allow you to cycle through Mario's power-ups by using select. You can also press A / B / X / Y and Select to toggle the Kuribo's Shoe power-up.
$7E:0200Hardware MirrorSuper Mario Bros. 31 byteWindow Mask Settings for BG1 and BG2
$7E:0201Hardware MirrorSuper Mario Bros. 31 byteWindow Mask Settings for BG3 and BG4
$7E:0202Hardware MirrorSuper Mario Bros. 31 byteWindow Mask Settings for OBJ and Color Window
$7E:0203Hardware MirrorSuper Mario Bros. 31 byteColor Addition Select
$7E:0204Hardware MirrorSuper Mario Bros. 31 byteColor math designation
$7E:0205Hardware MirrorSuper Mario Bros. 31 byteFixed Color Data (red)
$7E:0206Hardware MirrorSuper Mario Bros. 31 byteFixed Color Data (green)
$7E:0207Hardware MirrorSuper Mario Bros. 31 byteFixed Color Data (blue)
$7E:0208Hardware MirrorSuper Mario Bros. 31 byteMain Screen Designation
$7E:0209Hardware MirrorSuper Mario Bros. 31 byteSubscreen Designation
$7E:020AHardware MirrorSuper Mario Bros. 31 byteWindow Mask Designation for the Main Screen
$7E:020BHardware MirrorSuper Mario Bros. 31 byteWindow Mask Designation for the Subscreen
$7E:020CClippingSuper Mario Bros. 31 byteBG Mode and Character Size
$7E:020DHardware MirrorSuper Mario Bros. 31 byteScreen Pixelation
$7E:020EGraphicsSuper Mario Bros. 31 byteBG mode of statusbar (Mode 1 by default)
$7E:020FHardware MirrorSuper Mario Bros. 31 byteMain screen designation of statusbar
$7E:0210X PositionSuper Mario Bros. 32 bytesBG1 Horizontal Scroll position

TODO: maybe break up into 2 sub addresses for low and high byte
$7E:028CFlagSuper Mario Bros. 31 byteShows the Game Over dialogue on the overworld.
$7E:02C5Level DataSuper Mario Bros. 31 byteLayer 2 Palette, written upon level load.
$00 -

TODO: List of possible values.
$7E:02E0SpeedSuper Mario Bros. 31 byteSomething related about Mario running at full speed

TODO: Figure out what
$7E:0350Level DataSuper Mario Bros. 31 byteLayer 2 Background, written upon level load.
$7E:037CMiscellaneousSuper Mario Bros. 31 byteUsed by the 'slot machine' minigame to determine xposition of the parts.

TODO: What exactly is this address for?
$7E:0422CounterSuper Mario Bros. 31 byteAmount of coins added to the coin counter (so setting this to $02 will add 2 coins to the coin counter).
$7E:0428FlagSuper Mario Bros. 31 byteSetting 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.
$7E:0429PlayerSuper Mario Bros. 31 bytePlayer's image on the overworld. Values:
$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.
$7E:0551TimerSuper Mario Bros. 31 bytePlayer growing/shrinking animation timer. $30 is the maximum value.

Does not apply to other animations (smoke animation, fireflower animation, etc.)
$7E:0552TimerSuper Mario Bros. 31 bytePlayer is hurt flag (flashing after they get hit)
$7E:0553TimerSuper Mario Bros. 31 byteStar power timer. Does not adjust the music.
$7E:0554TimerSuper Mario Bros. 31 bytePlayer turns into smoke timer. (When you get Leaf, Tanooki suit etc.)
$7E:0555TimerSuper Mario Bros. 31 byteMario changes pallette rapidly timer (When you get fireflower)
$7E:0556TimerSuper Mario Bros. 31 byteEverything freezes timer (Activates when Mario gets hit)
$7E:0557TimerSuper Mario Bros. 31 bytePlayer kicks object image timer
$7E:0558TimerSuper Mario Bros. 31 bytePlayer faces screen image timer
$7E:0559TimerSuper Mario Bros. 31 bytePlayer walks to the right in level end timer (Activates when only on ground)
$7E:055ATimerSuper Mario Bros. 31 bytePlayer walking towards doomship timer (during that one cutscene).
$7E:0566GeneratorSuper Mario Bros. 31 byteGenerator 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.
$7E:0578PowerupSuper Mario Bros. 31 byteCurrent player's powerup.

List of powerup values:
$00 - Small
$01 - Small
$02 - Big
$03 - Fiery
$04 - Raccoon
$05 - Frog
$06 - Tanooki
$07 - Hammer
$20 - Tanooki statue
$7E:057ATimerSuper Mario Bros. 31 byteTanooki Player's statue mode timer. Makes the player lose statue mode once it hits 00.
$7E:05BFY PositionSuper Mario Bros. 38 bytesExtended sprite Y-position, low byte.

TODO: Verify length
$7E:05C9X PositionSuper Mario Bros. 38 bytesExtended sprite X position, low byte

TODO: Verify length
$7E:05E0TimerSuper Mario Bros. 33 bytesCurrent level timer (example: $03 $02 $05 = 325 seconds left)
$7E:0671SpritesSuper Mario Bros. 38 bytesSprite number.

TODO: Verify length; include list?
$7E:0715RoutineSuper Mario Bros. 33 bytesCurrent player's score
$7E:0727WorldSuper Mario Bros. 31 byteCurrent world
$7E:074DSpritesSuper Mario Bros. 31 byteNumber 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.
$7E:074FSpritesSuper Mario Bros. 39 bytesSprite X position fractional bits.

TODO: Verify length
$7E:0761SpritesSuper Mario Bros. 39 bytesSprite Y position fractional bits.

TODO: Verify length
$7E:1019CounterSuper Mario Bros. 31 byteAn 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.
$7E:1200Sound EffectSuper Mario Bros. 31 byteSound effects channel 1
$7E:1201Sound EffectSuper Mario Bros. 31 byteSound effects channel 2
$7E:1202MusicSuper Mario Bros. 31 byteCurrent music number. Write $F2 to lower the volume.
$7E:1203Sound EffectSuper Mario Bros. 31 byteSound effects channel 3
$7E:1300PaletteSuper Mario Bros. 3512 bytesA buffer for the entire palette, both in levels and on the overworld. It may be uploaded to CGRAM depending on $1500.
$7E:1500PaletteSuper Mario Bros. 31 byteA flag that determines whether or not to upload the data at $1300. If this is nonzero, $1300-$14FF will be uploaded to CGRAM and $1500 will be cleared to zero. The relevant check is at $20F923.
$7E:1A25Y PositionSuper Mario Bros. 39 bytesSprite Y position, low byte

TODO: Verify length
$7E:1A2DX PositionSuper Mario Bros. 39 bytesSprite X position, high byte

TODO: Verify length
$7E:1A35X PositionSuper Mario Bros. 39 bytesSprite X position, low byte

TODO: Verify length
$7E:1CFEMiscellaneousSuper Mario Bros. 31 byteSomething related to Magic Wand's image

TODO: Verify. Is there really a RAM address for something trivial like this?
$7E:1D80PowerupSuper Mario Bros. 328 bytesWhat items Player 1 has on the overworld.
$00 = Nothing
$01 = Mushroom
$02 = Fire Flower
$03 = Leaf
$04 = Frog Suit
$05 = Tanooki suit
$06 = Hammer suit
$07 = Jugem's Cloud
$08 = P-wing
$09 = Star
$0A = Anchor
$0B = Hammer
$0C = Warp Whistle
$0D = Music box
$0E-$FF = unused
$7E:1D9CPowerupSuper Mario Bros. 328 bytesWhat items Player 2 has on the overworld.
$00 = Nothing
$01 = Mushroom
$02 = Fire Flower
$03 = Leaf
$04 = Frog Suit
$05 = Tanooki suit
$06 = Hammer suit
$07 = Jugem's Cloud
$08 = P-wing
$09 = Star
$0A = Anchor
$0B = Hammer
$0C = Warp Whistle
$0D = Music box
$0E-$FF = unused
$7E:1DA2CounterSuper Mario Bros. 31 byteCurrent player's coins
$7E:1EBBPointersSuper Mario Bros. 33 bytesPointer to level object data (SNES Address, Little endian)
$7E:1F9CSprite NumberSuper Mario Bros. 32 bytesSmoke image sprite number

TODO: Verify length
$7E:1F9FY PositionSuper Mario Bros. 32 bytesSmoke image Y position.

TODO: Verify length
$7E:1FA2X PositionSuper Mario Bros. 32 bytesSmoke image X position.

TODO: Verify length
$7E:1FC8Sprite NumberSuper Mario Bros. 38 bytesExtended sprite number. $15 = laser from Bowser's Castle

TODO: Verify length, get list of values
$7F:9000HDMASuper Mario Bros. 3959 bytesWindowing HDMA table.

TODO: Verify length. Having an odd number for a windowing table is odd.