AddressDescriptionTypeSize
$00FF93Empty (all FF) in a clean ROM. Used by many patches (like fastrom), and the last byte becomes 42 when you lock the ROM.Empty45
$01C510Table of items to put in the item box when a powerup is touched. Indexed by Mario's status ($19), plus 4 times the type of powerup touched. Powerups are ordered as follows: $01C510 to $01C513 - Mushroom $01C514 to $01C517 - Flower $01C518 to $01C51B - Star $01C51C to $01C51F - Cape $01C520 to $01C523 - 1-up For a list of possible values, see [url=https://www.smwcentral.net/?p=memorymap&game=smw®ion=ram&address=7E0DC2&context=]$0DC2[/url]. Note: A value of 0x00 (empty) means that the item in the item box doesn't change.Misc.20
$028752A subroutine for spawning bounce sprites for blocks. It continues into the routine at [url=https://smwc.me/m/smw/rom/02887D]$02887D[/url]. Input:
  • $04 - bounce sprite command
  • $05 - value to use in $02887D
  • $06 - speed index (see $02873A and $02873E)
  • $07 - value of [url=https://smwc.me/m/smw/ram/7E009C]$9C[/url] the block will turn into
Notable subsections of this routine include:
  • $028789 (9 bytes): Block bounce sprite YXPPCCCT table. First 7 values match with the value in $04 ([url=https://smwc.me/m/smw/ram/7E1699]$1699[/url] - 1) while the last two are for commands 0x10 and 0x11 (coloured turn blocks / !-block bounce animation).
  • $028758 (49 bytes): Break turn block routine.
  • $0287B0 (84 bytes): Stops an existing bounce animation, if [url=https://smwc.me/m/smw/ram/7E1699]$1699[/url] has no empty slots available to spawn a new bounce sprite into
  • $028804 (121 bytes): Portion of the routine to actually spawn the bounce sprite
Subroutine (JSL)335
$029265INIT routine for most bounce sprites. Mainly used to allow bounce sprites to collect a coin directly above them, though the feature is unfinished and the coin's replacement tile ends up being a solid block instead of empty. Changing $0290ED to [AD] will disable this. $029330 identifies which block on page 0 can be collected this way. Keep in mind that this is independent of the acts like setting and therefore support for other tiles has to be implemented manually.Subroutine (JSR)241
$02A9DERoutine to find an empty sprite slot, starting from the highest usable slot, minus 2. Returns it in Y. Exclusively used for generators, since they don't always need to spawn a sprite. In reality this just sets $0E to 2 and then jumps to $02A9E6. Subroutine (JSL)45
$02FFE2Empty on default. Can be used for various purposes.Empty30
$05B6FETilemap of the erase file select dialog. ("ERASE MARIO A . . . EMPTY", etc.)Layer 3203
$05B7C9Tilemap of the file select dialog. ("MARIO A . . . EMPTY", etc.)Layer 3169
$05CFEAEmpty.Empty22
$078018Empty level (header only). Used as layer 2 when no background is needed.Level data6
$0780EDEmptyEmpty19
$0BFD0DEmpty space.Empty755
$0EF0F0Empty in the original game, though sections of this are used by Lunar Magic for [url=https://www.smwcentral.net/?p=memorymap&game=smw&address=EF0F0-0EF1FF%2CEF200-EF3FF%2CEF400-EF5FF%2CEF600-EF7FF%2CEF800-EF9FF%2CEFA00-EFBFF%2CEFC00-EFDFF%2CEFE00-EFFFF®ion=hijack&description=%22by+Lunar+Magic%22]various purposes[/url].Empty3856
$0FEF90Empty in the original game, though sections of this are used by Lunar Magic for [url=https://www.smwcentral.net/?p=memorymap&game=smw&address=FEF90-FEFFF%2CFF000-FF1FF%2CFF200-FF3FF%2CFF400-FF5FF%2CFF600-FF7FF%2CFF800-FF9FF%2CFFA00-FFBFF%2CFFC00-FFDFF%2CFFE00-FFFFF®ion=hijack&description=%22by+Lunar+Magic%22]various purposes[/url].Empty4208