Language…
9 users online: Gamer_HS, Green, Heitor Porfirio,  Hooded Edge, kellykelster,  Maarfy, mmBeefStew,  NopeContest, The ultimate Julio - Guests: 157 - Bots: 143
Users: 59,956 (2,174 active)
Latest user: AndersonH

SMW Memory Map

Displaying 500 out of 3118 addresses.

View: moderated | waiting (59)

Filter

Link
ROM Address Length Type Description Details
$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 its 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 its 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
$01DCA6 1 byte Sprite tilemap related Line-guided Rope's Motor YXPPCCCT properties (flip/priority/palette/GFX page)
$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.
$01E092 1 byte Sprite physics Max Y-speed of the fireballs that fall from the sky during the Bowser battle. Default is $20.
$01E0DD 2 bytes Sprite Misc. Change to [A9 XX 9D 40 15 80 04 EA EA EA EA] to make the Podoboo's timer consistent, with XX being the amount of time for it to reappear.
$01E111 4 bytes Sprite tilemap related Change to EA EA EA EA to prevent Podoboo from having lava trail.
$01E14B 1 byte Timer Amount of time Bowser's sky fireballs remain on the ground before vanishing. Should not be set below #$02. Default is $80.
$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)
$01E1D5 1 byte Sprite number [$80] Sprite number that triggers the Keyhole exit when carried into a Keyhole.
If changing this, make sure to also edit $01F161.
$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. Mod note: Applying this hex edit makes the game crash if you eat a key with Yoshi.
$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. Mod note: Applying this hex edit makes the game crash if you eat a key with Yoshi.
$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. Mod note: Applying this hex edit makes the game crash if you eat a key with Yoshi.
$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. Uses the values for $7E009C.
$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 Part of the 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, change $01E526 to [80 05] to make it throw bones in all overworld levels, or change $01E52A to a different number to make it check a different overworld level. The default value is 31, and it follows the format of RAM address $13BF. If you change this behavior, you must also change the code at $01E59C.
$01E59C 11 bytes ASM Part of the code that makes sprite 32, the Dry Bones that stays on ledges, set its timer for throwing bones when the overworld level is 10D.

