SMW Memory Map
Displaying 500 out of 3118 addresses.
View: moderated | waiting (59)
|$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|| 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|| How long time Monty Mole waits in the ground until jumping out (for the YI submap)|
|$01E2FD||1 byte||Misc.|| 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|| 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
|$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|| 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.|| Change to  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  (BRA) to make the flutter animation/SFX always fast.
Change $01EF06 to  (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) . Change to  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.
$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
Block bounce sprite YXPPCCCT table, in the following order:
- Turn Block with item / ! Block
- Note Block
- Unused Side Bounce Turn Block
- Glass Block
- ON/OFF Block
- Turn Block
|$028765||1 byte||Misc.|| 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  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).
- X: extended sprite slot
- Data Bank: $02
Y is modified by the routine, so it should be preserved before calling it if needed.
|$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.|| How many Boos are in the Boo ring (Minus 1).|
|$02AB2E||1 byte||Sprite number|| 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.
- $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|| 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  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|