Banner
Views: 552,535,387
Time: 2017-07-23 04:55:16 AM
16 users online: Adut3, altoiddealer, chickaDEE Magazine, Chihaya, Higsby, o Lazy, lolyoshi, Luigiz The Boss, Mariotag1, Pixel-Gon, Pseudogon, RAFAEL_M_C_, Revenge319, o Shiny Ninetales, o tcdw, Ultima - Guests: 26 - Bots: 218Users: 31,911 (1,405 active)
Latest: jefferson115
Tip: Try not to use the exact same background more than once or twice in a row.Not logged in.
SMW ROM Map
Displaying 2857 addresses. (approximately 69.01% complete) Show waiting addresses (45) - Submit address
Address Length Type Description
$008000 39 bytes ASM This is the starting address of SMW. This takes care of basic initialization such as disabling IRQ, HDMA, DMA, clearing the SPC ports, enabling F-blank, disabling emulation mode, disabling decimal mode, initializing the direct page, and setting up the stack.
$008027 43 bytes ASM This is code is responsible for uploading the OAM clear routine to $7F8000. The uploaded routine is essentially an unrolled loop which stores #$F0 to all of the OAM mirror($0200) Y positions.
$008052 25 bytes ASM This is the main part of the SMW initialization routine. SPC engine upload, sample upload, OAM setup, windowing setup, and RAM clearing all happens here.
$00806B 14 bytes ASM This is the main game loop of SMW. It is used to wait for V-blank to complete before executing the code of the next frame. One of the frame counters ($13) is also incremented here.
$00810E 15 bytes Subroutine (JSR) OW Music uploader.
$008134 37 bytes Subroutine (JSR) Uploads level music bank.
$008159 17 bytes Subroutine (JSR) Credit music uploader.
$008179 49 bytes ASM Handles transfers to and from the SPC700 (I/O). Changing all values to [EA] (NOP) or jumping over the code effectively mutes all sound.
$008293 1 byte Misc. How many scanlines the status bar uses during a regular level.
$0084C8 8 bytes Subroutine (JSL) Wrapper for the stripe image uploader (pointer lies in $12). Because it upload tiles, it must run in either f- or v-blank (e.g. in NMI).
$0084D0 258 bytes Stripe Image Stripe image pointer table. Each 24-bit pointer here corresponds to a value of $12, but only multiples of 3 are used. (The first pointer is for value 00, the second is for value 03, the third for 06, etc.)
$0085FA 86 bytes Subroutine (JSR) Fills the entire layer 3 tilemap with tile 0x0FC (transparent tile) i.e. the code "empties" it. Also wipes the OAM before returning.
$008650 119 bytes Subroutine (JSR) This is the routine that polls the controller and updates $15, $16, $17, $18.
$0086A0 (x8A0) - Change to [9C A0 0D AD A0 0D A2 00] to cause both player 1 & 2 to be controlled by controller 1.
$0086DF 27 bytes Subroutine (JSL) Pointer subroutine: Jump to a 2-byte pointer, the position of the pointer used is "Position after the JSL + 1 + (A*2)". The subroutine should always be accessed by a JSL.
$0086FA 36 bytes Subroutine (JSL) Pointer subroutine: Jump to a 3-byte pointer, the position of the pointer used is "Position after the JSL + 1 + (A*3)". The subroutine should always be accessed by a JSL.
$00871E 143 bytes Stripe Image Stripe Image Uploader. Uses $00-$02 as a 24-bit pointer to tile data. See this thread how the stripe image format works. Must be run during a blank, usually NMI.