You can change $01E59C to [80 18] to make sprite 32 never throw bones, change $01E5A0 to [80 05] to make it throw bones in all overworld levels, or change $01E5A4 to a different number to make it check a different overworld level. The default value is 31, and it follows the format of RAM address $13BF. If you change this behavior, you must also change the code at $01E522.
$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
$01E723 1 byte Sprite tilemap related Tile to use for a smushed P-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
$01E7D1 1 byte Sprite Misc. How long until lakitu respawns after being killed. Normally $FF.
$01E922 1 byte Sprite tilemap related Tile used for Lakitu's cloud
$01E95E 1 byte Sprite tilemap related Change to 60 (RTS) to remove the face on Lakitu's cloud
$01E976 1 byte Sprite tilemap related Tile used by the face on Lakitu's Cloud
$01E97B 1 byte Sprite tilemap related Properties (YXPPCCCT) of the face on Lakitu's cloud
$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.
$01EC2C - Change to "A9 00 EA EA" (LDA #$00 : NOP : NOP) to make Yoshi's "Thank you for saving me" appear on any map.
$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 Sprite physics [F0] Yoshi's idle hopping speed. Change to $00 to make him not hop.
$01ED4D 2 bytes Mario physics Change from [64 7B] to [EA EA] (NOP #2) to preserve Mario's horizontal speed when mounting Yoshi.
$01ED4F 2 bytes Mario physics Change from [64 7D] to [EA EA] (NOP #2) to preserve Mario's vertical speed when mounting Yoshi.
$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
$01EF04 4 bytes Sprite Misc. [A4 7D 30 02] Controls the rate at which Blue/Winged Yoshi's wings flutter and the rate at which the flying SFX plays, depending on Mario's Y speed direction.

Change $01EF04 to [80 02] (BRA $02) to make the flutter animation/SFX always slow.

Change $01EF06 to [80] (BRA) to make the flutter animation/SFX always fast.

Change $01EF06 to [10] (BPL) to invert the Y speed direction condition (Slow if rising, fast if falling).
$01EF0F 1 byte Sound effect SFX played by Blue/Winged Yoshi while flying (bank $1DFC).
$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.
$01F0BA 3 bytes ASM Change from [AD AE 18] to [EA A5 9D] to fix the glitch where Yoshi will stick his tongue out twice if the screen is frozen (such as during a power up animation) while $7E14A3 is #$10.
$01F0D3 91 bytes Sprite subroutine (JSR) Subroutine that is called while swallowing a sprite or a berry with Yoshi to give the player a coin and handle berry effects.

- $01F0D4: ($06) SFX to play when swallowing something.
- $01F0D6: ($1DF9) Swallow SFX port.
- $01F0D8: change to $80,$02 to disable the coin given by swallowing sprites.
- $01F0EF: ($0A) Number of red berries Yoshi needs to lay an egg.
- $01F0F6: ($74) Sprite number to spawn when eating enough red berries.
- $01F0FE: ($29) SFX to play when swallowing a green berry.
- $01F100: ($1DFC) Green berry SFX port.
- $01F107: ($02) Amount of tens to add to the timer when eating a green berry ($01 = add 10 seconds, $02 = add 20 seconds, etc.); can glitch the timer if set to values higher than $0A.
- $01F11D: ($02) Number of pink berries Yoshi needs to eat to lay an egg.
- $01F124: ($6A) Sprite number to spawn when eating enough pink berries.
$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)
$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 a #$01 bit enables ground pounding, #$02 enables flight, #$03 enables both. The other bits aren't used.
$01F147 4 bytes Sprite Misc. Indices (divided by 4) to the Yoshi-shell ability table at $01F137 for each color of Yoshi (ordered yellow, blue, red, green).
$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)
$01F161 1 byte Sprite number [$80] Sprite number that sets the "Yoshi has a Key in his mouth" flag (at $7E191C) when being in Yoshi's mouth.
If changing this, make sure to also edit $01E1D5.
$01F1A5 1 byte Sprite Misc. Controls how fast Yoshi's swallow timer is decreased. By default it's $03, meaning that every 4th frame the timer is decreased. If changing this, it's preferred to use one of these values: $00, $01, $03, $07, $0F, $1F, $3F, $7F, $FF (higher = slower decrease).
$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
$01F27C 25 bytes Sprite Misc. Code that makes Yoshi spawn Yoshi Fireballs, by calling the subroutine at $01F295 three times.

Change $01F28B to $80,$01 to make Yoshi breathe just the top and bottom fireball.

Change $01F282 to $00 and $01F288 to $80,$04 to make Yoshi breathe just the middle fireball.
$01F290 1 byte Sound effect Yoshi spit fire SFX
$01F295 74 bytes Sprite subroutine (JSR) Subroutine to spawn a Yoshi Fireball, which uses the value in $7E:0000 to determine what speed values to use. After it returns, the value in $7E:0000 will be decremented by 1.

- $01F299 (1 byte): extended sprite number to spawn. By default it's $11 (Yoshi Fireball).
- $01F2D9 (3 bytes): X speed to give the fireball. By default it's $28,$24,$24 (middle, up, down fireball respectively).
- $01F2DC (3 bytes): Y speed to give the fireball. By default it's $00,$F8,$08 (middle, up, down fireball respectively).
$01F301 4 bytes Sprite physics X speeds to give sprites when spit out by Yoshi, depending on Yoshi's direction and if Yoshi is ducking or not. The values are, in order:
- ($30) Speed when spitting to the right while not ducking.
- ($D0) Speed when spitting to the left while not ducking.
- ($10) Speed when spitting to the right while ducking.
- ($F0) Speed when spitting to the left while ducking.
$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.
$01F35C 1 byte Sprite Misc. Yoshi swallow timer. By default it's $FF, but note that it decreases every 4th frame (see $01F1A5).
$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
$01F524 106 bytes Sprite subroutine (JSR) Subroutine that checks for contact between Yoshi's tongue and any other sprite or berry.

- $01F55F: ($08) Clipping width of the tip of Yoshi's tongue.
- $01F563: ($04) Clipping height of the tip of Yoshi's tongue.

Change $01F524 from $5A to $60 to prevent Yoshi from eating anything (although he will still be able to eat berries by walking on them).
$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
$01F713 57 bytes Sprite subroutine (JSR) Subroutine that will damage Yoshi (register X should contain Yoshi's sprite slot number), knocking Mario off Yoshi, making Yoshi run, and triggering invincibility frames for Mario. In case you want it to check for star power first, call from $01F70E instead.
$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
$01F75C 4 bytes Sprite tilemap related GFX page of the tiles used in the Yoshi egg hatching animation ($01F760).
$01F760 4 bytes Sprite tilemap related Tile numbers for each frame in the Yoshi egg hatching animation. Read from right to left as (intact, breaking, breaking, puff of smoke).

Change alongside $019C17 and $01F794 to completely remap the Yoshi egg tiles.
$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 Egg Tilemap (only manifests if the Yoshi egg is in the normal status ($14C8 = #$08), i.e. free-standing Yoshi egg).

Change alongside $019C17 and $01F760 - $01F763 to completely remap the Yoshi egg tiles.
$01F88C 2 bytes Sprite physics Horizontal speed of Eeries
$01F88E 2 bytes Misc. Vertical speed of Eerie (sprite 39)
$01F8CF 2 bytes Sprite physics Maximum speed that Boo, Boo Block and Big Boo can accelerate to (first byte is right & down, second left & up).
$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.
$01F9A5 10 bytes Misc. [38 ED B6 18 85 D3 A5 D4 48 E9] Change to [18 69 10 EA 85 D3 A5 D4 48 69] to make the Boo/Boo Block track Mario accurately.
$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. Used when SELECT is pressed or if the player takes damage without dying.


Change $028008 from DA (PHX) to 6B (RTL) 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 status ($14C8) to drop items from the item box as (default is #$08 - normal routine).
$028052 is the fixed X position of dropped item from item box (default is #$78).
$028060 is the fixed Y position of dropped item from item box (default is #$20).
$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.
$028648 - Change from B5 to A5 to change a bug with the throwblock where it may spawn a water splash upon spawn in a buoyancy-enabled level.
$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) Block shatter subroutine. This creates 4 block pieces and plays the shatter sound effect, but it does not actually destroy the block (use $00BEB0 for that). If A is 00 when calling this, the block pieces will be brown, while if A is a nonzero number, they will flash palettes. It uses $98-$9B to set the XY position. Note that this should be called with the data bank set to 02.
$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.
$0286D7 1 byte Sprite Misc. Change from 0xDD to 0xD5 to fix a glitch with Yoshi's ground pound hitbox where it can warp to the wrong side of the screen if the low byte of Mario's X position is #$F8-#$FF.
$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.

Note: When used in a custom block under sprite interaction, make sure you preserve $1695 and then restore it after this routine to prevent a random splash sprite from spawning.
$028899 1 byte Timer [$FF] Value of the multiple coin block timer, set when hitting the block for the first time (see $7E186B).
$0288A1 2 bytes Sprite Misc. The sprite which comes out of a Yoshi egg when spawned from a question mark block. The first byte is the sprite ID when no Yoshi exists and the second byte is the sprite ID when Yoshi does exist. By default, these are $35 (Yoshi) and $78 (1-up).
$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 (1up), 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)
$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.
$0288D6 3 bytes Sprite number Sprites spawned by key/wings/balloon/shell block, indexed by its X position. Note that this table is only 3 bytes long, not 4 bytes; the shell actually comes from the key's sprite status.
$0288D9 3 bytes Sprite Misc. Sprite status of sprite spawned by the key/wings/balloon/shell block, indexed by its X position. Note that this table is only 3 bytes long, not 4 bytes; the shell is given an invalid sprite status.
$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.
$028BB0 95 bytes Sprite subroutine (JSL) Subroutine called by Yoshi that was originally supposed to show some smoke particles when the player mounts him, but it was eventually disabled.
Change $028BB4 from $B8 to $B9 to re-enable this effect.
$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.
$02916D 1 byte Mario physics [A0] Y speed that note blocks give the player when bouncing on them.
$02917E 1 byte Sound effect Sound Effect from bouncing on a Note Block
$0291B5 1 byte Misc. Value for $9C to change what Map16 tile is created when a multiple-coin-block is hit after its timer has run out.
$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 (not turning).
$6B - Note Block.
$2A - ?-Block.
$42 - Unused Side Bounce Turn Block (change to $40 to fix the wrong tile that appears when hitting these blocks).
$EA - Glass Block.
$8A - ON/OFF Block.
$40 - Turn Block (turning). Note that changing this will only affect the tile that appears before the block starts spinning.
$029265 301 bytes Subroutine (JSR) Subroutine run on bounce sprite INIT (for all bounce sprites except turnblocks), which is responsible for the bug where a coin on top of hittable block and hitting said block will cause the coin to turn into an invisible solid block.

Change $0290ED from [20] to [AD] to prevent the coin from being collected.
$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.
$0294F5 22 bytes Subroutine (JSR) Routine that processes capespin interaction with sprites, extended sprites, and blocks.
$029663 51 bytes Sprite subroutine (JSR) Routine that gets sprite clipping value for quake sprites (i.e. bounce sprites and Yoshi's stomp). Takes the place of "sprite clipping B" from the standard routines.
$029696 34 bytes Subroutine (JSR) Get the cape hitbox for clipping B.

$02969B [$02]: Hitbox horizontal displacement (low byte).
$0296A2 [$00]: Hitbox horizontal displacement (high byte).
$0296A5 [$14]: Hitbox width.
$0296B4 [$10]: Hitbox height.

Note that there is no vertical displacement for the cape hitbox.
$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)
$0297B3 1 byte Sprite Misc. [$F0] OAM index (in $0200) used by the sprite contact graphics (when not in Reznor/Morton/Roy's room). Since this sprite draws 4 tiles, it overlaps with Mario's fireballs (which use slots $F8 and $FC), causing it to be partially cutoff whenever there's some fireballs (it's easy to see if you spinjump on a spiky enemy while being fireflower Mario). To fix it, change this to $E8.
$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.
$029A6B controls the frames, changing to [D0 00] or [EA EA] will cause all 4 frames to only use 1 16x16 tile. Have to combine with $029A4F and $029A6E (same tile) for the complete effect.
$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.
$0299FD 1 byte Sprite physics Downwards Y acceleration for the coin sprites spawned from coin blocks. Decrease this value to make them fly higher.
$029AAD 1 byte Misc. How many points you receive for getting a coin out of a block.
$029AE6 1 byte Misc. Smoke sprite to spawn from coins spawned by coin blocks.
$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.
$029D40 1 byte Sprite tilemap related Size of the Wiggler's Flower once it falls off his head ($00 = 8x8; $02 = 16x16)
$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.
$02A0B9 1 byte Sprite Misc. Change from #$09 to #$0B (or #$15 in a SA-1 ROM) to fix a glitch with both the player's and Yoshi's fireballs where they don't interact with sprite slots above 9.
$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: the sound effect to play when other enemies are killed by fireballs.
- $02A12A: 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 Mario's fireball tiles' flip/priority/palette/GFX page, YXPPCCCT format (May also affect the small flame left by Hopping Flame).
$02A163 4 bytes Sprite tilemap related Reznor Fireball Tilemap
$02A167 4 bytes Sprite tilemap related Reznor fireball tiles' flip/priority/palette/GFX page (YXPPCCCT format).
$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) as well as despawning them when they leave the screen.
$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 242 bytes Sprite subroutine (JSR) Extended sprite/player contact check and interaction subroutine.

$02A412 is the extended sprite interaction for the bonus game cloud.

$02A469 is the default extended sprite interaction to hurt Mario.

$02A4B3 is the speed Yoshi runs away when Mario gets hurt by an extended sprite and while he is riding yoshi (index: right, left).
Change $02A4B3 from [10 F0] to [18 E8] to fix an inconsistency where Yoshi runs slower when hurt from an extended sprite than hurt from a regular sprite.
$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.
$02A519 46 bytes Sprite subroutine (JSR) "Get extended sprite clipping routine", for extended sprites $02-$0D (for Mario and Yoshi's fireballs, see $02A547). It stores the clipping X displacement low byte in $04, X displacement high byte in $0A, Y displacement low byte in $05, Y displacement high byte in $0B, width in $06, height in $07 (so it's equivalent to the "Get sprite clipping A" routine).

Inputs:
- X: extended sprite slot
- Data Bank: $02

Y is modified by the routine, so it should be preserved before calling it if needed.
Example code
$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)
$02A9DE 45 bytes Subroutine (JSL) Routine to find an empty sprite slot, starting from the highest usable slot, minus 2. Returns it in Y. Exclusively used for generators, since they don't always need to spawn a sprite. In reality this just sets $0E to 2 and then jumps to $02A9E6.

$02A9E4 39 bytes Subroutine (JSL) Routine to search for free spite slot within the standard sprite slot region (as defined by the sprite memory setting).
Jumping to $02A9E6 will alternatively start searching from the highest available slot minus whatever value is in $0E (e.g. if the standard range is 1-9 and $0E = 0x03, then it will search only slots 1-6). For a value of 0x02, jump to $02A9DE instead.
$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.
$02AB23 1 byte Sprite Misc. [09] How many Boos are in the Boo ring (Minus 1).
$02AB2E 1 byte Sprite number [04] What sprite makes up the Boo Ring.
$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 from 30 to 80 to fix various glitches that occur when carrying a sprite through a pipe, such as the silver P-switch behaving like a blue one, throw blocks never expiring, and stunned enemies never waking up.
Essentially, this skips over a chunk of code that transfers the carried sprite to slot 0 and clears all of its tables, except for $15F6 (the YXPPCCCT data).
$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 17 bytes Misc. Score added from score sprites, divided by 10 (low byte)
$02AD89 17 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.
$02AF2D 6 bytes Sprite Misc. Initial angles of the 3 platforms in the 3 Grey Rotating Platforms sprite.

Format:
- $02AF2D (Low Bytes)
- Platform 1 (Default: $00)
- Platform 2 (Default: $AA)
- Platform 3 (Default: $54)
- $02AF30 (High Bytes)
- Platform 1 (Default: $00)
- Platform 2 (Default: $00)
- Platform 3 (Default: $01)
$02AF42 1 byte Sprite number How many platforms (minus 1) are in the 3 Grey Rotating Platforms sprite.
$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
$02B0CB 1 byte Sprite Misc. Number of bullets to spawn from the surrounded Bullet Bill generator, minus one. (Don't set this higher than 04, or the tables at $02B0FA-$02B114 will underflow.)
$02B0CC 1 byte Sprite Misc. Number of bullets to spawn from the diagonal Bullet Bill generator, minus one. (Setting this to 04-08 will make the diagonal generator also spawn the surrounded generator's bullets. Don't set this higher than 08.)
$02B0D9 1 byte Timer Determines how often the surrounded/diagonal Bullet Bill generators fire. Multiply this by 2 to get the delay in frames.
$02B0E0 1 byte Sound effect SFX played by surrounded/diagonal Bullet Bill generators. Change to 00 to disable.
$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)
$02B8F7 87 bytes Sprite subroutine (JSR) Torpedo Ted's GFX routine.

$02B92D: [$80] Tile number to use for Torpedo Ted's head.
$02B937: [$82] Tile number to use for Torpedo Ted's body when being lowered by the arm.
$02B93F: [$A0] Tile number to use for Torpedo Ted's body after being launched (first animation frame).
$02B943: [$82] Tile number to use for Torpedo Ted's body after being launched (second animation frame).
$02B94A: [$02] Size for Torpedo Ted's tiles ($00 = 8x8, $02 = 16x16).
$02B94E 2 bytes Sprite Misc. [$F4 $1C] X offsets (low byte) the Torpedo Ted's smoke is spawned at. The first byte is used when the sprite faces the right direction, the second when it faces the left direction.
$02B950 2 bytes Sprite Misc. [$FF $00] X offsets (high byte) the Torpedo Ted's smoke is spawned at. The first byte is used when the sprite faces the right direction, the second when it faces the left direction.
$02B952 82 bytes Sprite subroutine (JSR) Torpedo Ted's smoke spawning subroutine.

$02B990: [$01] Smoke sprite number.
$02B99F: [$0F] Smoke timer.
$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.
$02B9BD 28 bytes Subroutine (JSL) A subroutine that turns all sprites on screen into silver coins. Called when pressing a silver P switch.
$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
$02BB23 101 bytes Sprite subroutine (JSL) Subroutine for drawing and animating Yoshi's wings.
$02BC0E 6 bytes Sprite tilemap related Horizontal Dolphin Tilemap
$02BDA7 12 bytes Sprite Misc. Code that handles erasing Spike Tops that go offscreen vertically. Set to [80 0A] (BRA $0A) to disable this behavior, however keep in mind that this means the sprites will be able to walk around the underside of your level.
$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
$02BF53 5 bytes Sprite tilemap related Urchin YXPPCCCT properties, eyes and body. Order: Eyes, upper left body part, upper right, lower left, lower right.
$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.
$02C3B7 4 bytes Sprite Misc. Pitchin' Chuck's animation frames when throwing baseballs while on the ground.
$02C3BB 16 bytes Sprite Misc. Pitchin' Chuck's animation frames when throwing baseballs while jumping.
$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
$02C4F9 1 byte Sound effect SFX played by Clappin' Chuck's clap.
$02C521 1 byte Sprite physics [F0] Speed of Clappin' Chuck's idle bounce. Negative values closer to $80 result in a higher bounce. Change to a positive value ($00-$7F) to disable Clappin' Chuck's idle bouncing.
$02C530 1 byte Sprite physics [C0] Speed of Clappin' Chuck's clapping jump. Negative values closer to $80 result in a higher jump. Change to a positive value ($00-$7F) to disable Clappin' Chuck's clapping jump.
$02C537 1 byte Sound effect SFX played by Bouncin' and Clappin' Chuck's jump.
$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.]
$02C7E2 6 bytes ASM change from [B5 C2 C9 03 F0 27] to [EA EA EA EA EA EA] to remove the stomp immunity chucks get briefly when taking a stomp.
$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
$02CB91 1 byte Sprite tilemap related Change from [04] to [0C] to fix a tilemap error in part of the Diggin' Chuck's dig animation that gives him a dislocated shoulder while facing left.
$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.)
$02CD45 8 bytes Sprite tilemap related The tile numbers used by sprite 60, the flat green switch palace switch. Tiles
$02CD4D 8 bytes Sprite tilemap related YXPPCCCT data for sprite 60, the flat switch palace switch. It contains the priority, flip, and tile high byte values. The palettes used by the top of the switch are at $02CD55. Tile properties
$02CD55 4 bytes Sprite tilemap related YXPPCCCT data for sprite 60, the flat switch palace switch. Contains palettes: used only for the top of the switch. The table is indexed by the value in $7E191E. Palettes
$02CD61 1 byte Misc. Tile spawned from stepping on big ! switch