Language…
22 users online: 1UPdudes,  AmperSam, AppleBoy54321, Cote de Boeuf, Dark Prince, Darknubs, Fullcannon, gersem, Heraga,  Linkdeadx2, Matheus0349, NewPointless,  NopeContest, OhMuramatsu,  quietmason, Ralshi02, schema_tuna, Silver110420, SubconsciousEye, The Bluenote X, The Fun Police, UTF - Guests: 79 - Bots: 145
Users: 54,909 (2,063 active)
Latest user: Sonulianic.Exe

SMAS Memory Map

Displaying 50 out of 1220 addresses.

View: moderated | waiting (204)

Filter

Link
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 24
  • 25
RAM Address Length Type Context Description Details
$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.
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 24
  • 25