To call from a custom routine, do this:
- Store stripe image pointer (24-bit) to $00-$02
- Push 24-bit return address (bank -> mid -> lo)
- PHB : LDA #$00 : PHA : PLB
- PEA $84CD
- JSL $00871E
$0087AD 617 bytes Subroutine (JSL) This routine is the DMA routine in charge of updating layers one and two as needed. This is controlled by the addresses $1BE4 and $1CE6 when they are a non-zero value.
$008A4E 43 bytes Subroutine (JSR) Clear RAM subroutine. This is part of the reset routine.
$008A79 59 bytes ASM The routine that sets up certain VRAM-related registers in normal levels.
- $008A80: Default value for $2107 [23].
- $008A85: Default value for $2108 [33].
- $008A8A: Default value for $2109 [53].
- $008A8F: Default value for $210B [00].
- $008A94: Default value for $210C [04].
- $008AAB: Default value for $2130 [02], although it's actually stored to the mirror here (i.e. $44).
$210A is never set, since it is only ever used in Mode 0.
$008C59 40 bytes Layer 3 Tile array for numbers in bonus star counter.
$008C81 8 bytes Layer 3 Top line of status bar (4 top tiles of item box.)
$008C89 56 bytes Layer 3 Second line of status bar.
$008CC1 54 bytes Layer 3 Third line of status bar.
$008CF7 8 bytes Layer 3 Bottom line of the status bar (4 bottom tiles of the item box.)
$008D8B 1 byte Timer Timer speed (USE WITH $008E2E)
$008D90 28 bytes Misc. These four tables indicate the DMA settings and the source address to use for the status bar tiles (the ones that are uploaded at the very beginning of the level). The tables get stored in the order of $43x0-$43x6.
$008DAC 59 bytes Layer 3 The routine that draws the status bar onto the screen. It uses DMA to write the Layer 3 tiles to VRAM.
$008DF5 5 bytes Layer 3 The tiles that make up Luigi's name in the status bar.
$008DFA 4 bytes Sprite tilemap related Tilemap of reserve item. First byte is mushroom, second is flower, third is star, fourth is feather.
$008DFE 4 bytes Sprite tilemap related YXPPCCCT of stars in the item box. It cycles between the four entries every second frame.
$008E02 4 bytes Sprite tilemap related YXPPCCCT data for reserve item. First byte is mushroom, second is flower, third is bypassed ($008DFF), fourth is feather.
$008E06 20 bytes Layer 3 Bonus star counter tilemap - 2 bytes for each number. Every first byte is for the upper tile, every second byte for the bottom tile.
$008E1A 480 bytes Layer 3 The routine that updates the values of all the addresses used for the status bar ($0EF9-$0F2F).
$008E28 - Change this address to AD to disable the timer.
$008E2E - Timer speed (USE WITH $008D8B)
$008E5C - Time is Running Out SFX. Change from FF to 00 to stop the music from speeding up when time reaches 99.
$008E6B - [22 06 F6 00] Change to [EA EA EA EA] to not kill Mario when the timer reaches zero. The timer will count down normally and stop at zero, but Mario will not die
$008EDB - Change this and/or $008F09 from 20 12 90 to EA EA EA to disable writing the score to the status bar when playing as Mario and/or Luigi, respectively. Useful if you want to place another counter in place of the score using Smallhacker's Status Bar Editor.
$008F2C - How many coins you need to get an 1up (USE WITH $008F37)
$008F2F - [EE E4 18] Change to [EA EA EA] to not gain a life after collecting enough for one.
$008F37 - Number of coins to subtract from the counter when you gain enough for a 1up (Default: $64 (100). Change to [01] to create a coin wallet effect - use with $008F2F.
$008F41 - (Use with $008F45) Maximum life limit, minus one. Warning: Changing this to anything higher than 0x7E (127 lives) will remove the life limit entirely! Also, if you have more than 99 lives, the life counter will appear slightly glitched.
$008F45 - (Use with $008F41) Maximum life limit, minus one. Note that if you have more than 99 lives, the life counter will appear slightly glitched.
$008F62 - Number of bonus stars required to enter bonus game
$008F67 - [8D 25 14] Change to EA EA EA to disable entering bonus game when player has 100 bonus stars.
$008F6F - Amount of bonus stars that will be subtracted when 100 bonus stars are collected. Change to [01] to make 99 the maximum amount of bonus stars you can get - to create a bonus star wallet effect, use with $008F67.
$008F7E - Writes coins to status bar. Changing to [EA EA EA EA EA EA] will disable the coins from being written to the status bar.
$008F95 - [09] The X position of the small bonus star counter in the status bar.
$008FC5 - [20 79 90] Change to EA EA EA to disable the item GFX in the status bar
$008FCE - Length of "LUIGI" text (Status bar)
$008FE7 - Tile used on the status bar when there's no Yoshi coin in that spot.
$008FED - Tile used on the status bar when there is a Yoshi coin in that spot.
$008FDC 1 byte Layer 3 [05] If the player has collected at least this number of Dragon Coins, the status bar will display $008FE0 Dragon Coins instead (none by default).
$008FE0 1 byte Layer 3 [00] Number of Dragon Coins to display in the status bar, if the player has collected at least 5.
$008FF0 2 bytes Layer 3 Location of the first Dragon Coin tile in the status bar. See this diagram for possible values.
$009045 12 bytes Subroutine (JSR) Hexadecimal to Decimal conversion subroutine.
"A" now has decimal 1s digit of original "A".
"X" now has decimal 10s and possibly 100s digit of original "A".
(Note: It ends with an RTS. You can JSL to $00974C if you want, though.)
$009053 3 bytes Layer 3 Change to EAEAEA to get rid of the small bonus stars. Use in conjunction with address $00:9068
$009068 3 bytes Layer 3 Change to EAEAEA to get rid of the small bonus stars. Use in conjunction with address $00:9053
$009079 88 bytes Layer 3 Subroutine that draws the power up item to the item box on the status bar during levels.
$0090AE is the X position of the Item Box item.
$0090B3 is the Y position of the Item Box item.
Note: Those two positions are only graphical. It won't change where the item drops from when select is pressed.
$0090D1 104 bytes Sprite tilemap related Tile numbers for 'MARIO START' and various similar messages.
$0090EE is for the top half of Time Up.
$009122 is for the bottom half of Time Up.
$009139 104 bytes Sprite tilemap related YXPPCCCT properties for 'MARIO START' and various similar messages.
Change $00913F from 30 to 34 and $009170 from F0 to F4 to fix the S in "Mario/Luigi Start".
$009156 is for the top half of 'TIME UP".
$0091AC 1 byte Misc. Number of coins needed to get an 1up from the green star block.
$0091DB 1 byte ASM Change it to D0 to switch the "Mario/Luigi Start"
$009329 84 bytes Pointer 16-bit game mode pointers. Indexed by $7E:0100.
$009389 4 bytes Coordinate X position of the "Nintendo Presents" tiles
$00938D 4 bytes Sprite tilemap related "Nintendo Presents" logo tilemap
$0093A5 1 byte Coordinate Y position of "Nintendo Presents" logo
$0093B0 1 byte Sprite tilemap related YXPPCCCT properties for "Nintendo Presents".
$0093C1 1 byte Sound effect "Nintendo Presents" logo sound effect
$0093C6 1 byte Timer How long "Nintendo Presents" stays on the screen before disappearing.
$0093CB 1 byte Misc. Blinking Nintendo Presents (0F = 0 time, 1F = 1 time, 2F = 2 times, etc)
Also known as Nintendo Presents Brightness (Values use Brightness Register ($0DAE))
$009436 3 bytes Misc. Change from [AD 33 14] to [4C 17 94] to disable the circle fade in from Title screen. Use in conjunction with address $009AAD.
$00943B 1 byte Misc. How fast the circle right before the titlescreen opens. Default value is 04. The higher the value, the faster it opens. Don't go beyond #$19.
$009451 7 bytes Palette Back area colours to use for each castle destruction scene (One byte per movie)
$009459 7 bytes Palette Palette row (in the range 00-07) used by the castle and ground, in each castle destruction scene.
$009459 7 bytes Palette Castle palette for castle destruction movies. (One byte per movie)
$009461 7 bytes Stripe Image Stripe image (index to pointers at $0084D0) to load as the background for each castle destruction scene.
$0094A1 1 byte Music Music Bank that is used for the ending music.
0E = Overworld Music
48 = Level Music
59 = Ending Music
$0094B3 1 byte Music Boss castle destruction sequence music #1
$00950B 1 byte Debug DEBUG: Boss defeated scene select (30 = enable)
$00955F 1 byte Misc. GFX File loaded for Credits font
$009586 4 bytes Level number Which level to use for the Yoshi's House part in the credits. 'A9 28 A0 01'. Do not change A9 and A0. 28 is the low byte of the level (Note: Level number + 24), 01 is the high byte.
$00968E 32 bytes ASM This is the beginning of the code that is executed for game mode 10 (the black period between faseout 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 is music Bank Used for the Title Screen. 0E = Overworld Music, 48 = Level Music, 59 = Ending Music.
$0096C7 is the title screen (level C7) music.
$0096CC is the title screen level number+$24.
$009724 is the intro screen (level C5) music.
Changing $009725 to "9C FB 1D" will allow you to change the music for the intro via Lunar Magic.
$009737 is the Bowser scene 1 music.
$00974C 4 bytes Subroutine (JSL) Calls the hex->dec subroutine and ends in an RTL.
$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.
$009BC9 74 bytes Subroutine (JSL) Save Game function. (Load Game starts around $009CEF. Last byte used in SRAM seems to be $70:0358.)
The save routine is documented in depth here.
$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.
$009D6D 1 byte Misc. How many exits you need to get the *96 icon.
$009D71 1 byte Misc. First tile of the *96 icon.
$009D73 1 byte Misc. Second tile of the *96 icon.
$009D8B 1 byte Palette Palette for "number of levels beaten" in the Title Screen's Game Selection Menu (stored in YXPCCCTT format, but kind of screwy; value 30 seems to work well, though)
$009DB5 69 bytes Subroutine (JSR) The subroutine that checks if a saved game file is blank or not. When this subroutine returns, if Z = 0, the file is a new one.
$009E25 1 byte Misc. Amount of lives to start with.
$009E35 2 bytes ASM Set powerups at game start. ($19 = #$00, small Mario.)
$009E6C 1 byte Misc. Number of options in the file select menu. $04 by default.
$009E6E 1 byte Misc. Number of options in the 1/2 player select menu. $02 by default.
$009F2A 1 byte Misc. Speed of Fade-ins and Fade-outs.
$009F2F 1 byte Overworld border Change from 01 to 0F to stop fadeout on entering level, new area, and back to submap. (Use with $00:9F59)
$009F37 81 bytes Subroutine (JSR) Fading/mosaic routine.
Change $009F59 from D0 to 90 to eliminate all fadeouts. (use in conjunction with $009F2F). Mod note: I've heard that this one is buggy. Use on your own risk.
$009F67 controls which layers are affected by the mosaic effect.
Format: xxxx4321.
The numbers present the layer numbers to add mosaic on. So 1 = Layer 1, 2 = Layer 2, etc.
$009F88 48 bytes Layer 3 Layer 3 settings. The table is indexed by 3t + i, where t is the tileset number and i is the Layer 3 image setting (00 = variable tide, 01 = low tide, 02 = tileset-specific image). It is used by the routine at $009FB8. The actual format seems to be:
01 = variable-height tide
02 = fixed-height tide
80 = Layer 3 smashers/cage
81 = slow-auto-scrolling background (except in tilesets 1 and 3, where it will be a background that scrolls at half the rate Layer 1 does)
C0 = same as 80, except without the smasher palette
$009FB8 141 bytes Subroutine (JSR) The main Layer 3 handling routine in levels.

- $009FDA: Starting Y position of the rising/lowering tide.
- $009FDF: Y position of the fixed-height tide.
- $009FF3: One of two tilesets for which the tileset-specific Layer 3 background will not auto-scroll. The other is at $009FF7.
- $009FF7: One of two tilesets for which the tileset-specific Layer 3 background will not auto-scroll. The other is at $009FF3.
- $00A00A: Pointer to the layer 3 crusher palette.
$00A045 38 bytes Layer 3 The routine that sets the interaction of the Layer 3 tide tiles.

Both $00A04E and $00A04F are the low byte of the Map16 tile that the tides act like; nothing is stored to the high byte, so this is always on page 0.
$00A06B 14 bytes Coordinate 16-bit X-coordinates for each of the seven submaps. The main map has values of 0, and is overridden elsewhere.
$00A079 14 bytes Coordinate 16-bit Y-coordinates for each of the seven submaps. The main map has values of 0, and is overridden elsewhere.
$00A09C 1 byte Timer Timer to disable skipping the intro message (level C5).
The timer decreases every 4 frame.
$00A0CC 3 bytes Misc. Saves Mario/Luigi's powerups based on which one you are using for the level
$00A0F9 1 byte ASM Part of the routine that runs after dying with zero lives.

If # of levels beat is zero, then it will take you back to the intro screen, if levels beat is positive, it will take you back to the last place you saved on the OW and bring up the Continue/End dialog.

Change this byte to BRA ($80) to cause it to not send you to the intro screen and bring up the Continue/End dialog if you haven't saved for the first time. (In other words, it will take you back to Yoshi's House on an unedited overworld.)
$00A148 1 byte Overworld GFX file for animated tiles (waterfalls etc) on the overworld.
$00A1E3 1 byte ASM Change to 0xEA to keep the game running when a message box is on the screen.
$00A21E 1 byte Controller Button to press for Pause. (Checks $16)
$00A21F 1 byte ASM Change from F0 (BEQ) to 80 (BRA) to disable pausing
$00A22D 1 byte Timer Timer (in frames) that runs to prevent the pause flag from being flipped instantly. Change [3C] to another value to change the time it takes for Mario to pause/unpause.
$00A23E 1 byte Music Change to 12 and music will continue to play when you pause the game. Changing [11] to another value will alter the sound effect that occurs when pausing the game.
$00A248 1 byte Debug DEBUG: Advance frame / Slow motion (00 = enable)
$00A256 1 byte Debug DEBUG: Slow motion speed
$00A25B 47 bytes Controller Code to handle leaving the level with Start+Select.

Change $00:A268 to 00 to always allow leaving the level.
Change $00:A273 to 00 to beat the level by doing that, not just leave it. Holding A or B will give the secret exit.
$00A300 144 bytes Subroutine (JSR) The routine that handles the graphics that get DMA'd to the first five 16x16 tiles in SP1. It also write the necessary colors to the player's palette (colors 6-F).
$00A30A - Mario/Luigi Palette - Starting Index (Changing this will cause Mario/Luigi to flash when the screen fades out after beating a boss)
$00A320 - Mario/Luigi Palette - Amount of colours * 2
$00A390 1 byte ASM [C2] Change to 60 to disable all animations in levels. This includes colour 64.
Note: LM will still show the animations.
$00A3DB 2 bytes Overworld border [00 08] For which VRAM address animation data will be broken up into two lines of two tiles instead of a single line of four tiles.
$00A400 2 bytes Overworld border [00 09] VRAM address of the second line of two animated tiles (value should be $00A3DB + 0x100).
$00A41A 1 byte Palette [A9] Changing this to 60 will disable the flashing yellow color in levels, but not on the overworld.
$00A41B 1 byte Palette Palette number to use for the flashing palette. Default value is $64
$00A429 12 bytes Palette Changing [B9 0C B6 8D 22 21 B9 0D B6 8D 22 21] to [80 0A EA EA EA EA EA EA EA EA EA EA] will disable the flash animation of colour #64. Make sure that the "View Animation" function in Lunar Magic is disabled.
WARNING: Will disable the animated colours on the OW too!
$00A439 1 byte Misc. Change [F0] (BEQ) to [80] (BRA) to prevent various tiles in SP1 to be overwritten (which meant using ExGFX for them would have no effect). This does not affect tiles 00-09, 10-19 and 7F of SP1.
$00A514 1 byte Palette The first animated colour on the overworld. (Default: 6D.)
$00A51D 1 byte Palette The second animated colour on the overworld. (Default: 7D.)
$00A757 1 byte Misc. How far to offset the players position to the right when exiting a vertical pipe. Values above 0F aren't recommended.
$00A75F 1 byte Misc. How many frames to move Mario when exiting upward from a vertical pipe.
$00A763 1 byte Misc. How many frames to move Mario when exiting downward from a vertical pipe while small.
$00A769 1 byte Misc. How many frames to move Mario when exiting downward from a vertical pipe while with a powerup.
$00A82E 1 byte Misc. GFX File loaded for "MARIO START!", "GAME OVER", etc.
$00A8C3 104 bytes Overworld border 26x4 byte table, Sprite GFX list.
Normal levels can use 00-0F, but the following values have also been observed:
10: [00 00 00 08] Unused?
11: [10 0F 1C 1D] Overworld
12: [00 01 24 22] Morton, Roy, Ludwig
13: [00 01 25 22] Iggy, Larry, Reznor
14: [00 22 13 2D] Castle destruction sequence
15: [00 01 0F 22] Walking home during the credits
16: [00 26 2E 22] Yoshi's House during the credits
17: [21 0B 25 0A] Boss list from the credits
18: [00 0D 24 22] Bowser
19: [2C 30 2D 0E] THE END screen
$00A92B 60 bytes Level data 26x4 byte table, FG/BG GFX list.
Normal levels can use 00-0E, but cutscenes set this to higher values.
$00A96F 28 bytes Level data Submap Foreground Graphics
$00A993 63 bytes Layer 3 Layer 3 GFX28 to 2B upload routine. Pages are uploaded in 64 tile chunks in four passes.
$00A9CD 1 byte Misc. GFX file to use for Nintendo Presents logo
$00AA70 1 byte Misc. GFX file to load special world graphics into
$00AA76 1 byte ASM Change from 10 to 80 to disable the Koopas from using different graphics after the special world is passed
$00AA79 1 byte Sprite tilemap related GFX File loaded for enemies after Special World is passed
$00AB43 1 byte Mode 7 tilemap GFX File loaded for Mode 7 objects
$00AC06 2 bytes Palette Layer 3 Palettes Pointer
$00AC0B 2 bytes Palette Layer 3 Palettes Starting Index
$00AC10 2 bytes Palette Layer 3 Palettes X-Span -1
$00AC15 2 bytes Palette Layer 3 Palettes Y-Span -1
$00AC1D 2 bytes Palette Foreground/Sprite Palettes Pointer
$00AC22 2 bytes Palette Foreground/Sprite Palettes Starting Index
$00AC27 2 bytes Palette Foreground/Sprite Palettes X-Span -1
$00AC2C 2 bytes Palette Foreground/Sprite Palettes Y-Span -1
$00AC3C 2 bytes Palette Back Area Colours Pointer
$00AC42 2 bytes Palette Tileset Specific FG Palettes Pointer
$00AC59 2 bytes Palette Tileset Specific FG Palettes Starting Index
$00AC5E 2 bytes Palette Tileset Specific FG Palettes X-Span -1
$00AC63 2 bytes Palette Tileset Specific FG Palettes Y-Span -1
$00AC6B 2 bytes Palette Tileset Specific Sprite Palettes Pointer
$00AC82 2 bytes Palette Tileset Specific Sprite Palettes Starting Index
$00AC87 2 bytes Palette Tileset Specific Sprite Palettes X-Span -1
$00AC8C 2 bytes Palette Tileset Specific Sprite Palettes Y-Span -1
$00AC94 2 bytes Palette Layer 2 Background Palettes Pointer
$00ACAB 2 bytes Palette Layer 2 Background Palettes Starting Index
$00ACB0 2 bytes Palette Layer 2 Background Palettes X-Span -1
$00ACB5 2 bytes Palette Layer 2 Background Palettes Y-Span -1
$00ACBD 2 bytes Palette Layer 1 Berry Palettes Pointer
$00ACC2 2 bytes Palette Layer 1 Berry Palettes Starting Index
$00ACC7 2 bytes Palette Layer 1 Berry Palettes X-Span -1
$00ACCC 2 bytes Palette Layer 1 Berry Palettes Y-Span -1
$00ACD4 2 bytes Palette Berry Sprite Palettes Pointer
$00ACD9 2 bytes Palette Berry Sprite Palettes Starting Index
$00ACDE 2 bytes Palette Berry Sprite Palettes X-Span -1
$00ACE3 2 bytes Palette Berry Sprite Palettes Y-Span -1
$00AD1E 7 bytes Palette Palette IDs to use for each submap
$00AD28 2 bytes Palette Overworld Map Layer 2 Palettes Pointer
$00AD30 2 bytes Palette Overworld Map Layer 2 Palettes Pointer (Special World Passed)
$00AD4D 2 bytes Palette Overworld Map Layer 2 Palettes Starting Index
$00AD52 2 bytes Palette Overworld Map Layer 2 Palettes X-Span -1
$00AD57 2 bytes Palette Overworld Map Layer 2 Palettes Y-Span -1
$00AD5F 2 bytes Palette Overworld Map Layer 1 Palettes Pointer
$00AD64 2 bytes Palette Overworld Map Layer 1 Palettes Starting Index
$00AD69 2 bytes Palette Overworld Map Layer 1 Palettes X-Span -1
$00AD6E 2 bytes Palette Overworld Map Layer 1 Palettes Y-Span -1
$00AD76 2 bytes Palette Overworld Map Sprite Palettes Pointer
$00AD7B 2 bytes Palette Overworld Map Sprite Palettes Starting Index
$00AD80 2 bytes Palette Overworld Map Sprite Palettes X-Span -1
$00AD85 2 bytes Palette Overworld Map Sprite Palettes Y-Span -1
$00AD8D 2 bytes Palette Overworld Map Layer 3 Palettes Pointer
$00AD92 2 bytes Palette Overworld Map Layer 3 Palettes Starting Index
$00AD97 2 bytes Palette Overworld Map Layer 3 Palettes X-Span -1
$00AD9C 2 bytes Palette Overworld Map Layer 3 Palettes Y-Span -1
$00ADA9 2 bytes Palette Title Screen Layer 3 Palettes (Row 1) Pointer
$00ADAE 2 bytes Palette Title Screen Layer 3 Palettes (Row 1) Starting Index
$00ADB3 2 bytes Palette Title Screen Layer 3 Palettes (Row 1) X-Span -1
$00ADB8 2 bytes Palette Title Screen Layer 3 Palettes (Row 1) Y-Span -1
$00ADC0 2 bytes Palette Title Screen Layer 3 Palettes (Row 2) Pointer
$00ADC5 2 bytes Palette Title Screen Layer 3 Palettes (Row 2) Starting Index
$00ADCA 2 bytes Palette Title Screen Layer 3 Palettes (Row 2) X-Span -1
$00ADCF 2 bytes Palette Title Screen Layer 3 Palettes (Row 2) Y-Span -1
$00AE16 1 byte Misc. [02] Sprite Palette setting for Morton, Ludwig, Roy, Reznor, and Bowser battles
$00AE1B 1 byte Misc. [07] FG Palette setting for Morton, Ludwig, Roy, Reznor, and Bowser battles
$00AF35 4 bytes ASM Change to 4C 91 B0 EA to completely disable the fade-out only when beating a level. (USE WITH $00:B091).
$00AF39 1 byte ASM Change to 80 to completely disable the fade-out when beating a level. Warning: Boss fights including Reznor will glitch out and not send you back to the overworld when doing this.
$00AFBA 3 bytes Misc. Change from B9 F7 AE [LDA $AEF7,y] to A9 00 00 [LDA #$0000] to disable fading completely, even in boss levels. WARNING: When end level scorecard pops up in boss levels, mode 7 stuff will disappear due to the mode being changed to 1 so layer 3 stuff shows up.
$00B091 15 bytes Empty Unused data.
Change to AD C6 13 F0 FA A5 13 29 03 4C 39 AF to completely disable the fade-out only when beating a level. Does not apply to bosses (USE WITH $00:AF35).
$00B0A0 16 bytes Palette Shared background area colour. Back area colour 0 - 7
$00B0B0 24 bytes Palette BG Palette 0
$00B0C8 24 bytes Palette BG Palette 1
$00B0E0 24 bytes Palette BG Palette 2
$00B0F8 24 bytes Palette BG Palette 3
$00B110 24 bytes Palette BG Palette 4
$00B128 24 bytes Palette BG Palette 5
$00B140 24 bytes Palette BG Palette 6
$00B158 24 bytes Palette BG Palette 7
$00B170 16 bytes Palette Palette 0 colours 8-F in levels.
$00B180 16 bytes Palette Palette 1 colours 8-F in levels.
$00B190 12 bytes Palette Palette 2 colours 2-7, FG Palette 0, in levels.
$00B19C 12 bytes Palette Palette 3 colours 2-7, FG Palette 0, in levels.
$00B1A8 12 bytes Palette Palette 2 colours 2-7, FG Palette 1, in levels.
$00B1B4 12 bytes Palette Palette 3 colours 2-7, FG Palette 1, in levels.
$00B1C0 12 bytes Palette Palette 2 colours 2-7, FG Palette 2, in levels.
$00B1CC 12 bytes Palette Palette 3 colours 2-7, FG Palette 2, in levels.
$00B1D8 12 bytes Palette Palette 2 colours 2-7, FG Palette 3, in levels.
$00B1E4 12 bytes Palette Palette 3 colours 2-7, FG Palette 3, in levels.
$00B1F0 12 bytes Palette Palette 2 colours 2-7, FG Palette 4, in levels.
$00B1FC 12 bytes Palette Palette 3 colours 2-7, FG Palette 4, in levels.
$00B208 12 bytes Palette Palette 2 colours 2-7, FG Palette 5, in levels.
$00B214 12 bytes Palette Palette 3 colours 2-7, FG Palette 5, in levels.
$00B220 12 bytes Palette Palette 2 colours 2-7, FG Palette 6, in levels.
$00B22C 12 bytes Palette Palette 3 colours 2-7, FG Palette 6, in levels.
$00B238 12 bytes Palette Palette 2 colours 2-7, FG Palette 7, in levels.
$00B244 12 bytes Palette Palette 3 colours 2-7, FG Palette 7, in levels.
$00B250 12 bytes Palette Palette 4 colours 2-7 in levels.
$00B25C 12 bytes Palette Palette 5 colours 2-7 in levels.
$00B268 12 bytes Palette Palette 6 colours 2-7 in levels. Colour 4 will be overwritten in levels, but not in boss rooms.
$00B274 12 bytes Palette Palette 7 colours 2-7 in levels.
$00B280 12 bytes Palette Palette 8 colours 2-5 in levels, the last four bytes (two colours) seem unused and are probably overwritten.
$00B28C 12 bytes Palette Palette 9 colours 2-7 in levels.
$00B298 12 bytes Palette Ludwig palette, and palette A colours 2-7 in levels.
$00B2A4 12 bytes Palette Roy palette, and palette B colours 2-7 in levels.
$00B2B0 12 bytes Palette Palette C colours 2-7 in levels.
$00B2BC 12 bytes Palette Morton palette, and palette D colours 2-7 in levels
$00B2C8 20 bytes Palette Mario Palette
$00B2DC 20 bytes Palette Luigi palette. Colours 6-F of palette 8 while small, big, or caped Luigi.
$00B2F0 20 bytes Palette Fire Mario's palette
$00B304 20 bytes Palette Fire Luigi palette. Colours 6-F of palette 8 while fire Luigi.
$00B318 24 bytes Palette Sprite palette 0, loaded to palettes E and F.
$00B330 24 bytes Palette Sprite palette 1, loaded to palettes E and F.
$00B348 24 bytes Palette Sprite Palette 2, loaded to palettes E and F.
$00B360 24 bytes Palette Sprite palette 3, loaded to palettes E and F.
$00B378 24 bytes Palette Sprite palette 4, loaded to palettes E and F.
$00B390 24 bytes Palette Sprite palette 5, loaded to palettes E and F.
$00B3A8 24 bytes Palette Sprite palette 6, loaded to palettes E and F.
$00B3C0 24 bytes Palette Sprite palette 7, loaded to palettes E and F.
$00B3D8 14 bytes Palette YI Overworld Palette 4, Colours 1-7
$00B3E6 14 bytes Palette YI Overworld Palette 5, Colours 1-7
$00B3F4 14 bytes Palette YI Overworld Palette 6, Colours 1-7
$00B402 14 bytes Palette YI Overworld Palette 7, Colours 1-7
$00B410 14 bytes Palette Main Overworld Palette 4, Colours 1-7
$00B41E 14 bytes Palette Main Overworld Palette 5, Colours 1-7
$00B42C 14 bytes Palette Main Overworld Palette 6, Colours 1-7
$00B43A 14 bytes Palette Main Overworld Palette 7, Colours 1-7
$00B448 14 bytes Palette Star World Overworld Palette 4, Colours 1-7
$00B456 14 bytes Palette Star World Overworld Palette 5, Colours 1-7
$00B464 14 bytes Palette Star World Overworld Palette 6, Colours 1-7
$00B472 14 bytes Palette Star World Overworld Palette 7, Colours 1-7
$00B480 14 bytes Palette Vanilla Dome/Bowser's Valley Overworld Palette 4, Colours 1-7
$00B48E 14 bytes Palette Vanilla Dome/Bowser's Valley Overworld Palette 5, Colours 1-7
$00B49C 14 bytes Palette Vanilla Dome/Bowser's Valley Overworld Palette 6, Colours 1-7
$00B4AA 14 bytes Palette Vanilla Dome/Bowser's Valley Overworld Palette 7, Colours 1-7
$00B4B8 14 bytes Palette Forest of Illusion Overworld Palette 4, Colours 1-7
$00B4C6 14 bytes Palette Forest of Illusion Overworld Palette 5, Colours 1-7
$00B4D4 14 bytes Palette Forest of Illusion Overworld Palette 6, Colours 1-7
$00B4E2 14 bytes Palette Forest of Illusion Overworld Palette 7, Colours 1-7
$00B4F0 14 bytes Palette Special World Overworld Palette 4, Colours 1-7
$00B4FE 14 bytes Palette Special World Overworld Palette 5, Colours 1-7
$00B50C 14 bytes Palette Special World Overworld Palette 6, Colours 1-7
$00B51A 14 bytes Palette Special World Overworld Palette 7, Colours 1-7
$00B552 14 bytes Palette Palette 5 colours 9-F.
$00B560 14 bytes Palette Palette 6 colours 9-F.
$00B56E 14 bytes Palette Palette 7 colours 9-F.
$00B5DE 16 bytes Palette Contains the colors for the flashing lightning in Valley of Bowser.
$00B60C 16 bytes Palette Colours used in animation of Yoshi coin and yellow map spot
$00B61C 16 bytes Palette Colours used in animation of red map spot
$00B65E 14 bytes Palette Iggy/Larry Platform Palette
$00B674 14 bytes Palette Palettes 2 and 9, colours 9-F.
$00B682 14 bytes Palette Palettes 3 and A, colours 9-F.
$00B690 14 bytes Palette Palettes 4 and B, colours 9-F.
$00B69E 112 bytes Palette Bowser palettes (8 palettes, 7 colours each)
$00B70E 36 bytes Palette "The End" palettes (3 palettes, 6 colours each; order is Luigi, Mario, Princess)
$00B992 50 bytes Graphics Pointers to GFX00 through GFX31, low byte
$00B9C4 50 bytes Graphics Pointers to GFX00 through GFX31, high byte
$00B9F6 50 bytes Graphics Pointers to GFX00 through GFX31, bank byte
$00BA4D 19 bytes Empty Unused data.
$00BA60 32 bytes Pointer The low byte of a series of Map16 data pointers in horizontal levels. The high bytes are at $00BA9C, and the bank byte is either $7E or $7F. These are indexed by screen number; each byte in this table and the other corresponds to the start of a particular screen's Map16 data (or chunk of 0x1B0 bytes). These are used in various routines that read or write Map16 data to find where a particular tile is.
$00BA80 28 bytes Pointer The low byte of a series of Map16 data pointers in vertical levels. The high bytes are at $00BABC, and the bank byte is either $7E or $7F. These are indexed by screen number; each byte in this table and the other corresponds to the start of a particular screen's Map16 data (or chunk of 0x200 bytes, which means that all of these will be 00 in a clean ROM anyway). These are used in various routines that read or write Map16 data to find where a particular tile is.
$00BA9C 32 bytes Pointer The high byte of a series of Map16 data pointers in horizontal levels. The low bytes are at $00BA60, and the bank byte is either $7E or $7F. These are indexed by screen number; each byte in this table and the other corresponds to the start of a particular screen's Map16 data (or chunk of 0x1B0 bytes). These are used in various routines that read or write Map16 data to find where a particular tile is.
$00BABC 28 bytes Pointer The high byte of a series of Map16 data pointers in vertical levels. The high bytes are at $00BA80, and the bank byte is either $7E or $7F. These are indexed by screen number; each byte in this table and the other corresponds to the start of a particular screen's Map16 data (or chunk of 0x200 bytes, which means that these are all simply multiples of 2 plus #$C8). These are used in various routines that read or write Map16 data to find where a particular tile is.
$00BEB0 268 bytes Subroutine (JSL) SMW's Map16-tile-generating routine. It uses values of $9C to determine which tile to generate, but these values are hardcoded. (See RAM address $9C.) This is the main part; $00BFBC runs the codes for each tile.
$00BFBC 67 bytes Subroutine (JSR) A subroutine used with $00BEB0; it runs different codes depending on the value of $9C. The pointers for the different values begin at $00BFC9. They go from 01 to 1B, although the actual codes are kind of weird...the pointers vary depending on which Map16 page the tile is on, whether or not item memory should be affected, and if there are special cases (such as the Yoshi coin, which generates two tiles simultaneously).
$00C00D 86 bytes Subroutine (JSR) The subroutine that sets item memory bits. It is called during the subroutine at $00BEB0 for values of $9C that utilize item memory.
$00C06B 9 bytes Misc. Tiles to generate on Map16 page 0, used for values 01-09 of $9C. Note that the first byte is unused.
$00C074 54 bytes Subroutine (JSR) SMW's subroutine for generating tiles on Map16 page 0. $00C077 is an alternate entry point to this routine; if it is used instead, then the tile generation will not affect item memory.
$00C0B2 15 bytes Misc. Tiles to generate on Map16 page 1, used for values 0A-17 of $9C.
$00C0C1 58 bytes ASM A portion of code used in SMW for generating tiles on Map16 page 1. $00C0C4 is an alternate entry point to this routine; if it is used instead, then the tile generation will not affect item memory.
$00C0FB 177 bytes ASM The portion of code in SMW's Map16-tile-generating routine that changes the actual graphics of the tile. Both $00C074 and $00C0C1 use it (the former jumps to it, and it immediately follows the latter).
$00C29E 72 bytes Misc. BG Tiles/Palette for Flipped Gate (1)
$00C2E6 72 bytes Misc. BG Tiles/Palette for Flipped Gate (2)
$00C4AF 1 byte Misc. If you change this byte from [02] to [01], the keyhole will activate the normal exit.
$00C526 1 byte Music Music played when you have completed the Bonus Game.
$00C558 1 byte Sound effect POW Finishing Sound Effect.
$00C570 1 byte Misc. [F0] Change to [80] to make the item not drop when the player presses Select.
$00C576 1 byte Debug DEBUG: Powerup select (F0 = enable)
$00C599 28 bytes Pointer Pointer to Mario's animation routines. ($7E0071)
$00C5E8 248 bytes Misc. Movement data for all of the castle destruction scenes.

Each data entry consists of two values, the first being the command and the second being the number of frames to keep that command active.
If bit 4 of the command byte is set, question marks will be drawn above Mario (as in Roy/Ludwig's scenes).
If bit 5 is clear, the rest of the byte is read as input data for $15/$16.
If bit 5 is set, then the first four bits are used to run additional commands. x0-x6 will run a variety of small routines, while x7-xF will change Mario's pose.
If #$2D, the P-balloon sound will also be played (for Lemmy's).
Lastly, #$FF marks the end of that scene's data.
$00C6E0 7 bytes Misc. Base indices to the data at $00C5E8 for each of the castle destruction scenes.
$00C92C 2 bytes Misc. [F0 3D] Change to [EA EA] to prevent Mario walking after touching goal spheres or the goal tape.
$00C9A7 7 bytes Level number The level numbers that triggers the seven castle destruction sequences. The first byte is for scene 1, the second is for scene 2, and so on.
$00C9AE 1 byte Level number One of the two level numbers that triggers the credits scene. The other is at $00CA13.
$00C9BD 1 byte Music Goal point fade-out music
$00C9FE 3 bytes ASM [8D D5 0D] The code itself stores either 01 or 02 to $0DD5. Change to [EA EA EA] to make it possible to set the normal/secret exit info through $0DD5 via LevelASM, sprites, etc. (Note: To activate any exit at all, $0DD5 has to be explicitly set to 01 or 02. Leaving it as 00 will cause no exit to be activated at all, and values 03-FF should not be used.)
$00CA0C 1 byte Level number Translevel number of the level where defeating a boss will activate the secret exit.
$00CA12 2 bytes Misc. [C9 31] Changing this to [80 11] will prevent any "boss defeated" scenes from ever being played.
$00CA13 is one of the two level numbers that triggers the credits scene. The other is at $00C9AE.
$00CA2C 1 byte Misc. Set to 00 to disable midway points (they'll still make you big though)
$00CA31 13 bytes Subroutine (JSR) Set the "peace" pose for the player depending on whether he's on Yoshi or not.
$00CB0C 1 byte ASM Change from '8D' to '0C' to not make HDMA gradients act strangely at the end of the level (goal tape). Of course, you should still avoid using HDMA channel 7 if this is all you change.
$00CB12 258 bytes Misc. Opening window data.
$00CBA3 - Change 4B to 49 to fix a misplaced tile on the keyhole "iris in" effect.
$00CC84 1 byte Debug DEBUG: Free-roaming mode (F0 = enable)
$00CC85 1 byte Debug Change this to 00 and you'll activate free roaming mode (just like $00CC84)
$00CD4E 4 bytes ASM [AD 8F 14 0D] Change to [EA EA EA AD] to enable climbing while holding an item
$00CDA9 4 bytes Misc. Mario riding on Yoshi animations
$00CDC5 1 byte Misc. Animation frame for Mario crouching on Yoshi
$00CDF6 131 bytes Subroutine (JSR) L & R scrolling routine.
Change $00CDFC from D0 to 80 to disable L & R scrolling.
$00CE40 is the Screen Scroll Sound Effect.
$00CE99 8 bytes Mario tilemap Spin Jump frame table
(00 00 - Mario Standing - Small - Big)
(25 44 - Mario Back to Screen - Small - Big)
(00 00 - Same as first)
(0F 45 - Mario Facing Screen - Small - Big)

They are indexed by the frame counter.
$00CEA1 8 bytes Mario tilemap Spinjump direction table.
$00CEA9 8 bytes Mario tilemap Cape spin cape image table.

These are run while spin jumping with a cape or doing a spin attack. Only these four cape images ($02,$07,$06,$09) seem to work with cape contact, and will only work if RAM $14A6 is above zero.
$00CEBE 1 byte Mario physics Amount of frames to show the cape at highest altitude frame. (After, for example, a spin-jump has been done.)
$00CF42 1 byte Mario physics Power-up that can attack with both cape spin and spin jump
$00CF75 1 byte Mario tilemap [3F] Mario shooting fireball on ground pose.
$00CF7B 1 byte Mario tilemap [16] Mario shooting fireball in air pose.
$00CF90 1 byte Mario tilemap [0F] Mario turning around while holding item pose.
$00CFCA 1 byte Controller Which button to press to look up. (Look at Ram Address $7E:0015 for values).
$00CFCB 1 byte Mario physics Change from [F0] to [80] to disable looking up.
$00CFCE 1 byte Mario tilemap This is the player looking up pose, the default is #$03.
$00D034 8 bytes Mario physics Cape Collision X (Horizontal) Offsets: Two bytes for right and left, on ground and in air.

The first two sets are for when Mario is on the ground while spinning ($0C,$00- right; $F4,$FF left), and the second two are while he is in the air ($08,$00 - right; $F8,$FF - left)

The first byte in each set determines the position per pixel, the second sets whether it is in front or behind him ($FF is behind, $00 is in front) Use $FF-$80 for the behind byte($FF), and $00-$79 for the in front byte ($00)

This does not effect the image offsets.
$00D03C 8 bytes Mario physics Cape Collision Y (Vertical) Offsets: 2 bytes for right and left, on ground and in air.

The first two sets are for when Mario is on the ground while spinning ($10,$00 - right; $10,$00 - left), and the second two are while he is in the air ($02,$00 - right; $02,$00 - left)

The first byte in each set determines the position per pixel, the second sets whether it is above him or below him ($FF is below his feet, $00 is from his feet up) Use $FF-$80 for the below byte ($FF), and $00-$79 for the above byte ($00)

This does not effect the image offsets.
$00D044 30 bytes Mario physics Routine that does the actual calculation for cape-interaction. Uses the two tables at $00:D034 and $00:D03C.
$00D062 31 bytes Subroutine (JSR) Cape Swing routine.
$00:D065 controls which power-up the player needs to have to be able to cape spin.
Change $00:D067 to 00 to make mario cape spin in all forms.
$00:D077 controls how long Cape Spin lasts.
$00:D07C controls the cape spin sound effect to generate.
$00D081 45 bytes Subroutine (JSR) Fireball throwing routine.
$00D082 is the power-up that can throw fireball
Change $00D084 to 00 to make Mario throw Fireballs in all forms.
Change $00D085 from A5 73 to A9 00 to enable shooting fireballs while ducking.
Change $00D087 from 0D 7A 18 to EA EA EA to enable shooting fireballs from Yoshi.
Change $00D08A to 80 do disable Fireball Shooting.
Change $00D093 from F0 to 80 to disable fireball shooting while spin jumping.
$00D0B9 1 byte Mario tilemap Mario death pose (uses RAM $13E0)
$00D0D5 3 bytes ASM Set 9C C1 0D to EA EA EA in order to not lose Yoshi on the OW when you fall down a pit when on top of Yoshi.
$00D0D8 3 bytes ASM ASM that handles losing lives. Change to [EA EA EA] to not lose a life after dying. Change to [80 03 EA] to always go to the Game Over screen when dying.
$00D0DE 1 byte Music Game Over music
$00D0F1 1 byte ASM ASM that handles the 'TIME UP!' message. Change 'D0' to '80' to disable it.
$00D0F8 10 bytes Misc. Controls timer for TIME UP/GAME OVER message. Change $00D0F9 from C0 to 00 to remove the animation, and change $00D0FE from FF to whatever you want to shorten the timer (however, 00 is as long as FF; 01 is the shortest).
$00D11A 1 byte ASM Change [85] to [60] and Mario will not flip X-wise when he dies.
$00D11D 12 bytes Mario tilemap Mario Shrinking Animation poses (uses RAM $13E0).
$00D141 1 byte Timer How long flashing invincibility (when you get hit) lasts
$00D156 5 bytes ASM Change to EE E4 18 EA 64 to turn the Mushroom into a 1up, but it'll still play the animation
$00D18D 6 bytes Mario physics Speed at which Mario enters/exits a pipe.
The first two bytes are horizontal speed when entering/exiting a horizontal pipe.
The next two bytes are both horizontal speed in vertical pipes, and vertical speed in horizontal pipes.
The last two are the vertical speed in vertical pipes.
$00D1AE 1 byte Misc. Animation frame for Mario entering horizontal pipe on Yoshi
$00D20A 1 byte Mario tilemap Mario's pose for entering a vertical pipe (Default is 0F - facing screen)
$00D229 1 byte Misc. Animation frame for Mario entering vertical pipe on Yoshi
$00D231 5 bytes Overworld border Change (A9 02 8D F9 13) to EA EA EA EA EA to remove Mario's priority when he's going down a pipe.
$00D255 1 byte Sound effect Mario emerge from vertical pipe Sound Effect.
$00D2BD 16 bytes Mario physics Mario's jump height. The earlier ones are when Mario is moving slowly (or standing still); the latter is when he's moving faster. Even entries are normal jump, odd are spin.

Formula:
LDA $7B
BPL +
EOR #$FF
INC A
+
LSR #2
AND #$FE
TAX
LDA $140D
BEQ +
INX
+
LDA $00D2BD,x
STA $7D
$00D345 2 bytes Mario physics Mario 'acceleration' while walking and heading left
$00D347 2 bytes Mario physics Mario 'acceleration' while running and heading left(added to the value for walking)
$00D349 2 bytes Mario physics Mario 'acceleration' while walking and heading right
$00D34B 2 bytes Mario physics Mario 'acceleration' while running and heading right(added to the value for walking)
$00D535 120 bytes Mario physics Mario's maximum X speeds on flat ground and on slopes.
The table consists of sets of 8 bytes, in the order of $13E1. Each of these sets then consists of four groups of two bytes each (for max left and max right), in the order: walking, running, unused, sprinting.
$00D5AD 16 bytes Mario physics Mario's maximum X speeds in water.
The first set of 8 bytes is for when Mario isn't carrying an item, while the second set is with one. Each set consists of four groups of two bytes each (for max left and max right), in the order: on ground, swimming, on ground in a tide, swimming in a tide.
$00D5BD 12 bytes Mario physics Mario's maximum X speeds when sliding down slopes with the down button. In the order of $13E1, without flat ground or flying included.
$00D5C9 34 bytes Mario physics Mario's minimum X speeds on flat ground and on slopes.
The table is in the order of $13E1. Each entry gets two bytes; the second byte is the actual speed ($7B), while the first is the accumulating fraction bits ($7A).

The last 8 bytes of the table seem to be unused.
$00D5CA 30 bytes Mario physics How much Mario moves while on slopes, added to $7B. Values correspond to $7E:13E1 (slope type) divided by four. Every second byte is unused.
$00D5E8 1 byte Mario physics X speed of player as he's floating in water freely in a level where a Layer 3 tide is active. (Does not affect the speed given when the player manually moves around on his own horizontally.)
$00D5EA 1 byte Mario physics X speed of player as he's floating in water AND standing on a platform (like the floating grassy platforms) in a level where a Layer 3 tide is active. (Does not affect the speed given when the player manually moves around on his own horizontally.)
$00D603 1 byte Controller Which button to press to duck. (axsptbrl). a = A/B, x = X/Y, s = Select, p = Pause, t = Top, b = Bottom, r = Right, l = Left.
$00D604 1 byte ASM Change from F0 (BEQ) to 80 (BRA) to disable ducking.
Note that setting $01EB16 to [EA EA A5 73] (NOP #2 : LDA $73) is a good idea if you're using this.
$00D61C 2 bytes ASM Change from 30 12 to EA EA to disable jumping.
$00D63E 1 byte ASM Change from 10 to 80 to disable Spin Jump.
$00D644 1 byte Mario physics [19] Change to [00] to allow Mario to spin jump while carrying an item. Because Mario spins so fast, the animation will not be smooth.
$00D645 1 byte ASM Change this from "1A" to "60" to disable spin jumping. Unlike 0583E (SNES $00:D63E) from "10" to "80", changing this address does not make the "A" button do the regular jump, but it disables spin jumping altogether. This way, you can use the "A" button for something else without it jumping automatically.

Note: Still allows you to spinjump out of the water and dismount Yoshi.
$00D64A 1 byte Misc. Spin Jump Sound, uses bank 1DFC.
$00D65E 10 bytes ASM Mario jumping routine. (Sound effect + store to Mario Y speed.)
$00D65F is the Sound effect for Mario jumping. $00D661 is the bank for the sound effect. By default it uses $1DFA, but you can make it use $1DFC by changing $00D661 to FC or $1DF9 by changing it to F9.
$00D66F 1 byte Mario physics Change to 80 to disable Cape Flight and Jumping High while dashing. Interestingly enough, changing it to A9 will make Mario do a dash jump with every jump, even at a standstill, and will allow him to gain speed in the air. In addition, doing so will have the effect of causing every Jump performed by Cape Mario to become a Cape Flight.
$00D674 1 byte Mario physics [D0] Change to 80 to prevent the player from flying with a cape. The player will still be able to float, cape-spin, and jump higher when running but will never "take off".
$00D677 1 byte Mario physics Mario fly time
$00D707 1 byte Mario tilemap [0D] Mario's turning(skidding) pose
$00D717 1 byte ASM Change [50] to [80] to disable running and cause Mario to never run. The Y (or X) button will not cause Mario to run. This does not affect other uses of the Y button, like shooting fireballs or carrying sprites.
$00D718 1 byte Mario physics Change [1E] to [00] to cause Mario to always run, as if the Y button is always down. This does not affect other uses of the Y button, like shooting fireballs or carrying sprites. Also, Cape Mario will still need the Y button to fly.
$00D7A5 3 bytes Mario physics Gravity. The first byte is when not holding B (or A), the second is gravity when holding B/A, and the third is when riding on a winged Yoshi.
$00D7AF 1 byte Mario physics Falling maximum speed (without button held)
$00D7B0 1 byte Mario physics Falling maximum speed with button held
$00D7B9 1 byte Mario physics The speed at which Mario falls with a cape. Set it lower to make him float slower, higher to float faster, and over D0 to enable unlimited jumping in midair with the cape.
$00D7BA 1 byte Mario physics Flight acceleration (added to y speed)
$00D7C8 7 bytes Mario physics Maximum falling speed for cape mario, index by RAM address $1407 (cape phase).
$00D7CF 6 bytes Mario physics cape speed
$00D805 1 byte Mario physics Power-up that can fly
$00D8EA 1 byte Misc. power-up that can float (cape by default)
$00D905 1 byte Mario physics change to 16 = Raccoon Mario (floating if you tap Y instead of holding it)
$00D909 1 byte Mario physics Time until you stop floating after you have pressed B while while in the air with a cape.
$00D998 1 byte ASM Change this from [F0] (BEQ) to [80] (BRA) so that when the player is carrying an item while swimming, his Y speed won't be affected (the player will sink normally). Also, if you change this to [D0] (BNE), the player will float if carrying nothing and sink if carrying an item.
$00D9D0 1 byte Mario physics Maximum sinking speed of player when holding an item while swimming. When adjusting this value, it's recommended that it's equal to x5BD4. Format of RAM $7E007D.
$00D9D4 1 byte Mario physics Maximum sinking speed of player when holding an item while swimming. When adjusting this value, it's recommended that it's equal to x5BD0. Format of RAM $7E007D.
$00D9D8 1 byte Mario physics Maximum rising speed of player when holding an item while swimming. When adjusting this value, it's recommended that it's equal to $00D9DC. Format of RAM $7E007D.
$00D9DC 1 byte Mario physics Maximum rising speed of player when holding an item while swimming. When adjusting this value, it's recommended that it's equal to x5BD8. Format of RAM $7E007D.
$00DA55 84 bytes Mario physics Mario's horizontal water interaction routine.
To disable layer 3 tides moving him, set $00:DA6F (0x05C6F) and $00:DA58 (0x05C58) to 80 (BRA).
$00DA8E 1 byte Mario tilemap Shooting fireball while swimming pose. Default is #$18 (Swimming pose 3)
$00DAAA 1 byte Sound effect Sound effect that plays when you press the button to swim
$00DAB7 1 byte Mario physics Vine climbing speed 1 (right and down)
$00DAB9 1 byte Mario physics Vine climbing speed 2 (left and up)
$00DB9A 1 byte ASM [10] Change to 80 to disable jumping while climbing.
$00DBA6 1 byte Sound effect Sound effect to play when jumping while climbing. The bank it stores to is located at $00DBA8 [$1DFA by default] and can be changed to $1DF9 or $1DFC.
$00DBB3 1 byte Sound effect Sound effect played when Mario hits a net. (1DF9)
$00DC2D 75 bytes Mario physics Routine that copies the player's XY speeds over to the XY positions.
$00DC2D 75 bytes Mario physics Routine that updates the player's X and Y position by X and Y speed. Here is the formula:

M = $SS/$10

M is the approximate amount of pixels the player has moved per frame. SS is the value in $7B or $7D.
$00DC78 4 bytes Misc. Number of animation frames to use for walking/running Mario, indexed by Mario's status.

Ex: db $01,$02,$02,$02 The first byte it for small Mario, next is Super (Big) Mario, then Cape Mario, and finally Fire Mario. $01 means 2 frames for small Mario and $02 means 3 frames for the others. Longer animations are possible, but that'd require moving stuff around in $13E0, which hasn't been researched yet.
$00DC7C 1 byte Misc. Mario animation speed
$00DD4E 228 bytes Mario tilemap X positions of Mario's tiles in various poses, two bytes per tile.
$00DDDE 2 bytes Mario tilemap X offset of cape when climbing.
$00DE32 228 bytes Mario tilemap Y positions of Mario's tiles in various poses, two bytes per tile.
$00DEC2 2 bytes Mario tilemap Y offset of cape when climbing.
$00DF16 4 bytes Mario tilemap Tileset to use for Mario, paged by status ($7E0019)
$00DF1A 70 bytes Pointer Tile expansion pointer table (Small Mario)
$00DF60 122 bytes Pointer Tile expansion pointer table (Big Mario)
$00DFDA 50 bytes Mario tilemap Tile expansion table (8x8 tiles in GFX00 used by Mario)
$00E00C 192 bytes Mario tilemap Mario upper tile.
$00E0CC 192 bytes Mario tilemap Mario lower tile.
$00E18C 2 bytes Palette This is a two byte table used to index the player's palette based on the direction the player is facing.
$00E23A 44 bytes Mario tilemap Cape tile map
$00E266 44 bytes Mario tilemap cape offsets
$00E2D3 1 byte Debug DEBUG: Infinite star (set to 00 to activate)
$00E30D 1 byte Misc. How many palettes to cycle through when Mario/Luigi is invincible, -1
$00E34F 4 bytes Misc. Change to EA EA EA EA (NOP #4) and all forms of Big Mario will not go into the ground a few pixels.
$00E35D 3 bytes ASM Change to $EA,$EA,$EA (NOP #3) to cancel out Mario moving up and down one pixel while walking and running. This is useful if you are using more than three animation frames for walking/running, and thus can be worked into your GFX/tilemap accordingly.
$00E364 1 byte ASM Change to $80 (BRA) to disable Mario from being offset vertically by one pixel while running on the wall (using the purple triangles). This should be combined with $00E34F and $00E35D for the complete effect.
$00E3AA 1 byte Misc. Which animation frame value to start pulling tilemaps from the size-independent table
$00E3FE 1 byte Misc. power-up that shows the cape graphics
$00EA08 3 bytes ASM Change [20 29 F6] to [EA EA EA] (JSR $F629 to NOP NOP NOP) to prevent the player from getting killed when stuck in a block, such as a cement block. Instead, he will get thrown downwards.
$00EA82 1 byte Mario physics [10] Change to 80 to disable spin jumping from water
$00EA8E 1 byte Sound effect Mario spin-jump from water sound effect.
$00EA9C 1 byte Mario tilemap Mario's pose as he comes out of the water.
$00EAA0 1 byte Mario physics How high Mario can jump out of the water.
$00EAC1 26 bytes Objects Table of which slope tiles on Map16 page 1 are in water.
$00EB79 2 bytes ASM Change to A9 00 to make Super/Fire/Cape Mario have a 16x16 interaction field (like Small Mario) or change it to A9 01 to have a 16x32 interaction field (like big Mario) (in conjunction with addresses $01B4C0 and $03B67C)
$00EC0B 1 byte Controller Change from 16 to 15 to allow Mario to enter doors by holding up, instead of just pressing it.
$00EC0D 1 byte Controller What button to press to activate a door. Format of $7E0015. (byetUDLR)
$00EC11 1 byte Sound effect Entering Door Sound Effect.
$00EE69 2 bytes ASM Change to EA EA (NOP #2) if you want Small Mario to be able to break turn blocks with a spin jump. Alternatively, change this address to 80 18 (BRA $18) if you want turn blocks to not be breakable by spin jumps.
$00EE79 1 byte Objects Controls which (page 1) tile activates the brown creating/eating block sprite when stood on. Note that a few tiles are handled before this and can not trigger this effect.
$00EEB2 1 byte Objects Change from 1E to 04 to make it possible to trigger already triggered switches, as opposed to them randomly becoming solid for no obvious reason.
$00EEF8 3 bytes ASM Change to [EA A9 00] to enable sliding while holding an item.
$00F05C 36 bytes Misc. Table for several Map16 blocks that handles which bounce block sprite is shown when the block is hit. Please see this thread and this thread for additional information.
$00F080 36 bytes Misc. Table for several Map16 blocks that handles which powerup is spawned out of the block when it's hit.
$00F0A4 36 bytes Misc. Table for several Map16 blocks that handles from which sides the block is activated, in ----btrl format. - = unknown, b = bottom, t = top, r = right, l = left.
$00F0C8 36 bytes Misc. Table for several Map16 blocks that handles which block is spawned when another block has been hit. For example: ? block -> brown block.
$00F124 2 bytes ASM Change from D0 39 to EA EA to make Munchers (and other hurt blocks such as castle spikes) hurt Mario while riding Yoshi.
$00F176 131 bytes Objects Green Star Block code.
$00:F1E9 - FG/BG Tileset in which coin question blocks' behavior are changed for the 3-block 1up bonus game.
$00:F1EA - Change from F0 0D to EA EA to disable the 3-block 1up bonus game, allowing you to use coin question blocks in levels with the switch palace tileset (4), and freeing up the 5 bytes at RAM address $13F4 for custom use.
$00F21D 1 byte Sprite Misc. Sprite to generate out of the bonus block (the rows of ?-blocks) if all three of them were guessed right. Default: #$05 (1-Up). Other possible values include, but are not excluded to: #$00 = None; #$01 = Mushroom; #$02 = Fire Flower; #$03 = Star; #$04 = Feather.
$00F237 1 byte Sound effect Incorrect! Sound effect for the bonus 3 block minigame.
$00F253 1 byte Misc. What the remaining blocks become when hitting the incorrect block in a bonus area
$00F2BB 3 bytes ASM Change [99 3C 1F] to [EA EA EA] to make the 1up checkpoint work again when reentering a level
$00F2CD 33 bytes Objects The code for the midway point tile (Map16 tile 38, not the extended object).
$00F2CE - What object you get after breaking midway point tape (default 02 - none).
$00F2E2 - Change to 0x80 to disable midway powerups (or EA EA to make them always make you big, even if you have a better powerup).
$00F2E5 - What powerup midway points give you.
$00F2E9 - What sound effect midway points play.
$00F316 1 byte Misc. Change '0F' to the following, and the 3UP moon will add this to your life or score counter:

00 = Nothing at all
01 - 0C = Scores 10-8000.
0D = 1UP.
0E = 2UP.
0F = 3UP.
10 = 5UP (glitched).
11-FF = Best not to use.
$00F325 3 bytes ASM Replace '99 EE 1F' with 'EA EA EA' to make moons reappear when you re-enter a level after collecting them.
$00F332 69 bytes ASM The code that handles a Yoshi coin being collected.

$00F333 is the Map16 tile number of the top half of the coin.
$00F33C is the offset of the score sprite when the top half is collected, relative to the bottom half.
Changing $00F343 [EE 22 14] to [EA EA EA] will disable the Yoshi Coin counter in the status bar. Note that this will also stop them from respawining when you've got five of them.
$00F34A is the number of Yoshi coins that need to be collected to trigger the "collected all" flag.
Changing $00F354 [99 2F 1F] to [EA EA EA] will make the Yoshi coins reappear even after collecting all 5 (or more) of them.
$00F359 is the Yoshi coin sound.
$00F35E is how many regular coins a Dragon Coin gives you.
$00F364 is the value stored to $9C when the coin is collected.
$00F377 59 bytes Subroutine (JSL) The subroutine that handles the score when you get a Yoshi coin.
Changing $00F37A [EE 20 14] to [EA EA EA] will stop the Yoshi Coin counter from increasing and giving you points and giving you a life after you collected enough for one.
$00F3B2 18 bytes Subroutine (JSR) This subroutine gets an index to the "one bit per level" tables ($1F2F, $1F3C, $1FEE) depending on the overworld level number ($13BF). When it returns, Y holds the byte index to $1F2F and A holds the bit to check/set.
$00F3E5 4 bytes Controller Which button you have to be pushing in order to enter the 4 kinds of pipes. In order: End on right, end on left, end on bottom, end on top.
$00F3ED 1 byte Misc. [37] Offset of entering vertical pipes. Setting it to any other number than 36-38 will make the player incapable of entering.
$00F43A 1 byte Sound effect Going Down Pipe Sound
$00F44D 24 bytes Mario physics Routine that sets up Mario's object collision points for RAM addresses $98-$9B, inclusive.
$00F598 2 bytes Mario physics Highest Y position that the player is able to be at, 16 bit. Note that this is a negative value.
$00F5AD 2 bytes Misc. Change to 80 03 (BRA $03) to make it so falling into a pit results in death even in Yoshi wings levels, or to 80 00 (BRA $00) to make it so falling into a pit will always activate the normal exit.
$00F5B7 79 bytes Subroutine (JSL) Hurt Subroutine (JSL to it to hurt Mario).
$00:F5B9 : Change to F0 to make mario invincible. (Will not make him invincible to crushing objects, lava or pitfalls).
$00:F5C1-$00:F5C3: Change from 0D 93 14 to EA EA EA to make Mario die normally when touching an enemy/muncher even after getting the goal tape/sphere.
$00:F5D7: Change this to 80 to have Mario die when touched, regardless of powerup status.
$00:F5E3: This SFX plays when you get hit when flying.
$00:F5ED: Invincibility timer when hit while flying.
$00:F5F4: Mario shrinking SFX.
$00:F5F8-$00:F5FB: Set to EA EA EA EA to disable item box auto-falling when you get hurt.
$00:F5FC-$00:F5FF: Change the "A9 01 85 71" to "EA EA EA EA" to disable mario's shrinking animation when hit.
$00F606 35 bytes Subroutine (JSL) Death Subroutine (JSL to it to kill Mario).
$00F607 controls the speed at which the player jumps up ($7E007D format).
$00F60B controls which music is played when Mario dies.
$00F619 can be changed from 0D 14 to 12 14 to make the screen not scroll when the player loses a life.
$00F61C controls the amount of time Mario stays on screen before dying.

*note that if Mario Falls into a hole, the rom will JSL to $00F60A to skip the death animation
$00F69F 4 bytes Misc. Where Mario has to be vertically on-screen for the game to consider the screen "caught up" with him in a particular direction, thereby stopping it from scrolling. The first two bytes are for scrolling upwards, while the second two are scrolling down.
$00F6A7 6 bytes Misc. How fast the camera "catches up" to Mario when scrolling vertically. The first two bytes are when scrolling upwards, while the second two are scrolling down.

The third entry is a bit strange, and for the most part unused. If the level is set to "no vertical scroll unless flying/climbing/etc.", then it gets used as the upwards scroll speed of the screen when it's below the point where the screen "locks" vertical scrolling. Since this is normally at the bottom of a level where the screen can't scroll any further down, it can only really get used in vertical levels.
$00F6AD 6 bytes Misc. Vertical limits for scrolling the screen.

The first two bytes are the highest distance the screen can scroll upwards; essentially, it's the top of the level.
The second two are the highest distance the screen can scroll upwards... when the screen is stationary or moving downwards. Recommended to keep it identical to the first two bytes.
The third entry is where the screen's vertical scrolling locks in a level with the "no vertical scroll unless flying/climbing/etc." option. The screen can actually still scroll vertically if it goes below this point, but it can't scroll up past it unless one of the special conditions is met.
$00F6B3 4 bytes Misc. The maximum distances the screen will scroll normally (without L/R held), in 16-bit. The first two are scrolling left, the second two are scrolling right.

Setting these values higher than the ones in $00F6CD may cause the screen to act strangely.
$00F6C1 4 bytes Misc. How quickly the screen moves when scrolling with L/R. The first two bytes are scrolling right, while the second two are scrolling left.

It's worth noting that these are also used to check whether Mario is facing the direction the screen is scrolling, for deciding whether to have it "catch up" to him while he's walking around. It only matters whether the two values are negative or positive, though, so as long as you aren't changing the scroll direction, there shouldn't be any issues. If you want to fix that, you can do so by changing $00F8CB from 0xBF to 0xC5.
$00F6C7 4 bytes Misc. How quickly the screen scrolls horizontally when "catching up" to Mario while he's walking around normally. The first two bytes are right, while the second are left.
$00F6CD 4 bytes Misc. The maximum distances the screen can be scrolled with L and R, in 16-bit. The first is scrolling right, the second is scrolling left.

Setting these values lower than the ones in $00F6B3 may cause the screen to act strangely when screen scrolling.
$00F6E5 2 bytes Misc. Distance Mario must be offset to the left of the screen's "hotspot" defined by $7E142A for the screen to scroll leftwards.
$00F6EC 2 bytes Misc. Distance Mario must be offset to the right of the offset at $00F6E5 for the screen to scroll rightwards. Essentially, this defines the width of the area where the screen will never scroll horizontally.
$00F70E 2 bytes Coordinate Lowest Y position the screen is allowed to scroll down to in horizontal levels. Change from C0 00 to CF 00 (do the same on $00F6B1 so the "no vertical scroll unless flying/climbing/etc." work consistently) to allow the bottom row of 16x16 blocks to be shown.
$00F727 1 byte Misc. Change #$00 to #$02 (value to be stored in $7E:0055 and $7E:0056) and you'll get a SMB1-like effect regarding screen-scrolling: it's impossible to go to the left, even with L/R-scrolling.
$00F79D 13 bytes ASM Code that handles the Layer 2 horizontal scroll settings (LM's "Layer 2 (BG) Scrolling Rate").
$00F7AA 24 bytes ASM Code that handles the Layer 2 vertical scroll settings (LM's "Layer 2 (BG) Scrolling Rate").
$00F806 2 bytes Coordinate How high Mario must be in order to make the screen scroll vertically, when the scrolling mode is 'Vertical scroll at will', when Mario lands on a platform. 16-bit value, little endian.
The lower the value, the higher Mario must be in order to make the screen scroll vertically.
$00F878 1 byte Misc. Change from D0 to 80 to activate free vertical scrolling. This will bypass the routine that checks whether Mario is standing on solid ground or not (RAM address $72) and sets the scrolling flag accordingly. The camera follows Mario instead of waiting for him to land on something.
$00F99C 2 bytes Coordinate What 16-bit Y position on screen ($7E:0080) the player should have at the very minimum, before being killed in the Iggy/Larry battle room. Used to simulate lava tiles.
$00F9F5 27 bytes Empty Unused data.
$00FA10 9 bytes Subroutine (JSL) Unreachable, but can be JSL'ed to clear out the sprite status table.
$00FA46 1 byte Misc. Time to shake ground when you hit the big switch in the switch palace. Default is 20.
$00FA4D 1 byte Sprite number Sprite that's spawned when hitting a switch palace. Note that it always uses slot 02.
$00FA80 95 bytes Subroutine (JSL) This will trigger the goal tape. Changing 0x07CBF from [06] to [0x] will change what state sprites to turn when triggered.
$00FADF 28 bytes Misc. Table of the various sprites Mario receives for carrying different items past the goal tape.

The table itself is divided into four 7-byte sections: P-switches and springboards will use the second section, keys will use the third, baby Yoshi will use the fourth, and anything else will use the first.
Each section is then indexed by Mario's current state, in the order: small, big, cape, fire, with star power, on Yoshi, and unused. The star power index is essentially unused, however, because the counter always gets cleared before the table gets loaded from.

If the value returned is E0-EF, Mario will receive the sprite written at $00FB50 (1-up by default). If it's F0-FF, he'll receive the sprite at $00FB54 (...also a 1-up by default). In both cases, it'll also store the lower four bits to $1594, but that ends up being 0 in every obtainable case anyway, so it's likely a remnant of some beta feature.

Additionally, $00FB40 is the sprite to spawn if Mario already has the sprite in his item box (again, 1-up by default).

Lastly, you can re-enable factoring star power into the table by changing $01C0FE to EA EA EA.
$00FB40 1 byte Sprite number Sprite that the Blue/Silver P-switch, Portable Spring Board, Throw Block Sprite and carryable stunned enemies will turn into when they reach the goal point.
$00FB50 1 byte Sprite number Sprite that the Key will turn into when it reaches the goal point.
$00FB53 5 bytes ASM Change to EA EA EA EA EA to prevent the 1UPs being spawned at the goal point. $00:FB54 controls the sprite number that Baby Yoshi (Green, Red, Yellow, Blue) will turn into when it reaches the goal point.
$00FB6F 1 byte Sprite Misc. The Y speed of the sprite when you carry an item over the goal.
$00FB74 1 byte Sprite Misc. The X speed of the sprite when you carry an item over the goal.
$00FB7E 1 byte Sound effect Sound for items given at goal point
$00FC17 1 byte Misc. [02] Difference between point values of successive sprite coins spawned at the goal tape. The default is 02, so the point sequence will go 100, 400, 1000, 4000, etc.; you can change it to 01 to make the point values go 100, 200, 400, 800, etc. or to 00 to make it always stay at 100 no matter how many sprites get turned into coins.
$00FC7A 114 bytes Subroutine (JSL) Used in SMW to initialize Yoshi when entering a level, or sublevel. JSLing to this will cause a Yoshi to spawn and Mario will be riding him, however the Yoshi will not transfer to sublevel or to the overworld. You must set $13C7 if you plan to manually JSL to this routine.
Changing $00FCCE to 0x80 will keep Yoshi from turning blue after grabbing a pair of Yoshi wings.
$00FCF6 1 byte Coordinate X lo position of Iggy and Larry at the start of the boss battle.
$00FCFA 1 byte Coordinate X hi position of Iggy and Larry at the start of the boss battle.
$00FCFF 1 byte Coordinate Y lo position of Iggy and Larry at the start of the boss battle.
$00FD03 1 byte Coordinate Y hi position of Iggy and Larry at the start of the boss battle.
$00FD27 1 byte Sprite number Object that Mario "breathes" while underwater (small bubble)
$00FD5A 67 bytes Subroutine (JSR) SMW's glitter trail subroutine, called when you collect a coin or Yoshi coin.
$00FE17 1 byte Sprite number Object that Mario leaves when he jumps into water (small bubble)
$00FE4A 73 bytes Subroutine (JSR) Routine to show little puff of smoke when the player turns around.
$00FE94 1 byte Mario physics Initial fireball X speed facing left
$00FE95 1 byte Mario physics Initial fireball X speed facing right
$00FE96 1 byte Coordinate X-position of Mario's fireball (left)
$00FE97 1 byte Coordinate X-position of Mario's fireball (right)
$00FE98 1 byte Coordinate X-position of Mario's fireball when on Yoshi (left). Only relevant if you enable the debug code at $00D087.
$00FE99 1 byte Coordinate X-position of Mario's fireball when on Yoshi (right). Only relevant if you enable the debug code at $00D087.
$00FE9A 1 byte Coordinate X-position of Mario's fireball when on Yoshi and ducking (left). Only relevant if you enable the debug code at $00D087.
$00FE9B 1 byte Coordinate X-position of Mario's fireball when on Yoshi and ducking (right). Only relevant if you enable the debug code at $00D087.
$00FE9C 1 byte Coordinate X-position of Mario's fireball (left), high byte.
$00FE9D 1 byte Coordinate X-position of Mario's fireball (right), high byte.
$00FE9E 1 byte Coordinate X-position of Mario's fireball when on Yoshi (left), high byte. Only relevant if you enable the debug code at $00D087.
$00FE9F 1 byte Coordinate X-position of Mario's fireball when on Yoshi (right), high byte. Only relevant if you enable the debug code at $00D087.
$00FEA0 1 byte Coordinate X-position of Mario's fireball when on Yoshi and ducking (left), high byte. Only relevant if you enable the debug code at $00D087.
$00FEA1 1 byte Coordinate X-position of Mario's fireball when on Yoshi and ducking (right), high byte. Only relevant if you enable the debug code at $00D087.
$00FEA2 1 byte Coordinate Y-Position for Mario's Fireballs (Left)
$00FEA3 1 byte Coordinate Y-Position for Mario's Fireballs (Right)
$00FEA4 1 byte Coordinate Y-position of Mario's fireball when on Yoshi (left). Only relevant if you enable the debug code at $00D087
$00FEA5 1 byte Coordinate Y-position of Mario's fireball when on Yoshi (right). Only relevant if you enable the debug code at $00D087
$00FEA6 1 byte Coordinate Y-position of Mario's fireball when on Yoshi and ducking (left). Only relevant if you enable the debug code at $00D087.
$00FEA7 1 byte Coordinate Y-position of Mario's fireball when on Yoshi and ducking (right). Only relevant if you enable the debug code at $00D087.
$00FEB6 1 byte Sound effect Fireball sound effect
$00FEC0 1 byte Sprite number Object Fire Mario shoots (must change $00FEA9 to 07 for some values to work)
$00FEC5 1 byte Mario physics Initial fireball Y speed
$00FF93 45 bytes Empty Empty (all FF) in a clean ROM.
Used by many patches (like fastrom), and the last byte becomes 42 when you lock the ROM.
$00FFC0 21 bytes Misc. Internal rom name.
$00FFD5 1 byte Misc. xxAAxxxB. If both A bits are set, FastROM. B is HiROM. x = unknown?
$00FFD7 1 byte Misc. Size of ROM byte. Amount of kilobytes = 2^decimal value of $00FFD7.
$00FFD8 1 byte Misc. SRAM size. Amount of kilobytes = 2^decimal value of $00FFD8. Default value is 01, which is 2kb. The limit is 07 which is 128kb.
$00FFD9 1 byte ASM Region Changer: Can change NTSC to PAL.
$018008 6 bytes Sprite subroutine (JSL) Subroutine that checks if a sprite is touching a wall. If bit is set, it's touching a wall.
$01800E 6 bytes Sprite subroutine (JSL) Subroutine that is accessed by sprites to check if a sprite is touching the ground. If bit set, it's touching the ground.
$01801A 8 bytes Sprite subroutine (JSL) The subroutine that updates a sprite's Y position without gravity.
$018022 8 bytes Sprite subroutine (JSL) The subroutine that updates a sprite's X position without gravity.
$01802A 8 bytes Sprite subroutine (JSL) Subroutine that updates a sprite's X/Y position, including gravity and interaction.
$018032 8 bytes Sprite subroutine (JSL) Sprite<->sprite interaction subroutine
$01803A 8 bytes Sprite subroutine (JSL) A subroutine that makes sprites interact with each other and with the player, essentially combining $018032 and $01A7DC.
$018042 8 bytes Sprite subroutine (JSL) SMW's generic sprite GFX subroutine. Not terribly useful for custom sprites.
$018137 26 bytes Pointer Sprite status subroutine pointers. These are called based on the value of $14C8,x; valid values are 00-0C.
$018151 6 bytes Sprite Misc. This is sprite status #$00, which is is called when a sprite is either dead or nonexistent. It also sets $161A,x to #$FF to prevent that sprite from being reloaded.
$018172 11 bytes Subroutine (JSR) This is sprite status #$01, which will call the current sprite's init routine.
$01817D 402 bytes Pointer Pointers to sprite initialization routines. These are called based on the sprite number ($9E,x). Valid values are 00-C8; sprites C9 and above are considered different types of sprites and handled by other routines.
$018223 2 bytes Pointer Change from C2 85 to 35 84 to allow throw blocks to be placed directly in Lunar Magic, with infinite timer until they disappear.
$018327 1 byte Timer [3F] How many frames until a Timed Lift (sprite BA) will fall if it starts at an odd X position. Default value is $3F, or about 1 second.
$01832F 1 byte Timer [FF] How many frames until a Timed Lift (sprite BA) will fall if it starts at an even X position. Default value is $FF, or about 4 seconds.
$018335 4 bytes Palette Colours of Yoshi Eggs (Red, Blue, Yellow, Blue)
$018340 1 byte Misc. How many types of Yoshi Eggs to allow, minus one
$018357 1 byte Misc. Initial Y speed of diagonally moving sprites, i.e. stream of boo buddies and reflecting fireball (F0).
$01836A 1 byte ASM Change to EA to make both wooden spikes move up or down depending on X&1 instead of sprite AC always moving down first.
$018391 1 byte Sound effect SFX played by the Banzai Bill
$0183A0 4 bytes Sprite number Sprites inside exploding turn block (Fish, Goomba, Shelless Green Koopa, Green Koopa)
$0183DB 1 byte Timer Length of time before sprite #19's message box appears (don't set lower than 04)
$018455 1 byte Misc. How many types of P-Switches to allow, minus one
$018466 2 bytes Palette Colours of P-Switches (Blue, Silver)
$0184A5 1 byte Sprite number Sprite spawned by killing Lakitu with cape or fireball (Lakitu Cloud)
$0184C6 4 bytes ASM Change to EA EA EA EA to make lakitu cloud never get spawned
$01854C 1 byte Misc. How many segments Pokey has when Mario is riding Yoshi. The amount of segments depends on these bits:
---x xxxx. If any of the x bits are set, a segment will be added. If none is set, the sprite won't appear. If any of the - bits is set, the sprite won't appear.
$018553 1 byte Misc. How many segments Pokey has when Mario isn't riding Yoshi. The amount of segments depends on these bits:
---x xxxx. If any of the x bits are set, a segment will be added. If none is set, the sprite won't appear. If any of the - bits is set, the sprite won't appear.
$01857A 8 bytes Sprite subroutine (JSR) Face Mario subroutine, usually used by sprites to initially face Mario's direction.
$0185CC 402 bytes Pointer Pointers to sprite main routines. These are called based on the sprite number ($9E,x). Valid values are 00-C8; sprites C9 and above are considered different types of sprites and handled by other routines.
$018763 38 bytes Sprite subroutine (JSR) Goal point sphere/boss killed code.
$018778 - If you change this to "20 23 CD" and change $01CD23 to "9E C8 14 CE C6 13 60", it will prevent the player from walking after touching a goal sphere in a horizontal level.
$018784 - Controls which music is played when it's collected.
$018898 82 bytes Sprite subroutine (JSR) The yellow koopa's "Jump over shells" routine.
$0188EC 4 bytes Sprite Misc. Standard X speeds for sprites 00-13. The first two bytes are used when the "move faster" bit at $0188F0 is clear for the sprite, while the second two are used when it's set.
$0188F0 20 bytes Sprite Misc. Various properties for sprites 00-13. Format: ak--jfls.
a = animate twice as fast in air
k = use 32x16 tilemap (also draws wings on sprites 08+)
-- = unknown/unused
j = jump over thrown shells
f = follow Mario
l = stay on ledges
s = move faster (use $0188EE for X speeds instead of $0188EC)
$0189ED 1 byte Sprite tilemap related Tilemap of blue shell less koopa sliding out of shell
$018AED 1 byte Sprite Misc. Change from D0 to 80 to make bob-ombs not stun themselves then explode on their own, like SMB3 and other games.
$018AF5 1 byte Timer How quickly Bob-omb explodes
$018BCD 1 byte Misc. What animation frame most regular sprites use when turning around
$018C0D 1 byte Sprite number Sprite number to start adding wings to 2-tile high sprites
$018C31 1 byte Sprite number Sprite that Spiny Egg turns into after touching the ground
$018CD7 1 byte Misc. Time it takes for a Red Vertical Parakoopa to turn around after reaching it's maximum/mimimum Y speed. (08)
$018DA2 1 byte Sprite physics Winged Goomba jump height (between 80-FF).
$018DC7 16 bytes Sprite tilemap related Goomba Wing alignment, X position. First 8 bytes are for the alignment when the goomba's hopping left, the other 8 when he's hopping into the right direction.
$018DDF 2 bytes Sprite tilemap related Palette/GFX page/Priority/Flip of Goomba Wing Tiles
$018DE1 4 bytes Sprite tilemap related Sprite tilemap: Goomba Wings
$018DE5 4 bytes Sprite tilemap related Size of Goomba Wing tiles
$018E6E 4 bytes Misc. Speed of piranha plant (in pipe, going up, staying up, going down).
$018E93 1 byte Sprite Misc. YXPPCCCT properties of the stem of sprite 2A, the upside-down piranha plant. Change to $0A to make it use the first graphics page.
$018ECE 1 byte Misc. Replace D0 with 80 to make the classic and upsidedown piranha plants keep coming out of the pipe even if Mario is near or on top of the sprite.
$018F8D 1 byte Sprite number Object Hopping Flame leaves behind
$018FC7 8 bytes Sprite tilemap related Bullet Bill properties, YXPPCCCT.
- First byte: Right flying bullet bill
- Second byte: Left flying bullet bill
- Third byte: Vertically upwards flying bullet bill
- Fourth byte: Vertically downwards flying bullet bill
- Fifth byte: Diagonally flying bullet bill, lower left
- Sixth byte: Diagonally flying bullet bill, upper left
- Seventh byte: Diagonally flying bullet bill, upper right
- Eigth byte: Diagonally flying bullet bill, lower right
$018FCF 8 bytes Sprite tilemap related Which GFX frame to use (00 = regular bill, 01 = vertical bill, 02 = diagonal bill) for the Bullet Bills. Same order as x91C7.
$018FD7 8 bytes Sprite physics X speed of Bullet Bills. Same order as $018FC7.
$018FDF 8 bytes Sprite physics Y speed of Bullet Bills. Same order as $018FC7.
$0190BA 61 bytes Sprite physics X positions of the sprite/object clippings.
Each clipping value uses four pairs of bytes (one from here, one from $01:90F7); they point to which pixels the sprite uses to interact with the two layers, relative to $D8/$E4/etc.
$0190F7 61 bytes Sprite physics Y positions of the sprite/object clippings.
Each clipping value uses four pairs of bytes (one from $01:8EBA, one from here); they point to which pixels the sprite uses to interact with the two layers, relative to $D8/$E4/etc.
$019138 8 bytes Subroutine (JSL) JSL for sprites interacting with objects. Actually calls routine at $019140.
$019211 115 bytes Subroutine (JSR) Sprite buoyancy routine. Called by the object interaction routine.
$0193EF 22 bytes Sprite subroutine (JSR) The code that makes sprites move if placed on conveyor belts.
$01961C 8 bytes Sprite number Sprites spawned by stomping Koopa Troopas (shelless Koopas)
$019632 1 byte Sound effect Bob-omb's explosion SFX
$01963C 1 byte Timer Length of Bob-omb's explosion
$019688 1 byte Misc. Which shell colour makes a shelless Koopa become invincible (00=Green; 01=Red; 02=Blue; 03=Yellow)
$0196C6 1 byte ASM Change from 1A to 04 to prevent shelless Koopas from hopping out of stunned shells (Use with $01AA15)
$019768 1 byte Sprite number [07] Which of the four Koopas generates a coin when stomped. Valid values are 04 (green), 05 (red), 06 (blue), and 07 (yellow). All others will make the coin never appear.
Alternatively, you can change the next two bytes ([D0 0A]) to [EA EA] to make all (shelled) Koopas spawn coins.
$01977C 1 byte Sprite number Sprite that's spawned when a Yellow Koopa is stomped (Coin)
$019807 1 byte Misc. Default animation frame to use for the shell
$01980E 1 byte Misc. Animation frame to use for the shell when Mario is turning around while holding it
$01983F 1 byte Timer Timing that enemies in a stunned state begin to shake
$019851 1 byte Sprite tilemap related Change to #$80 to prevent koopas eyes blinking while inside the shell.
$019881 1 byte Sprite tilemap related Koopa eye tiles when in shell (open)
$019889 1 byte Sprite tilemap related Koopa eye tiles when in shell (closed)
$019913 8 bytes ASM Start of sprite being kicked routine.
$019972 1 byte Sprite physics Y speed of kicked Koopa shells and throw blocks when they hit the ground.
Change from 10 to 0C to make shells always glide over one-tile-wide holes, or 14 to make them always fall in.
$01999F 1 byte Sound effect Hitting block with shell sound
$019A22 4 bytes Misc. Animation frame assignments for the shell
$019A26 4 bytes Misc. Flip of each animation frame
$019A34 1 byte Misc. How many animation frames the spinning shell has, -1
$019A93 1 byte Sprite physics Change to 02 to fix a small glitch where sprites can slide through solid blocks while sinking in lava if they're moving to the left.
$019B0B 1 byte Sprite tilemap related Tile used by squished Dino Torch
$019B83 6 bytes Sprite tilemap related Standard Sprite Tile Table: Koopa tilemap
$019B89 3 bytes Sprite tilemap related Standard Sprite Tile Table: Koopa shell tilemap
$019B8C 7 bytes Sprite tilemap related Standard Sprite Tile Table: Shelless koopa tilemap (Fourth byte unused?)
$019B93 7 bytes Sprite tilemap related Standard Sprite Tile Table: Blue shelless koopa tilemap (Fourth byte unused?)
$019B9A 14 bytes Sprite tilemap related Standard Sprite Tile Table: Para-goomba tilemap
$019BA8 4 bytes Sprite tilemap related Standard Sprite Tile Table: Goomba tilemap
$019BAC 14 bytes Sprite tilemap related Standard Sprite Tile Table: Para-bomb tilemap
$019BBA 3 bytes Sprite tilemap related Standard Sprite Tile Table: Bob-omb tilemap
$019BBD 12 bytes Sprite tilemap related Standard Sprite Tile Table: Piranha plant tilemap
$019BC9 1 byte Sprite tilemap related Standard Sprite Tile Table: Football tilemap
$019BCA 4 bytes Sprite tilemap related Standard Sprite Tile Table: Bullet Bill tilemap (Horizontal, Vertical, Diagonal, Diagonal)
$019BCE 3 bytes Sprite tilemap related Standard Sprite Tile Table: Spiny tilemap
$019BD1 8 bytes Sprite tilemap related Standard Sprite Tile Table: Spiny egg tilemap
$019BDD 3 bytes Sprite tilemap related Standard Sprite Tile Table: Buzzy Beetle
$019BE3 3 bytes Sprite tilemap related Standard Sprite Tile Table: Buzzy Beetle Shell.
$019BE6 6 bytes Sprite tilemap related Spike Top tilemap
$019BEC 2 bytes Sprite tilemap related Hopping Flame tilemap
$019BEE 6 bytes Sprite tilemap related Lakitu tilemap (3 frames, 2 bytes each)
$019BF6 12 bytes Sprite tilemap related Magikoopa Tilemap
$019C02 1 byte Sprite tilemap related Throw block sprite tilemap and turn block sprite with hidden enemies inside. (Both use the same byte)
$019C03 10 bytes Sprite tilemap related Climbing Koopa Tilemap
$019C0D 4 bytes Sprite tilemap related Fish (Cheep Cheep) Tilemap (2 frames swimming, 2 frames flopping)
$019C13 4 bytes Sprite tilemap related Thwimp Tilemap
$019C1D 12 bytes Sprite tilemap related Portable Springboard Tilemap
$019C2D 4 bytes Sprite tilemap related Bony Beetle tilemap
$019C35 16 bytes Sprite tilemap related Vertical Fireball (Podoboo) tilemap.
$019C5A 2 bytes Sprite tilemap related Eerie tilemap
$019C5C 9 bytes Sprite tilemap related Boo Ghost Tilemap
$019C65 4 bytes Sprite tilemap related Rip Van Fish Tilemap
$019C69 2 bytes Sprite tilemap related Vertical Dolphin Tilemap
$019C6B 2 bytes Sprite tilemap related Diggin' Chuck's Rock Tilemap
$019C6D 3 bytes Sprite tilemap related Monty Mole Tilemap
$019C70 1 byte Sprite tilemap related Ledge-dwelling Mole's Dirt Tilemap (data shared with Goal Point Sphere's Tilemap)
$019C71 8 bytes Sprite tilemap related Ground-dwelling Monty Mole's Dirt (2 Air tiles, 2 Dirt Tiles, 2 Air tiles, 2 Dirt Tiles)
$019C79 4 bytes Sprite tilemap related Sumo Bros' Lightning Tilemap
$019C7D 2 bytes Sprite tilemap related Ninji Tilemap
$019C7F 84 bytes Sprite tilemap related Table containing a sprite's location in the Standard Sprite Tile Table.
$019CD3 4 bytes Sprite tilemap related X displacement for tiles in the first shared GFX routine ($019CF3).
$019CF3 108 bytes Sprite subroutine (JSR) The first of the shared graphics subroutines. This one creates 4 8x8 tiles in a 16x16 block.
$019D5F 177 bytes Sprite subroutine (JSL) The second of the shared graphics subroutines. This one creates 2 16x16 tiles in a 16x32 block, with the second one tile below the base position. It can also be called with a JSR to $019D67.
$019DB6 1 byte Sprite tilemap related Palette/GFX page of standard sprites (shared)
$019E1C 4 bytes Sprite tilemap related Sprite tilemap: Paratroopa Wings
$019E20 4 bytes Sprite tilemap related Palette/GFX page/Priority/Flip of Paratroopa Wing tiles
$019E24 4 bytes Sprite tilemap related Size of Paratroopa Wing tiles
$019F0D 78 bytes Sprite subroutine (JSR) The third of the shared graphics subroutines. This one creates a single 16x16 tile.
$019F3C 1 byte Sprite tilemap related Palette/GFX page of standard sprites (shared)
$019F5B 6 bytes Coordinate x-pos table of sprite being carried:
walking, turn from left to right, turn from right to left (two bytes each, indexed by Mario's direction)
$019F6B 4 bytes Sprite physics X-speed of the touched/kicked shell.
Value 1: left-speed, when touched (not kicking)
Value 2: right-speed, when touched
Value 3: left-speed, when kicked
Value 4: right-speed, when kicked.
This will also affect the shell of buzzy beetle! Setting the speed to 00 or FF will make the shells not spinning, giving unlimited score.
Original Values:
D2 2E CC 34
$019F9B 46 bytes Subroutine (JSR) First half of the routine that handles sprites being carried, though it's actually only the part that handles the P-balloon.
Any other sprite will branch to $019FE0
$019FA7 change to EA EA EA EA EA to the P-Balloon last forever.
$019FB0 is the time at which the deflatting animation starts. (default 30)
$019FC2 change 90 to 80 to make Mario keep the balloon effect even after taking hits or power-ups. (causes weird behaviour when dying)
$019FA7 5 bytes ASM Change to [EA EA EA EA EA] to give the P-Balloon an infinite timer
$01A0A7 1 byte Timer Time to disable Bob-omb's interaction with Mario after being kicked
$01A0AC 1 byte Timer Time to show Mario's "kicking" pose when a Bob-omb is kicked
$01A119 1 byte Coordinate carried sprite Y-pos while picking up
$01A1E1 4 bytes ASM Changing [1A 1A 29 0F] to [EA EA EA EA] will disable the throw block sprites flashing.
$01A1F0 1 byte Sprite tilemap related Tile used by stunned Bob-omb
$01A1FA 1 byte Sprite tilemap related Key tilemap
$01A221 1 byte Sprite tilemap related POW (P-Switch) Tilemap
$01A291 1 byte Sound effect Sound baby Yoshi makes when eating
$01A2AD 2 bytes ASM Change to [80 06] to make Baby Yoshi instantly get big from everything, or change it to [80 45] to make Baby Yoshi treat powerups as any other sprite and require five of them to become big.
$01A2BC 1 byte Sprite number Sprite that Baby Yoshi turns into
$01A2C6 1 byte Sound effect Yoshi's egg explodes sound
$01A2FB 1 byte Misc. Number of enemies Baby Yoshi must eat to grow
$01A61E 7 bytes Sound effect Sound effects to use for consecutive bounces on enemies. Begins with [13] (1st bounce) and ends with [19] (7th bounce).
$01A65B 1 byte Sound effect Koopa hit by shell sound
$01A716 1 byte ASM Set to 60 to stop Blue Koopas from kicking shells
$01A729 1 byte Sound effect Kicking shell sound
$01A78D 1 byte ASM Set to 80 to stop Blue Koopas from stopping shells
$01A7D1 1 byte Sprite number Enemy spawned from stomping horizontal green winged koopas
$01A7D2 1 byte Sprite number Enemy spawned from stomping bouncing green winged koopas
$01A7D3 1 byte Sprite number Enemy spawned from stomping vertical red winged koopas
$01A7D4 1 byte Sprite number Enemy spawned from stomping horizontal red winged koopas
$01A7D5 1 byte Sprite number Enemy spawned from stomping yellow winged koopas
$01A7D9 1 byte Sprite number Enemy spawned from stomping winged goombas
$01A7DA 1 byte Sprite number Sprite spawned from Para-Goomba
$01A7DB 1 byte Sprite number Sprite spawned from Para-Bomb
$01A7DC 93 bytes Subroutine (JSL) Subroutine that checks for contact between Mario and the sprite slot currently in X. If carry is set, Mario is touching the sprite.
$01A83B 778 bytes Sprite subroutine (JSR) Default sprite interaction routine. The sprite interaction routine calls it if $167A,x is positive/ bit 7 is not set.
- $01A852 controls number where the star chain should stop. To be used with $01A856
- $01A856 controls, how many points/ one-ups are added if the max limit of a star chain is reached. To be used with $01A852

$01A8D0 handles the code when you jump on a spiky enemy.
Change $01A8D3 to $AD (LDA $xxxx) to disable spin jumping on spiky enemies. On contrary, change $01A8D3 to $80,$01 (BRA $01) to disable jumping with Yoshi on spiky enemies. To disable both, change $01A8D0 to $80,$04 (BRA $04).

$01A91C handles the code when you jump on a non-spiky enemy.
Change $01A91F to $AD (LDA $xxxx) to make spin jumps count as normal jumps. On contrary, change $01A91F to $80,$01 (BRA $01) to make jumps with Yoshi on enemies count as regular jumps. To make both count as regular jumps, change $01A91C to $80,$04 (BRA $04).

Change $01A930 to $00 to enable the boost gain with spin jump kill.
$01A940 is the sound effect to play when you kill an enemy with a spin jump/ jump with Yoshi.

$01AA42 is the routine for carryable sprites.
Change $01AA61 to $AD (LDA $xxxx) to enable carrying more than one sprite at time even though you already have one.
$01A8D3 1 byte Misc. Change from 0D to AD to prevent Mario from being able to jump on spikey enemies with the spin jump
$01A940 1 byte Sound effect Sound effect used when spinjumping an enemy or when Yoshi stomps on it.
$01A976 1 byte Sprite number Sprite that Super Koopa (sprite 73) becomes when stomped
$01A987 1 byte Sprite number Enemy spawned from stomping Dino-Rhino
$01A9D9 1 byte Timer Timer for displaying smashed shelless Koopas
$01AA0E 1 byte Misc. Change to 03 to prevent Bob-omb, Goomba, Mechakoopa's stun timers from being reset when kicked
$01AA15 1 byte ASM Change from 02 to FF to prevent Koopas from spawning shelless Koopas when jumped on. (Use with $0196C6)
$01AA29 1 byte Timer Stun timer for Goombas, Buzzy Beetles, Mechakoopas, Bob-ombs
$01AA2E 1 byte Misc. State of Koopa when stomped
$01AA33 15 bytes Subroutine (JSL) Boost player subroutine. Boosts the player up a bit or a lot depending on whether A/B are being pressed.
$01AA38 1 byte Sprite physics How high Mario bounces when he jumps on an enemy (normal jump & spin jump)
$01AA3E 1 byte Sprite physics How high Mario bounces when he jumps on an enemy with button A pressed (normal jump & spin jump)
$01AA5C 1 byte ASM Change from BEQ [F0] to BRA [80] and Mario will not be able to carry items by holding X or Y.
$01AAA0 1 byte Misc. State of Koopa shell when kicked
$01AB08 1 byte Music Music played when a POW is pressed
$01AB0D 1 byte Timer Time it takes for POW to disappear after jumping on it. Change to 00 to keep the POW after jumping on it.
$01AB1B 1 byte Timer How long blue and silver P-Switches last
$01AB20 1 byte Timer POW shaking screen timer.
$01AB28 4 bytes Misc. Change to EA EA EA EA to prevent on screen sprites from turning into silver coins when the silver POW is active (USE WITH $02A9A1)
$01AB55 1 byte Sound effect Change to [80] to give enemies (inc. goomba) the SMAS stomp sound.
$01AB63 1 byte Misc. Value that determines what to give the player for bouncing on 8 or more enemies consecutively. Change to [07] to give the player 8000 points instead of a 1up for the consecutive jumps.
(See ROM Map address $02ACE5 for other values)
$01AB6F 42 bytes Sprite subroutine (JSL) Display the white star effect (mostly used when spin-jumping on a spiked ennemy)
$01ACF9 55 bytes Subroutine (JSL) Random number generation subroutine. Access using JSL $01ACF9.

output:
16bit result at $148D.
$01AE88 8 bytes Sprite Misc. Sprites for the flying ? blocks to spawn, as indexes to the table starting at $0288A3. First four are used if Mario has a powerup, second four if he doesn't.
$01AEE1 1 byte Misc. What face to use for Thwomp if Mario comes close (00 - Calm, 01 - Grumpy, 02 - Raging)
$01AEEF 1 byte Misc. What face to use for Thwomp Crashing down (00 - Calm, 01 - Grumpy, 02 - Raging)
$01AF13 1 byte Timer Thwomp shaking screen timer.
$01AF18 1 byte Sound effect Thwomp Sound Effect.
$01AF1D 1 byte Timer Thwomp Stalling Timer.
$01AF39 1 byte Sprite physics Thwomp returning Y speed (between 80-90, C0, E0-FF) other values can give odd effects, so do not use any other bytes.
$01AF4A 5 bytes Sprite tilemap related Thwomp Tilemap
$01AF4F 5 bytes Sprite tilemap related YXPPCCCT - Thwomp Properties

Byte 01 - Top left
Byte 02 - Bottom left
Byte 03 - Top right
Byte 04 - Bottom Right
Byte 05 - Angry Thwomp Face
$01AF8D 1 byte Sprite tilemap related Angry Thwomp Face
$01AFEA 1 byte Sprite physics Thwimp jumping height (between 80-FF)
$01AFF3 1 byte Sprite physics Thwimp jumping Right speed.
$01AFF7 1 byte Sprite physics Thwimp jumping Left Speed.
$01AFFD 1 byte Sound effect Thwimp Sound Effect.
$01B002 1 byte Timer Thwimp stalling timer
$01B0A1 1 byte Misc. Value to add for flopping Cheep-Cheep animations
$01B0C4 1 byte Sprite physics How far cheep-cheeps will move (the greater the value, the longer the distance.)
$01B10F 1 byte Misc. Change to 00 to switch the GFX pages used by the swimming and flopping Cheep-Cheeps
$01B119 3 bytes Sprite tilemap related Replace 9D F6 15 with EA EA EA to make the fish (Cheep Cheep) tilemap use a single GFX page
$01B12A 36 bytes Sprite subroutine (JSR) This subroutine is what is used to kill stunned koopas and out of water fish. The following offsets may be of use:
$01B12B - How long to show the player kicked a sprite pose.
$01B130 - The sound effect to play (default #$03)
$01B132 - The sound effect channel (default $1DF9)
$01B13D - Y speed of the dying sprite (default #$E0)
$01B145 - Forces the player to face the killed sprite, change to NOP #2 (EA EA) to disable
$01B14E 44 bytes Sprite subroutine (JSR) Sprite based sparkle routine. Used by Magikoopa's magic and the goal sphere. The goal sphere calls $01:B152.
$01B212 4 bytes Sprite physics Table of X speeds for the floating spike ball (sprite A4). In order: Slow right, slow left, fast right, fast left.
$01B22E 5 bytes Sprite Misc. The code that checks the sprite buoyancy to determine whether sprites 5C and 5E should float on water or be suspended in the air. You can change this to 80 03 xx xx xx (xx can by any byte) to make them always stay in air or to 80 06 xx xx xx to make them always float.
$01B2C3 14 bytes Sprite tilemap related For sprites 55-58 and 5B-5E, partly determines which tilemap to use. 00 -> wooden or checkerboard platform, 01 -> flying rock or grassy platform. The table offset is the sprite number minus 55, and the fifth and sixth bytes and the last four bytes are not used.
$01B32B 1 byte Sprite tilemap related Change to 80 to let sprite 63 use the wooden platform tilemap only.
However, the size will be still different, depending on the x-pos.
$01B32E 1 byte Sprite tilemap related Left Tile of Checkerboard Platform (sprites 55, 57, 5C and 63)
$01B333 1 byte Sprite tilemap related Center Tile of Checkerboard Platform (sprites 55, 57, 5C and 63)
$01B33E 1 byte Sprite tilemap related Right Tile of Checkerboard Platform (sprites 55, 57, 5C and 63)
$01B345 1 byte Sprite tilemap related Tilemap: Left edge of line guided wooden platform (Sprite 62)
$01B34A 1 byte Sprite tilemap related Tilemap: Center of line guided wooden platform (Sprite 62)
$01B355 1 byte Sprite tilemap related Tilemap: Right edge of line guided wooden platform (Sprite 62)
$01B372 1 byte Sprite tilemap related Tilemap: Right edge of line guided wooden platform (Sprite 62)
$01B383 9 bytes Sprite tilemap related Grassy Orange Platform Tilemap (sprites 5D and 5E)
$01B38C 9 bytes Sprite tilemap related Flying Rock Platform Tilemap (Sprites 56 and 58)
$01B42F 1 byte Sprite tilemap related Edge of Flying Rock Platform (mirrored)
$01B434 1 byte Sprite tilemap related Bottom edge of Rock Platform (mirrored)
$01B43B 1 byte Sprite tilemap related Edge of Grassy Orange Platform (mirrored)
$01B440 1 byte Sprite tilemap related Bottom edge of Grassy Orange Platform (mirrored)
$01B44F 231 bytes Sprite subroutine (JSL) Invisible solid block subroutine. JSL to it in a sprite to make it solid.
$01B4C0 - Change to A0 00 to make Super/Fire/Cape Mario have a 16x16 interaction field (like Small Mario) or change to A0 01 to have a 16x32 intereaction field (like Big Mario) (in conjunction with addresses $00EB79 and $03B67C)
$01B4F3 - SFX that comes up when Mario hits the Message Block/Flying ?-Block sprite
$01B555 1 byte Sprite physics Speed of the horizontal platform that goes on forever (sprite 5E).
$01B65A 4 bytes Sprite tilemap related X displacement for each tile of the floating spike ball (sprite A4). In order: Top left, top right, bottom left, bottom right.
$01B65E 4 bytes Sprite tilemap related Y displacement for each tile of the floating spike ball (sprite A4). In order: Top left, top right, bottom left, bottom right.
$01B662 4 bytes Sprite tilemap related Tile properties for each tile of the floating spike ball (sprite A4). In order: Top left, top right, bottom left, bottom right.
$01B666 57 bytes Sprite subroutine (JSR) The GFX routine for the floating spike ball (sprite A4). $01B686 controls the first tile number used, and the second is always one 16x16 tile to the right of that.
$01B69F 2 bytes Misc. Length of Turn Block Bridge (sprites 59 and 5A)
$01B6A1 2 bytes Sprite physics X speed of Turn Block Bridge (sprites 59 and 5A)
$01B6A3 2 bytes Misc. Time of Turn Block Bridge (sprites 59 and 5A)
$01B77E 1 byte Sprite tilemap related Tile used by Turn Block Bridge (sprites 59 and 5A)
$01B790 14 bytes Sprite tilemap related Change to [09 xx 99 07 03 99 0B 03 99 0F 03 99 13 03] to change the palette used by the turn block bridge. ("xx" is the new palette value; 00 is the original.) This also prevents the last tile from being X-flipped.
$01B7B3 8 bytes Sprite subroutine (JSL) Finish OAM write caller subroutine (JSRs to the main one and ends in RTL).

Value in A: Amount of OAM slots to write minus 1 (i.e. to write 4 tiles, A must be #$03)
Value in Y: Size of the OAM tiles. #$00 = 8x8, #$02 = 16x16, any negative value (e.g. #$FF) = is manually set with $0460.

Note: This routine is only used if you finished to write with a regular sprite. Do not use it outside of regular sprites!
$01B7BB 136 bytes Sprite subroutine (JSR) Finish OAM write routine. JSL to $01B7B3 to access it from all banks other then bank $01.
$01B93C 2 bytes Sprite physics Green horizontal net Koopa's speed (right, left). Red horizontal net Koopas move twice this speed.
$01B94D 1 byte Sprite physics Green vertical net Koopa's initial speed. Red vertical net Koopas move twice this speed.
$01BA20 1 byte Sprite physics Lowest Map16 tile that a vertical net Koopa can climb on. Change from 07 to 06 to allow vertical net Koopas to climb on vine tiles.
$01BA24 1 byte Sprite physics Highest Map16 tile that a vertical net Koopa can climb on, plus one.
$01BA2B 1 byte Sprite physics Lowest Map16 tile that a horizontal net Koopa can climb on. Change from 07 to 06 to allow horizontal net Koopas to climb on vine tiles.
$01BA2F 1 byte Sprite physics Highest Map16 tile that a horizontal net Koopa can climb on, plus one.
$01BAB7 21 bytes Sprite tilemap related Gate Sprite Tilemap
$01BBD3 1 byte Sprite tilemap related Gate Sprite palette
$01BC67 8 bytes Misc. Change to EA EA EA EA EA EA EA EA and every Map16 block will change into sprites when touched by Magikoopa's Magic. (Not just turn blocks)
$01BC7D 1 byte Sprite number What Magikoopa's magic transforms turn block into (1up)
$01BC83 1 byte Sprite number What Magikoopa's magic transforms turn block into (Coin)
$01BC89 1 byte Sprite number What Magikoopa's magic transforms turn block into (Thwimp)
$01BC8F 1 byte Sprite number What Magikoopa's magic transforms turn block into (Yellow Koopa)
$01BD83 1 byte Sprite tilemap related Magikoopa's Magic Tilemap (Circle)
$01BD88 1 byte Sprite tilemap related Magikoopa's Magic Tilemap (Square)
$01BD8D 1 byte Sprite tilemap related Magikoopa's Magic Tilemap (Triangle)
$01BF05 1 byte Sprite tilemap related Tile used by Magikoopa's Wand
$01BF29 1 byte Sound effect SFX played by Magikoopa
$01BF33 1 byte Sprite number The sprite that Magikoopa throws
$01BF6A 121 bytes Sprite subroutine (JSR) The aiming routine used by Magikoopas to aim their magic at (the upper tile of) the player. Input is the total speed (X + Y); output is Y speed in $00 and X speed in $01.
$01C0BD 1 byte Misc. [95] Change to A5 to stop the goal point bar from moving.
$01C0F0 1 byte Music Goal tape end level music
$01C10A 1 byte Sound effect Goal tape breaking sound effect.
$01C11B 1 byte Timer How long the bonus star number stays on screen
$01C158 1 byte Sprite tilemap related Goal Bar Tilemap
$01C164 1 byte Sprite tilemap related Palette/priority/flip of Goal tape tiles
$01C17A 4 bytes Misc. Change 22 CA F1 07 to EA EA EA EA to disable the digits made up of star tiles at the goal tape (which resemble the amount of bonus stars gathered)
$01C19E 1 byte Sprite tilemap related Tile for Growing Vine's Piranha head(1)
$01C1A2 1 byte Sprite tilemap related Tile for Growing Vine's Piranha head(2)
$01C1AE 1 byte Misc. Y speed of Growing Vine's growth
$01C1E6 1 byte Misc. Tiles created from growing vine sprite
$01C313 4 bytes Sprite number Sprites used by the changing item (Mushroom, Flower, Feather, Star)
$01C33D 1 byte Sprite number Sprite that the Changing Item is made from
$01C345 4 bytes Sprite tilemap related Eaten berry palettes (unused, red, pink, green)
$01C34C 1 byte Misc. Change to 00 and the Fire Flower won't flip back and forth
$01C35F 1 byte Sprite tilemap related Eaten berry tile
$01C42C 3 bytes ASM Set to EA EA EA to disable moving coin and star movement
$01C510 4 bytes Misc. item to put into item box when mushroom is touched. indexed by mario's status ($19)
$01C514 4 bytes Misc. item to put into item box when flower is touched. indexed by mario's status ($19)
$01C518 4 bytes Misc. item to put into item box when star is touched. indexed by mario's status ($19)
$01C51C 4 bytes Misc. item to put into item box when cape is touched. indexed by mario's status ($19)
$01C520 4 bytes Misc. item to put into item box when 1up is touched. indexed by mario's status ($19)
$01C524 4 bytes Misc. action to take when mario touches a mushroom. indexed by mario's status ($19)

actions are:
(0-change to big, 1-don't change, 2-give star, 3-change to cape, 4-change to flower, 5-give 1up)
$01C528 4 bytes Misc. action to take when mario touches a flower. indexed by mario's status ($19)
$01C52C 4 bytes Misc. action to take when mario touches a star. indexed by mario's status ($19)
$01C530 4 bytes Misc. action to take when mario touches a cape. indexed by mario's status ($19)
$01C534 4 bytes Misc. action to take when mario touches a 1up. indexed by mario's status ($19)
$01C538 28 bytes ASM Handles what happens when the player touches a powerup. This routine will manage the item box as well. $01:C549 [0B] is the sound effect to play when touching a powerup.

Set $01:C545 to EA EA EA to disable the item box.
$01C554 12 bytes Pointer powerup routines (indexed by values from $01C524 - $01C537)
$01C566 1 byte Timer Length of Mario's growing animation. Setting it higher than 2F may cause it to use different Mario tiles.
$01C568 1 byte Mario tilemap Changing this to 99 will make Mario face the camera if he grows from a mushroom.
$01C570 1 byte Misc. How many points you get by getting a powerup.
00 = 200
01 = 400
02 = 800
03 = 1000
04 = 2000
05 = 4000
06 = 8000
07 and above = 1-up
FB = nothing
$01C57B 1 byte Sound effect Mario picking up a Mushroom or Flower Sound Effect.
$01C580 18 bytes Subroutine (JSL) Star Subroutine. JSL to it to give Mario star power. $01C581 controls how long stars last, $01C586 controls the music that is played during star power.
$01C599 1 byte Misc. What powerup feathers give you
$01C59D 1 byte Sound effect Sound Effect will make if you grabbed the feather. Change to 0C to make the sound effect like in SMB3.
$01C5F8 1 byte Misc. What powerup flowers give you
$01C609 5 bytes Sprite tilemap related Tilemap: Power-ups (Mushroom, Flower, Star, Feather, 1Up)
$01C612 1 byte Sprite tilemap related Tile used by the P-Balloon
$01C613 1 byte Sprite tilemap related Tile used by Flying Red Coin
$01C614 1 byte Sprite tilemap related Tile used by Flying Yellow 1Up Mushroom
$01C615 1 byte Sprite tilemap related Tile used by Flying Key?
$01C616 4 bytes Palette The palettes the star sprite flashes through. 00 is palette 8, 02 is palette 9, 04 palette A, etc. YXPPCCCT format.
$01C641 96 bytes Sprite subroutine (JSL) The GFX routine of the moving coin (sprite 21) and various other coin sprites, such as the directional coins.

- $01C641: 4 bytes, JSRs to the main routine and ends in RTL.
- $01C645: Start of the main GFX routine.
- $01C653: Tile used by the first frame. This is the 16x16 one.
- $01C667: Changing this to [80 07] will cause all 4 frames to use 2 tiles, and changing it to [D0 00] or [EA EA] will cause all 4 frames to use only 1 tile.
- $01C66A: Changing this to 00 will cause all 4 frames to be 8x8.
- $01C66D: Tiles used by the second, third, and fourth frames. These are all 8x8.
- $01C699: Changing this to 02 will cause all 4 frames to be 16x16.
$01C7EA 1 byte Sprite tilemap related Tilemap: Swinging Platform's Chain 1 (Sprite 5F)
$01C7EF 1 byte Palette Palette of chain link connected to platform
$01C871 1 byte Sprite tilemap related Tilemap: Swinging Platform's Chain 2 (Sprite 5F)
$01C8C7 1 byte Sprite tilemap related Tilemap: Swinging Platform's Chain 3 (Sprite 5F)
$01C8CC 1 byte Palette Palette of other chain links
$01C8D3 1 byte Sprite tilemap related Tilemap: Swinging Platform's Chain 4 (Sprite 5F)
$01C8FB 1 byte Palette Palette of wooden platform
$01C9BB 4 bytes Sprite tilemap related Tilemap: Brown Swinging Platform (Sprite 5F)
$01CACB 85 bytes ASM Sprite rotation preparation routine. First JSR to this, then to $01CB20 and finally to $01CB53.
$01CB20 51 bytes ASM Routine for preparing the game's global rotation routine. First you can JSR to either $01CACB
for sprite rotation or to $01CCC7 for Mode 7 rotation (this step seems to be optional). Next you JSR to this to prepare the rotation and finally you JSR to $01CB53.
$01CB53 330 bytes ASM The game's global rotation routine. First you can JSR to either $01CACB
for sprite rotation or to $01CCC7 for Mode 7 rotation (this step seems to be optional). Next you JSR to $01CB20 to prepare the rotation and finally you JSR to this.
$01CCC7 35 bytes ASM Mode 7 rotation preparation routine. First JSR to this, then to $01CB20 and finally to $01CB53.
$01CD1E 12 bytes Empty Unused ROM.
$01CD4F 1 byte Coordinate Y lo starting position of Morton/Ludwig/Roy at the boss battle.
$01CD7E 1 byte Coordinate X low position of Ludwig at the start of the boss battle.
$01CD82 1 byte Coordinate X high position of Ludwig at the start of the boss battle.
$01CE3E 2 bytes ASM Change [64 7B] to [EA EA] in order to prevent Mario from slowing down when Ludwig appears.
$01CEAE 2 bytes Sprite physics Ludwig's shell speed
$01CEB4 2 bytes Sprite physics Ludwig's horizontal jump distance
$01CECE 1 byte Timer Counts how long to delay before Ludwig jumps out of his shell.
$01CED8 1 byte Sprite physics Vertical height of Ludwig's jump (lower is shorter).
$01CF57 1 byte Misc. Ludwig jump right type modifier
$01CF58 1 byte Misc. Ludwig jump left type modifier
$01CFCD 1 byte Misc. Ludwig, Morton, and Roy's HP
$01CFD1 1 byte Sound effect Morton/Ludwig/Roy spiralling out sound effect.
$01D04F 1 byte Music Music played after Morton/Ludwig/Roy is defeated
$01D05A 1 byte Sound effect What sound is played by Ludwig's fireball.
$01D06F 1 byte Sprite number Sprite spawned by Ludwig von Koopa
$01D080 1 byte Misc. Height of fireball spawned by Ludwig.
$01D0B8 1 byte Misc. How long fireballs stay in Ludwig's mouth for.
$01D0BE 1 byte Sprite physics X Speed of Ludwig's Fireball (Right)
$01D0BF 1 byte Sprite physics Left speed of ludwig's fireballs (reversed)
$01D122 1 byte Sprite physics Morton and Roy's speed for first hit, left.
$01D124 1 byte Sprite physics Morton and Roy's speed for first hit, right.
$01D126 1 byte Sprite physics Morton and Roy's speed for second hit, left.
$01D128 1 byte Sprite physics Morton and Roy's speed for second hit, right.
$01D12A 1 byte Sprite physics Morton and Roy's speed for third hit, left.
$01D12C 1 byte Sprite physics Morton and Roy's speed for third hit, right.
$01D12F 1 byte Sprite physics Morton and Roy's vertical speed for first hit, up.
$01D131 1 byte Sprite physics Morton and Roy's vertical speed for first hit, down.
$01D133 1 byte Sprite physics Morton and Roy's vertical speed for second hit, up.
$01D135 1 byte Sprite physics Morton and Roy's vertical speed for second hit, down.
$01D137 1 byte Sprite physics Morton and Roy's vertical speed for third hit, up.
$01D139 1 byte Sprite physics Morton and Roy's vertical speed for third hit, down.
$01D239 2 bytes Sprite physics How fast Morton and Roy rotate when they're crawling on a wall or ceiling. By default FC and 04. The closer to 00, the slower it gets. Do not exceed above a difference of 80 (that is, don't make the first value 01-7F, and don't make the second value 81-FF). Using 00 isn't recommended either.
$01D26E 1 byte Sprite physics Falling speed of Morton and Roy
$01D28C 1 byte Timer How much the ground shakes after Morton/Roy hit the floor.
$01D295 1 byte Timer How long Mario is stunned for after Morton/Roy hits ground.
$01D29A 1 byte Sound effect Morton/Roy landing sound effect.
$01D29F 1 byte Timer How long Morton/Roy stays put after landing on floor.
$01D2D0 1 byte Misc. Timer determining how many frames to wait before being able to interact with Morton/Ludwig/Roy, after having interacted with it. (By default: 08)
$01D2FA 1 byte Misc. Y speed of Mario when he bounces off Morton/Roy (normal state) and Ludwig (always).
$01D2FE 1 byte Sound effect Which sound to generate when stomping Ludwig when he's inside his shell, and Morton/Roy/Ludwig when they're vulnerable (a second sound effect is generated too here, see $01D3AC).
By default #$02.
$01D31F 1 byte Sound effect SFX Played when Mario hits Morton/Roy while on the ceiling, while falling, and after they have just landed.
$01D330 1 byte Mario physics Mario's Y-Speed after jumping on Morton/Roy when they have just landed. Closer to 80 - highest.
$01D335 1 byte Sound effect Sound effect played when Mario hits Morton/Roy when going up the wall.
$01D343 1 byte Misc. X speed of Mario when he bounces off Morton/Roy when they're crawling on the left side of the screen.
$01D349 1 byte Misc. X speed of Mario when he bounces off Morton/Roy when they're crawling on the right half of the screen.
$01D34D 1 byte Misc. Y speed of Mario when he bounces off Morton/Roy in their unusual state (as in, crawling on walls, falling from ceiling).
$01D37A 1 byte Misc. Horizontal scaling of Morton/Roy/Ludwig (Mode 7) just after they're hit. The higher the value, the thinner they are. Extreme values, such as 00 (biggest) or FF (smallest), are not recommended as they may or may not partially affect the gameplay. Keep the value near the original, if you change it.
By default: #$18.
$01D383 1 byte Misc. Vertical scaling of Morton/Roy/Ludwig (Mode 7) just after they had been hit. The bigger the value, the shorter the Koopa Kids become.
Do not change the value to #$00 - #$1F or #$80 - #$FF as it will mess up. If changing value, keep it near the original since it might affect the Koopa Kid's height afterwards, if the value was too extreme.
By default: #$28.
$01D3A2 1 byte Timer How long Morton/Roy/Ludwig recovers after Mario has hit him.
$01D3AC 1 byte Sound effect Which sound to generate when stomping Morton/Roy/Ludwig when they're vulnerable (a second sound effect is generated too, see $01D2FE).
By default #$28.
$01D3F4 1 byte Sound effect Sound effect played when Morton, Ludwig and Roy takes damage from a fireball. Stored into $1DF9.
$01D3F8 3 bytes Misc. Change to EA EA EA to make Morton, Roy and Ludwig immune to fireballs
$01D3FF 1 byte Misc. How many fireballs it takes before Morton/Ludwig/Roy are killed.
Counts up to the stomping HP counter as well. By default: 0C.
$01D446 4 bytes Sprite tilemap related Sprite tilemap: Ludwig Fireball
$01D6D2 6 bytes Sprite Misc. The code that determines whether sprite 63 should be brown or checkered. Change to "A9 xx EA EA EA EA" to make the platform always brown or always checkered (if brown, xx = 00, if checkered, xx = 01).
$01D6D5 - change to 00 to make sprite 63 use the small wooden platform no matter which x-position. (to use with $01D6D7)
$01D6D7 - change to 00 to make sprite 63 use the small wooden platform no matter which x-position. (to use with $01D6D5)
$01D6ED 3 bytes ASM Change to EA EA EA to make all line-guided sprites move at the same speed instead of the chainsaws, Grinder, and Fuzzy going twice as fast.
$01D6F0 23 bytes Sprite Misc. Change to B5 E4 29 10 4A 4A 4A 4A 9D 7C 15 80 14 EA EA EA EA EA EA EA EA EA EA to fix certain line-guided sprites: instead of moving left on odd starting X positions and not showing up at all on even ones (actually, they are just shifted offscreen), they will instead move right on even starting X positions.
x$01D6FA - X position (low byte) of sprites 65, 66, 67 and 68. Change it to 0F to fix it's x position when it goes to the right. (USE WITH $01D701)
$01D701 - X position (high byte) of sprites 65, 66, 67 and 68. Change it to 00 to fix it's x position when it goes to the right. (USE WITH $01D6FA)
$01D77D 1 byte ASM Change from F0 to D0 to switch the speeds of the line-guided sprites. (Normally, the chainsaws, Grinder, and Fuzzy move fast, while the platforms and rope move slow.) Use with $01D7A1.
$01D7A1 1 byte ASM Change from F0 to D0 to switch the speeds of the line-guided sprites. (Normally, the chainsaws, Grinder, and Fuzzy move fast, while the platforms and rope move slow.) Use with $01D77D.
$01D9F8 1 byte Mario physics Change from 10 to 0A to fix a glitch that if the player is climbing a rope mechanism and gets pushed off by solid objects, allows the player to climb in midair.
$01DB96 4 bytes Sprite tilemap related X displacement for the Grinder tiles (the one that doesn't follow line guides).
$01DB9A 4 bytes Sprite tilemap related [00 00 10 10] Y offset for the Grinder tiles (the one that doesn't follow line guides).
$01DB9E 4 bytes Sprite tilemap related [03 43 83 C3] OAM properties for the Grinder tiles (the one that doesn't follow line guides).
$01DBBF 1 byte Sprite tilemap related Tile used by Grinder (the one that doesn't follow line guides). Note that the sixth bit (#$02) should be cleared or it won't animate; the sixth bit of the frame counter is ORA'd to it.
$01DBF5 1 byte Sprite tilemap related Line-guided Fuzzball tilemap (Sprite 68)
$01DC28 1 byte Sprite tilemap related Line-guided Grinder Tilemap
$01DC47 4 bytes Sprite tilemap related Line-guided Rope's Motor Tilemap
$01DC4C 8 bytes Sprite tilemap related Line-guided Rope's rope tilemap
$01DCAC 1 byte Sprite tilemap related Line-Guided Rope Palette
$01DDBD 1 byte Sprite number Sprite that the Bonus game is made from
$01DEE3 36 bytes Sprite tilemap related Sprite tilemap: Bonus Roulette
$01DF07 9 bytes Sprite tilemap related Palette info for the items in the bonus game sprite (0x82). The first three bytes are the palette for the Star. The next three are for the Mushroom, and the last three are for the Fire Flower. They're all expressed as even numbers where 00 = Lunar Magic palette 8, 02 = LM palette 9, and so on.
$01E111 4 bytes Sprite tilemap related Change to EA EA EA EA to prevent Podoboo from having lava trail.
$01E190 4 bytes Sprite tilemap related Sprite tilemap: Bowser Flame
$01E1D1 1 byte Sprite number Sprite that can unlock keyholes in its stunned status (Default is 80: Key)
$01E1F9 1 byte ASM [40] Change to [DE] to fix the problem where if there is more than one key on the screen, some of them won't activate the keyhole. Use with $01E20A and $01E20F.
$01E20A 1 byte ASM [2F] Change to [CD] to fix the problem where if there is more than one key on the screen, some of them won't activate the keyhole. Use with $01E1F8 and $01E20F.
$01E20F 1 byte ASM [2A] Change to [C8] to fix the problem where if there is more than one key on the screen, some of them won't activate the keyhole. Use with $01E1F8 and $01E20A.
$01E211 1 byte Timer Keyhole shrinking timer.
$01E216 1 byte Music Keyhole music
$01E251 1 byte Sprite tilemap related Top tile of keyhole
$01E256 1 byte Sprite tilemap related Bottom tile of keyhole
$01E25B 1 byte Sprite tilemap related Keyhole palette/GFX page
$01E292 1 byte Coordinate Y low position of 1UP from bonus game, to start out with.
$01E297 1 byte Coordinate Y high position of 1UP sprite from bonus game, to start out with.
$01E29C 1 byte Coordinate X low position of 1UP sprite from bonus game, to start out with.
$01E2A1 1 byte Coordinate X high position of 1UP sprite from bonus game, to start out with.
$01E2A6 1 byte Sprite physics Initial X speed of 1UP sprite from the bonus game.
$01E2AB 1 byte Sprite physics Initial Y speed of 1UP sprite from the bonus game.
$01E2B0 24 bytes Empty Unused data.
$01E2FB 1 byte Timer [68] How long time Monty Mole waits in the ground until jumping out (for the YI submap)
$01E2FD 1 byte Misc. [01] At which submap Monty Mole has more delay until jumping out.
00 is the main OW
01 is Yoshi's Island
02 is Vanilla Dome
03 is Forest of Illusion
04 is Valley of Bowser
05 is Special World
06 is Star World
$01E301 1 byte Timer [20] How long time Monty Mole waits in the ground until jumping out (for other areas than YI)
$01E33C 1 byte Misc. Tile spawned by ledge-dwelling Monty Mole
$01E36A 1 byte Sprite tilemap related Attributes of Ledge-Dwelling Monty Mole
$01E38F 4 bytes Sprite physics [$10 $F0 $18 $E8] Monty mole X speed.
The first two bytes control the speed for the hopping mole while next two control the maximum speed for the chasing one.
$01E454 1 byte Sprite tilemap related Dry Bones and Bony Beetle crumble animation, frame 1
$01E45E 1 byte Sprite tilemap related Dry Bones and Bony Beetle crumble animation, frame 2
$01E522 11 bytes ASM Code that makes sprite 32, the Dry Bones that stays on ledges, throw bones when the overworld level is 10D.

You can change $01E522 to [80 1E] to make sprite 32 never throw bones, or you can change $01E526 to [80 07] to make the sprite throw bones in all overworld levels. $01E52A is the overworld level in question; it follows the format of RAM address $13BF.
$01E5F3 1 byte Sound effect Dry Bones Crumble Sound Effect.
$01E5FF 1 byte Timer Time it takes for Dry-Bones to come back to life.
$01E691 1 byte Sprite physics [10] Change to 80 to disable spin jumping from springboards
$01E69F 1 byte Mario tilemap Mario's pose after jumping high from the portable Springboard. (0A looks the best, 0B by default.)
$01E6A3 1 byte Sprite physics How high Mario jumps when jumping from the P. Springboard. (80 highest, 00-FF lowest.
$01E6AA 1 byte Sound effect Sound effect made by the portable springboard.
$01E723 1 byte Sprite tilemap related Tile used by flattened POW Switch
$01E729 1 byte Sprite tilemap related Tile used by flattened Shelless Koopa
$01E733 1 byte Sprite tilemap related Tile to use for stomped goomba
$01E976 1 byte Sprite tilemap related Tile used by the face on Lakitu's Cloud
$01E97B 1 byte Sprite tilemap related YXPPCCCT - Lakitu Cloud Properties (Priority/Palette/Flip/GFX Page)
$01E985 4 bytes Sprite tilemap related Cloud Tilemap
$01E9DC 1 byte Sprite physics Change to 74 to disable Lakitu vertical movement
$01EA19 8 bytes Sprite subroutine (JSL) Wrapper for the subroutine at $01EA21 (changes the data bank and JSRs to it).
$01EA21 79 bytes Sprite subroutine (JSR) A subroutine for spawning a Spiny egg. This is used by both the normal and pipe-dwelling Lakitus, and it can be called via the wrapper at $01EA19.
$01EA32 is the sprite Lakitu throws.
$01EA36 is the sprite Lakitu throws when a silver P-switch is active.
$01EA69 is the palette of the sprite Lakitu throws when a silver P-Switch is active.
$01EAA8 1 byte Misc. Yoshi's standing animation
$01EAE7 1 byte Misc. Yoshi falling animation frame
$01EAED 1 byte Misc. Yoshi jumping animation frame
$01EAF6 1 byte Misc. Yoshi turning animation frame
$01EB01 1 byte Misc. Yoshi eating animation frame
$01EB09 1 byte Misc. Yoshi eating animation (while holding up)
$01EB16 4 bytes ASM Change this to [EA EA A5 73] to fix an issue with Yoshi if you disable ducking.
$01EB1D 1 byte Misc. Yoshi crouching animation frame
$01EB2D 1 byte Misc. Yoshi waiting animation frame
$01EB79 1 byte Misc. Change to 00 to make Mario walk even when riding Yoshi
$01EBBE 2 bytes Sprite physics Speed Yoshi has when mario get's hit while riding him. (Format = Left, Right)

Left Value must be a value over 80, Right Value must be a value under 7F
$01EBC2 8 bytes Misc. Growing animation sequence
$01EC04 72 bytes Sprite subroutine (JSR) The routine that makes Yoshi hatch.
$01EC2F - Change "3A" (DEC A) to "EA" (NOP) to make Yoshi's "Thank you for saving me" message appear on the main map, as opposed to the Yoshi's Island submap.
$01EC36 - Change from "D0" (BNE) to "80" (BRA) to disable the Yoshi rescue message.
$01EC3C is Yoshi's thank you message. See ram $1426 for possible values.
$01ECFE 1 byte Misc. Yoshi's hopping height in idle state
$01ED60 1 byte Sound effect Mario jumping on Yoshi sound
$01ED6D 3 bytes ASM Change to [80 01 EA] to fix the glitch where you can hop off Yoshi to increase consecutive enemies stomped.
$01ED9C 1 byte Misc. [10] Change to [80] to disable jumping of Yoshi.
$01ED9E 45 bytes Subroutine (JSR) The routine that makes player leave Yoshi (by pressing A while on him).
$01EDE4 10 bytes Coordinate Y-position of Mario on Yoshi (1 byte for each frame; 10 bytes)
$01EDEE 3 bytes Misc. Riding Yoshi walking animation frames
$01EDF1 2 bytes Coordinate Base X-position of Yoshi (1st byte facing right; 2nd facing left)
$01EDF8 1 byte Misc. Yoshi animation speed while running
$01EDF9 13 bytes Sprite tilemap related Yoshi's head tiles (points to table at 9E47-9E57)
$01EE06 13 bytes Sprite tilemap related Yoshi's body tiles (points to table at 9E47-9E57)
$01EE13 13 bytes Coordinate X-position of Yoshi's head (facing right)
$01EE20 13 bytes Coordinate X-position of Yoshi's head (facing left)
$01EE47 13 bytes Coordinate Base Y-position of Yoshi
$01EE54 13 bytes Coordinate Y-position of Yoshi's head
$01F08B 1 byte Sprite tilemap related Tile used in Yoshi's throat as he swallows
$01F097 1 byte Sprite tilemap related Sprite tilemap properties of Yoshi's swallowing tile (YXPPCCCT) [01]. Change to [00] to make that tile use SP1 or SP2.
$01F0D4 1 byte Sound effect Yoshi swallowing sound
$01F0EF 1 byte Misc. How many berries Yoshi needs to eat before he lays an egg containing a mushroom. (Default: 0A)
$01F0F6 1 byte Sprite number Which sprite is generated when 10 red berries are eaten (by default : 74 - mushroom)
$01F107 1 byte Timer How many "10 seconds" the green berry adds to the timer when eaten by Yoshi. 00 wouldn't add anything, 01 adds 10, 02 adds 20 seconds and so on. Can glitch up the timer if set to anything higher than 0A.
$01F11D 1 byte Misc. How many pink berries should be eaten before a coin game cloud appears. (By default: 02)
$01F124 1 byte Sprite number Which sprite is generated when two pink berries are eaten (By default: 6A)
$01F137 16 bytes Misc. Which powers the different Yoshi color+shell color combinations gives. It's a 4x4 table, where the order is green, red, yellow, blue, the Koopa colors are on the horizontal axis and the Yoshi colors are on the vertical axis. Setting an #$01 bit enables ground pounding, #$02 enables flight. The other bits aren't used.
$01F147 6 bytes Misc. What ability each shell colour Yoshi (This table points to the table at xF337)
(In the order of: brown[unused], grey[unused], yellow, blue, red, green)
$01F1AB 1 byte Sprite Misc. Change from F0 to 80 to make Yoshi never swallow sprites held in his mouth (shells, keys, P-switches, etc).
$01F26A 9 bytes ASM Code that makes Yoshi spit out flames when he has the red shell in his mouth
$01F270 - Which shell colour can give Yoshi fire breath.
$01F273 9 bytes ASM Code that makes Red Yoshi spit out flames no matter what shell colour is in his mouth
$01F279 - Which coloured Yoshi always gets fire breath
$01F290 1 byte Sound effect Yoshi spit fire SFX
$01F299 1 byte Sprite number The three objects Yoshi spits out after eating a red shell
$01F30A 1 byte Misc. Change to 00 to keep Yoshi from sticking out his tongue
$01F30F 1 byte Sound effect Yoshi tongue sound. Uses $1DFC for sound effect.
$01F319 1 byte Sprite physics Speed at which Yoshi's tongue comes out.
$01F31E 1 byte Misc. Length of Yoshi's tongue (about 2.5 blocks)
$01F329 1 byte Timer Amount of time Yoshi's tongue stays at its maximum length
$01F33C 1 byte Sprite physics Speed at which Yoshi's tongue retreats after being at maximum point.
$01F360 3 bytes ASM The routine triggered when Yoshi eats a sprite. Starts by loading the sprite number and comparing it to a Koopa.
$01F448 1 byte Misc. X-shift of Yoshi's tongue segments
$01F465 1 byte Misc. How many tiles comprise Yoshi's tongue (doesn't change collision)
$01F469 1 byte Sprite Misc. OAM index of Yoshi's tongue. This is in the $0200 block, and it uses the next 4 slots after this as well.
$01F488 1 byte Sprite tilemap related Tile used by the middle of Yoshi's Tongue
$01F48C 1 byte Sprite tilemap related Tile used by the end of Yoshi's Tongue
$01F494 1 byte Sprite tilemap related Palette/Flip/Gfx page of Yoshi's Tongue
$01F498 1 byte Sprite tilemap related Value to add to Pal/flip/etc. of Yoshi's tongue when facing right
$01F4E8 1 byte Coordinate Y position of sprite grabbed by Yoshi's tongue
$01F5A2 1 byte Sound effect SFX played when Yoshi tries to eat an inedible sprite with his tongue
$01F5CD 1 byte Sprite number Sprite that Pokey is made from when swallowed
$01F605 1 byte Timer Amount of time Yoshi's tongue stays out before he swallows an enemy
$01F71E 1 byte Sound effect Sound Effect when mario get's hit while riding yoshi.
$01F720 2 bytes Sound effect What bank $01:F71E loads its SFX from. (Default is $1DFC)
$01F72A 1 byte Mario physics Y Speed Mario has when he gets hit while riding yoshi.
$01F744 1 byte Timer How long invincibility lasts after yoshi runs away. 80 - longest, 00/FF - Shortest.
$01F757 1 byte Sound effect Yoshi egg coming out of block sound
$01F75D 3 bytes Sprite tilemap related Which GFX page the Yoshi egg (sprite 2C) uses. The first two values are for when it is intact, and the third is for when it starts breaking.
$01F761 3 bytes Sprite tilemap related Yoshi's Egg Tilemap (2 frames breaking, 1 frame unbroken)
$01F782 1 byte Sprite number Sprite that hatches out of colored yoshi egg when Mario does not already have a yoshi.
$01F789 1 byte Sprite number Sprite that hatches from sprite 2C (red/blue/yellow Yoshi egg) when Mario already has a Yoshi. (Default: 78 (1up))
$01F794 1 byte Sprite tilemap related Yoshi's Egg Tilemap
$01F88C 2 bytes Sprite physics Horizontal speed of Eeries
$01F88E 2 bytes Misc. Vertical speed of Eerie (sprite 39)
$01F910 1 byte Misc. Change from D0 to 80 to disable Boo from stopping when Mario looks at it.
$01F929 1 byte Timer Time taken for Boo to turn around.
$01FA2F 3 bytes Palette Change to 09 xx EA to make all three frames of the Boo Block use the same palette, xx being the palette bits.

Note that changing this to 02 won't make any *noticeable* difference if you use the default palettes...the correct setting for palette F, used for the non-block frame, makes it use the EXACT same colors that are used in palette 9, for some reason.
$01FA37 3 bytes Sprite tilemap related Boo Block Tilemap
$01FA3A 3 bytes Palette Boo Block Palettes
$01FA4E 4 bytes Sprite tilemap related Iggy/Larry ball tilemap
$01FB2E 1 byte Music Music played after Iggy/Larry is defeated
$01FB61 1 byte Sound effect SFX that plays when you hit Iggy/Larry into the lava.
$01FB95 1 byte Timer FD95 - How long it takes for Iggy/Larry to turn around.
$01FBC2 1 byte Misc. Iggy/Larry's speed for walking towards center
$01FBC6 1 byte Misc. Iggy/Larry's speed for walking towards center
$01FBD2 1 byte Misc. Iggy/Larry's speed for walking towards center
$01FBD6 1 byte Misc. Iggy/Larry's speed for walking towards center
$01FC70 1 byte ASM The left bound of Iggy/Larry's movement. If Iggy/Larry crosses this left bound, he falls in the lava.
$01FC74 1 byte ASM The right bound of Iggy/Larry's movement. If Iggy/Larry crosses this right bound, he falls in the lava.
$01FCC6 1 byte ASM How long Iggy/Larry is invincible after getting hit. Increase this value (preferably to 30) if you want to prevent the player from scoring combos.
$01FD00 1 byte Misc. Iggy/Larry's speed when stomped
$01FD46 1 byte Timer Amount of time until Iggy/Larry stops gliding after being hit by a fireball.
$01FDBD 1 byte Sprite number Sprite that Iggy/Larry throws
$01FE83 51 bytes Sprite tilemap related Sprite tilemap: Larry/Iggy
$01FEBA 1 byte Sprite tilemap related Iggy Koopa's Palette/GFX page/Priority/Flip
$01FEBB 1 byte Sprite tilemap related Larry Koopa's Palette/GFX page/Priority/Flip
$01FF53 4 bytes Sprite tilemap related Sprite tilemap: Larry/Iggy shell
$01FFBF 65 bytes Empty Unused data.
$028008 106 bytes Subroutine (JSL) "Drop Item From Box" Subroutine. JSL to it to make the current item fall from the box.
Change $028008 from DA to 6B to disable the item box drop routine.
$028013 is Item dropping from itembox sound effect, written to $7E1DFC. Default value is [0C].
$028042 is Sprite State to drop items from the item box as.
$028052 is the fixed X position of dropped item from item box.
$028060 is the fixed Y position of dropped item from item box.
$028072 10 bytes Misc. Bob-omb explosion x spacing
$02807C 10 bytes Misc. Bob-omb explosion y spacing
$028086 242 bytes Sprite subroutine (JSL) Explode Bomb Subroutine. JSL to it each frame to make your sprite explode, but remember to load $1540,x with the explosion timer and setting the data bank to 02 (or 82) first.
$02808E is Bob-omb explosion area
$028114 is Bob-omb's explosion GFX tile
If you change $02811E from 38 to 18 (i.e. change SEC to CLC), the Bob-omb explosion will use the first graphics page.
$028226 57 bytes Sprite tilemap related Ludwig BG Tiles
$02825F 30 bytes Sprite tilemap related Morton/Roy BG Tiles
$0283FB 5 bytes Sprite physics Change all 4A bytes (LSR) to EA (NOP), to increase the speed of the walls in Morton/Roy's room when they're crashing down. The more EA bytes, the faster (twice as fast per EA) the walls will come down.
$0284BC 84 bytes Sprite subroutine (JSL) Water Splash Subroutine
$028528 103 bytes ASM Lava Splash Subroutine
$028540 is the objects to use for lava splash.
$02858F 80 bytes Subroutine (JSL) Star Sparkle GFX Subroutine (Doesn't make Mario invincible, but shows sparkles.)
$0285BA is where the Sprite/Block Star Sparkle GFX Subroutine starts (which is also used for Mario).
$02862F 52 bytes Sprite subroutine (JSL) Throw block creation subroutine.
$02864E - Sprite number: Sprite that the Throw Block is made from.
$028656 - Throw Block timer. Change it to 00 and it stays forever.
$028663 92 bytes Subroutine (JSL) Exploding block Subroutine
input:
A: If 0 it appear as a exploding brown block, else it appear as a flashing block
$028680 1 byte Sound effect Breaking Turn Blocks Sound Effect.
$028686 3 bytes Misc. Change to EA EA EA to disable the Turn Block shattering animation (turn blocks disappear when spin jumped). Also affects sprite 4C.
$0286BF 46 bytes Sprite subroutine (JSL) Yellow Yoshi earthquake subroutine.
$02873A 4 bytes Sprite physics Bounce sprite Y speed table, based on direction (or the value in $06 during the routine at $028752).
$02873E 4 bytes Sprite physics Bounce sprite X speed table, based on direction (or the value in $06 during the routine at $028752).
$028752 299 bytes Subroutine (JSL) A subroutine for spawning bounce sprites from blocks. It continues into the routine at $02887D.
Input:
$04 - bounce sprite number - 1
$05 - value to use in $02887D
$06 - speed index (see $02873A and $02873E)
$07 - value of $9C that the block will turn into

At 0x10989/$028789:
Block bounce sprite YXPPCCCT table, in the following order:
- Turn Block with item / ! Block
- Note Block
- ?-Block
- Unused Side Bounce Turn Block
- Glass Block
- ON/OFF Block
- Turn Block
$028765 1 byte Misc. [05] Number of points awarded for breaking a turn block, divided by 10.
$02887D 36 bytes Subroutine (JSL) Seems to be a subroutine for spawning stuff from blocks. What is spawned depends on the value of $05:

00 - nothing
01 - mushroom
02 - flower
03 - star
04 - cape
05 - 1-Up
06 - coin
07 - coin (sets multiple-coin-block timer)
08 - growing vine
09 - nothing?
0A - P-switch (blue/gray depending on block X position)
0B - key/wings/balloon/shell (depending on block X position)
0C - green Yoshi egg
0D - green Koopa shell (with stun timer set)
0E - changing item
0F - directional coins
10 - key (but a random blue shell-less Koopa also pops out)
11-FF - completely glitchy; best not to use

This subroutine can be used properly in a block, but the data bank must be 02 and the lower nybbles of $98 and $9A must be cleared. All values except 06 and 07 JSR to the main "spawn sprite from block" routine at $0288DC; values 06 and 07 JSR to the coin-spawning routine at $028A66.
$0288A1 1 byte Sprite number Sprite that comes out of egg in block 126 (Yoshi)
$0288A2 1 byte Sprite number Sprite that comes out of egg in block 126 if Yoshi is already present (1up)
$0288A4 1 byte Sprite number Sprite that, when Yoshi is not present, comes out of blocks 117, 118, 11F, and 120 when small, and 16B regardless of status. (Mushroom)
$0288A5 1 byte Sprite number Sprite that comes out of blocks 117 and 11F when big (Flower)
$0288A6 1 byte Sprite number Sprite that comes out of blocks 119 and 121; also comes out of block 11A (certain X-positions only) and 122 (all X-positions) when invincible (Star)
$0288A7 1 byte Sprite number Sprite that comes out of blocks 118 and 120 when big, and 16A regardless of status (Feather)
$0288A8 1 byte Sprite number Sprite that comes out of block 11A (1up)
$0288A8 1 byte Sprite number Sprite that comes out of block 11A, and block 12D if at least 30 coins have been collected. (1up)
$0288AB 1 byte Sprite number Sprite that comes out of block 11A(?) (Vine)
$0288AD 1 byte Sprite number Sprite that comes out of block 11D (POW)
$0288AE 1 byte Sprite number Sprite that comes out of block 125 (Balloon - if changed, it will produce the same sprite regardless of X position)
$0288AF 1 byte Sprite number Sprite that comes out of block 126 (Yoshi egg)
$0288B0 1 byte Sprite number Sprite that comes out of blocks 127 and 128 (Green shell)
$0288B1 1 byte Sprite number Sprite that comes out of block 12C (Changing Item)
$0288B2 1 byte Sprite number Sprite that comes out of block 114 (Directional coins)
$0288B5 1 byte Sprite number Sprite that, when Yoshi is present, comes out of blocks 117, 118, 11F, and 120 when small, and 16B regardless of status. (Mushroom)
$0288B6 1 byte Sprite number Sprite that comes out of block 117 when big (Flower), when Yoshi is present.
$0288B7 1 byte Sprite number Sprite that comes out of block 119 (Star), when Yoshi is present.
$0288B8 1 byte Sprite number Sprite that comes out of block 118 when big (Feather), when Yoshi is present.
$0288B9 1 byte Sprite number Sprite that comes out of block 11A, and block 12D if at least 30 coins have been collected, when Yoshi is present. (1up)
$0288B9 1 byte Sprite number Sprite that comes out of block 11A (1up), when Yoshi is present.
$0288BC 1 byte Sprite number Sprite that comes out of block 11A(?) (Vine), when Yoshi is present.
$0288BE 1 byte Sprite number Sprite that comes out of block 11D (POW), when Yoshi is present.
$0288BF 1 byte Sprite number Sprite that comes out of block 125 (Balloon - if changed, it will produce the same sprite regardless of X position), if Yoshi is present.
$0288C0 1 byte Sprite number Sprite that comes out of block 126 (Yoshi egg), if Yoshi is present.
$0288C1 1 byte Sprite number Sprite that comes out of blocks 127 and 128 if Yoshi is present (Green shell)
$0288C2 1 byte Sprite number Sprite that comes out of block 12C (Changing Item), if Yoshi is present.
$0288C3 1 byte Sprite number Sprite that comes out of block 114 (Directional coins), if Yoshi is present.
$0288C6 11 bytes Misc. Sprite in block status ($7E14C8 - $7E14D3) table.
$028905 98 bytes Subroutine (JSL) The subroutine that generates a sprite from a block (tile 120 or 125, for example).
$02895F - Change from F0 to 80 to allow Directional Coins to reappear if you activate the block, then leave the area and come back.
$028968 1 byte Music Directional coins music.
$028A03 4 bytes ASM If you change [F6 C2 F6 C2] to [EA EA EA EA], then tile 125 will spawn a flying red coin instead of Yoshi wings on X-coordinate (X&3 = $01).
$028A08 2 bytes ASM [A9 FF] Change to [80 03] or [A9 00] to prevent the stun timer of the shell spawned from blocks 127 and 128 from ever being set. It will just spawn as a plain shell rather than a shell that will "wake up". (Or you can change the second byte to a different value to make the stun timer shorter.)
$028A42 2 bytes Sprite tilemap related Colours of P-Switches (Blue, Silver) when spawned by tile 11D
$028A44 34 bytes Subroutine (JSL) Subroutine for generating smoke when hitting a block.

You can use this in a custom block, but be sure to set up $98 and $9A accordingly.
$028A66 67 bytes Subroutine (JSR) Subroutine for spawning the coin that comes out of a ? block (for example tile 124).

It can be used in a custom block, but the low nybbles of $98 and $9A must be cleared first. This subroutine ends with RTS, but it may be accessed with a JSL to $02889D.
$028AB1 182 bytes Subroutine (JSL) 1up handler routine.

$02:8AC9 is the number of frames to wait before awarding each extra life after the first, when a 2up or higher is obtained. (Note that reducing this may skip some of the 1up sound effects.)
$02:8ACE is the sound effect.
$028B78 12 bytes Sprite Misc. OAM indexes for minor extended sprites.
$028B84 8 bytes Sprite tilemap related Sprite mappings for Broken Bricks, Broken Turn blocks, and Broken Throw Blocks
$028B8C 8 bytes Sprite tilemap related Broken Brick tile properties, YXPPCCCT format.
$028B98 24 bytes Pointer Minor extended sprite pointer table, 2 bytes per sprite.
$028BB4 1 byte Misc. Set to B9 to enable unused "Getting on Yoshi" dust animation
$028C6A 4 bytes Sprite tilemap related Table of 4x4 tiles used for the unused "getting on Yoshi" smoke minor extended sprite.
$028CAA 1 byte Sprite tilemap related Properties of the unused "getting on Yoshi" smoke minor extended sprite.
$028CB8 12 bytes Sprite tilemap related Reflecting Stream of Boo Buddies tilemap (Boos that follow the leader)
$028CC4 126 bytes Sprite Misc. The code for the minor extended sprites that make up the Boo stream.
$028D34 is palette and GFX page of the following Boos in the Boo stream. (If you use the default palettes, changing this to 03 won't have any effect, since the proper palette setting for the sprite (palette F) uses the same colors as palette 9.)
$028D42 13 bytes Sprite tilemap related Water Splash Tilemap
$028DD7 4 bytes Sprite tilemap related Tiles used by Rip Van Fish's Z's
$028E44 1 byte Sprite tilemap related Properties of Rip Van Fish's Z's. Set to 02 to make it use the first graphics page.
$028EB2 1 byte Sprite tilemap related Tile of broken Yoshi egg piece
$028EBC 1 byte Sprite tilemap related Palette/GFX page of broken Yoshi egg piece
$028ECC 6 bytes Sprite tilemap related Star Mario's Sparkle Tiles
$028F0B 1 byte Misc. Change to 00 to give Invincible Mario coin sparkles
$028F1A 1 byte Sprite tilemap related Palette of star sparkles
$028F2B 4 bytes Sprite tilemap related Lava splash tiles (1)
$028F76 1 byte Sprite tilemap related Lava splash palette/GFX page (1)
$0290C0 3 bytes ASM Decrements the timers used by spinning turn blocks to determine how long they should spin. Change to [EA EA EA] to make the last four turn blocks Mario has hit spin forever.
$02917E 1 byte Sound effect Sound Effect from bouncing on a Note Block
$0291B9 1 byte Misc. Tile spawned behind bouncing block sprite
$0291ED 4 bytes Sprite Misc. OAM indexes for block bounce sprites (in the $0200 block).
$0291F1 7 bytes Sprite tilemap related Block bounce sprite tiles

40 - Turn Block
6B - Note Block
2A - ?-Block
42 - Unused Side Bounce Turn Block (40)
EA - Glass Block
8A - ON/OFF Block
$029347 3 bytes ASM Change to [20 1E D5], and change $02D51E from FF FF FF FF FF to A9 02 4C BA 91, to fix the glitch where placing a coin above a ? block or turn block will cause the coin to leave behind an invisible solid block if the block below is hit.
$029356 60 bytes Subroutine (JSR) Code that creates a spinning coin sprite from a bounce sprite spawned by tile 2B. However, this never happens (tile 2B doesn't spawn a bounce sprite), so this subroutine seems to be unused. It is called at $02934A.
$029444 1 byte Misc. If you change this from FF to 00 then you won't see the eyes blinking or the shell shake. However, do keep in mind that it will affect the Bob-ombs too. If you hit them with a cape or a block from underneath it won't explode.
$029456 1 byte Misc. Score added for hitting an enemy from below or smacking an enemy with the cape

00 = Nothing at all
01 - 07 = Scores 200-8000.
08 = 1UP.
09 = 2UP.
0A = 3UP.
0B = 5UP (glitched).
0C-FB = Best not to use.
FC-FF = Scores 10-80
$0294C1 52 bytes Subroutine (JSL) Cape Mario smashes ground subroutine.
$0296B8 4 bytes Sprite Misc. OAM indexes for the smoke images (in the $0200 block).
$0296CB 12 bytes Pointer Pointer to the smoke images. ($7E:17F0 - $7E:17FB)
$029922 5 bytes Sprite tilemap related Mario/Luigi's trail of smoke tilemap. It uses palette 8.
$0299E9 4 bytes Sprite Misc. OAM indexes for the spinning coins that come out of ? blocks. The next index after each of these is also used (the GFX routine will store to $0200,y and sometimes to $0204,y as well).
$0299F1 183 bytes Sprite subroutine (JSR) Main handling routine for the spinning coins that come out of ? blocks.
$029A4F is a fourth of the rolling coin tilemap. This tile is 16x16.
$029A54 is the properties of the rolling coin flying from question blocks.
$029A6E is three fourths of the tilemap of the rolling coin. These tiles are 8x8, but they're duplicated and placed above each other, making it 8x16.
$029AAD 1 byte Misc. How many points you receive for getting a coin out of a block.
$029B2B 38 bytes Pointer Extended sprite routines (hammer, fireball, etc.)
$029B85 1 byte Sprite tilemap related palette/GFX page of volcano lotus' fireball
$029B94 1 byte Sprite tilemap related first tile of volcano lotus' fireball
$029B98 1 byte Sprite tilemap related second tile of volcano lotus' fireball
$029C8F 1 byte Sprite tilemap related Spin jump star palette
$029C94 1 byte Sprite tilemap related Spin jump star tile
$029D30 1 byte Sprite tilemap related Tile used by Wiggler's Flower once it falls off his head
$029D35 1 byte Sprite tilemap related The YXPPCCCT properties for the tile used by Wiggler's Flower once it falls off his head.
$029D4B 1 byte Sprite tilemap related The sprite graphics tile used for the Smiley Coin that is dropped by the Coin Cloud Game.
$029D50 1 byte Sprite tilemap related The YXPPCCCT properties for the tile used for the Smiley Coin in the Coin Cloud Game.
$029D55 1 byte Sprite tilemap related Size of smiley face coin tiles (00=8x8; 02=16x16)
$029E66 1 byte Sprite tilemap related Tile used by the arm that lowers Torpedo Ted (hand closed)
$029E6A 1 byte Sprite tilemap related Tile used by the arm that lowers Torpedo Ted (hand open)
$029E82 4 bytes Sprite tilemap related Lava splash tiles (2)
$029ED5 1 byte Sprite tilemap related Lava splash palette/GFX page (2)
$029F5C 1 byte Sprite tilemap related Tile number for the small bubble that Mario spawns when he is underwater.
$029F7A 1 byte Sprite tilemap related Yoshi's Fireball Frame 1 Tilemap
$029F7E 1 byte Sprite tilemap related Yoshi's Fireball Frame 2 Tilemap
$029F8B 1 byte Sprite tilemap related Yoshi fireball palette/GFX page
$029F99 8 bytes Sprite physics Table for Mario fireball bounce speed. Change to all zeros to make straight fireballs not fly off of slopes at an angle. Use in conjunction with the fireball hit timer at $029FE4.
$029FAB 2 bytes Sprite Misc. OAM indexes for the player's fireballs.
$029FD4 1 byte Sprite physics Initial Fireball Y Speed #2
$029FDB 1 byte ASM Change to 80 to make the player's fireballs go through objects.
$029FE4 1 byte Timer Fireball hit timer. This increases each time a fireball hits an object or a sprite. Changing it to #$01 will fix the bug with straight fireballs where the second fireball will go through objects if the first one is hitting an object. Use in conjunction with the bounce speed table at $029F99.
$02A046 1 byte Sound effect Sound effect played when the players fireball touches an object. It is #$01 by default, and the sound effect is in bank $1DF9.
$02A0FB 1 byte Misc. Change to 0A to make other enemies die like Chargin' Chuck when hit by fireballs
$02A0FC 1 byte Misc. Set to BD for unlimited Chargin Chuck fire hp
$02A103 1 byte Misc. Chargin Chuck fire hp
$02A107 1 byte Sound effect Sound effect to play when Chuck is killed by fireballs
$02A11D 1 byte Misc. Determines the number of points received for defeating a Chuck with fireballs (this also applies to any tweaked or custom sprites that have the "Takes 5 fireballs to kill" flag set). See $02ACE5 for a list of possible values.
$02A124 31 bytes ASM Code that turns a sprite into a coin after getting hit by a fireball
$02A125 is the sound effect to play when other enemies are killed by fireballs
$02A12A is the sprite fireballed enemies spawn
$02A153 8 bytes Sprite Misc. OAM indexes for extended sprites.
$02A15B 4 bytes Sprite tilemap related Fireball tile table
$02A15F 4 bytes Mario tilemap Fireball tiles' palette/gfx page/priority/flip (May also affect the small flame left by Hopping Flame.)
$02A163 4 bytes Sprite tilemap related Reznor Fireball Tilemap
$02A17B 2 bytes Sprite tilemap related Change to [EA EA] (org $02A17B : NOP #2) to make Reznor's and Jumpin' Piranha Plant's fireballs always large, or to [80 27] (org $02A17B : BRA $27) to make them always small.
$02A1A4 115 bytes Sprite subroutine (JSR) 8x8 fireball GFX subroutine. Is it also used as a base for various other extended sprites' graphics (they JSR to it and then change the tile numbers and properties).
$02A217 2 bytes Sprite tilemap related Small flame left by Hopping Flame Tilemap
$02A24C 1 byte Misc. Small flame's palette. It is added to the fireball's palette.
$02A2A4 1 byte Sprite tilemap related Tile used by Pitchin' Chuck's baseball once thrown
$02A2B1 1 byte Sprite tilemap related Palette/GFX Page of Baseball once thrown
$02A2CC 1 byte Sprite tilemap related Dry Bones: frame 1 of thrown bone
$02A2D0 1 byte Sprite tilemap related Dry Bones: frame 2 of thrown bone
$02A2DA 1 byte Sprite tilemap related Dry Bones: palette/gfx page of thrown bone
$02A2DF 8 bytes Sprite tilemap related Hammer Tilemap (Also, the flip of Dry Bones' bone)
$02A2E7 8 bytes Sprite tilemap related Palette/GFX Page of Hammer
$02A347 4 bytes Sprite tilemap related Dust Cloud Tilemap
$02A3F6 115 bytes Sprite subroutine (JSR) Extended sprite/player contact check and interaction subroutine.
$02A4AE 5 bytes Subroutine (JSR) The hurt Mario subroutine called by an extended sprite touching him.
$02A4E9 12 bytes Coordinate X-offsets for extended sprites $02-$0D's clipping. 12 bytes and they're in that order.
$02A4F5 12 bytes Coordinate Y-offsets for extended sprites $02-$0D's clipping. 12 bytes and they're in that order.
$02A501 12 bytes Coordinate Width for extended sprites $02-$0D's clipping. 12 bytes and they're in that order. Value may not exceed $7F. The clipping 'stretches' from the sprite's origin to the right.
$02A50D 12 bytes Coordinate Height for extended sprites $02-$0D's clipping. 12 bytes and they're in that order. Value may not exceed $7F. The clipping 'stretches' from the sprite's origin to below.
$02A547 39 bytes Sprite subroutine (JSR) "Get Fireball clipping" subroutine. Valid for Yoshi's and Mario's fireballs, Stores the clipping X displacement low byte to $00, the clipping X displacement high byte to $08, the clipping width (#0C) to $02, the clipping Y displacement low byte to $01, the clipping Y displacement high byte to $09, and the clipping height (#$13) to $03.
$02A56E 483 bytes Sprite subroutine (JSR) Object contact subroutine for the player's fireballs.
$02A7D2 37 bytes Misc. Two sprites that are treated as "special" within the sprite header. The first list of sprites come first before the second.
$02A7FC 482 bytes Subroutine (JSR) The routine that loads sprites from the level data. Called every frame; $02A802 is also called a few times during level load.
$02A988 1 byte ASM Change from 10 to 80 to disable the green and red koopa shells from becoming yellow and blue after the special world is passed
$02A98B 1 byte Sprite number 1st sprite to change after beating Special Zone (Green Koopa)
$02A98F 1 byte Sprite number What sprite Green Koopa becomes after beating Special World (Yellow Koopa)
$02A991 1 byte Sprite number 2nd sprite to change after beating Special Zone (Red Koopa)
$02A995 1 byte Sprite number What Red Koopa becomes after beating Special World (Blue Koopa)
$02A9A1 1 byte Misc. Change to 80 to prevent off screen sprites from turning into silver coins when the silver POW is active (USE WITH $01AB28)
$02A9B1 1 byte Sprite number Sprite that all sprites change into when a silver POW is active. (Only works on offscreen sprites) Take note that the sprite will use the same palette as the silver coin that is normally spawned
$02A9C3 1 byte Palette Palette to use for sprites changed by Silver P-Switch (offscreen sprites only)
$02AA0B 20 bytes Coordinate Position of all Boos in the reappearing ghosts generator, frame 1. Format: $xy.
$02AA1F 20 bytes Coordinate Position of all Boos in the reappearing ghosts generator, frame 2. Format: $xy.
$02ABF3 1 byte Misc. Change from 3F to 7F to fix a bug where the sprite load (or permanently killed) status index 64 to 127 gets carried over to the next level.
$02AC18 1 byte Misc. Change to 80 to fix the glitch where going through a pipe with a silver P-switch makes it act like a blue one.
$02ACE5 10 bytes Subroutine (JSL) The "give points" routine. It ends in RTL, but it JSLs to the main one. To use this properly, A should contain one of the following values:

00 = 100
01 = 200
02 = 400
03 = 800
04 = 1000
05 = 2000
06 = 4000
07 = 8000
08 = 1up
09 = 2up
0A = 3up
0B = 5up (may glitch)
$02ACEF 69 bytes Subroutine (JSL) The main score sprite subroutine. Load a value into A and JSL to it to give the player points.

00 = ?
01 = 10
02 = 20
03 = 40
04 = 80
05 = 100
06 = 200
07 = 400
08 = 800
09 = 1000
0A = 2000
0B = 4000
0C = 8000
0D = 1up
0E = 2up
0F = 3up
10 = 5up (may glitch)
$02AD4D 21 bytes Sprite tilemap related Tiles used by Floating Point Notations, 1UPs, 2UPs, etc. 1st half.
$02AD63 21 bytes Sprite tilemap related Tiles used by Floating Point Notations, 1UPs, 2UPs, etc. 2nd half
$02AD78 16 bytes Misc. Score added from score sprites, divided by 10 (low byte)
$02AD89 16 bytes Misc. Score added from score sprites, divided by 10 (high byte)
$02AD9A 1 byte Misc. point rise speed
$02AD9E 6 bytes Sprite Misc. OAM indexes for score sprites.
$02ADA4 389 bytes Sprite Misc. The main routine for all score sprites. This handles graphics, giving lives/points/1-ups/coins, position updating, etc.
$02ADD9 is how many lives 1up Mushrooms give you.
$02ADDA is how many lives 2up gives you.
$02ADDB is how many lives 3up Moons give you.
$02ADDC is how many lives 5up gives you.
$02ADDD is how many coins you get from the (unused) x5, x10, x15, x20, and x25 coin sprites.
$02ADE2 is the attributes of 2up & 3up score sprites. The unused 5up sprites and coin sprites read past this table.
You can change $02AE03 to A9 xx EA to make 1up Mushrooms and 3up Moons give you xx lives.
$02AED9 1 byte Sprite Misc. Score sprite and 1-UP text sprite YXPPCCCT. It is recommend you to change only priority and palette.
$02AF52 1 byte Sprite number The sprite that the 3 platforms is made from
$02AFBC 1 byte Sprite number Sprite that the 'group of 5 eerie' is made of
$02B044 1 byte Sound effect SFX played by bowser fireball generator. Change to 00 to disable.
$02B04E 1 byte Sprite number Sprite spawned by bowser fireball generator
$02B07F 1 byte Misc. How often the Bullet Bill generator fires (sprite D5)
$02B089 1 byte Sound effect SFX played by bullet bill generator. Change to 00 to disable.
$02B094 1 byte Sprite number Sprite spawned by bullet bill generator
$02B0E0 1 byte Sound effect SFX played by Diagonal Bullet Bill generator. Change to 00 to disable.
$02B0FA 5 bytes Sprite Misc. Initial X position, within screen, of bullets spawned by surrounded Bullet Bill generator.
$02B0FF 4 bytes Sprite Misc. Initial X position, within screen, of bullets spawned by diagonal Bullet Bill generator.
$02B103 5 bytes Sprite Misc. Initial Y position, within screen, of bullets spawned by surrounded Bullet Bill generator.
$02B108 4 bytes Sprite Misc. Initial Y position, within screen, of bullets spawned by diagonal Bullet Bill generator.
$02B10C 5 bytes Sprite Misc. Direction of bullets spawned by surrounded Bullet Bill generator.

00 = right
01 = left
02 = up
03 = down
04 = up-right
05 = down-right
06 = down-left
07 = up-left
$02B111 4 bytes Sprite Misc. Direction of bullets spawned by diagonal Bullet Bill generator.

00 = right
01 = left
02 = up
03 = down
04 = up-right
05 = down-right
06 = down-left
07 = up-left
$02B11C 1 byte Sprite number Sprite spawned by the surrounded/diagonal Bullet Bill generators.
$02B15E 1 byte Misc. Frequency of fish jumping up with the flying fish generator (set more bits to decrease the frequency, e.g. $5F, $FF)
$02B16E 1 byte Sprite number Sprite spawned by Jumping Fish generator
$02B1CF 1 byte Sprite number Sprite spawned by Super koopa generator
$02B21A 1 byte Sprite number Sprite spawned by bubble generator
$02B28E 1 byte Sprite number Sprite spawned by Dolphin generator
$02B2E9 1 byte Sprite number Sprite spawned by eerie generator
$02B3F1 1 byte Sprite number Sprite spawned by Torpedo Ted generator
$02B42E 1 byte Sprite number Object that appears before Torpedo Ted is spawned
$02B46C 1 byte Timer How often Bullet Bill shooters fire
$02B495 2 bytes ASM Replace with 80 0A to make the Bullet Bill Shooter keep shooting even if Mario is standing next to the generator.
$02B4A8 1 byte Sound effect SFX played by Bullet Bill Shooter
$02B4B2 1 byte Sprite number Sprite Spawned by bullet bill shooter
$02B51A 12 bytes Sprite subroutine (JSR) Updates a bounce sprite's Y position without gravity (actually just changes the sprite index and JSRs to $02B526).
$02B526 46 bytes Sprite subroutine (JSR) Updates a bounce sprite's X position without gravity.
$02B554 12 bytes Sprite subroutine (JSR) The subroutine that updates an extended sprite's X position (without gravity).
$02B560 46 bytes Sprite subroutine (JSR) The subroutine that updates an extended sprite's Y position (without gravity).
$02B58E 46 bytes Sprite subroutine (JSR) The subroutine that updates the Y position of the spinning coin coming from a ? block.
$02B5BC 12 bytes Sprite subroutine (JSR) The X speed subroutine for minor extended sprites. Actually just adds 12 to the sprite index and JSRs to the Y speed subroutine, just like the equivalent subroutine for normal sprites.
$02B5C8 36 bytes Sprite subroutine (JSR) The Y speed subroutine for minor extended sprites.
$02B5EC 68 bytes Empty Unused data.
$02B65F 4 bytes Misc. X coordinates of Pokey animation
$02B663 2 bytes Misc. Pokey's X speed (right, left)
$02B68D 1 byte Sprite tilemap related Pokey's head after being eaten
$02B691 1 byte Sprite tilemap related Pokey's Body after being eaten
$02B78C 1 byte Sprite tilemap related Pokey's Body Tilemap
$02B78D 1 byte ASM Change to 90 and Pokey's head will be his body, and the other way round
$02B790 1 byte Sprite tilemap related Pokey's Head Tilemap
$02B795 1 byte Sprite tilemap related pokey's palette/gfx page
$02B8B8 2 bytes Sprite Misc. Max Speed Torpedo Ted can go. (Format = Right, Left)

The Left value must be over $7F while the Right value must be below $80.
$02B8BA 2 bytes Sprite Misc. How fast Torpedo Ted gains speed/accelerates until he reaches max speed. (Format = Right, Left)

The Left value must be over $7F while the Right value must be below $80.
$02B8BF 1 byte Sprite Misc. How many frames torpedo ted waits until he gains more speed.

(This value is AND'd with the frame counter)
$02B92D 1 byte Sprite tilemap related Tilemap: Torpedo Ted's face
$02B937 1 byte Sprite tilemap related Tilemap: Torpedo Ted's Propeller Frame 1
$02B93F 1 byte Sprite tilemap related Tilemap: Torpedo Ted's Propeller Frame 2
$02B943 1 byte Sprite tilemap related Tilemap: Torpedo Ted's Propeller Frame 3
$02B9A4 25 bytes Sprite subroutine (JSL) This generates a Map16 tile at the position of the sprite currently being processed. It can be accessed with a JSL, and A should be set to the value of $9C you wish to use.
$02B9DA 1 byte Sprite number Sprite to use for those changed by Silver P-Switch (the ones that change while on the screen)
$02B9EF 1 byte Palette Palette to use for sprites changed by Silver P-Switch (on screen sprites only)
$02BAA8 1 byte Misc. Lowest tile # that acts as a berry with sticking out the tongue
$02BAAC 1 byte Misc. Highest tile # that acts as a berry plus one with sticking out the tongue
$02BAC6 1 byte Sprite number Sprite that the berries are made from when swallowed
$02BB03 1 byte Misc. Tile spawned from eating a berry (using tongue). Corresponds to a value in $7E:009C.
$02BB17 4 bytes Sprite tilemap related Sprite tilemap: Yoshi Wings
$02BB1B 4 bytes Sprite tilemap related Palette/Gfx page/Priority/Flip of Yoshi Wing tiles
$02BB1F 4 bytes Sprite tilemap related Size of Yoshi Wing tiles
$02BC0E 6 bytes Sprite tilemap related Horizontal Dolphin Tilemap
$02BE5E 4 bytes Sprite tilemap related Change from "C9 02 D0 17" to "C9 01 F0 17" to make Fuzzies/Sparkies to only use the latter's tilemap in the castle (01) sprite tileset, as opposed to using the sparky's tilemap in every sprite tileset apart from the mushroom (02).
$02BE6B 1 byte Sprite tilemap related Ground-guided Fuzzball Tilemap
$02BE7A 1 byte Sprite tilemap related Sparky Tilemap
$02BE95 8 bytes Sprite tilemap related Hothead Tilemap
$02BF0B 1 byte Sprite tilemap related Hothead's eyes frame 1
$02BF12 1 byte Sprite tilemap related Hothead's eyes frame 2
$02BF58 4 bytes Sprite tilemap related Urchin's Body Tilemap
$02BFA3 1 byte Sprite tilemap related Urchin's eyes frame 1
$02BFA9 1 byte Sprite tilemap related Urchin's eyes frame 2
$02C0CF 87 bytes Subroutine (JSL) (Unused) Z tile generation (Rip Van Fish Z tiles).
$02C0D9 77 bytes Sprite subroutine (JSL) Rip Van Fish Z tiles generation routine
$02C1A6 1 byte Sprite number Sprite Diggin' Chuck unearths
$02C29F 1 byte Misc. 1st type of block Chargin' Chuck can smash through, -0x100 (Throw Block)
$02C2A3 1 byte Misc. 2nd type of block Chuck can smash through, -0x100 (Turn Block)
$02C2BE 1 byte Misc. What top row of blocks become when Chuck smashes through them
$02C2DB 1 byte Misc. What bottom row of blocks become when Chuck smashes through them
$02C382 1 byte Sound effect Whistling Chuck Sound Effect.
$02C3B3 4 bytes Sprite Misc. Timers for Pitchin' Chuck's throwing. This table is indexed by the initial sprite X position. The timers themselves are formatted thus: t = $3F + $20n, where t is the timer value and n is the number of baseballs thrown in a row. So the sprite will throw 2, 4, 6, or 5 baseballs depending on its X position. However, this applies only when it is on the ground; if it is in the air, then the timing is different.
$02C460 2 bytes Misc. Starting X-coordinate of baseball when thrown by Chuck (facing right, facing left)
$02C464 2 bytes Misc. X speed of baseball when thrown by Chuck (right, left)
$02C47A 1 byte Sprite number Object that Pitchin' Chuck pitches
$02C5AF 1 byte Sound effect SFX played by Splitin' Chuck
$02C5C8 1 byte Sprite number Sprite spawned by Splittin' Chuck
$02C708 1 byte Sound effect Running Chuck sound
$02C7BE 1 byte Misc. Determines the number of points received for defeating a Chuck by stomping or with a star. See $02ACE5 for a list of possible values.

[Note: That list at $02ACE5 needs to have FB = Nothing, FC = 10, FD = 20, FE = 40, and FF = 80 added to it.]
$02C7E8 1 byte Misc. Set to BD for unlimited Chargin Chuck stomping hp
$02C7EF 1 byte Misc. Chargin Chuck stomping hp
$02C7F7 1 byte Sound effect Hitting Chuck sound
$02C87E 7 bytes Sprite tilemap related Sprite tilemap: Chuck Head(All)
$02C98B 51 bytes Sprite tilemap related Sprite tilemap: Chuck Body(All)
$02CA97 2 bytes Sprite tilemap related Clappin' Chuck's hand tiles (raised, clapping)
$02CAFA 2 bytes Palette [47 07] Change to 40 00 to be able to change the palette of Chargin' Chucks arm with Tweaker/etc. (USE WITH $02CB2E)
$02CB17 1 byte Sprite tilemap related Tile used by Chargin' Chuck's arm
$02CB2E 1 byte Palette [64] Change to 08 to be able to change the palette of Chargin' Chucks arm with Tweaker/etc.
(USE WITH $02CAFA)
$02CB7C 1 byte Sprite tilemap related Tile to use for the baseball when it's in Pitchin' Chuck's hand
$02CB81 1 byte Palette Palette/GFX page for baseball when it's in Pitchin' Chuck's hand
$02CB9B 3 bytes Sprite tilemap related Diggin' Chuck's Shoulder and Shovel Tiles
$02CCB1 4 bytes Misc. Unused cage wings: X offsets
$02CCB5 4 bytes Misc. Unused cage wings: Y offsets
$02CCFC 1 byte Sprite tilemap related Unused cage wings: Extended wing, top tile
$02CD00 1 byte Sprite tilemap related Unused cage wings: Closed wing, top tile
$02CD05 1 byte Sprite tilemap related Unused cage wings: Extended wing, bottom tile
$02CD09 1 byte Sprite tilemap related Unused cage wings: Closed wing, bottom tile
$02CD0E 1 byte Sprite tilemap related Unused cage wings: Attribute byte #1 (X flip, Y flip, priority, palette, MSB of tile num.)
$02CD1A 1 byte Sprite tilemap related Unused cage wings: Attribute byte #2 (size, MSB of X pos.)
$02CD55 4 bytes Palette YXPPCCCT data for the (flattened) switch palaces (level), indexed by type. Order is green, yellow, blue, red.
$02CD61 1 byte Misc. Tile spawned from stepping on big ! switch
$02CEE4 1 byte Misc. How many pieces make up the pea bouncer
$02CF2C 1 byte Sprite tilemap related Tile of pea bouncer
$02CF33 1 byte Sprite tilemap related Attributes of pea bouncer tile
$02CFFE 5 bytes Sprite physics Bounciness of each part of pea bouncer
$02D1C3 1 byte Misc. Lowest tile # that acts as a berry without sticking out the tongue
$02D1C7 1 byte Misc. Highest tile # that acts as a berry plus one without sticking out the tongue
$02D208 1 byte Misc. Tile spawned from eating a berry (w/o using tongue). Corresponds to a value in $7E:009C.
$02D212 1 byte Sprite physics [10] {+1