13 users online: AJ1Ayrton, ASSATAKKU, autisticsceptile1993, Azimaza, crocodileman94, Eeva, Green, HengShao, Nitrogen, spr0ches, StarWolf3000, Victor90,  zuccha - Guests: 162 - Bots: 102
Users: 64,441 (2,487 active)
Latest user: Victor90

SMW Memory Map

Displaying 25 out of 3136 addresses.

View: moderated | waiting (35)


  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 125
  • 126
ROM Address Length Type Description Details
$00968E 32 bytes ASM This is the beginning of the code that is executed for game mode 10 (the black period between fadeout from the OW and Mario Start).
$0096A5 is which Layer 1 tile on the overworld will prevent the "Mario Start!" from appearing if the player is on it. (Default is $56, the Yoshi's House tile.)
Change $0096A6 to EA EA to make MARIO START! appear on the Yoshi's house OW tile number, or to 80 03 to make the MARIO START! never appear.
$0096AE 158 bytes ASM This is the code that is executed by game mode 03 (Load title). Game mode 11 (Mario Start) also uses parts of this code. The shared parts starts at $0096D5.

- $0096C4: music bank used for the Title Screen. 0E = Overworld Music, 48 = Level Music, 59 = Ending Music.
- $0096C7: title screen (level C7) music.
- $0096CC: title screen level number + $24.
- $009724: intro screen (level C5) music.
- $009725: changing it to [9C FB 1D] will allow you to change the music for the intro via Lunar Magic.
- $009737: Bowser scene 1 music.
$00974C 4 bytes Subroutine (JSL) Calls the hexadecimal to decimal subroutine (in short HexToDec) to convert a hexadecimal value into a decimal string at $009045 and ends in an RTL.

-A (8-bit value).

-A: 1s digit (repeated subtraction remainder (“modulo”) once A < 10)
-X: 10s digit (the “quotient” of A divided by 10)
$00980F 2 bytes Coordinate 16-bit X position of Mario when he starts at the Iggy / Larry room. First byte = X lo, second byte = X hi (this byte is not recommended to change).
$009A16 1 byte Coordinate Y lo position of Mario at the start of the Morton/Ludwig/Roy battle.
$009A1F 47 bytes Subroutine (JSR) Writes the Map16 data for Ludwig/Morton/Roy's boss battle room.
$009A40 is what tile the lava tiles in the Morton/Ludwig/Roy battles act like (by default: 05). Only Map16 page 00 is usable.
$009AAD 3 bytes Misc. Change from [A9 33 85] to [4C C0 9A] to disable the circle fade in from Title screen. Use in conjunction with address $009436.
$009AB2 1 byte Misc. Change to [03] to make all layers appear at the same time during titlescreen load.
$009ACB 76 bytes Subroutine (JSR) The cursor routine used in file selection, player selection, and erase file.
$009AD3 - If you change this to EA EA EA, the cursor arrow will never be shown in front of the game-start menus. (It will still act as though it were there, though.)
$009AE4 - SFX that comes up when you select a game at the title screen.
$009AFA - SFX played when you change an option at the title screen and overworld menus.
$009B1D 2 bytes Palette BG Palette for the File Erase screen. Original value is $39C9.
$009BBC 1 byte Sound effect SFX for saving the game.
$009BC9 74 bytes Subroutine (JSL) Save Game function. (Load Game starts around $009CEF. Last byte used in SRAM seems to be $70:0358.) Documentation
$009C1F 69 bytes Controller Mario's movement data on Title Screen.
Format: xx yy xx yy xx yy [...] $FF
The XXs is the value to store to $15, except that the Select flag (#$20) is instead used to tell if the XY flag (#$40) should be masked away from $16 (if it's set, that bit is stored to $16 unchanged; if clear, that bit is masked away. All other bits are stored to $16.)
The YYs is how long to keep that value there. Setting an XX to $FF ends it.
$009C6A 1 byte ASM Change to 80 to open save game menu without pressing a button or Title Screen Playing.
$009C82 3 bytes ASM Change to [EA A9 00] to remove title screen movement. Title screen will not loop.
$009C87 1 byte ASM Change D0 (BNE) to 80 (BRA) to never make the titlescreen loop.
$009C9F 4 bytes ASM Change from 22 00 80 7F to EA EA EA EA to disable sprites from disappearing on the title screen when pressing a button (opening file select menu)
$009CA9 1 byte Misc. Display following layers: ---o4321. o = sprite layer, 4 = layer 4 (unused), 3 = layer 3 (no effect however), 2 = layer 2, 1 = layer 1. Clear the corresponding bits for these layers to not make them display on file select screen load.
$009CAD 3 bytes ASM Change '9C 9F 0D' to 'EA EA EA', and, if you happened to have a HDMA effect in the titlescreen, it will not be disabled when you go to the File Menu.
$009CB1 1 byte Level number Determines the low byte of the intro level number. Subtract 0x24 for the actual low byte (by default, E9-24=C5, meaning level C5, or possibly 1C5 with Lunar Magic's Display Level Message 1 fix). Change to [00] to skip the intro level and warp to the overworld immediately.
$009CCB 3 bytes Misc. SRAM starting addresses for each of the three save files, high byte.
$009CCE 3 bytes Misc. SRAM starting addresses for each of the three save files, low byte.
$009CD4 2 bytes Palette BG Palette for File and Player Select screens. Original value is $7393.
$009CD7 4 bytes Sprite tilemap related Y displacement for tiles in the first shared GFX routine ($019CF3).
$009CDB 24 bytes Sprite tilemap related Properties for tiles in the first shared GFX routine ($019CF3). It's indexed by the value of $05 times 4.
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 125
  • 126