| ROM Addresses |
| The list currently contains 2678 addresses which is approximately 68.03% of the ROM. 6 addresses are waiting to be moderated. |
|
| Submit ROM Address - ROM Addresses Waiting To Be Moderated - Graphical ROM Map |
|
Address  | SNES | Length | Type | Description |
| 7F190 | $0F:EF90 | 4,208 bytes | Empty | Empty |
| 78200 | $0F:8000 | 28,560 bytes | Music | Instrument data. |
| 772F0 | $0E:F0F0 | 3,856 bytes | Empty | Empty |
| 71AC5 | $0E:98C5 | 1 byte | Music | Special World overworld music - Change to 76 to start right at the beginning of the SMB theme, or 74 to include the short drum intro normally at the beginning of the loop. |
| 70F9E | $0E:8D9E | 1 byte | Misc. | High byte of the address that the echo buffer will be placed at in audio ram. The low byte is ignored. Default is $60 = ($6000 in audio RAM) |
| 70F99 | $0E:8D99 | 2 bytes | Misc. | SPC Main Volume. Default is $7F,$7F |
| 7009F | $0D:FE9F | 353 bytes | Empty | Unused data. Warning: the 0x12 FF bytes before this are NOT unused data (used in credits). |
| 70077 | $0D:FE77 | 25 bytes | Layer 3 | Layer 3 MASK KOOPAS and attributes (sprite name) |
| 70063 | $0D:FE63 | 16 bytes | Layer 3 | Layer 3 PIDGIT and attributes (sprite name) |
| 7004F | $0D:FE4F | 16 bytes | Layer 3 | Layer 3 PUMPKIN and attributes (sprite name) |
| 70026 | $0D:FE26 | 35 bytes | Layer 3 | Layer 3 LUDWIG VON KOOPA and attributes (sprite name) |
| 7000A | $0D:FE0A | 28 bytes | Layer 3 | Layer 3 LARRY KOOPA and attributes (sprite name) |
| 6FFF0 | $0D:FDF0 | 26 bytes | Layer 3 | Layer 3 IGGY KOOPA and attributes (sprite name) |
| 6FFD0 | $0D:FDD0 | 32 bytes | Layer 3 | Layer 3 WENDY O.KOOPA and attributes (sprite name) |
| 6FFB4 | $0D:FDB4 | 28 bytes | Layer 3 | Layer 3 LEMMY KOOPA and attributes (sprite name) |
| 6FFA4 | $0D:FDA4 | 16 bytes | Layer 3 | Layer 3 BOWSER and attributes (sprite name) |
| 6FF8C | $0D:FD8C | 24 bytes | Layer 3 | Layer 3 ROY KOOPA and attributes (sprite name) |
| 6FF66 | $0D:FD66 | 38 bytes | Layer 3 | Layer 3 MORTON KOOPA JR and attributes (sprite name) |
| 6FF45 | $0D:FD45 | 23 bytes | Layer 3 | Layer 3 MECHAKOOPAS and attributes (sprite name) |
| 6FEC8 | $0D:FCC8 | 13 bytes | Layer 3 | Layer 3 REZNOR and attributes (sprite name) |
| 6FE47 | $0D:FC47 | 17 bytes | Layer 3 | Layer 3 FISHBONE and attributes (sprite name) |
| 6FE2B | $0D:FC2B | 28 bytes | Layer 3 | Layer 3 BALL'N'CHAIN and attributes (sprite name) |
| 6FE19 | $0D:FC19 | 18 bytes | Layer 3 | Layer 3 GRINDER and attributes (sprite name) |
| 6FD64 | $0D:FB64 | 15 bytes | Layer 3 | Layer 3 HOTHEAD and attributes (sprite name) |
| 6FD54 | $0D:FB54 | 16 bytes | Layer 3 | Layer 3 THWIMP and attributes (sprite name) |
| 6FD44 | $0D:FB44 | 16 bytes | Layer 3 | Layer 3 THWOMP and attributes (sprite name) |
| 6FD2E | $0D:FB2E | 22 bytes | Layer 3 | Layer 3 DRY BONES and attributes (sprite name) |
| 6FD14 | $0D:FB14 | 26 bytes | Layer 3 | Layer 3 BONY BEETLE and attributes (sprite name) |
| 6FCFC | $0D:FAFC | 24 bytes | Layer 3 | Layer 3 LIL SPARKY and attributes (sprite name) |
| 6FC8B | $0D:FA8B | 13 bytes | Layer 3 | Layer 3 EERIES and attributes (sprite name) |
| 6FC6D | $0D:FA6D | 30 bytes | Layer 3 | Layer 3 THE BIG "BOO" and attributes (sprite name) |
| 6FC55 | $0D:FA55 | 24 bytes | Layer 3 | Layer 3 FISHIN' BOO and attributes (sprite name) |
| 6FC37 | $0D:FA37 | 30 bytes | Layer 3 | Layer 3 "BOO" BUDDIES and attributes (sprite name) |
| 6FBB4 | $0D:F9B4 | 25 bytes | Layer 3 | Layer 3 RIP VAN FISH and attributes (sprite name) |
| 6FB9A | $0D:F99A | 26 bytes | Layer 3 | Layer 3 TORPEDO TED and attributes (sprite name) |
| 6FB7E | $0D:F97E | 28 bytes | Layer 3 | Layer 3 PORCU-PUFFER and attributes (sprite name) |
| 6FB6E | $0D:F96E | 16 bytes | Layer 3 | Layer 3 URCHIN and attributes (sprite name) |
| 6FB5E | $0D:F95E | 16 bytes | Layer 3 | Layer 3 BLURPS and attributes (sprite name) |
| 6FAED | $0D:F8ED | 13 bytes | Layer 3 | Layer 3 BLARGG and attributes (sprite name) |
| 6FAD1 | $0D:F8D1 | 28 bytes | Layer 3 | Layer 3 BUZZY BEETLE and attributes (sprite name) |
| 6FABD | $0D:F8BD | 20 bytes | Layer 3 | Layer 3 SWOOPERS and attributes (sprite name) |
| 6FAA7 | $0D:F8A7 | 22 bytes | Layer 3 | Layer 3 SPIKE TOP and attributes (sprite name) |
| 6FA2A | $0D:F82A | 13 bytes | Layer 3 | Layer 3 KOOPAS and attributes (sprite name) |
| 6FA12 | $0D:F812 | 24 bytes | Layer 3 | Layer 3 DINO TORCH and attributes (sprite name) |
| 6F9FA | $0D:F7FA | 24 bytes | Layer 3 | Layer 3 DINO RHINO and attributes (sprite name) |
| 6F92B | $0D:F72B | 23 bytes | Layer 3 | Layer 3 BANZAI BILL and attributes (sprite name) |
| 6F915 | $0D:F715 | 22 bytes | Layer 3 | Layer 3 MEGA MOLE and attributes (sprite name) |
| 6F90B | $0D:F70B | 10 bytes | Layer 3 | Layer 3 REX and attributes (sprite name) |
| 6F854 | $0D:F654 | 23 bytes | Layer 3 | Layer 3 BULLET BILL and attributes (sprite name) |
| 6F846 | $0D:F646 | 14 bytes | Layer 3 | Layer 3 POKEY and attributes (sprite name) |
| 6F82E | $0D:F62E | 24 bytes | Layer 3 | Layer 3 MONTY MOLE and attributes (sprite name) |
| 6F812 | $0D:F612 | 28 bytes | Layer 3 | Layer 3 SUMO BROTHER and attributes (sprite name) |
| 6F755 | $0D:F555 | 29 bytes | Layer 3 | Layer 3 VOLCANO LOTUS and attributes (sprite name) |
| 6F725 | $0D:F525 | 48 bytes | Layer 3 | Layer 3 JUMPING PIRHANA PLANT and attributes (sprite name) |
| 6F717 | $0D:F517 | 10 bytes | Layer 3 | CHUCK and attributes (sprite name) |
| 6F703 | $0D:F503 | 16 bytes | Layer 3 | CHARGIN' and attributes (sprite name) |
| 6F6E9 | $0D:F4E9 | 22 bytes | Layer 3 | SUPER KOOPA and attributes (sprite name) |
| 6F6C9 | $0D:F4C9 | 28 bytes | Layer 3 | AMAZING FLYIN' HAMMER BROTHER and attributes (sprite name) |
| 6F6A9 | $0D:F4A9 | 28 bytes | Layer 3 | AMAZING FLYIN' and attributes (sprite name) |
| 6F61E | $0D:F41E | 14 bytes | Layer 3 | BOB-OMB and attributes (sprite name) |
| 6F60C | $0D:F40C | 14 bytes | Layer 3 | WIGGLER and attributes (sprite name) |
| 6F5FE | $0D:F3FE | 10 bytes | Layer 3 | SPINY and attributes (sprite name) |
| 6F5EE | $0D:F3EE | 12 bytes | Layer 3 | LAKITU and attributes (sprite name) |
| 6F5D4 | $0D:F3D4 | 22 bytes | Layer 3 | PARA-GOOMBA and attributes (sprite name) |
| 6F5BE | $0D:F3BE | 18 bytes | Layer 3 | PARA-BOMB and attributes (sprite name) |
| 6F5A0 | $0D:F3A0 | 26 bytes | Layer 3 | FISHIN'LAKITU and attributes (sprite name) |
| 6F28A | $0D:F08A | 630 bytes | Empty | Unused data. |
| 6EE8E | $0D:EC8E | 51 bytes | Objects | Main creation code for the four switch palace switches. |
| 6EE8A | $0D:EC8A | 4 bytes | Objects | Red Switch: MAP16 blocks |
| 6EE86 | $0D:EC86 | 4 bytes | Objects | Blue Switch: MAP16 blocks |
| 6EE82 | $0D:EC82 | 4 bytes | Objects | Yellow Switch: MAP16 blocks |
| 6EE7E | $0D:EC7E | 4 bytes | Objects | Green Switch: MAP16 blocks |
| 6ED93 | $0D:EB93 | 160 bytes | Objects | Tilemap of Yoshi's House. Change EB to D3 at x6ED85, x6ED89, x6EDBE, x6EDC6, x6EDCC, x6EDD0 and x6EDDA to remove Berries from Yoshi's House, or to 45 to make them work without placing berry objects on top of them. |
| 6ECDE | $0D:EADE | 140 bytes | Objects | Ghost House entrance: MAP16 blocks |
| 6EA9A | $0D:E89A | 189 bytes | Objects | Pointers to normal (i.e. not extended) objects, for tilesets 4, 5, and D. Object 00 is not included (because normal object 00 is simply *all* extended objects); these pointers are for objects 01-3F. |
| 6E9B8 | $0D:E7B8 | 216 bytes | Graphics | Graphic data for Map16 tiles 153-16D. Used by tileset 4 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6E968 | $0D:E768 | 80 bytes | Graphics | Graphic data for Map16 tiles 107-110. Used by tileset 4 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6E500 | $0D:E300 | 1,128 bytes | Graphics | Graphic data for Map16 tiles 073-0FF. Used by tileset 4 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6E386 | $0D:E186 | 378 bytes | Empty | Unused data |
| 6DC9E | $0D:DA9E | 4 bytes | Objects | Torpedo Ted Launcher: MAP16 tiles |
| 6DB9A | $0D:D99A | 189 bytes | Objects | Pointers to normal (i.e. not extended) objects, for tilesets 3, 9, A, B, and E. Object 00 is not included (because normal object 00 is simply *all* extended objects); these pointers are for objects 01-3F. |
| 6DAB8 | $0D:D8B8 | 216 bytes | Graphics | Graphic data for Map16 tiles 153-16D. Used by tileset 3 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6DA68 | $0D:D868 | 80 bytes | Graphics | Graphic data for Map16 tiles 107-110. Used by tileset 3 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6D600 | $0D:D400 | 1,128 bytes | Graphics | Graphic data for Map16 tiles 073-0FF. Used by tileset 3 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6D482 | $0D:D282 | 382 bytes | Empty | Unused data |
| 6D0DA | $0D:CEDA | 22 bytes | Objects | Main creation code for the vertical line guide end (extended object 56). |
| 6D0D8 | $0D:CED8 | 2 bytes | Objects | Map16 data for the vertical line guide end (extended object 56). |
| 6D0C0 | $0D:CEC0 | 24 bytes | Objects | Main creation code for the horizontal line guide end (extended object 55). |
| 6D0BE | $0D:CEBE | 2 bytes | Objects | Map16 data for the horizontal line guide end (extended object 55). |
| 6D094 | $0D:CE94 | 18 bytes | Objects | Main creation code for the small circular line guide pieces. |
| 6D090 | $0D:CE90 | 4 bytes | Objects | Map16 data for the small circular line guide pieces (low bytes). |
| 6D067 | $0D:CE67 | 41 bytes | Objects | Main creation code for the large circular line guide pieces. |
| 6D057 | $0D:CE57 | 16 bytes | Objects | Map16 data for the large circular line guide pieces (low bytes only). |
| 6CF9A | $0D:CD9A | 189 bytes | Objects | Pointers to normal (i.e. not extended) objects, for tilesets 2, 6, and 8. Object 00 is not included (because normal object 00 is simply *all* extended objects); these pointers are for objects 01-3F. |
| 6CEB8 | $0D:CCB8 | 216 bytes | Graphics | Graphic data for Map16 tiles 153-16D. Used by tileset 2 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6CE68 | $0D:CC68 | 80 bytes | Graphics | Graphic data for Map16 tiles 107-110. Used by tileset 2 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6CA00 | $0D:C800 | 1,128 bytes | Graphics | Graphic data for Map16 tiles 073-0FF. Used by tileset 2 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6C820 | $0D:C620 | 480 bytes | Empty | Unused data. |
| 6C678 | $0D:C478 | 81 bytes | Objects | Main creation code for the large stone castle block (tileset-specific object 3C in tileset 1). |
| 6C675 | $0D:C475 | 3 bytes | Objects | The three Map16 tiles that make up the right side of the large stone castle block (tileset-specific object 3C in tileset 1). These are low bytes; the tiles are on page 1. |
| 6C672 | $0D:C472 | 3 bytes | Objects | The three Map16 tiles that make up the middle columns of the large stone castle block (tileset-specific object 3C in tileset 1). These are low bytes; the tiles are on page 1. |
| 6C66F | $0D:C46F | 3 bytes | Objects | The three Map16 tiles that make up the left side of the large stone castle block (tileset-specific object 3C in tileset 1). These are low bytes; the tiles are on page 1. |
| 6C46B | $0D:C26B | 126 bytes | Objects | Castle entrance: MAP16 blocks |
| 6C39A | $0D:C19A | 189 bytes | Objects | Pointers to normal (i.e. not extended) objects, for tileset 1. Object 00 is not included (because normal object 00 is simply *all* extended objects); these pointers are for objects 01-3F. |
| 6C2B8 | $0D:C0B8 | 216 bytes | Graphics | Graphic data for Map16 tiles 153-16D. Used by tileset 1 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6C268 | $0D:C068 | 80 bytes | Graphics | Graphic data for Map16 tiles 107-110. Used by tileset 1 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6BE00 | $0D:BC00 | 1,128 bytes | Misc. | Graphic data for Map16 tiles 073-0FF. Used by tileset 1 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 6BD68 | $0D:BB68 | 152 bytes | Empty | Unused data |
| 6BC7C | $0D:BA7C | 96 bytes | Objects | Forest treetop tilemap (repeated a few times) |
| 6BB16 | $0D:B916 | 76 bytes | Objects | Main creation code for the red and blue switch blocks. Note that the actual object number varies per tileset. (It was really dumb that Nintendo did that...oh well.)
$0DB916 - Start of the code for the blue block.
$0DB91A - Map16 tiles (on page 0) for the outline blocks.
$0DB91C - Map16 tiles (on page 1) for the filled-in blocks.
$0DB91E - Start of the code for the red block.
$0DB943 - Change F0 to D0 to invert the Blue and Red Switch Palace blocks. |
| 6BA63 | $0D:B863 | 179 bytes | Objects | Main creation code for the right-facing diagonal ledge. |
| 6B9AA | $0D:B7AA | 185 bytes | Objects | Main creation code for the left-facing diagonal ledge. |
| 6B93F | $0D:B73F | 107 bytes | Objects | Main creation code for the diagonal pipe object.
$0DB7A6 (6B9A6) - The Map16 tile (on page 1) at the bottom of the diagonal pipe object. (Default: $EB.) |
| 6B92F | $0D:B72F | 16 bytes | Objects | Map16 data for the diagonal pipe (low bytes only). |
| 6B7BA | $0D:B5BA | 1 byte | Misc. | 6B-Yellow Switch Palace Block after you beat its Palace (always Map16 page 0) |
| 6B7B9 | $0D:B5B9 | 1 byte | Misc. | 6A-Green Switch Palace Block after you beat its Palace (always Map16 page 0) |
| 6B7B8 | $0D:B5B8 | 1 byte | Misc. | 6B-Yellow Switch Palace Block after you beat its Palace (always Map16 page 1) |
| 6B7B7 | $0D:B5B7 | 1 byte | Misc. | 6A-Green Switch Palace Block after you beat its Palace (always Map16 page 1) |
| 6B7A8 | $0D:B5A8 | 15 bytes | Objects | Tiles the Bushes 1-5 is made up of, in order of Left-Middle-right (five bytes per part) |
| 6B783 | $0D:B583 | 37 bytes | Objects | Main creation code for the yellow and green switch blocks.
$0DB583 - Start of the code for the green block.
$0DB587 - Map16 tiles (on page 1) for the filled-in blocks.
$0DB589 - Map16 tiles (on page 0) for the outline blocks.
$0DB58B - Start of the code for the yellow block.
$0DB592 - Change F0 to D0, to invert the Green and Yellow Switch Palace blocks (solid before the Switch Palce, passable afterwards). |
| 6B747 | $0D:B547 | 34 bytes | Objects | Horizontal pipe/bone/log object creation subroutine. $0DB552 (x6B752), $0DB55A (x6B75A), and $0DB565 (x6B765) determine which three Map16 tiles make up the object. |
| 6B71F | $0D:B51F | 40 bytes | Objects | Vertical pipe/bone/log object creation subroutine. $0DB52E (x6B72E), $0DB536 (x6B736), and $0DB543 (x6B743) determine which three Map16 tiles make up the object. |
| 6B62D | $0D:B42D | 52 bytes | Objects | Main creation code for the donut bridge (object 1C). |
| 6B62C | $0D:B42C | 1 byte | Objects | Donut bridge: MAP16 block (Bottom) |
| 6B62B | $0D:B42B | 1 byte | Objects | Donut bridge: MAP16 block (Top) |
| 6B5E3 | $0D:B3E3 | 72 bytes | Objects | Main creation subroutine for objects 18-1B (water with and without animated surface, lava, climbimg net with top edge). It is also used as the default routine for unused objects 22-2D. |
| 6B5E2 | $0D:B3E2 | 1 byte | Objects | Climbing net with top edge: MAP16 block (Bottom) |
| 6B5E1 | $0D:B3E1 | 1 byte | Objects | Lava with animated surface: MAP16 block (Bottom) |
| 6B5E0 | $0D:B3E0 | 1 byte | Objects | Water with normal surface: MAP16 block (Bottom) |
| 6B5DF | $0D:B3DF | 1 byte | Objects | Water with animated surface: MAP16 block (Bottom) |
| 6B5DE | $0D:B3DE | 1 byte | Objects | Climbing net with top edge: MAP16 block (Top) |
| 6B5DD | $0D:B3DD | 1 byte | Objects | Lava with animated surface: MAP16 block (Top) |
| 6B5DC | $0D:B3DC | 1 byte | Objects | Water with normal surface: MAP16 block (Top) |
| 6B5DB | $0D:B3DB | 1 byte | Objects | Water with animated surface: MAP16 block (Top) |
| 6B5BD | $0D:B3BD | 30 bytes | Objects | Main creation code for the rope and cloud objects. |
| 6B5BC | $0D:B3BC | 1 byte | Objects | Clouds: MAP16 block |
| 6B5BB | $0D:B3BB | 1 byte | Objects | Rope: MAP16 block |
| 6B536 | $0D:B336 | 133 bytes | Objects | Main creation code for the purple coins. This is very similar to the code at $0DA8C3. |
| 6B4CA | $0D:B2CA | 108 bytes | Objects | Dragon coin creation main code.
$0DB328 (6B528) - Map16 tile for the upper half of a Yoshi/Dragon Coin.
$0DB329 (6B529) - Change to EAEA to make only the lower half of Yoshi/Dragon Coins appear.
$0DB332 (6B532) - Map16 tile for the lower half of a Yoshi/Dragon Coin.
$0DB333 (6B533) - Change to EAEA to make only the upper half of Yoshi/Dragon Coins appear. |
| 6B424 | $0D:B224 | 166 bytes | Objects | Main creation code for the midway point/goal point object. |
| 6B412 | $0D:B212 | 18 bytes | Objects | The Map16 tiles that make up the midway point and goal point objects. There are 6 3-byte tables here that are, in order: Top tiles of midway point, middle tiles of midway point, bottom tiles of midway point, top tiles of goal point, middle tiles of goal point, bottom tiles of goal point. You can change $0DB221 (x6B421) to 3A and $0DB223 (x6B423) to 3D to fix the glitched tiles at the bottom of the goal point. (They will just appear the same as the middle tiles.) |
| 6B3C8 | $0D:B1C8 | 74 bytes | Objects | Main creation code for objects 14 and 21, the normal ledge and wide ground ledge. They share most of their code, but the wide ledge begins at $0DB1C8, while the normal one begins at $0DB1D4.
x6B3CE - Height of the wide ground ledge - 1. The top tile is 100, the rest is 03F. |
| 6B275 | $0D:B075 | 123 bytes | Objects | Main creation code for object 13 (vine and edge objects). |
| 6ADFD | $0D:ABFD | 36 bytes | Objects | The routine that allows slopes to overlap with dirt tiles. It checks the Map16 tile below the current one for certain numbers and adds values to the current tile number to change it into the one with dirt behind it. |
| 6AD3E | $0D:AB3E | 48 bytes | Objects | Main creation code for the slope objects (object 12), minus the code for each individual slope. $0DAB50-$0DAB6D are the pointers to the individual slope objects. |
| 6AD0D | $0D:AB0D | 49 bytes | Objects | Main creation code for the Bullet Bill shooter object. $0DAB1A (x6AD1A), $0DAB27 (x6AD27), and $0DAB34 (x6AD34) control which three Map16 tiles make up the object. |
| 6ACB4 | $0D:AAB4 | 89 bytes | Objects | Main creation code for the horizontal pipe objects. |
| 6ACA4 | $0D:AAA4 | 16 bytes | Objects | Map16 data for the horizontal pipes. There are two tables here, each containing the low bytes of the tile numbers and both in order; the first two bytes of each table are for the left-facing non-exit-enabled pipe, the next two are for the left-facing exit-enabled pipe, the next two are for the right-facing non-exit-enabled pipe, and the last two are for the right-facing exit-enabled pipe. |
| 6AC26 | $0D:AA26 | 126 bytes | Objects | Main creation code for the vertical pipe objects.
x6AC5A - The Map16 tile number (low byte) for the left side of the vertical pipe with no end.
x6AC62 - The Map16 tile number (low byte) for the right side of the vertical pipe with no end.
x6AC6C - The Map16 tile number (low byte) for the left side of all non-vertical pipes except the one without ends.
x6AC74 - The Map16 tile number (low byte) for the right side of all non-vertical pipes except the one without ends. |
| 6AC12 | $0D:AA12 | 20 bytes | Objects | Map16 data for vertical pipe ends. There are four 5-byte tables here. The first two are for the top of a pipe (the last two bytes are unused), and the second two are for the bottom of a pipe (the first two bytes are unused). |
| 6AB7D | $0D:A97D | 21 bytes | Objects | The subroutine that allows objects to go across subscreen boundaries in horizontal levels without glitching. |
| 6AB5B | $0D:A95B | 34 bytes | Objects | The subroutine that enables most objects to go across screen boundaries in horizontal levels without glitching. (It doesn't work in vertical levels.) It also stores the value of A to [$6B],y. (Forgot to include that info before.) |
| 6AAC3 | $0D:A8C3 | 152 bytes | Objects | Main creation code for the objects that are made up of only one Map16 tile and can be extended both horizontally and vertically, i.e., objects 01-0E and tileset-specific object 31 when it forms ice-blue turn blocks. |
| 6AAB4 | $0D:A8B4 | 15 bytes | Objects | Map16 data for objects 01-0E, low bytes of tile numbers. The last byte is actually used for tileset-specific object 31 when it forms ice-blue turn blocks. |
| 6A9E3 | $0D:A7E3 | 4 bytes | Objects | Goal Arrow sign: MAP16 tiles |
| 6A98D | $0D:A78D | 33 bytes | ASM | Part of bush object decoding routine. |
| 6A960 | $0D:A760 | 45 bytes | Objects | Main creation code for extended object 83 (the smaller of the two big bushes).
$0DA763 (0x6A963) is the width, minus one.
$0DA767 (0x6A967) is the height, minus one.
$0DA777 (0x6A977) is the pointer to Map16 tile array (only contains low bytes). |
| 6A948 | $0D:A748 | 24 bytes | Objects | Map16 data for the small bush |
| 6A91B | $0D:A71B | 45 bytes | Objects | Main creation code for extended object 82 (the larger of the two big bushes).
$0DA71E (0x6A91E) is the width, minus one.
$0DA722 (0x6A922) is the height, minus one.
$0DA732 (0x6A932) is the pointer to Map16 tile array (only contains low bytes). |
| 6A8EE | $0D:A6EE | 45 bytes | Misc. | Map16 data for the big bush |
| 6A8D1 | $0D:A6D1 | 29 bytes | Objects | Main creation code for extended objects 47 and 48, the normal door and P-switch-activated door.
This is also the routine that unused extended objects 98-FF point to (they just pull garbage tiles). |
| 6A8CD | $0D:A6CD | 4 bytes | Objects | Map16 data for the door and P-switch-activated door. In order: Top tile of normal door, top tile of P-switch door, bottom tile of normal door, bottom tile of P-switch door. |
| 6A8BA | $0D:A6BA | 19 bytes | Subroutine (JSR) | A routine that restores the low and high bytes of the Map16 pointers [$6B] and [$6E] from scratch RAM. Used in conjunction with $0DA6B1. |
| 6A8B1 | $0D:A6B1 | 9 bytes | Subroutine (JSR) | A routine that backs up the low and high bytes of the Map16 data pointers. It stores $6B and $6C in $04 and $05. |
| 6A84D | $0D:A64D | 5 bytes | Objects | The start of the routine for extended object 17, the green star block. It loads a hardcoded index to the table at $0DA548. |
| 6A77B | $0D:A57B | 210 bytes | Objects | Main creation code for extended objects 10-40. (Extended object 17 uses a different pointer, but it jumps to the same routine.) |
| 6A748 | $0D:A548 | 51 bytes | Objects | Map16 data for extended objects 10-40, low byte. They are in order of object number, but the 8th byte is unused (it would be used for object 17, but the final byte in the table is used instead). The high byte of the first 19 tiles is 00, while the high byte of the rest of the tiles is 01. |
| 6A655 | $0D:A455 | 189 bytes | Objects | Pointers to normal (i.e. not extended) objects, for tilesets 0, 7, and C. Object 00 is not included (because normal object 00 is simply *all* extended objects); these pointers are for objects 01-3F. |
| 6A60F | $0D:A40F | 60 bytes | Objects | The routine that loads normal (i.e. not extended) objects. $0DA41E-$0DA44A (45 bytes) are the pointers to the main object routines for each tileset. (Even though not all objects are tileset-specific, SMW's code treats them as if they all were.) |
| 6A30F | $0D:A10F | 768 bytes | Objects | Pointers to extended objects, 3 bytes per pointer, although the bank byte is always 0D. Extended objects 02-0F and 98-FF are unused, so they could be repointed (which is essentially what Extended Objects +14 and ObjecTool do). |
| 69300 | $0D:9100 | 4,096 bytes | Graphics | Background Map16 tiles (pages 0x10 and 0x11 in LM) in TTTTTTTT YXPCCCTT format. |
| 69228 | $0D:9028 | 216 bytes | Graphics | Graphic data for Map16 tiles 153-16D. Used by tileset 0 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 691D8 | $0D:8FD8 | 80 bytes | Graphics | Graphic data for Map16 tiles 107-110. Used by tileset 0 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68D70 | $0D:8B70 | 1,128 bytes | Graphics | Graphic data for Map16 tiles 073-0FF. Used by tileset 0 only. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68CB0 | $0D:8AB0 | 192 bytes | Graphics | Graphic data for the Map16 tiles used by multicolour pipes (besides the default green pipe). 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68C90 | $0D:8A90 | 32 bytes | Graphics | Graphic data for Map16 tiles 1EC-1EF. Only used when using GFX header 0 or 7. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68C70 | $0D:8A70 | 32 bytes | Graphics | Graphic data for Map16 tiles 1C4-1C7. Only used in GFX header 0 and 7. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68BF0 | $0D:89F0 | 128 bytes | Graphics | Graphic data for Map16 tiles 1F0-1FF. Shared by all tilesets. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68BD0 | $0D:89D0 | 32 bytes | Graphics | Graphic data for Map16 tiles 1EB-1EF. Used in every tileset, but not when using GFX header 0 or 7. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68AB0 | $0D:88B0 | 288 bytes | Graphics | Graphic data for Map16 tiles 1C8-1EB. Shared by all tilesets. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68A90 | $0D:8890 | 32 bytes | Graphics | Graphic data for Map16 tiles 1C4-1C7. Used in every tileset, but not when using GFX header 0 or 7. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 687E0 | $0D:85E0 | 688 bytes | Graphics | Graphic data for Map16 tiles 16E-1C3. Shared by all tilesets. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 685D0 | $0D:83D0 | 528 bytes | Graphics | Graphic data for Map16 tiles 111-152. Shared by all tilesets. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68598 | $0D:8398 | 56 bytes | Graphics | Graphic data for Map16 tiles 100-106. Shared by all tilesets. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 68200 | $0D:8000 | 920 bytes | Graphics | Graphic data for Map16 tiles 000-072. Shared by all tilesets. 8 bytes per tile, upper left, lower left, upper right, lower right. TTTTTTTT YXPCCCTT format. |
| 681E1 | $0C:FFE1 | 31 bytes | Empty | Unused data |
| 679DF | $0C:F7DF | 2,048 bytes | Misc. | Layer 1 data on the overworld. Numbers are the same as in LM's "map16 editor".
The YI submap starts at $0CFBDE (67DDE) and is a simple format: One row of tiles at the time, 16 bytes for one line.
Level numbers are a little trickier, though:
Level numbers aren't anywhere in the rom. The loading routine assigns them when it runs. If you remove or add a level tile, you'll shift all of the levels after it. And the order of the tiles in the other submaps is even weirder, but if you look at the OW as 16x16 blocks and ignore submap borders, it'll start making sense. |
| 6765A | $0C:F45A | 901 bytes | Graphics | Tilemap of the castle background with windows (the one that appears in, e.g., level 7), in LC_RLE1 format. |
| 67375 | $0C:F175 | 741 bytes | Graphics | Tilemap of the sunken ship background (the one that appears in level F8), in LC_RLE1 format. |
| 67180 | $0C:EF80 | 501 bytes | Graphics | Tilemap of the ghost house background (the one that appears in, e.g., level 4), in LC_RLE1 format. |
| 66E82 | $0C:EC82 | 766 bytes | Graphics | Tilemap of the forest background (the one that appears in, e.g., level 106), in LC_RLE1 format. |
| 66AFE | $0C:E8FE | 900 bytes | Graphics | Tilemap of the underground background (the one that appears in, e.g., level 11A), in LC_RLE1 format. |
| 66AEE | $0C:E8EE | 16 bytes | Graphics | Tilemap of the blank background (the one that appears in level F7), in LC_RLE1 format. |
| 669C0 | $0C:E7C0 | 302 bytes | Graphics | Tilemap of the "pointy land formations" background (the one that appears in, e.g., level 23), in LC_RLE1 format. |
| 66884 | $0C:E684 | 316 bytes | Graphics | Tilemap of the starry night background (the one that appears in, e.g., level 119), in LC_RLE1 format. |
| 66874 | $0C:E674 | 16 bytes | Graphics | Tilemap of the switch palace background (the one that appears in, e.g., level 14), in LC_RLE1 format. |
| 66672 | $0C:E472 | 514 bytes | Graphics | Tilemap of the large mountain background (the one that appears in, e.g., level 12B), in LC_RLE1 format. |
| 66303 | $0C:E103 | 879 bytes | Graphics | Tilemap of the castle background with pillars (the one that appears in, e.g., level 1F), in LC_RLE1 format. |
| 66159 | $0C:DF59 | 426 bytes | Graphics | Tilemap of the "odd land formations with clouds" background (the one that appears in, e.g., level 102), in LC_RLE1 format. |
| 66054 | $0C:DE54 | 261 bytes | Graphics | Tilemap of the shallow hills background (the one that appears in, e.g., level 15), in LC_RLE1 format. |
| 65F44 | $0C:DD44 | 272 bytes | Graphics | Tilemap of the cloud background (the one that appears in, e.g., level 1), in LC_RLE1 format. |
| 65E71 | $0C:DC71 | 211 bytes | Graphics | Tilemap of the cloud/mountain background (the one that appears in level 125), in LC_RLE1 format. |
| 65CB9 | $0C:DAB9 | 440 bytes | Graphics | Tilemap of the underwater background (the one that appears in, e.g., level A), in LC_RLE1 format. |
| 65B00 | $0C:D900 | 441 bytes | Graphics | Tilemap of the oblong hill background (the one that appears in, e.g., level 105), in LC_RLE1 format. |
| 65A6F | $0C:D86F | 145 bytes | Empty | Unused data. |
| 659D9 | $0C:D7D9 | 1 byte | Sound effect | Castle Painting (Castle Destruction Sequence #6) Sound Effect. |
| 657D4 | $0C:D5D4 | 1 byte | Music | Music to play after destruction of castle. (Castle Destruction Sequence) |
| 657CF | $0C:D5CF | 1 byte | Timer | Number of frames, divided by 4, to disable pressing a button to end the castle destruction scene after the text finishes appearing. |
| 655E8 | $0C:D3E8 | 1 byte | Sound effect | Mario Hammering (Castle Destruction Sequence #3) sound effect. |
| 654BE | $0C:D2BE | 1 byte | Sound effect | Castle Launch (Castle Destruction Sequence #4) Sound Effect. |
| 654B3 | $0C:D2B3 | 1 byte | Sound effect | Castle Crumbling sound effect. (Castle Destruction Sequence) |
| 654A0 | $0C:D2A0 | 1 byte | Timer | how long "BOMB" stays on castle destruction sequence. The highest possible value is 80, 81-FF will make the BOMB never appear. |
| 65496 | $0C:D296 | 1 byte | Sound effect | Bomb Explosion (Castle Destruction Sequence) Sound Effect. |
| 653A7 | $0C:D1A7 | 41 bytes | Misc. | Castle Destruction Scene Layer 1 Tilemap (Destroyed castle) |
| 649BA | $0C:C7BA | 404 bytes | Layer 3 | Castle destruction sequence 7 text. |
| 64812 | $0C:C612 | 424 bytes | Layer 3 | Castle destruction sequence 6 text. |
| 6469F | $0C:C49F | 371 bytes | Layer 3 | Castle destruction sequence 5 text. |
| 644F9 | $0C:C2F9 | 422 bytes | Layer 3 | Castle destruction sequence 4 text. |
| 64390 | $0C:C190 | 361 bytes | Layer 3 | Castle destruction sequence 3 text. |
| 641F2 | $0C:BFF2 | 414 bytes | Layer 3 | Castle destruction sequence 2 text. |
| 64085 | $0C:BE85 | 365 bytes | Layer 3 | Castle destruction sequence 1 text. |
| 63F02 | $0C:BD02 | 387 bytes | Misc. | World 1/2/5 Castle Destruction Scene Layer 2 Tilemap |
| 63DB9 | $0C:BBB9 | 329 bytes | Misc. | World 6 Castle Destruction Scene Layer 2 Tilemap |
| 63C56 | $0C:BA56 | 355 bytes | Misc. | World 3/7 Castle Destruction Scene Layer 2 Tilemap |
| 63BBF | $0C:B9BF | 151 bytes | Misc. | Castle Destruction Scene Layer 1 Tilemap (Castle) |
| 63A00 | $0C:B800 | 447 bytes | Misc. | World 4 Castle Destruction Scene Layer 2 Tilemap |
| 6386E | $0C:B66E | 402 bytes | Empty | Unused data. |
| 6383A | $0C:B63A | 52 bytes | Misc. | The End text data, (with Mario, Peach and Luigi.) |
| 6360D | $0C:B40D | 405 bytes | Sprite tilemap related | Ending sequence sprites (Scene 13) |
| 635A4 | $0C:B3A4 | 105 bytes | Sprite tilemap related | Ending sequence sprites (Scene 11) |
| 6353B | $0C:B33B | 105 bytes | Sprite tilemap related | Ending sequence sprites (Scene 10) |
| 634A6 | $0C:B2A6 | 149 bytes | Sprite tilemap related | Ending sequence sprites (Scene 8) |
| 6340D | $0C:B20D | 153 bytes | Sprite tilemap related | Ending sequence sprites (Scene 1) |
| 6339C | $0C:B19C | 113 bytes | Sprite tilemap related | Ending sequence sprites (Scene 7) |
| 63333 | $0C:B133 | 105 bytes | Sprite tilemap related | Ending sequence sprites (Scene 4) |
| 632D2 | $0C:B0D2 | 97 bytes | Sprite tilemap related | Ending sequence sprites (Scene 3) |
| 6322D | $0C:B02D | 165 bytes | Sprite tilemap related | Ending sequence sprites (Scene 2) |
| 631F8 | $0C:AFF8 | 53 bytes | Sprite tilemap related | Ending sequence sprites (Scene 12) |
| 631B2 | $0C:AFB2 | 70 bytes | Sprite tilemap related | Ending sequence sprites (Scene 9) |
| 63156 | $0C:AF56 | 92 bytes | Sprite tilemap related | Ending sequence sprites (Scene 6) |
| 63111 | $0C:AF11 | 69 bytes | Sprite tilemap related | Ending sequence sprites (Scene 5) |
| 62F58 | $0C:AD58 | 26 bytes | Pointer | Ending sequence level data (Pointer table) |
| 62F52 | $0C:AD52 | 6 bytes | Level data | Ending sequence level data (Scene 13) |
| 62F3D | $0C:AD3D | 20 bytes | Level data | Ending sequence level data (Scene 12) |
| 62F31 | $0C:AD31 | 12 bytes | Level data | Ending sequence level data (Scene 11) |
| 62F1F | $0C:AD1F | 18 bytes | Level data | Ending sequence level data (Scene 10) |
| 62F04 | $0C:AD04 | 27 bytes | Level data | Ending sequence level data (Scene 9) |
| 62EEF | $0C:ACEF | 21 bytes | Level data | Ending sequence level data (Scene 8) |
| 62EDA | $0C:ACDA | 21 bytes | Level data | Ending sequence level data (Scene 7) |
| 62EC8 | $0C:ACC8 | 18 bytes | Level data | Ending sequence level data (Scene 6) |
| 62E9E | $0C:AC9E | 42 bytes | Level data | Ending sequence level data (Scene 5) |
| 62E77 | $0C:AC77 | 39 bytes | Level data | Ending sequence level data (Scene 4) |
| 62E53 | $0C:AC53 | 36 bytes | Level data | Ending sequence level data (Scene 3) |
| 62E3E | $0C:AC3E | 21 bytes | Level data | Ending sequence level data (Scene 2) |
| 62E29 | $0C:AC29 | 21 bytes | Level data | Ending sequence level data (Scene 1) |
| 62DA4 | $0C:ABA4 | 7 bytes | Palette | Points to BG colour to use at the cutscenes in the beginning of the credits.
First value not used? |
| 62C53 | $0C:AA53 | 140 bytes | Sprite tilemap related | Mario, Luigi and Peach ending image tilemap |
| 62C13 | $0C:AA13 | 1 byte | Sprite tilemap related | Green Yoshi Palettes (Ending) |
| 62C11 | $0C:AA11 | 2 bytes | Sprite tilemap related | Blue Yoshi Palettes (Ending) |
| 62C0B | $0C:AA0B | 6 bytes | Sprite tilemap related | Blue/Green Yoshi Tiles (Ending) |
| 62BF5 | $0C:A9F5 | 1 byte | Misc. | Tile size of 8x8 tiles (Red/Yellow Yoshi watching) |
| 62B8E | $0C:A98E | 12 bytes | Sprite tilemap related | Yellow Yoshi Watching Tile Y-coords (Ending) |
| 62B82 | $0C:A982 | 12 bytes | Misc. | Red Yoshi Watching Tile Y-coords (Ending) |
| 62B76 | $0C:A976 | 12 bytes | Misc. | Yellow Yoshi Watching Tile X-coords (Ending) |
| 62B6A | $0C:A96A | 12 bytes | Misc. | Red Yoshi Watching Tile X-coords (Ending) |
| 62B5E | $0C:A95E | 12 bytes | Sprite tilemap related | Yellow Yoshi Watching Palettes (Ending) |
| 62B52 | $0C:A952 | 12 bytes | Misc. | Red Yoshi Watching Palettes (Ending) |
| 62B46 | $0C:A946 | 12 bytes | Sprite tilemap related | Yellow Yoshi Watching Tiles (Ending) |
| 62B3A | $0C:A93A | 12 bytes | Sprite tilemap related | Red Yoshi Watching Tiles (Ending) |
| 62B18 | $0C:A918 | 1 byte | Sprite tilemap related | Tile used by Baby Yoshis (Ending) |
| 62B0B | $0C:A90B | 1 byte | Sprite tilemap related | Palette of eggs (ending) |
| 62B06 | $0C:A906 | 1 byte | Sprite tilemap related | Tile used by Eggs (Ending) |
| 62AD8 | $0C:A8D8 | 7 bytes | Sprite tilemap related | Palettes of Baby Yoshis (Ending) |
| 62A15 | $0C:A815 | 12 bytes | Sprite tilemap related | Yellow Yoshi Cheering Palettes (ending) |
| 62A09 | $0C:A809 | 12 bytes | Sprite tilemap related | Red Yoshi Cheering Palettes (Ending) |
| 629E1 | $0C:A7E1 | 12 bytes | Sprite tilemap related | Yellow Yoshi Cheering Tiles (Ending) |
| 629D5 | $0C:A7D5 | 12 bytes | Sprite tilemap related | Red Yoshi Cheering Tiles (Ending) |
| 629B0 | $0C:A7B0 | 1 byte | Misc. | Change to 00 to make Yoshi invisible for the credits sequence |
| 62992 | $0C:A792 | 1 byte | Misc. | Direction Yoshi faces in Credits |
| 628FB | $0C:A6FB | 1 byte | Coordinate | Y-position of Peach waving after eggs hatch (Ending) |
| 627C2 | $0C:A5C2 | 1 byte | Music | Music used for the third part of the ending. (Thank You Music) |
| 6260C | $0C:A40C | 1 byte | Music | Music used for the second part of the ending. (Yoshi's House) |
| 6240B | $0C:A20B | 1 byte | Mario tilemap | Which frame for Mario ($13E0) at the Yoshi House (credits), when he stops walking to the left. |
| 622EA | $0C:A0EA | 1 byte | Coordinate | Y-position of Yoshi's House decorations (Ending) |
| 622B9 | $0C:A0B9 | 42 bytes | Sprite tilemap related | Yoshi's House decoration palettes (Ending) |
| 6228F | $0C:A08F | 42 bytes | Sprite tilemap related | Yoshi's House decoration tiles (Ending) |
| 62235 | $0C:A035 | 1 byte | Coordinate | Y-position of eggs (Credits) |
| 6221E | $0C:A01E | 1 byte | Coordinate | X-position of Peach (Credits) |
| 6220C | $0C:A00C | 1 byte | Coordinate | Y-position of Yoshi (Credits) |
| 62205 | $0C:A005 | 1 byte | Coordinate | X-position of Yoshi (Credits) |
| 621FD | $0C:9FFD | 1 byte | Mario physics | How fast Mario walks during the staff roll. Doesn't actually affect the walking speed, but his walking animation speed. |
| 621F8 | $0C:9FF8 | 2 bytes | ASM | Mario's powerup status during the staff roll in the credits.
Change to A9 00 for Small Mario,
A9 01 for Big Mario,
A9 02 for Cape Mario,
A9 03 for Fiery Mario,
A5 19 to keep the same powerup after Bowser's Battle. |
| 621F2 | $0C:9FF2 | 2 bytes | Coordinate | Mario's absolute Y position during the staff roll in the credits. |
| 621ED | $0C:9FED | 2 bytes | Coordinate | Mario's absolute X position during the staff roll in the credits. |
| 621E7 | $0C:9FE7 | 3 bytes | Coordinate | Princess's Y position on Yoshi during the staff roll, relative to absolute value #$85. Each byte represents a Y position. |
| 62189 | $0C:9F89 | 2 bytes | Layer 3 | How fast the credits scroll upwards. Word value. Default value is $0040 $0000-$7FFF is upward while $8000-$FFFF is downward.
(Note, when the credits end the situation will warp to Yoshi's House) |
| 6216F | $0C:9F6F | 2 bytes | Misc. | Speed at which the Layer 2 background in the credits roll moves. [80] [FF]. It's actually a word address (#$FF80). Anything from #$8000-#$FFFF is left speed, anything from #$0001-#$7FFF is right speed. |
| 620B1 | $0C:9EB1 | 171 bytes | Subroutine (JSx FIXME) | The subroutine that uploads the credits tilemap. |
| 617C7 | $0C:95C7 | 2,280 bytes | Layer 3 | Credits text data. |
| 61767 | $0C:9567 | 96 bytes | Subroutine (JSx FIXME) | The DMA routine for updating the backgrounds during the credits walking sequence. |
| 61647 | $0C:9447 | 1 byte | Music | Music used for the first part of the Ending. |
| 615CF | $0C:93CF | 14 bytes | Misc. | Table indexed by $1928*2. Is used to clear certain bits of the loaded BG tile out, specifically, but not necessarily, the properties byte (YXPCCCTT) of the BG tile.
Some BG images in the credits require bit 8 to be clear ($FEFF). |
| 615C1 | $0C:93C1 | 14 bytes | Pointer | Table indexed by $1928*2, which is used to indicate the cutscene number in the beginning of the credits (as in, castle = #$00, chocolate island BG = #$01, etc.). Points to BG image to use. All images are in bank $0C. |
| 615B6 | $0C:93B6 | 1 byte | ASM | Change to 0B to make Mario able to play the Yoshi's House level after the Yoshi's House scene of the credits gets over. |
| 60F00 | $0C:8D00 | 1,642 bytes | Misc. | Overworld layer 2 event data's tilemap data: Tile properties (YXPCCCTT).
(Layer 2 events are what you see on the right of the overworld editor, in those blue X area)
Table is compressed in the LC_RLE1 format.
[FF FF] marks the end of the compressed table. |
| 60200 | $0C:8000 | 3,328 bytes | Overworld | Tiles for layer 2 events. The first 0x900 bytes are for 6x6 blocks of 8x8 tiles, the last 0x400 bytes are for 2x2 blocks of 8x8 tiles. |
| 5FF0D | $0B:FD0D | 755 bytes | Empty | Empty space. |
| 40200 | $08:8000 | 130,317 bytes | Graphics | Graphics (compressed) |
| 3FE90 | $07:FC90 | 880 bytes | Empty | Unused data. |
| 3FE3B | $07:FC3B | 85 bytes | ASM | Spin Jump Star GFX Subroutine
$07FC53 (3FE53) is 4 objects to use for spin jump stars |
| 3FE37 | $07:FC37 | 4 bytes | Sprite Misc. | Y speeds for the 4 stars in the spin kill animation. Format: Upper left, upper right, bottom left, bottom right. |
| 3FE33 | $07:FC33 | 4 bytes | Sprite Misc. | X speeds for the 4 stars in the spin kill animation. Format: Upper left, upper right, bottom left, bottom right. |
| 3FE13 | $07:FC13 | 32 bytes | Pointer | High byte of pointer to line-guided sprite speed table, indexed by the Map16 tile number (76-95). The low bytes are at $07FBF3, and the bank byte is 07. |
| 3FDF3 | $07:FBF3 | 32 bytes | Pointer | Low byte of pointer to line-guided sprite speed table, indexed by the Map16 tile number (76-95). The high bytes are at $07FC13, and the bank byte is 07. |
| 3FBDB | $07:F9DB | 536 bytes | Sprite Misc. | Line-guided sprite speed table. These aren't speed values in the tradition sense: when using them, the low nybble of the sprite's X and Y position is cleared, and then it is offset a certain number of pixels depending on where it was before and which line guide it is on. The high nybble of each of these values determines how many pixels to move the sprite on the Y axis, and the low nybble determines how many pixels to move the sprite on the X axis. The pointers to these are at $07FBF3 and $07FC13. |
| 3F9DB | $07:F7DB | 512 bytes | Misc. | SMW's trigonometry/sine/cosine value table. Note that these are 16-bit values, but most of the high bytes are 00. |
| 3F9D2 | $07:F7D2 | 9 bytes | Sprite Subroutine | Resets most sprite tables and loads new values for some of them depending on the sprite number. Actually just JSLs to $07F722 and $07F78B. |
| 3F9A0 | $07:F7A0 | 50 bytes | Sprite Subroutine | The subroutine that loads the six Tweaker bytes for a sprite when it is initialized. |
| 3F98B | $07:F78B | 21 bytes | Sprite Subroutine | The subroutine that loads the necessary bytes for some sprite tables. Actually just JSLs to $07F7A0 and sets $15F6,x. |
| 3F922 | $07:F722 | 105 bytes | Subroutine (JSx FIXME) | Zeros out the sprite tables. However, $15A0 (the horizontal off screen flag) is set to $01 instead of zero. This routine ends in an RTL. |
| 3F859 | $07:F659 | 201 bytes | Sprite Misc. | Default values for $190F, various misc flags, for the standard sprites. |
| 3F790 | $07:F590 | 201 bytes | Sprite Misc. | Default values for $1686, various misc flags, for the standard sprites. |
| 3F6C7 | $07:F4C7 | 201 bytes | Sprite Misc. | Default values for $167A, various misc flags, for the standard sprites.
Change $07F57D (0x3F77D) from 00 to 01 to fix the glitched tiles that appear when a reflecting fireball goes into lava and make it display the normal lava splash. |
| 3F5FE | $07:F3FE | 201 bytes | Sprite Misc. | Default values for $166E, various flags to disable some stuff (like fireball death and layer 2 interaction) and palette/graphics page, for the standard sprites. |
| 3F535 | $07:F335 | 201 bytes | Sprite Misc. | Default values for $1662, some death-related flags and the sprite clipping, for the standard sprites. |
| 3F46C | $07:F26C | 201 bytes | Sprite Misc. | Default values for $1656, various interaction-related flags, for the standard sprites.
x3F47B: Goomba 1656 value - change from 10 to 30 to make Goombas die when jumped on like the classic Goombas in SMB or SMB3.
x3F47C: Winged Goomba 1656 value - change from 10 to 30 to make Winged Goombas "die when jumped on" (when jumped on, they will "die" and spawn a regular Goomba, just like the Paragoombas in SMB3).
x3F506: Sumo Bros. 1656 value (object clipping/table offset, can be jumped on, dies when jumped on, hop in/kick shells, disappear in a cloud of smoke). |
| 3F466 | $07:F266 | 1 byte | Misc. | Bonus for getting 50 bonus stars (3up) |
| 3F463 | $07:F263 | 1 byte | Misc. | Change to 80 to disable getting a 3up when getting the above number of bonus stars |
| 3F462 | $07:F262 | 1 byte | Misc. | If you get this many bonus stars at the goal, you will also be awarded a 3up (default 50) |
| 3F41A | $07:F21A | 1 byte | Sprite tilemap related | Tile used by Bonus Star formation |
| 3F3AA | $07:F1AA | 32 bytes | Misc. | Table of bonus stars to receive at the goal. The table is x20 bytes long, and each byte corresponds to a four-pixel range, from the lowest to the highest point. (The values in this table are binary-coded decimal numbers, so e.g. if the table says x17 it means you will get 17 (decimal) stars at that level.) |
| 3F3A0 | $07:F1A0 | 10 bytes | Pointer | Relative pointers for each bonus star number formation's tilemap (0-9) |
| 3F334 | $07:F134 | 107 bytes | Misc. | Y-coordinates of bonus star numbers (FF terminates the string) |
| 3F2C8 | $07:F0C8 | 107 bytes | Misc. | X-coordinates of bonus star numbers (FF terminates the string) |
| 3F2B4 | $07:F0B4 | 20 bytes | Sprite Misc. | Indexes to the table at $07F000. This table itself is indexed by the sprite memory setting plus the sprite index. |
| 3F200 | $07:F000 | 180 bytes | Sprite Misc. | Table of sprite OAM indexes. It is indexed by the values in the table at $07F0B4 and used in the routine at $0180D2. |
| 3E96F | $07:E76F | 2,193 bytes | Empty | Unused data. |
| 3E96D | $07:E76D | 2 bytes | Level data | Level 012, 019, 01E, 025-092, 09C-0BC, 10C, 112, 124, 129, 12E, 12F, 131, 133, 137-192, 19C-1BA (Sprites) |
| 3E959 | $07:E759 | 20 bytes | Level data | Level 104 (Sprites) |
| 3E8F4 | $07:E6F4 | 101 bytes | Level data | Level 125 (Sprites) |
| 3E850 | $07:E650 | 164 bytes | Level data | Level 126 (Sprites) |
| 3E7DF | $07:E5DF | 113 bytes | Level data | Level 127 (Sprites) |
| 3E774 | $07:E574 | 107 bytes | Level data | Level 128 (Sprites) |
| 3E6F1 | $07:E4F1 | 131 bytes | Level data | Level 12D (Sprites) |
| 3E6EC | $07:E4EC | 5 bytes | Level data | Level 1C8 (Sprites) |
| 3E666 | $07:E466 | 134 bytes | Level data | Level 12C (Sprites) |
| 3E628 | $07:E428 | 62 bytes | Level data | Level 12B (Sprites) |
| 3E602 | $07:E402 | 38 bytes | Level data | Level 1C4, 1C5 (Sprites) |
| 3E5DC | $07:E3DC | 38 bytes | Level data | Level 12A (Sprites) |
| 3E535 | $07:E335 | 167 bytes | Level data | Level 136 (Sprites) |
| 3E4AF | $07:E2AF | 134 bytes | Level data | Level 135 (Sprites) |
| 3E49E | $07:E29E | 17 bytes | Level data | Level 132 (Sprites) |
| 3E421 | $07:E221 | 125 bytes | Level data | Level 130 (Sprites) |
| 3E3C5 | $07:E1C5 | 92 bytes | Level data | Level 134 (Sprites) |
| 3E3C0 | $07:E1C0 | 5 bytes | Level data | Level 1C7 (Sprites) |
| 3E39D | $07:E19D | 35 bytes | Level data | Level 10E, 1BD (Sprites) |
| 3E383 | $07:E183 | 26 bytes | Level data | Level 1CC (Sprites) |
| 3E360 | $07:E160 | 35 bytes | Level data | Level 1CD (Sprites) |
| 3E331 | $07:E131 | 47 bytes | Level data | Level 1CE (Sprites) |
| 3E314 | $07:E114 | 29 bytes | Level data | Level 1CF (Sprites) |
| 3E2E8 | $07:E0E8 | 44 bytes | Level data | Level 1D1 (Sprites) |
| 3E2C5 | $07:E0C5 | 35 bytes | Level data | Level 1D2 (Sprites) |
| 3E28D | $07:E08D | 56 bytes | Level data | Level 1D3 (Sprites) |
| 3E267 | $07:E067 | 38 bytes | Level data | Level 1D4 (Sprites) |
| 3E232 | $07:E032 | 53 bytes | Level data | Level 111 (Sprites) |
| 3E224 | $07:E024 | 14 bytes | Level data | Level 1EB (Sprites) |
| 3E1E0 | $07:DFE0 | 68 bytes | Level data | Level 1FE (Sprites) |
| 3E1B1 | $07:DFB1 | 47 bytes | Level data | Level 110 (Sprites) |
| 3E194 | $07:DF94 | 29 bytes | Level data | Level 1BF (Sprites) |
| 3E108 | $07:DF08 | 140 bytes | Level data | Level 10F (Sprites) |
| 3E04F | $07:DE4F | 185 bytes | Level data | Level 113 (Sprites) |
| 3E03B | $07:DE3B | 20 bytes | Level data | Level 1DB, 1DC (Sprites) |
| 3E00F | $07:DE0F | 44 bytes | Level data | Level 1DD (Sprites) |
| 3E001 | $07:DE01 | 14 bytes | Level data | Level 114, 1D9 (Sprites) |
| 3DFCF | $07:DDCF | 50 bytes | Level data | Level 0C8 (Sprites) |
| 3DFB8 | $07:DDB8 | 23 bytes | Level data | Level 1E2 (Sprites) |
| 3DFB3 | $07:DDB3 | 5 bytes | Level data | Level 1E3 (Sprites) |
| 3DF7B | $07:DD7B | 56 bytes | Level data | Level 115 (Sprites) |
| 3DF76 | $07:DD76 | 5 bytes | Level data | Level 1E5 (Sprites) |
| 3DF14 | $07:DD14 | 98 bytes | Level data | Level 116 (Sprites) |
| 3DE61 | $07:DC61 | 179 bytes | Level data | Level 0F7 (Sprites) |
| 3DE3B | $07:DC3B | 38 bytes | Level data | Level 0F8 (Sprites) |
| 3DE2D | $07:DC2D | 14 bytes | Level data | Level 018 (Sprites) |
| 3DE22 | $07:DC22 | 11 bytes | Level data | Level 0D3 (Sprites) |
| 3DDF9 | $07:DBF9 | 41 bytes | Level data | Level 0D4 (Sprites) |
| 3DDBB | $07:DBBB | 62 bytes | Level data | Level 01A (Sprites) |
| 3DD95 | $07:DB95 | 38 bytes | Level data | Level 0C0 (Sprites) |
| 3DD0F | $07:DB0F | 134 bytes | Level data | Level 01C (Sprites) |
| 3DCDD | $07:DADD | 50 bytes | Level data | Level 0EA (Sprites) |
| 3DC93 | $07:DA93 | 74 bytes | Level data | Level 01D (Sprites) |
| 3DC7F | $07:DA7F | 20 bytes | Level data | Level 1C0 (Sprites) |
| 3DC44 | $07:DA44 | 59 bytes | Level data | Level 1EC (Sprites) |
| 3DC12 | $07:DA12 | 50 bytes | Level data | Level 1ED (Sprites) |
| 3DBEF | $07:D9EF | 35 bytes | Level data | Level 117 (Sprites) |
| 3DBB1 | $07:D9B1 | 62 bytes | Level data | Level 0EF (Sprites) |
| 3DB5E | $07:D95E | 83 bytes | Level data | Level 01B (Sprites) |
| 3DB56 | $07:D956 | 8 bytes | Level data | Level 0D7 (Sprites) |
| 3DABE | $07:D8BE | 152 bytes | Level data | Level 023 (Sprites) |
| 3DAA1 | $07:D8A1 | 29 bytes | Level data | Choco Island 2 (36E7E) (Sprites) |
| 3DA99 | $07:D899 | 8 bytes | Level data | Level 0CD (Sprites) |
| 3DA88 | $07:D888 | 17 bytes | Level data | Choco Island 2 (36DBE) (Sprites) |
| 3DA6E | $07:D86E | 26 bytes | Level data | Choco Island 2 (36D72) (Sprites) |
| 3DA4B | $07:D84B | 35 bytes | Level data | Level 0CE (Sprites) |
| 3DA25 | $07:D825 | 38 bytes | Level data | Choco Island 2 (36CB0) (Sprites) |
| 3D9EA | $07:D7EA | 59 bytes | Level data | Choco Island 2 (36BFB) (Sprites) |
| 3D9E5 | $07:D7E5 | 5 bytes | Level data | Level 0CF (Sprites) |
| 3D9BF | $07:D7BF | 38 bytes | Level data | Level 024 (Sprites) |
| 3D999 | $07:D799 | 38 bytes | Level data | Level 0FC (Sprites) |
| 3D94C | $07:D74C | 77 bytes | Level data | Level 021 (Sprites) |
| 3D941 | $07:D741 | 11 bytes | Level data | Level 0BE (Sprites) |
| 3D8D9 | $07:D6D9 | 104 bytes | Level data | Level 022, 0D0, 0D1, 0F5, 0F6 (Sprites) |
| 3D868 | $07:D668 | 113 bytes | Level data | Level 0D6 (Sprites) |
| 3D848 | $07:D648 | 32 bytes | Level data | Level 01F (Sprites) |
| 3D7F5 | $07:D5F5 | 83 bytes | Level data | Level 122 (Sprites) |
| 3D7CF | $07:D5CF | 38 bytes | Level data | Level 1C1 (Sprites) |
| 3D7C7 | $07:D5C7 | 8 bytes | Level data | Level 1DF (Sprites) |
| 3D777 | $07:D577 | 80 bytes | Level data | Level 11F (Sprites) |
| 3D76C | $07:D56C | 11 bytes | Level data | Level 1FA (Sprites) |
| 3D722 | $07:D522 | 74 bytes | Level data | Level 11D, 1E8, 1E9 (Sprites) |
| 3D71D | $07:D51D | 5 bytes | Level data | Level 0CC (Sprites) |
| 3D6CD | $07:D4CD | 80 bytes | Level data | Level 020 (Sprites) |
| 3D6C5 | $07:D4C5 | 8 bytes | Level data | Level 1F8 (Sprites) |
| 3D645 | $07:D445 | 128 bytes | Level data | Level 123 (Sprites) |
| 3D580 | $07:D380 | 197 bytes | Level data | Level 120 (Sprites) |
| 3D50C | $07:D30C | 116 bytes | Level data | Level 11E (Sprites) |
| 3D504 | $07:D304 | 8 bytes | Level data | Level 0DD (Sprites) |
| 3D45A | $07:D25A | 170 bytes | Level data | Level 00D (Sprites) |
| 3D3F5 | $07:D1F5 | 101 bytes | Level data | Level 00C (Sprites) |
| 3D357 | $07:D157 | 158 bytes | Level data | Level 011 (Sprites) |
| 3D352 | $07:D152 | 5 bytes | Level data | Level 0D9 (Sprites) |
| 3D311 | $07:D111 | 65 bytes | Level data | Level 0DB (Sprites) |
| 3D2F4 | $07:D0F4 | 29 bytes | Level data | Level 0DC (Sprites) |
| 3D2D7 | $07:D0D7 | 29 bytes | Level data | Level 00E (Sprites) |
| 3D2CF | $07:D0CF | 8 bytes | Level data | Level 0C1 (Sprites) |
| 3D243 | $07:D043 | 140 bytes | Level data | Level 010 (Sprites) |
| 3D22F | $07:D02F | 20 bytes | Level data | Level 0BF (Sprites) |
| 3D1AF | $07:CFAF | 128 bytes | Level data | Level 00F (Sprites) |
| 3D14D | $07:CF4D | 98 bytes | Level data | Level 0E0, 0E1 (Sprites) |
| 3D106 | $07:CF06 | 71 bytes | Level data | Level 00B (Sprites) |
| 3D0BF | $07:CEBF | 71 bytes | Level data | Level 002 (Sprites) |
| 3D0BA | $07:CEBA | 5 bytes | Level data | Level 0D8 (Sprites) |
| 3D01C | $07:CE1C | 158 bytes | Level data | Level 001 (Sprites) |
| 3D014 | $07:CE14 | 8 bytes | Level data | Level 1F0 (Sprites) |
| 3D00C | $07:CE0C | 8 bytes | Level data | Level 1F1 (Sprites) |
| 3CFC8 | $07:CDC8 | 68 bytes | Level data | Level 109 (Sprites) |
| 3CFC0 | $07:CDC0 | 8 bytes | Level data | Level 1F2 (Sprites) |
| 3CF94 | $07:CD94 | 44 bytes | Level data | Level 1F3 (Sprites) |
| 3CF68 | $07:CD68 | 44 bytes | Level data | Level 11C (Sprites) |
| 3CF63 | $07:CD63 | 5 bytes | Level data | Level 1F5 (Sprites) |
| 3CED4 | $07:CCD4 | 143 bytes | Level data | Level 119 (Sprites) |
| 3CEBA | $07:CCBA | 26 bytes | Level data | Level 1C2 (Sprites) |
| 3CE25 | $07:CC25 | 149 bytes | Level data | Level 10A (Sprites) |
| 3CE11 | $07:CC11 | 20 bytes | Level data | Level 1EA (Sprites) |
| 3CDDC | $07:CBDC | 53 bytes | Level data | Level 107, 1FB (Sprites) |
| 3CDC5 | $07:CBC5 | 23 bytes | Level data | Level 1C3 (Sprites) |
| 3CD2A | $07:CB2A | 155 bytes | Level data | Level 118 (Sprites) |
| 3CD01 | $07:CB01 | 41 bytes | Level data | Level 1EF (Sprites) |
| 3CC87 | $07:CA87 | 122 bytes | Level data | Level 11A (Sprites) |
| 3CC6D | $07:CA6D | 26 bytes | Level data | Level 1C6 (Sprites) |
| 3CC17 | $07:CA17 | 86 bytes | Level data | Level 10B (Sprites) |
| 3CC0C | $07:CA0C | 11 bytes | Level data | Level 0E4 (Sprites) |
| 3CBF2 | $07:C9F2 | 26 bytes | Level data | Level 0F1 (Sprites) |
| 3CBDB | $07:C9DB | 23 bytes | Level data | Level 0ED, 0F2 (Sprites) |
| 3CBCA | $07:C9CA | 17 bytes | Level data | Level 013, 0EC, 0EE (Sprites) |
| 3CBAA | $07:C9AA | 32 bytes | Level data | Level 0C2 (Sprites) |
| 3CB48 | $07:C948 | 98 bytes | Level data | Level 00A (Sprites) |
| 3CB43 | $07:C943 | 5 bytes | Level data | Level 0E5 (Sprites) |
| 3CB26 | $07:C926 | 29 bytes | Level data | Level 0E7 (Sprites) |
| 3CB15 | $07:C915 | 17 bytes | Level data | Level 0E8 (Sprites) |
| 3CB04 | $07:C904 | 17 bytes | Level data | Level 007 (Sprites) |
| 3CAEA | $07:C8EA | 26 bytes | Level data | Level 0C3 (Sprites) |
| 3CACD | $07:C8CD | 29 bytes | Level data | Level 0D2 (Sprites) |
| 3CA44 | $07:C844 | 137 bytes | Level data | Level 006 (Sprites) |
| 3C9D9 | $07:C7D9 | 107 bytes | Level data | Level 005 (Sprites) |
| 3C9CB | $07:C7CB | 14 bytes | Level data | Level 0FE (Sprites) |
| 3C9BD | $07:C7BD | 14 bytes | Level data | Level 0DE, 0F9 (Sprites) |
| 3C9B5 | $07:C7B5 | 8 bytes | Level data | Level 004 (Sprites) |
| 3C9A7 | $07:C7A7 | 14 bytes | Level data | Level 0E9 (Sprites) |
| 3C951 | $07:C751 | 86 bytes | Level data | Level 009 (Sprites) |
| 3C949 | $07:C749 | 8 bytes | Level data | Level 0E3 (Sprites) |
| 3C8D5 | $07:C6D5 | 116 bytes | Level data | Level 015-017 (Sprites) |
| 3C8D0 | $07:C6D0 | 5 bytes | Level data | Level 1F6 (Sprites) |
| 3C8BF | $07:C6BF | 17 bytes | Level data | Level 1FC (Sprites) |
| 3C86F | $07:C66F | 80 bytes | Level data | Level 101 (Sprites) |
| 3C861 | $07:C661 | 14 bytes | Level data | Level 1BE (Sprites) |
| 3C859 | $07:C659 | 8 bytes | Level data | Level 1FF (Sprites) |
| 3C7F4 | $07:C5F4 | 101 bytes | Level data | Level 102 (Sprites) |
| 3C7EF | $07:C5EF | 5 bytes | Level data | Level 1FD (Sprites) |
| 3C793 | $07:C593 | 92 bytes | Level data | Level 103 (Sprites) |
| 3C77F | $07:C57F | 20 bytes | Level data | Level 1CA (Sprites) |
| 3C732 | $07:C532 | 77 bytes | Level data | Level 106 (Sprites) |
| 3C6CA | $07:C4CA | 104 bytes | Level data | Level 105 (Sprites) |
| 3C6C5 | $07:C4C5 | 5 bytes | Level data | Level 003 (Sprites) |
| 3C6C0 | $07:C4C0 | 5 bytes | Level data | Level 0C9 (Sprites) |
| 3C69D | $07:C49D | 35 bytes | Level data | Level 008 (Sprites) |
| 3C698 | $07:C498 | 5 bytes | Level data | Level 1D7 (Sprites) |
| 3C678 | $07:C478 | 32 bytes | Level data | Level 121 (Sprites) |
| 3C673 | $07:C473 | 5 bytes | Level data | Level 1D8 (Sprites) |
| 3C650 | $07:C450 | 35 bytes | Level data | Level 11B (Sprites) |
| 3C64B | $07:C44B | 5 bytes | Level data | Level 0CA (Sprites) |
| 3C646 | $07:C446 | 5 bytes | Level data | Level 014 (Sprites) |
| 3C641 | $07:C441 | 5 bytes | Level data | Level 0C5 (Sprites) |
| 3C627 | $07:C427 | 26 bytes | Level data | Level 0C7 (Sprites) |
| 3C622 | $07:C422 | 5 bytes | Level data | Level 10D, 1D0 (Sprites) |
| 3C614 | $07:C414 | 14 bytes | Level data | Level 0D5, 0DF, 0E2, 1DE (Sprites) |
| 3C60C | $07:C40C | 8 bytes | Level data | Level 0EB, 1E7 (Sprites) |
| 3C607 | $07:C407 | 5 bytes | Level data | Level 000, 100 (Sprites) |
| 3C602 | $07:C402 | 5 bytes | Level data | Unused level: Goal 2 (Sprites) |
| 3C5FD | $07:C3FD | 5 bytes | Level data | Unused level: Goal 1 (Sprites) |
| 3C5F5 | $07:C3F5 | 8 bytes | Level data | Level 0C4, 0F0, 0FB, 1DA, 1E6, 1F9 (Sprites) |
| 3C5F0 | $07:C3F0 | 5 bytes | Level data | Level 0C6, 0CB, 0F3, 0FF, 1D5, 1D6, 1E1, 1EE (Sprites) |
| 3C5EE | $07:C3EE | 2 bytes | Level data | Level 0BD, 0DA, 0E6, 0F4, 0FA, 0FD, 1BB, 1BC, 1C9, 1CB, 1E0, 1E4, 1F4, 1F7 (Sprites) |
| 3C5E3 | $07:C3E3 | 11 bytes | Level data | Level 094, 193 (Sprites) |
| 3C5DB | $07:C3DB | 8 bytes | Level data | Level 093, 194 (Sprites) |
| 3C5A9 | $07:C3A9 | 50 bytes | Level data | Unused level: Beta level 01A (Sprites) |
| 3C59B | $07:C39B | 14 bytes | Level data | Unused level: Twin Blocks (Sprites) |
| 3C575 | $07:C375 | 38 bytes | Level data | Unused level: Lava Cave (Sprites) |
| 3C567 | $07:C367 | 14 bytes | Level data | Level 095, 195 (Sprites) |
| 3C559 | $07:C359 | 14 bytes | Level data | Level 096, 196 (Sprites) |
| 3C554 | $07:C354 | 5 bytes | Level data | Level 097, 197 (Sprites) |
| 3C54F | $07:C34F | 5 bytes | Level data | Level 098, 198 (Sprites) |
| 3C54A | $07:C34A | 5 bytes | Level data | Level 099, 199 (Sprites) |
| 3C545 | $07:C345 | 5 bytes | Level data | Level 09A, 19A (Sprites) |
| 3C540 | $07:C340 | 5 bytes | Level data | Level 09B, 19B (Sprites) |
| 3C50E | $07:C30E | 50 bytes | Level data | Unused level: Mushroom Scales (Sprites) |
| 3C500 | $07:C300 | 14 bytes | Level data | Unused level: Ride Among the Clouds (Sprites) |
| 3C426 | $07:C226 | 218 bytes | Empty | Filled with $FF |
| 3C165 | $07:BF65 | 705 bytes | Level data | Level 125 |
| 3BFE5 | $07:BDE5 | 384 bytes | Level data | Level 126 |
| 3BF8A | $07:BD8A | 91 bytes | Level data | Level 1E0 |
| 3BF75 | $07:BD75 | 21 bytes | Level data | Level 1E1 |
| 3BE11 | $07:BC11 | 356 bytes | Level data | Level 127 |
| 3BCBE | $07:BABE | 339 bytes | Level data | Level 128 |
| 3BB08 | $07:B908 | 438 bytes | Level data | Level 12D |
| 3BA96 | $07:B896 | 114 bytes | Level data | Level 1C8 |
| 3BA7D | $07:B87D | 25 bytes | Level data | Level 1C9 |
| 3B740 | $07:B540 | 829 bytes | Level data | Level 12C |
| 3B66E | $07:B46E | 210 bytes | Level data | Level 12B |
| 3B5C6 | $07:B3C6 | 168 bytes | Level data | Level 1C4, 1C5 |
| 3B46B | $07:B26B | 347 bytes | Level data | Level 12A |
| 3B324 | $07:B124 | 327 bytes | Level data | Level 136 |
| 3B231 | $07:B031 | 243 bytes | Level data | Level 135 |
| 3B1E3 | $07:AFE3 | 78 bytes | Level data | Level 132 |
| 3B1CE | $07:AFCE | 21 bytes | Level data | Level 1D5 |
| 3B125 | $07:AF25 | 169 bytes | Level data | Level 130 |
| 3B116 | $07:AF16 | 15 bytes | Level data | Level 1D6 |
| 3AF35 | $07:AD35 | 481 bytes | Level data | Level 134 |
| 3AF2F | $07:AD2F | 6 bytes | Level data | Level 1C7 |
| 3ADF9 | $07:ABF9 | 310 bytes | Level data | Level 10E |
| 3ACC9 | $07:AAC9 | 304 bytes | Level data | Level 1BD |
| 3AC77 | $07:AA77 | 82 bytes | Level data | Level 1CC |
| 3AC16 | $07:AA16 | 97 bytes | Level data | Level 1CD |
| 3ABE3 | $07:A9E3 | 51 bytes | Level data | Level 1CE (Layer 2) |
| 3AB61 | $07:A961 | 130 bytes | Level data | Level 1CE |
| 3AB34 | $07:A934 | 45 bytes | Level data | Level 1CF (Layer 2) |
| 3AAD9 | $07:A8D9 | 91 bytes | Level data | Level 1CF |
| 3AA3F | $07:A83F | 154 bytes | Level data | Level 1D0 |
| 3AA02 | $07:A802 | 61 bytes | Level data | Level 1D1 |
| 3A965 | $07:A765 | 157 bytes | Level data | Level 1D2 |
| 3A907 | $07:A707 | 94 bytes | Level data | Level 1D3 |
| 3A88E | $07:A68E | 121 bytes | Level data | Level 1D4 |
| 3A800 | $07:A600 | 142 bytes | Level data | Level 10D |
| 3A379 | $07:A179 | 1,159 bytes | Empty | Filled with $FF. |
| 3A334 | $07:A134 | 69 bytes | Level data | Level 111 (Layer 2) |
| 3A228 | $07:A028 | 268 bytes | Level data | Level 111 |
| 3A122 | $07:9F22 | 262 bytes | Level data | Level 1FE |
| 39FE2 | $07:9DE2 | 320 bytes | Level data | Level 110 |
| 39F84 | $07:9D84 | 94 bytes | Level data | Level 1BF |
| 39D58 | $07:9B58 | 556 bytes | Level data | Level 10F |
| 39CC1 | $07:9AC1 | 151 bytes | Level data | Level 1BB |
| 39BD6 | $07:99D6 | 235 bytes | Level data | Level 113 |
| 39B69 | $07:9969 | 109 bytes | Level data | Level 1DB, 1DC |
| 39A67 | $07:9867 | 258 bytes | Level data | Level 1DD |
| 39A03 | $07:9803 | 100 bytes | Level data | Level 114, 1D9 |
| 3997C | $07:977C | 135 bytes | Level data | Level 0C8 |
| 3995E | $07:975E | 30 bytes | Level data | Level 1E2 (Layer 2) |
| 397F0 | $07:95F0 | 366 bytes | Level data | Level 1E2 |
| 397A5 | $07:95A5 | 75 bytes | Level data | Level 1E3 (Layer 2) |
| 395E2 | $07:93E2 | 451 bytes | Level data | Level 1E3 |
| 3957C | $07:937C | 102 bytes | Level data | Level 115 (Layer 2) |
| 394CA | $07:92CA | 178 bytes | Level data | Level 115 |
| 39433 | $07:9233 | 151 bytes | Level data | Level 1E4 |
| 39421 | $07:9221 | 18 bytes | Level data | Level 1E5 |
| 390A4 | $07:8EA4 | 893 bytes | Level data | Level 116 |
| 38FAB | $07:8DAB | 249 bytes | Level data | Level 0F7 |
| 38EC6 | $07:8CC6 | 229 bytes | Level data | Level 0F8 |
| 38E14 | $07:8C14 | 178 bytes | Level data | Level 018 |
| 38DEA | $07:8BEA | 42 bytes | Level data | Level 0D3 |
| 38DB7 | $07:8BB7 | 51 bytes | Level data | Level 0D4 (Layer 2) |
| 38D4A | $07:8B4A | 109 bytes | Level data | Level 0D4 |
| 38D1D | $07:8B1D | 45 bytes | Level data | Level 01A (Layer 2) |
| 38BCC | $07:89CC | 337 bytes | Level data | Level 01A |
| 38B35 | $07:8935 | 151 bytes | Level data | Level 0BD |
| 38ACB | $07:88CB | 106 bytes | Level data | Level 0C0 |
| 388E3 | $07:86E3 | 488 bytes | Level data | Level 01C |
| 387B4 | $07:85B4 | 303 bytes | Level data | Level 0EA |
| 38300 | $07:8100 | 1,204 bytes | Level data | Level 01D |
| 382ED | $07:80ED | 19 bytes | Empty | Empty |
| 382C3 | $07:80C3 | 42 bytes | Level data | Level 108 |
| 382B1 | $07:80B1 | 18 bytes | Level data | No Yoshi sign entrance 3 |
| 3829F | $07:809F | 18 bytes | Level data | No Yoshi sign entrance 2 |
| 38290 | $07:8090 | 15 bytes | Level data | Castle entrance 2 |
| 38281 | $07:8081 | 15 bytes | Level data | Unused level: Three bushes |
| 38260 | $07:8060 | 33 bytes | Level data | Unused level: Ghost House Exit |
| 3824E | $07:804E | 18 bytes | Level data | No Yoshi sign entrance 1 |
| 3822D | $07:802D | 33 bytes | Level data | Level 104 |
| 3821E | $07:801E | 15 bytes | Level data | Castle entrance 1 |
| 38218 | $07:8018 | 6 bytes | Level data | Empty level (header only). Used as layer 2 when no background is needed. |
| 38200 | $07:8000 | 24 bytes | Level data | Ghost house entrance |
| 37739 | $06:F539 | 2,759 bytes | Empty | Filled with $FF. |
| 37711 | $06:F511 | 40 bytes | Level data | Level 1C0 |
| 376FC | $06:F4FC | 21 bytes | Level data | Level 1EE |
| 3762A | $06:F42A | 210 bytes | Level data | Level 1EC (Layer 2) |
| 3755D | $06:F35D | 205 bytes | Level data | Level 1EC |
| 37364 | $06:F164 | 505 bytes | Level data | Level 1ED |
| 3725D | $06:F05D | 263 bytes | Level data | Level 117 |
| 370FD | $06:EEFD | 352 bytes | Level data | Level 0EF |
| 37036 | $06:EE36 | 199 bytes | Level data | Level 01B |
| 36FE7 | $06:EDE7 | 79 bytes | Level data | Level 0D7 |
| 36EC9 | $06:ECC9 | 286 bytes | Level data | Level 023 |
| 36E7E | $06:EC7E | 75 bytes | Level data | Chocolate Island 2 - Level 5 |
| 36E24 | $06:EC24 | 90 bytes | Level data | Level 0CD |
| 36DBE | $06:EBBE | 102 bytes | Level data | Chocolate Island 2 - Level 4 |
| 36D72 | $06:EB72 | 76 bytes | Level data | Chocolate Island 2 - Level 3 |
| 36D0B | $06:EB0B | 103 bytes | Level data | Level 0CE |
| 36CB0 | $06:EAB0 | 91 bytes | Level data | Chocolate Island 2 - Level 2 |
| 36BFB | $06:E9FB | 181 bytes | Level data | Chocolate Island 2 - Level 1 |
| 36B85 | $06:E985 | 118 bytes | Level data | Level 0CF |
| 36A97 | $06:E897 | 238 bytes | Level data | Level 024 |
| 36A15 | $06:E815 | 130 bytes | Level data | Level 0FC |
| 369A2 | $06:E7A2 | 115 bytes | Level data | Level 021 |
| 3696E | $06:E76E | 52 bytes | Level data | Level 0BE |
| 367D0 | $06:E5D0 | 414 bytes | Level data | Level 0F5, 0F6 |
| 36644 | $06:E444 | 396 bytes | Level data | Level 022, 0D0, 0D1 |
| 36507 | $06:E307 | 317 bytes | Level data | Level 0D6 |
| 3640A | $06:E20A | 253 bytes | Level data | Level 01F |
| 36383 | $06:E183 | 135 bytes | Level data | Level 122 |
| 36328 | $06:E128 | 91 bytes | Level data | Level 1C1 |
| 36304 | $06:E104 | 36 bytes | Level data | Level 1DF |
| 3615B | $06:DF5B | 425 bytes | Level data | Level 11F |
| 36146 | $06:DF46 | 21 bytes | Level data | Level 1E6 |
| 360D2 | $06:DED2 | 116 bytes | Level data | Level 1FA |
| 35D8D | $06:DB8D | 837 bytes | Level data | Level 11D, 1E8, 1E9 (Layer 2) |
| 35CBE | $06:DABE | 207 bytes | Level data | Level 11D, 1E8, 1E9 |
| 35BD9 | $06:D9D9 | 229 bytes | Level data | Level 020 |
| 35B42 | $06:D942 | 151 bytes | Level data | Level 1BC |
| 35B14 | $06:D914 | 46 bytes | Level data | Level 1F8 |
| 358F3 | $06:D6F3 | 545 bytes | Level data | Level 123 |
| 3560B | $06:D40B | 744 bytes | Level data | Level 120 |
| 3543A | $06:D23A | 465 bytes | Level data | Level 11E |
| 353D6 | $06:D1D6 | 100 bytes | Level data | Level 0DD |
| 352F4 | $06:D0F4 | 226 bytes | Level data | Level 00D |
| 352DC | $06:D0DC | 24 bytes | Level data | Level 0F3 |
| 35200 | $06:D000 | 220 bytes | Level data | Level 00C |
| 34B64 | $06:C964 | 1,692 bytes | Empty | Filled with $FF. |
| 34B49 | $06:C949 | 27 bytes | Level data | Level 0C6 |
| 34983 | $06:C783 | 454 bytes | Level data | Level 011 |
| 348EC | $06:C6EC | 151 bytes | Level data | Level 0DA |
| 34759 | $06:C559 | 403 bytes | Level data | Level 0DB |
| 34714 | $06:C514 | 69 bytes | Level data | Level 0DC (Layer 2) |
| 34695 | $06:C495 | 127 bytes | Level data | Level 0DC |
| 3466E | $06:C46E | 39 bytes | Level data | Level 00E (Layer 2) |
| 345A3 | $06:C3A3 | 203 bytes | Level data | Level 00E |
| 34575 | $06:C375 | 46 bytes | Level data | Level 0C1 |
| 343C4 | $06:C1C4 | 433 bytes | Level data | Level 010 |
| 34399 | $06:C199 | 43 bytes | Level data | Level 0BF |
| 340AD | $06:BEAD | 748 bytes | Level data | Level 00F |
| 33FB6 | $06:BDB6 | 247 bytes | Level data | Level 0E0, 0E1 |
| 33F0F | $06:BD0F | 167 bytes | Level data | Level 00B |
| 33EEE | $06:BCEE | 33 bytes | Level data | Level 0CB |
| 33E33 | $06:BC33 | 187 bytes | Level data | Level 002 |
| 33DC9 | $06:BBC9 | 106 bytes | Level data | Level 0D8 |
| 33C69 | $06:BA69 | 352 bytes | Level data | Level 001 |
| 33C33 | $06:BA33 | 54 bytes | Level data | Level 1F0 |
| 33C06 | $06:BA06 | 45 bytes | Level data | Level 1F1 |
| 33A17 | $06:B817 | 495 bytes | Level data | Level 109 |
| 339ED | $06:B7ED | 42 bytes | Level data | Level 1F2 |
| 3394B | $06:B74B | 162 bytes | Level data | Level 1F3 (Layer 2) |
| 33866 | $06:B666 | 229 bytes | Level data | Level 1F3 |
| 33820 | $06:B620 | 70 bytes | Level data | Level 1F4 |
| 336E0 | $06:B4E0 | 320 bytes | Level data | Level 11C |
| 33622 | $06:B422 | 190 bytes | Level data | Level 1F5 |
| 334D1 | $06:B2D1 | 337 bytes | Level data | Level 119 |
| 3343A | $06:B23A | 151 bytes | Level data | Level 1F7 |
| 333B5 | $06:B1B5 | 133 bytes | Level data | Level 1C2 |
| 3307D | $06:AE7D | 824 bytes | Level data | Level 10A |
| 33018 | $06:AE18 | 101 bytes | Level data | Level 1EA |
| 32F09 | $06:AD09 | 271 bytes | Level data | Level 107, 1FB |
| 32EA8 | $06:ACA8 | 97 bytes | Level data | Level 1C3 |
| 32B5F | $06:A95F | 841 bytes | Level data | Level 118 |
| 32B3E | $06:A93E | 33 bytes | Level data | Level 1EF (Layer 2) |
| 32AE9 | $06:A8E9 | 85 bytes | Level data | Level 1EF |
| 32800 | $06:A600 | 745 bytes | Level data | Level 11A |
| 327B9 | $06:A5B9 | 71 bytes | Empty | Unused data |
| 3276D | $06:A56D | 76 bytes | Level data | Level 1C6 |
| 32661 | $06:A461 | 268 bytes | Level data | Level 10B |
| 3264F | $06:A44F | 18 bytes | Level data | Level 0E4 |
| 32620 | $06:A420 | 47 bytes | Level data | Level 0F1 |
| 32574 | $06:A374 | 172 bytes | Level data | Level 0ED, 0F2 |
| 324F2 | $06:A2F2 | 130 bytes | Level data | Level 013, 0EC, 0EE |
| 32470 | $06:A270 | 130 bytes | Level data | Level 0C2 |
| 32334 | $06:A134 | 316 bytes | Level data | Level 00A |
| 3229D | $06:A09D | 151 bytes | Level data | Level 0E6 |
| 32164 | $06:9F64 | 313 bytes | Level data | Level 0E7 |
| 320BF | $06:9EBF | 165 bytes | Level data | Level 0E7 (Layer 2) |
| 3202E | $06:9E2E | 145 bytes | Level data | Level 0E8 |
| 31FC0 | $06:9DC0 | 110 bytes | Level data | Level 007 |
| 31F83 | $06:9D83 | 61 bytes | Level data | Level 0C3 |
| 31F4C | $06:9D4C | 55 bytes | Level data | Level 0D2 |
| 31DB5 | $06:9BB5 | 407 bytes | Level data | Level 006 |
| 31D1E | $06:9B1E | 151 bytes | Level data | Level 0F4 |
| 31B61 | $06:9961 | 445 bytes | Level data | Level 005 |
| 31B4F | $06:994F | 18 bytes | Level data | Level 0C4 |
| 31AF0 | $06:98F0 | 95 bytes | Level data | Level 0FE |
| 31A9D | $06:989D | 83 bytes | Level data | Level 0DE, 0F9 |
| 31A7B | $06:987B | 34 bytes | Level data | Level 0FA |
| 31A07 | $06:9807 | 116 bytes | Level data | Level 004 |
| 3198E | $06:978E | 121 bytes | Level data | Level 0E9 |
| 3182D | $06:962D | 353 bytes | Level data | Level 009 |
| 3176D | $06:956D | 192 bytes | Level data | Level 009 (Layer 2) |
| 31673 | $06:9473 | 250 bytes | Level data | Level 0E3 |
| 315DC | $06:93DC | 151 bytes | Level data | Level 0FD |
| 313E5 | $06:91E5 | 503 bytes | Level data | Level 015-017 |
| 3136F | $06:916F | 118 bytes | Level data | Level 1FC |
| 311FD | $06:8FFD | 370 bytes | Level data | Level 101 |
| 311B1 | $06:8FB1 | 76 bytes | Level data | Level 1BE |
| 31193 | $06:8F93 | 30 bytes | Level data | Level 1FF |
| 310AD | $06:8EAD | 230 bytes | Level data | Level 102 |
| 3106D | $06:8E6D | 64 bytes | Level data | Level 1FD |
| 30DDE | $06:8BDE | 655 bytes | Level data | Level 103 |
| 30DB3 | $06:8BB3 | 43 bytes | Level data | Level 1CA |
| 30C2F | $06:8A2F | 388 bytes | Level data | Level 106 |
| 30BF8 | $06:89F8 | 55 bytes | Level data | Level 1CB |
| 30ADD | $06:88DD | 283 bytes | Level data | Level 105 |
| 30ABF | $06:88BF | 30 bytes | Level data | Level 003 |
| 30A7D | $06:887D | 66 bytes | Level data | Level 0C9 |
| 30A38 | $06:8838 | 69 bytes | Level data | Level 1D7 |
| 309F3 | $06:87F3 | 69 bytes | Level data | Level 1D8 |
| 309AE | $06:87AE | 69 bytes | Level data | Level 0CA |
| 3096E | $06:876E | 64 bytes | Level data | Level 008 |
| 3092B | $06:872B | 67 bytes | Level data | Level 121 |
| 308D0 | $06:86D0 | 91 bytes | Level data | Level 11B |
| 3088D | $06:868D | 67 bytes | Level data | Level 014 |
| 30887 | $06:8687 | 6 bytes | Level data | Level 1EB, 1F6 |
| 30875 | $06:8675 | 18 bytes | Level data | Unused level: Ghost House Exit |
| 30854 | $06:8654 | 33 bytes | Level data | Level 000, 100 |
| 3083C | $06:863C | 24 bytes | Level data | Level 0FF |
| 30836 | $06:8636 | 6 bytes | Level data | Level 0CC, 0D5, 0D9, 0DF, 0E2, 0E5, 1DE |
| 30821 | $06:8621 | 21 bytes | Level data | Level 0EB, 0F0, 0FB, 1DA, 1E7, 1F9 |
| 3081B | $06:861B | 6 bytes | Level data | Level 0C4, 0EB, 0F0, 0FB, 1DA, 1E6, 1E7, 1F9 (Layer 2) |
| 30803 | $06:8603 | 24 bytes | Level data | Level 0C5 |
| 307B5 | $06:85B5 | 78 bytes | Level data | Level 0C7 |
| 3078B | $06:858B | 42 bytes | Level data | Level 094, 193 |
| 30761 | $06:8561 | 42 bytes | Level data | Level 093, 194 |
| 3073D | $06:853D | 36 bytes | Level data | Unused level: Pipe 'n' Ground |
| 30701 | $06:8501 | 60 bytes | Level data | Unused level: Beta level 01A (Layer 2) |
| 305AB | $06:83AB | 342 bytes | Level data | Unused level: Beta level 01A.
You can change 0x30657/$06:8457 from 9C to 8D to fix the P-switch music repeating glitch when using custom music. |
| 3059C | $06:839C | 15 bytes | Level data | Unused level: Twin Blocks |
| 304EB | $06:82EB | 177 bytes | Level data | Unused level: Lava Cave |
| 30464 | $06:8264 | 135 bytes | Level data | Unused level: Lava Cave (Layer 2) |
| 3045E | $06:825E | 6 bytes | Level data | Level 096, 097, 196, 197 |
| 30458 | $06:8258 | 6 bytes | Level data | Level 095, 098-09A, 195, 198-19A |
| 30452 | $06:8252 | 6 bytes | Level data | Level 09B, 19B |
| 30338 | $06:8138 | 282 bytes | Level data | Unused level: Boss Test |
| 302BD | $06:80BD | 123 bytes | Level data | Unused level: Mushroom Scales |
| 30263 | $06:8063 | 90 bytes | Level data | Unused level: Ride Among the Clouds |
| 30200 | $06:8000 | 99 bytes | Level data | Level 012, 019, 01E, 025-092, 09C-0BC, 10C, 112, 124, 129, 12E, 12F, 131, 133, 137-192, 19C-1BA |
| 30000 | $05:FE00 | 512 bytes | Level data | Part of the Secondary Entrance data; each byte corresponds to an entrance. The lowest 3 bits are the Mario action. The next bit is the high bit of the secondary entrance's level number. The highest bit is set when the destination level should be slippery. |
| 2FE00 | $05:FC00 | 512 bytes | Level data | Part of the secondary level information. The low 5 bits are for the destination screen number. The high 3 bits are the X position for Mario; offsets into a table at SNES addresses $05/D750 and $05/D758. |
| 2FC00 | $05:FA00 | 512 bytes | Level data | Part of the Secondary Entrance information; each byte is one of the secondary entrances. The low 4 bits are the Y position for Mario; offsets into a table at SNES addresses $05/D730 and $05/D740. The next two bits are the FG initial position, indexing into the table at SNES address $05/D708. The highest 2 bits are the BG initial position, indexing into the table at SNES address $05/D70C. |
| 2FA00 | $05:F800 | 512 bytes | Level data | Part of the Secondary Entrance information; each byte is one of the secondary entrances. The byte is the low byte of the destination level number. The high bit (0x100 vs. 0x000) is stored in another table. |
| 2F800 | $05:F600 | 512 bytes | Level data | Table for each level in iuveeeee format. i = disable No Yoshi Intro flag, u = unknown vertical level positioning flag, v = vertical level positioning flag, eeeee = screen # that the primary entrance is on. |
| 2F600 | $05:F400 | 512 bytes | Level data | Table for each level in mmmmffbb format. mmmm = screen for midway entrance, ff = FG initial position, bb = BG initial position. |
| 2F400 | $05:F200 | 512 bytes | Level data | Table for each level in ttaaaxxx format. tt = tide/tileset specific Layer 3 BG to use, aaa = Mario action to start the level out with, xxx = initial X position (one of which is not selectable by LM, X = 10). |
| 2F200 | $05:F000 | 512 bytes | Level data | Table for each level in ssssyyyy format. ssss = layer 2 scroll settings, yyyy = Y position (from LM's method 1). |
| 2EE00 | $05:EC00 | 1,024 bytes | Pointer | Level data pointer table (Sprites) |
| 2E800 | $05:E600 | 1,536 bytes | Pointer | Level data pointer table (Layer 2) |
| 2E200 | $05:E000 | 1,536 bytes | Pointer | Level data pointer table (Layer 1) |
| 2DE46 | $05:DC46 | 954 bytes | Empty | Filled with FF. |
| 2DDF2 | $05:DBF2 | 1 byte | Overworld border | [8B] Change to 6B to remove the OW life counter on the OW. Use with $04A530 (0x22730). |
| 2DDC9 | $05:DBC9 | 2 bytes | Coordinate | Position of lives counter on the overworld. |
| 2DDB3 | $05:DBB3 | 1 byte | Misc. | Change to 60 (RTS) to make it so Yoshi wings use the normal screen exit instead of forcing a warp to level C8/1C8. This allows you to use pipes/doors in Yoshi wings levels. However, bonus games still remain incompatible. (Make sure to add a screen exit on every screen a player could possibly collect Yoshi wings if you use this.) |
| 2DDAC | $05:DBAC | 29 bytes | Subroutine (JSx FIXME) | The routine that handles setting the level to warp to when Yoshi gets the wings. (Level xC8.) |
| 2DDAA | $05:DBAA | 1 byte | Level number | Level number for yoshi wings bonus stage. |
| 2DDA9 | $05:DBA9 | 1 byte | Level number | Level number for bonus game after gaining 100 bonus stars from a goal tape. |
| 2DCEF | $05:DAEF | 186 bytes | Subroutine (JSx FIXME) | The routine that loads level data for the sublevels of the level with the variable screen exits (i.e. level 24, or Chocolate Island 2, in the original SMW). |
| 2DC5B | $05:DA5B | 1 byte | Level number | One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 40 (#3 Lemmy's Castle) by default. |
| 2DC57 | $05:DA57 | 1 byte | Level number | One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 35 (Valley Fortress) by default. |
| 2DC53 | $05:DA53 | 1 byte | Level number | One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 34 (#7 Larry's Castle) by default. |
| 2DC4F | $05:DA4F | 1 byte | Level number | One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 32 (Back Door) by default. |
| 2DC4B | $05:DA4B | 1 byte | Level number | One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 31 (Front Door) by default. |
| 2DC1D | $05:DA1D | 1 byte | Level number | Any level with a translevel number greater than or equal to this will use the "No Yoshi Sign 2" intro if the no-Yoshi intro is not disabled, regardless of tileset. |
| 2D996 | $05:D796 | 857 bytes | Subroutine (JSx FIXME) | The main level data loading routine.
$05DAE5 is which level has the variable exits that changes depending on coins, timer, and yoshi coins. To disable the variable properties of this level, change $05DAE6 to 80.
$05DA19 is the start of the code for checking whether or not the level should use a No-Yoshi intro. Change to [4C D7 DA] to disable all No-Yoshi intros, including those for ghost houses and castles. |
| 2D978 | $05:D778 | 18 bytes | Pointer | List of pointers to the Layer 2's for the "Get off Yoshi" intro levels. Same order as for 2D966 |
| 2D966 | $05:D766 | 18 bytes | Pointer | List of 6 pointers to the "Get off Yoshi" level intros. In order: Ghost House, Castle Entrance 1, No Yoshi Sign 1, No Yoshi Sign 2, No Yoshi Sign 3, Castle Entrance 2. |
| 2D960 | $05:D760 | 6 bytes | Misc. | The tileset that each no-Yoshi intro intro is used with. Same order as $05D766 (0x2D966). The last one seems to be unused. |
| 2D958 | $05:D758 | 8 bytes | Level data | Mario X-Subscreen Positions (main and midway entrances). 8th byte unused? |
| 2D950 | $05:D750 | 8 bytes | Level data | Mario X-Positions (main and midway entrances). 8th byte unused? |
| 2D940 | $05:D740 | 16 bytes | Level data | Mario Y-Subscreen Positions (main and midway entrances) |
| 2D930 | $05:D730 | 16 bytes | Level data | Mario Y-Position (main and midway entrances) |
| 2D920 | $05:D720 | 16 bytes | Level data | Horizontal scroll settings for layer 2 background. The values in this table are for RAM $7E:1413. The index to this table is the %ssss from the %ssssyyyy in table ROM $05:F000.
The maximum %ssss in SMW is %0111, thus indexes %1000 through %1111 are unused and are available if you want to invent more scroll settings for layer 2. |
| 2D910 | $05:D710 | 16 bytes | Level data | Vertical scroll settings for layer 2 background. The values in this table are for RAM $7E:1414. The index to this table is the %ssss from the %ssssyyyy in table ROM $05:F000. |
| 2D908 | $05:D708 | 8 bytes | Level data | Layer 1, 2 (FG,BG) Initial Position. FG values (4 bytes) are first. BG values (4 values) are last. |
| 2D868 | $05:D668 | 160 bytes | Empty | Unused data. |
| 2D808 | $05:D608 | 96 bytes | Overworld | Which events are triggered by which level. Indexed by level ID, aka $13BF. |
| 2D200 | $05:D000 | 1,536 bytes | Misc. | Tile data for all Layer 1 overworld tiles, #$00-#$BF (but BF doesn't show up in LM no matter what you set it to). 8 bytes per 16x16 tile = 2 bytes per 8x8 tile. (TTTTTTTT YXPCCCTT.)
Order in which the pairs of bytes go inside a 16x16 tile: upper-left, bottom-left, upper-right, bottom-right. |
| 2D1EA | $05:CFEA | 22 bytes | Empty | Empty. |
| 2D149 | $05:CF49 | 1 byte | Sound effect | Drum Roll Finishing Sound Effect. |
| 2D11B | $05:CF1B | 3 bytes | ASM | Change to EA EA EA and the player will receive no bonus stars at the end of the level. |
| 2D092 | $05:CE92 | 1 byte | Misc. | Time Multiplier for every second (use with 2D07A) must be a multiple of 10. |
| 2D07A | $05:CE7A | 1 byte | Misc. | Time Multiplier for every second (use with 2D092) must be a multiple of 10. |
| 2CFE4 | $05:CDE4 | 1 byte | Sound effect | Drum Roll (tallying points) Sound Effect. |
| 2CFD8 | $05:CDD8 | 1 byte | ASM | Changing this byte to [80] will disable the drumroll sound effect, and the Timer and score tallying at the 'Course Clear' screen. |
| 2CF79 | $05:CD79 | 1 byte | ASM | Changing this byte to [80] will disable the bonus counter in the 'Course Clear' screen. |
| 2CF62 | $05:CD62 | 20 bytes | Layer 3 | Table of tiles used to display the amount of bonus stars received in the end level routine.
Starts with top tile of 0, bottom tile of 0, top tile of 1, bottom tile of 1, etc. Notably, there's no header OR end byte. |
| 2CF3F | $05:CD3F | 35 bytes | Layer 3 | Tilemap for the bonus star countdown in the end of level routine.
At 2CF5A, a second header starts for two tiles reserved for the top of the number of bonus stars received. |
| 2CF2C | $05:CD2C | 1 byte | Timer | Time it takes for Bonus! to appear after hitting the goal tape. |
| 2CEC4 | $05:CCC4 | 1 byte | Misc. | Number of LUIGI tiles to use in the end-of-level scorecard |
| 2CE85 | $05:CC85 | 1 byte | Misc. | Change to 00 to disable "Course Clear" from appearing. |
| 2CE66 | $05:CC66 | 2 bytes | Misc. | Change to 80 1C to prevent the player from getting a free 1UP at the goal if the tens digit of your bonus star counter and the tens and ones digits of your time are all the same |
| 2CE61 | $05:CC61 | 5 bytes | Misc. | 'LUIGI' letters used in the end-of-level scorecard (uses the same attributes as the MARIO letters) |
| 2CE16 | $05:CC16 | 75 bytes | Layer 3 | Start of course clear message tilemap.
$05CC1A (2CE1A) (10 bytes) is 'MARIO' tiles and attributes used in the end-of-level scorecard
$05CC28 (2CE28) (12 bytes) is "COURSE" and attributes at end of level scorecard.
$05CC36 (2CE36) (10 bytes) is "CLEAR" and attributes at end of level scorecard. |
| 2CDFF | $05:CBFF | 8 bytes | Subroutine (JSx FIXME) | Jumps to Level End Scorecard Subroutine |
| 2C9BC | $05:C7BC | 3 bytes | Misc. | Change to A9 08 EA and the background will start scrolling fast with generator F4 without having to touch platform C1 |
| 2C91D | $05:C71D | 1 byte | Misc. | Layer 2 on/off switch upper limit. The higher this number, the further up layer 2 will go before it will start descending again. |
| 2C91B | $05:C71B | 1 byte | Misc. | Layer 2 on/off switch lower limit. The lower this number, the further down the screen layer 2 will go before stopping. |
| 2C6F2 | $05:C4F2 | 6 bytes | ASM | Change from [85 22 A9 01 85 23] to [38 69 02 85 22 EA] in order to make the Layer 3 tides scroll to the right instead of the left. (Nothing is stored to the high byte of Layer 3 X position, however, so if you adjusted the tide to be asymmetrical, this may not give the wanted result.)
Only applies to the graphical part of the Layer 3 tide. |
| 2C0A6 | $05:BEA6 | 3 bytes | ASM | [9C 11 14] Change this to EA EA EA to make Layer 2 Sideways Scroll not disable horizontal scroll. |
| 2BEF0 | $05:BCF0 | 30 bytes | Pointer | Pointers to INIT routines for the autoscroll sprites. |
| 2BE87 | $05:BC87 | 30 bytes | Pointer | Pointers to the MAIN routines for the autoscroll sprites. |
| 2BDA6 | $05:BBA6 | 90 bytes | Empty | Unused data. |
| 2BD39 | $05:BB39 | 109 bytes | Subroutine (JSx FIXME) | The routine that handles tile animation. It reads the animation data from the table at $05B999 and, based on that and a few other factors (such as tileset and blue P-switch status), sets the pointers to the tile data in the table at RAM $7E0D76. |
| 2BB99 | $05:B999 | 416 bytes | Graphics | Frame data for animated tiles. Each group of 8 bytes is one set of tile animation, and each pair of bytes is one frame. The numbers are offsets forming the lower two bytes of pointers to the table data at $7E7D00. (For instance, the first two bytes = 00 95 -> data at $7E9500.) There seems to be no discernable pattern to which tiles are uploaded where in VRAM, though. |
| 2BB8B | $05:B98B | 14 bytes | Misc. | Table, indexed by FG/BG tileset. Determines which group of animated tiles to use for a certain tileset, such as conveyor belts, stars, lava, etc. |
| 2BB7D | $05:B97D | 15 bytes | Graphics | Table that determines, for tile animations that can have one of two states, which address to use to determine the state (i.e. any animation for which its corresponding value in the table at $05B96B is 01). The address used is $14AD plus this value, so 00 = blue P-switch, 01 = gray P-switch, 02 = on/off switch. This table is only 15 bytes long rather than 24 because all of the 2-state animations are updated on animation frame 0, 1, 2, 3, or 4, never 5, 6, or 7. Note also that the last byte overlaps with the table at $05B98B. |
| 2BB6B | $05:B96B | 24 bytes | Graphics | This table determines how a certain tile should vary its animation. 00 = always the same, 01 = change depending on $14AD, $14AE, or $14AF (P-switch timers and on/off switch), 02 = change depending on $1931 (FG/BG tileset number). It is indexed by the animation frame times 3, or (($14 & #$07) * 3), and each of the 8 possible animation frames uses one group of 3 bytes. Note that the last 6 bytes overlap with the table at $05B97D. |
| 2BB3B | $05:B93B | 48 bytes | Graphics | Destination VRAM addresses for animated tiles. There are 6 bytes, 3 16-bit addresses, for each of the 8 possible animation frames (index = (frame & 7) * 6), and their values get stored to $0D7C, $0D7E, and $0D80 during the animation handling routine. (The last 6 bytes are actually unused, since SMW never uses animation frame 7 for anything.) |
| 2BA72 | $05:B872 | 85 bytes | Misc. | 1 / 2 player game stripe image data. |
| 2B9C9 | $05:B7C9 | 169 bytes | Layer 3 | Tilemap of the file select dialog. ("MARIO A . . . EMPTY", etc.) |
| 2B8FE | $05:B6FE | 203 bytes | Layer 3 | Tilemap of the erase file select dialog. ("ERASE MARIO A . . . EMPTY", etc.) |
| 2B575 | $05:B375 | 488 bytes | Layer 3 | Title screen stripe image data (the part that appears right as the title screen loads up). |
| 2B54A | $05:B34A | 17 bytes | Subroutine (JSx FIXME) | Subroutine that gives the player a single coin. It handles the green star block as well.
$05B34E (0x2B54E) is the sound this generates. |
| 2B529 | $05:B329 | 33 bytes | Subroutine (JSx FIXME) | "Give coins" subroutine. If you JSL to it, it will give the player the number of coins equal to the value in A. |
| 2B49B | $05:B29B | 64 bytes | Sprite tilemap related | This is the 8x8 tilemap data for the sprites used on the switch palace messages (dotted and '!' block). The first byte in each in the tile, the second byte is the YXPPCCCT data. |
| 2B30C | $05:B10C | 399 bytes | Subroutine (JSx FIXME) | The subroutine that displays the message from a message box. It handles the windowing HDMA, the stripe image upload, and things such as teleporting to the overworld after the intro screen.
$05B129/x2B329: [9C 9F 0D] Change to [EA EA EA] to prevent HDMA from getting disabled AFTER a message box has been displayed. Use with $05B296.
$05B15C/x2B35C: [8E] The Y position on which to start the march to Yoshi's House after the intro screen. To be used with $048F08/x21108.
$05B15D/x2B35D: [8D 19 1F] ASM code that stores the player's starting Y position to its RAM address, $1F19. Lunar Magic changes this to [EA EA EA] if you move the Mario OW sprite around, thus disabling the intro march (and its effects, such as storing '0' to the amount of levels cleared). If you want to undo this effect, change it back to [8D 19 1F].
$05B160/x2B360: Side exit subroutine. It can be JSL'd to.
$05B189/x2B389: [D0 CF] Change to [EA EA] to prevent the message that pops up in the intro screen from exiting the level. (It will act exactly the same as a message in any other level.)
$05B21D/x2B41D: [39] Tile properties of the Layer 3 tiles in message box messages in YXPCCCTT format. (Note: Lunar Magic ASM hacks render this address unused.)
$05B296/x2B496: [8D] Change to [0C] to prevent HDMA from getting disabled WHILE a message box is being displayed. Use with $05B129. |
| 2B30A | $05:B10A | 2 bytes | Misc. | Expanding/Shrinking speed of Message Box window. |
| 2B308 | $05:B108 | 2 bytes | Misc. | Expanding/Shrinking size of Message Box window.
Second digit of both bytes can't be other numbers than 0. |
| 2B306 | $05:B106 | 2 bytes | Misc. | Time when to show text after expanding/shrinking the Message Box window.
1st byte determines when to show the message.
2nd byte determines how fast to hide the message.
Edited values can't be higher than the default hex values. |
| 2A7D9 | $05:A5D9 | 2,854 bytes | Layer 3 | All the message box texts.
They're almost raw tilemaps (doesn't contain YXPCCCTT data) to be uploaded to VRAM, but setting the highest bit makes it add a newline too. |
| 2A790 | $05:A590 | 23 bytes | Misc. | Which levels have message boxes. Different values here corresponds to $13BF. If the highest bit (#$80) is set, it tells that message 2 is used for that level; if clear, message 1 is used.
Most likely not used when LM is done with the ROM. |
| 2A780 | $05:A580 | 16 bytes | Layer 3 | VRAM positions for the different lines of the message boxes. Actually the first half of stripe images; the second half is the same for all of those. It's at $05B1F7 (0x2B3F7). |
| 2A763 | $05:A563 | 29 bytes | Empty | Unused data |
| 2A421 | $05:A221 | 834 bytes | Layer 3 | Layer 3 underground rocks tiles placement, stripe image format. |
| 29CE0 | $05:9AE0 | 1,857 bytes | Layer 3 | Layer 3 castle windows tiles placement, stripe image format. |
| 29C17 | $05:9A17 | 201 bytes | Layer 3 | Layer 3 goldfish tiles placement, stripe image format. |
| 297DE | $05:95DE | 1,081 bytes | Layer 3 | Layer 3 ghost house fog tiles placement, stripe image format. |
| 29749 | $05:9549 | 149 bytes | Layer 3 | Layer 3 tide tiles placement, stripe image format. |
| 29494 | $05:9294 | 693 bytes | Layer 3 | Layer 3 crusher tiles placement, stripe image format. |
| 29287 | $05:9087 | 525 bytes | Layer 3 | Layer 3 cage tiles placement, stripe image format. |
| 29200 | $05:9000 | 135 bytes | Pointer | 24-bit layer 3 pointer. 3 pointer addresses per FG/BG tileset (tilesets 0-E). First pointer for low and high tides, second pointer for low tide only, third pointer for tileset specific layer 3 (although technically, all layer 3 settings here can be tileset specific). |
| 29019 | $05:8E19 | 487 bytes | Empty | Filled with FF. |
| 28E85 | $05:8C85 | 1 byte | Objects | Which tileset's layer 2 always uses palettes 4-7, never 0-3. Default is 03 (Underground 1). To disable this effect, set it to anything invalid, like FF. |
| 28C95 | $05:8A95 | 2 bytes | Coordinate | Until which Y position (default : #$01B0) all Map16 tiles' graphics should be updated. |
| 289A4 | $05:87A4 | 3 bytes | ASM | Same as $05:80D5. Both must be changed to the same values. |
| 286E2 | $05:84E2 | 1 byte | Music | Level Music - Switch Palace [12] (change to any other value to change what music plays by default in Switch Palaces) |
| 286E1 | $05:84E1 | 1 byte | Music | Level Music - Boss Battle [05] (change to any other value to change what music plays by default during boss battles) |
| 286E0 | $05:84E0 | 1 byte | Music | Level Music - Water [03] (change to any other value to change what music plays by default in water levels) |
| 286DF | $05:84DF | 1 byte | Music | Level Music - Ghost House [07] (change to any other value to change what music plays by default in Ghost Houses) |
| 286DE | $05:84DE | 1 byte | Music | Level Music - Castle [08] (change to any other value to change what music plays by default in Castles and Fortresses) |
| 286DD | $05:84DD | 1 byte | Music | Level Music - Piano [01] (change to any other value to change what music plays by default in rope/sky levels) |
| 286DC | $05:84DC | 1 byte | Music | Level Music - Cave Drums [06] (change to any other value to change what music plays by default in cave levels) |
| 286DB | $05:84DB | 1 byte | Music | Level Music - Here We Go! [02] (change to any other value to change what music plays by default in grassland levels) |
| 286D7 | $05:84D7 | 4 bytes | Timer | Hundreds digits for the four time limits that can be specified in the level header. Default is $00, $02, $03, $04 for time limits of 0, 200, 300, and 400. Tens and ones digits are set to 0 at $05858A. |
| 286B7 | $05:84B7 | 32 bytes | Misc. | Table containing the default YXPPCCCT sprite tile settings for each level mode. Stored to $64.
It's used for determining whether or not layer priority should work in a level mode; the value #$30 means that it won't work, while #$20 means that it will. |
| 28697 | $05:8497 | 32 bytes | Misc. | Table of Fight Mode values for each level mode. Stored to $0D9B. |
| 28677 | $05:8477 | 32 bytes | Misc. | Table of CGADSUB values for each level mode. Stored to $40. |
| 28657 | $05:8457 | 32 bytes | Misc. | Table of TD&TSW values for each level mode. Stored to $0D9E. |
| 28637 | $05:8437 | 32 bytes | Misc. | Table of TM&TMW values for each level mode. Stored to $0D9D. |
| 28617 | $05:8417 | 32 bytes | Misc. | Table of Screen Mode values for each level mode. Stored to $5B. |
| 2853A | $05:833A | 114 bytes | Subroutine (JSx FIXME) | This routine is used within the level clear to set $7FC800-$7FFFFF to #$00. |
| 284C8 | $05:82C8 | 114 bytes | Subroutine (JSx FIXME) | This routine is used within the level clear to set $7EC800-$7EFFFF to #$25. |
| 283BB | $05:81BB | 64 bytes | Misc. | Map16 tileset-specific table. Each bit (from high to low) corresponds to one tile. When the game sets up tile pointers, if the bit is set, it writes and then increments (by 2) P1 (which is initialized to the value at $058000 + (Tileset * 2)), otherwise it writes and increments P2 (initialized to $(0D)8000). |
| 282D5 | $05:80D5 | 3 bytes | ASM | Handles pipe colours in horizontal levels. Change to:
EA - Pipes change colour every half-screen.
EAEA - Every 1/4 screen (every 2 pipes).
EAEAEA - Every pipe.
EAEA0A - Every half pipe (every pipe is 2-toned).
EAA9xx - All pipes are same colour (xx=00, 01, 02 or 04).
Must be combined with $05:87A4.
Warning: Does not have any effect on ROMs LM 1.7 has been used on. |
| 281B1 | $04:FFB1 | 79 bytes | Empty | Unused data. |
| 28090 | $04:FE90 | 71 bytes | Sprite Subroutine | Overworld sprite speed routine. |
| 27FB0 | $04:FDB0 | 1 byte | Sprite tilemap related | Tile to use for overworld Boo |
| 27FAD | $04:FDAD | 1 byte | Sprite tilemap related | Pal/flip/etc. of overworld Boo (facing right) |
| 27FA6 | $04:FDA6 | 1 byte | Sprite tilemap related | Pal/flip/etc. of overworld Boo (facing left) |
| 27F38 | $04:FD38 | 1 byte | Sprite tilemap related | Tile to use for overworld Bowser in clown car |
| 27F35 | $04:FD35 | 1 byte | Sprite tilemap related | Pal/flip/etc. of overworld Bowser (facing right) |
| 27F2E | $04:FD2E | 1 byte | Sprite tilemap related | Pal/flip/etc. of overworld Bowser (facing left) |
| 27ED3 | $04:FCD3 | 1 byte | Sprite tilemap related | Tile to use for Yoshi's House smoke (2) |
| 27EC6 | $04:FCC6 | 1 byte | Sprite tilemap related | Tile to use for Yoshi's House smoke (1) |
| 27D79 | $04:FB79 | 1 byte | Sprite tilemap related | Tile to use for overworld clouds |
| 27D76 | $04:FB76 | 1 byte | Sprite tilemap related | Pal/flip/etc. of overworld cloud (right half) |
| 27D65 | $04:FB65 | 1 byte | Sprite tilemap related | Pal/flip/etc. of overworld cloud (left half) |
| 27D44 | $04:FB44 | 3 bytes | Misc. | Change from 20 62 FE to EA EA EA to make the overworld clouds not show up (even if you use sprite slots for them). |
| 27D3D | $04:FB3D | 1 byte | Misc. | Y speed of overworld clouds |
| 27D38 | $04:FB38 | 1 byte | Misc. | X speed of overworld clouds |
| 27D03 | $04:FB03 | 1 byte | Sprite tilemap related | Palette/flip/etc. of overworld Piranha Plant |
| 27D01 | $04:FB01 | 1 byte | Sprite tilemap related | Tile to use for overworld Piranha Plant (2) |
| 27CFB | $04:FAFB | 1 byte | Sprite tilemap related | Tile to use for overworld Piranha Plant (1) |
| 27CB8 | $04:FAB8 | 1 byte | Sprite tilemap related | Tile to use for overworld Cheep-Cheep (2) |
| 27CB2 | $04:FAB2 | 1 byte | Sprite tilemap related | Tile to use for overworld Cheep-Cheep (1) |
| 27C7E | $04:FA7E | 1 byte | Sprite Misc. | No. of frames used by OW Cheep-Cheep's splash. |
| 27C79 | $04:FA79 | 1 byte | Sound effect | Sound overworld Cheep-Cheep makes |
| 27C74 | $04:FA74 | 1 byte | Misc. | Maximum height overworld Cheep-Cheep can jump |
| 27C6F | $04:FA6F | 1 byte | Sprite tilemap related | Base Palette/flip/etc. of overworld Cheep-Cheep |
| 27C6D | $04:FA6D | 1 byte | Misc. | Flip to use when approaching overworld Cheep-Cheep from left |
| 27A29 | $04:F829 | 10 bytes | Misc. | Table which determines on which OW submaps sprites are disabled. myvfbswx format, where m = main, y = Yoshi's Island, v = Vanilla Dome, b = Valley of Bowser, s = Special World, w = Star World, x = not used. |
| 2794B | $04:F74B | 35 bytes | Subroutine (JSx FIXME) | Subroutine which is used for the flashing effect in Valley of Bowser.
$04F750 (27950) - Changing this to EA EA EA will fix a bug with the palette when you disable the lightning in Bowser's Map.
$04F754 (27954) - Change to 80 to disable lightning in Bowser's Valley (no bug), or change to 00 to have an all round lightning effect (everything flashes). |
| 27944 | $04:F744 | 1 byte | Timer | How long the lightning flash stays on screen (Bowser's Valley) |
| 27937 | $04:F737 | 1 byte | Music | Sound effect for the thunder in Valley of Bowser. |
| 27909 | $04:F709 | 1 byte | Overworld | Submaps on where to disable the thunder effect (originally used in Valley of Bowser).
#$80 - Main map
#$40 - Yoshi's Island
#$20 - Vanilla Dome
#$10 - Forest of Illusion
#$08 - Valley of Bowser
#$04 - Special World
#$02 - Star World
#$01 - Unused
Note that the bits in this address disables the thunder in this submap, so to disable it everywhere, #$FF is the correct value. |
| 27825 | $04:F625 | 65 bytes | Misc. | Overworld sprite data - controls 13 of the 16 slots of the overworld sprite tables (the first 3 of the 16 are reserved for clouds). One overworld sprite has 5 bytes:
Byte 1 - sprite number
Byte 2 - X-Pos, low
Byte 3 - X-Pos, high
Byte 4 - Y-Pos, low
Byte 5 - Y-Pos, high
Data is only read once, on titlescreen load. (Which also explains the bug that occurs with the titlescreen showing an unnecessary cloud tile.) |
| 2772B | $04:F52B | 249 bytes | Misc. | Main Lives Exchanger routine
$04F56F (2776F) is X location of Mario on lives exchange
$04F570 (27770) is Y location of Mario on lives exchange
$04F575 (27775) is X location of Luigi on lives exchange
$04F576 (27776) is Y location of Luigi on lives exchange
$04F57B (2777B) is Tile to use for Mario on lives exchange
$04F57C (2777C) is Pal/flip/etc. of Mario on lives exchange
$04F581 (27781) is Tile to use for Luigi on lives exchange
$04F582 (27782) is Pal/flip/etc. of Luigi on lives exchange |
| 274AA | $04:F2AA | 1 byte | Misc. | How many ! blocks are spawned on OW after switch palace. |
| 274A5 | $04:F2A5 | 1 byte | Sound effect | [1C] Sound played by the switch palace blocks as they fly across the overworld (after pressing a switch). |
| 274A1 | $04:F2A1 | 1 byte | Misc. | No. of times the ! blocks are spawned on OW after switch palace. |
| 27494 | $04:F294 | 1 byte | Timer | How long until Switch Palace is destroyed. |
| 2713E | $04:EF3E | 834 bytes | Empty | Unused data. |
| 26EAB | $04:ECAB | 1 byte | Sound effect | SFX that makes when the level tile appears. |
| 26D42 | $04:EB42 | 1 byte | Misc. | Change from D0 to 80 to make the Forest of Illusion submap reveal its event tiles at the same speed as the other submaps |
| 26D41 | $04:EB41 | 1 byte | Misc. | Determines which submap reveals its event tiles at a slower rate (Default value is 03: Forest of Illusion) |
| 26CA8 | $04:EAA8 | 1 byte | Timer | Delay between laying down individual OW event tiles. Change from 40 to 00 for minimal delay. |
| 26964 | $04:E764 | 1 byte | Sound effect | SFX that makes the path appear (OW). |
| 26870 | $04:E670 | 1 byte | Sound effect | Castle Destroyed (OW) Sound Effect. |
| 26860 | $04:E660 | 1 byte | Misc. | Level that triggers overworld Earthquake sequence |
| 267EE | $04:E5EE | 82 bytes | Subroutine (JSx FIXME) | Subroutine that runs events at level end. |
| 267D6 | $04:E5D6 | 24 bytes | Overworld | Which event numbers will trigger castle/fortress/switch palace tile destruction sequences. |
| 26777 | $04:E577 | 16 bytes | Pointer | Pointer to locations in the routine that runs events. |
| 26653 | $04:E453 | 285 bytes | Subroutine (JSx FIXME) | Routine that loads the overworld layer 2 events on game load and OW load after cutscenes (possibly at every OW load). |
| 26559 | $04:E359 | 242 bytes | Overworld | Table that tells how many layer 2 tiles each event reveals and where in the table ($04DD8D) they start. This table contains 121 16-bit values; one for each event, and one to tell where $04DD8D ends. |
| 25F8D | $04:DD8D | 1,484 bytes | Overworld | A table used by layer 2 events. It contains 0x173 four byte entries. The first two bytes in each entry are for the source offset ($0C8000) (also decides size), the last two are for the target offset ($7F4000). |
| 25F57 | $04:DD57 | 54 bytes | Subroutine (JSx FIXME) | Subroutine that decompresses LC_RLE1 data. |
| 25DC8 | $04:DBC8 | 7 bytes | Music | Music tracks used by the different submaps, indexed by submap ID ($1F11). |
| 25CBA | $04:DABA | 53 bytes | Subroutine (JSx FIXME) | Subroutine that decompresses LC_RLE2 data. |
| 25C1D | $04:DA1D | 44 bytes | Misc. | 22 bytes of layer 1 tiles, followed by 22 bytes of other layer 1 tiles to turn the first set into. this is how "future layer 1 tiles" work - tiles from the first list (most of which are blank) are transformed into tiles on the second list (level tiles and such). |
| 25878 | $04:D678 | 96 bytes | Overworld | Which directions you go in after beating a level, indexed by level ID ($13BF).
Unknown format. |
| 2422B | $04:C02B | 5,709 bytes | Misc. | Overworld layer 2 data's tilemap data: Tile properties (YXPCCCTT).
Table is compressed in the LC_RLE2 format |
| 22733 | $04:A533 | 6,904 bytes | Misc. | Overworld layer 2 data's tilemap data: Tile numbers.
Table is compressed in the LC_RLE2 format |
| 22600 | $04:A400 | 307 bytes | Overworld border | Layer 3 Border Tile Data: The 95s, 96s, and 97s are the tiles used for the Mushrooms, Stars, and Fire Flowers (respectively). The overworld border's "filler" tiles (tile FE by default) are determined by bytes at: x22604 (top rows overworld border); x2260A (first column, left-hand side); x22610 (second column, left-hand side); x22616 (top right corner by map shadow); x2261C (right-hand side column); x22622 (bottom rows).
x22730 is the x beside Mario and the Lives in the overword border. Change from 8F to FE to remove it. |
| 223B6 | $04:A1B6 | 586 bytes | Empty | Unused data |
| 222FC | $04:A0FC | 186 bytes | Layer 3 | How to put level names together.
Format: 16 bits/entry.
First byte contains the offsets to the second and third parts (lowest four bits there is third part, upper four bits there is second), while the second byte (except the highest bit, which is unused) contains the offset to the first part.
Note that those offsets aren't direct, they point to $049C91, $049CCF, or $049CED (note: those offsets are 16bit), which contains the real offsets to $049AC5. |
| 2224D | $04:A04D | 1 byte | Overworld | [36] Change to [87] to allow overworld path tile 36 to be used as the missing water path tile. Must be combined with $049F11, $049FB3, and $04A020. |
| 22220 | $04:A020 | 1 byte | Overworld | [08] Change to [0C] to allow overworld path tile 36 to be used as the missing water path tile. Must be combined with $049F11, $049FB3, and $04A04D. |
| 221EB | $04:9FEB | 81 bytes | Misc. | One byte per tile, starts at tile $01 and goes to $51
Mario pose while walking
0 - Mario Vertical
4 - Mario Horizontal
8 - Mario Swimming Vertical
C - Mario Swimming Horizontal
10 - Entering Level
14 - Climbing
18-FF - Unused
Only multiples of 4 seem to be used, using a value inbetween just seems to result in oddly animated versions of the normal values |
| 221B3 | $04:9FB3 | 2 bytes | Overworld | [00 01] Change to [01 00] to allow overworld path tile 36 to be used as the missing water path tile. Must be combined with $049F11, $04A020, and $04A04D. |
| 22149 | $04:9F49 | 162 bytes | Misc. | Two bytes per tile, starts at tile $01 and goes to $51
If the two bytes are $01,$00 then the tile is a horizontal path
If they are $00,$01 then a vertical path.
No other values were used in game
It seems odd to use two bytes to do this, so it might be worth experimenting with other values |
| 22111 | $04:9F11 | 2 bytes | Overworld | [FC F8] Change to [10 04] to allow overworld path tile 36 to be used as the missing water path tile. Must be combined with $049FB3, $04A020, and $04A04D. |
| 220A7 | $04:9EA7 | 162 bytes | Misc. | Two bytes per tile, starts at tile $01 and goes to $51.
First byte is X distance mario moves across tile
Second byte is Y distance mario moves across tile
The distance is based on walking right for a horizontal path
and walking down for a vertical path (see next entry) |
| 21F22 | $04:9D22 | 2 bytes | Coordinate | Position of OW level names. Increase/decrease by 1 to make it move up to the right/left, increase/decrease by 20 to make it move down/upwards.
Note that #$8B should be considered the low byte for the address, not #$50. |
| 21CC5 | $04:9AC5 | 460 bytes | Layer 3 | Level names.
It's almost raw tilemaps ready to be uploaded to VRAM (no YXPCCCTT), but if the highest bit is set, it gets cleared and it's the end of the area.
However, it's cut to small chunks. See $04A0FC (0x222FC) for how they're put together. |
| 21AF0 | $04:98F0 | 1 byte | Coordinate | At which Y position Mario should stop the intro march on the overworld (walking to Yoshi's house after start of new game). Default: $78. |
| 21ACA | $04:98CA | 1 byte | Overworld | Initial Y speed of the player when walking up to Yoshi's house. Each frame, he moves up one pixel, and then he's moved down this many 256ths of a pixel. Since the default value for this is #$80, this means Mario moves up #$100-#$80=#$80 pixel 256ths, which is half a pixel. |
| 21A85 | $04:9885 | 65 bytes | Subroutine (JSR) | Calculator for the players overworld tile position. Before calling this function $00 must contain the 16 bit X position of the player, $02 must contain the 16 bit Y position of the player, and X must be 0 or 1 (luigi, mario). Additionally, A must be 16 bit. |
| 2189F | $04:969F | 6 bytes | Sound effect | Replace [A9 23 00 8D FC 1D] with [EA EA EA EA EA EA] to disable the "beep" when Mario moves onto a level tile. |
| 2185C | $04:965C | 1 byte | Overworld | Change to 80 (BRA) to make Mario stand on OW tiles 6A through 6D, instead of swimming through them. |
| 21626 | $04:9426 | 10 bytes | Misc. | List of layer 1 overworld tiles that allow mario to walk from one map to another ("exit level tiles" in lunar magic) |
| 21614 | $04:9414 | 2 bytes | Mario physics | Speed of Mario on the OW (Higher = faster). First byte is normal ground, second is stairs. |
| 21491 | $04:9291 | 3 bytes | Debug | If you replace this with "4C AF 92" (JMP $92AF), it will enable to walk in unrevealed paths on the overworld.
(But it will not work correctly with star road warps) |
| 21464 | $04:9264 | 1 byte | Misc. | On the overworld, Mario always faces you after he moves onto a level tile. Change the 09 to a 00 to disable that. Mario will continue facing the last direction he was moving towards after he moves onto a level tile. |
| 2142E | $04:922E | 1 byte | Misc. | Change to 00 to make Mario stay in place after completing a level on the overworld (as opposing to moving to the next level) |
| 213E3 | $04:91E3 | 1 byte | Music | [FB] Change to f9 or fc to use sound effect when entering a level. |
| 213E1 | $04:91E1 | 1 byte | Music | [80] Music to use when entering a level. |
| 213B8 | $04:91B8 | 29 bytes | Misc. | Loads Mario/Luigi's powerups, coins, Yoshies, and lives |
| 21371 | $04:9171 | 1 byte | Sound effect | Sound effect played when warping over a star road tile. |
| 21336 | $04:9136 | 1 byte | Misc. | Change to F0 to make player warp to Star Road if Select is pressed at Yoshi's House |
| 2130E | $04:910E | 18 bytes | Misc. | Hardcoded path data. A list of offsets into the fields at $04:9086 and $04:90CA. This list corresponds to the list at $04:9078; this offset tells where the tile data for that level's hardcoded path begins. |
| 212CA | $04:90CA | 68 bytes | Misc. | Hardcoded path information. For each tile in the list at $04:9086, there is a corresponding tile in this list. These tiles determine the facing of Mario while walking along that path.
$02: Down
$00: Up
$04: Left
$06: Right |
| 21286 | $04:9086 | 68 bytes | Misc. | This is a list of all of the hardcoded paths, in the same order as the levels defined in $04:9078. The paths are a list of the Layer 1 tiles that Mario would encounter along the path if the path were not hardcoded. Each path ends in a level tile of some kind, which matches a visible level tile in the world. |
| 21282 | $04:9082 | 4 bytes | Coordinate | The 16-bit X and Y position in the overworld that will be used for the hardcoded path from the pipe to Chocolate Island 2. |
| 21278 | $04:9078 | 10 bytes | Misc. | The list of levels that have hard-coded paths. Each byte represents a level. The value 0xFF means to check for a particular overworld position instead of a level (for the pipe that Chocolate Island 2 leads to). Setting any of these levels to 0 will disable that hardcoded path. |
| 21194 | $04:8F94 | 72 bytes | Subroutine (JSx FIXME) | "Set up saving" routine. This copies a number of RAM addresses to the table at $1F49. You probably want to copy this to your patch (it contains lots of weirdness you don't want, so don't use the JSL to RTS trick). |
| 21193 | $04:8F93 | 1 byte | ASM | [6C] Changing this to [00] will cause all overworld tiles to show the save prompt when the corresponding level is beaten. |
| 2117F | $04:8F7F | 8 bytes | Misc. | The overworld tiles that trigger a save prompt. default is $58 (fortress), $59 (unrevealed fortress, not used in the original game because all tiles are revealed before you play them), $5D (castle), $63 (ghost house), $77,$79 (switch palaces), $7E (yellow dots from special world), $80 (Sunken Ship tile) |
| 21108 | $04:8F08 | 1 byte | Coordinate | On which Y position Mario should be walking upwards after the intro screen (walking to Yoshi's House). (To be used with PC x2B35C / SNES $05B15C.) |
| 21101 | $04:8F01 | 1 byte | Coordinate | On which X position Mario should be walking upwards after the intro screen (walking to Yoshi's House).
In other words, on this X-position, the intro march will be triggered at the beginning of the game. |
| 210FA | $04:8EFA | 1 byte | Misc. | On which submap Mario should be walking upwards after the intro screen (walking to Yoshi's House). |
| 210EB | $04:8EEB | 3 bytes | ASM | If you change this to EA EA EA, the background water tiles on the overworld will not show up. |
| 2102E | $04:8E2E | 1 byte | Music | Change to 80 to fix the glitch that occurs when Mario defeats one of the Koopalings and the music on the Overworld "disappears". Also applies for Custom Music. |
| 20BDE | $04:89DE | 384 bytes | Sprite tilemap related | Overworld sprite tilemap (More M/L, Yoshi)
Change $04:8A36 (0x20C36) to [42 22 43 22 52 22 53 22] to fix a bug where Yoshi is partially red sometimes, no matter which color he really has. |
| 209CB | $04:87CB | 384 bytes | Sprite tilemap related | Overworld sprite tilemap (Mario/Luigi) (2 bytes per 8x8 tile) |
| 209C1 | $04:87C1 | 1 byte | Sprite tilemap related | Properties of right half of Mario's halo on the overworld, in YXPPCCCT format. |
| 209BC | $04:87BC | 1 byte | Sprite tilemap related | Properties of left half of Mario's halo on the overworld, in YXPPCCCT format. |
| 209B4 | $04:87B4 | 1 byte | Sprite tilemap related | Tile to use for both halves of Mario's halo on the overworld. |
| 20969 | $04:8769 | 3 bytes | ASM | Change to EA EA EA to keep the inactive player from appearing on the map |
| 2081B | $04:861B | 1 byte | Overworld border | X placement of second to fourth row of tiles behind Mario |
| 20808 | $04:8608 | 1 byte | Overworld border | Attributes of group behind Mario |
| 20803 | $04:8603 | 1 byte | Overworld border | Tile used for group behind Mario |
| 207ED | $04:85ED | 1 byte | Overworld border | Y placement of tile group behind Mario |
| 207E9 | $04:85E9 | 1 byte | Overworld border | X placement of first row of tiles behind Mario |
| 207E8 | $04:85E8 | 1 byte | Overworld border | Change this byte to [60] (RTS) to get rid of the 32x32 box that surrounds the Mario image. |
| 207CF | $04:85CF | 4 bytes | Overworld border | Change from 22 BD E2 00 to EA EA EA EA to remove Mario from the Overworld border |
| 207BC | $04:85BC | 1 byte | Overworld border | Mario's speed on the overworld (the one in the top-left). Since you don't actually move, it's only a graphical aspect. 0 is the lowest value possible - stand still. 1-3F speed up gradually. Other values aren't recommended and/or give the same effect. |
| 207B2 | $04:85B2 | 1 byte | Overworld border | Y placement of Mario |
| 207AA | $04:85AA | 1 byte | Overworld border | X placement of Mario |
| 20580 | $04:8380 | 1 byte | Misc. | Change to 00 to disable looking around the overworld map |
| 2048D | $04:828D | 2 bytes | ASM | Change to EA EA to enable "Lives Exchanger" function in 1 Player Game (by pressing L or R on map screen)
Change to 80 06 to disable "Lives Exchanger" function entirely |
| 2044B | $04:824B | 1 byte | Debug | Change from 80 to F0, and pushing select on the OW will cycle through Yoshi colours. |
| 20286 | $04:8086 | 51 bytes | Subroutine (JSx FIXME) | Seems to handle drawing the default water tiles on the overworld. |
| 1FFE0 | $03:FDE0 | 544 bytes | Empty | Unused data. |
| 1E600 | $03:E400 | 6,624 bytes | Music | Credit music SPC data. |
| 1E25C | $03:E05C | 932 bytes | Empty | Unused data. |
| 1E243 | $03:E043 | 4 bytes | Pointer | Pointer to Bowser's first palette |
| 1E22D | $03:E02D | 7 bytes | Misc. | Code for loading BG flashes during Bowser battle. Change to EA EA EA EA EA EA EA to disable. |
| 1E216 | $03:E016 | 5 bytes | ASM | Lightning sound FX for Bowser battle. Change to EA EA EA EA EA to disable noise. |
| 1E10A | $03:DF0A | 1 byte | Misc. | How many animation frames Clown Car's propeller has, -1 |
| 1DF78 | $03:DD78 | 5 bytes | Graphics | Graphics files used for Morton, Roy, and Ludwig. The last two bytes are unused. |
| 1DF73 | $03:DD73 | 5 bytes | Pointer | High byte for the pointers to the SNES addresses for Morton, Roy, and Ludwig's palettes. The last two bytes are unused. |
| 1DF6E | $03:DD6E | 5 bytes | Pointer | Low byte for the pointers to the SNES addresses for Morton, Roy, and Ludwig's palettes. The last two bytes are unused. |
| 1DDBE | $03:DBBE | 432 bytes | Mode7 tilemap | Bowser tilemap |
| 1DBDE | $03:D9DE | 480 bytes | Mode7 tilemap | Morton, Roy and Ludwig tilemap |
| 1D91B | $03:D71B | 1 byte | Misc. | Number of Reznors killed before bridge begins breaking |
| 1D8AC | $03:D6AC | 84 bytes | Empty | Unused data. |
| 1D52A | $03:D32A | 20 bytes | Sprite tilemap related | Wendy Koopa's Decoys' Palette/gfx page/priority/flip |
| 1D4B8 | $03:D2B8 | 110 bytes | Sprite tilemap related | Wendy Koopa's Palette/gfx page/priority/flip |
| 1D4A0 | $03:D2A0 | 20 bytes | Sprite tilemap related | Lemmy Koopa's Decoys' Palette/gfx page/priority/flip |
| 1D42E | $03:D22E | 111 bytes | Sprite tilemap related | Lemmy Koopa's Palette/gfx page/priority/flip |
| 1D3A4 | $03:D1A4 | 138 bytes | Sprite tilemap related | Sprite tilemap: Wendy O. Koopa(and decoys).
$03D1D7 (1D3D7) - Change to 1F 1E to fix Wendy's Bow (In conjunction with three other addresses)
$03D1DD (1D3DD) - Change to 1E 1F to fix Wendy's Bow (In conjunction with three other addresses) |
| 1D31A | $03:D11A | 138 bytes | Sprite tilemap related | Sprite tilemap: Lemmy Koopa(and decoys) |
| 1D1B5 | $03:CFB5 | 1 byte | Sprite tilemap related | Change to 08 to fix Wendy's Bow (In conjunction with three other addresses) |
| 1D1AF | $03:CFAF | 1 byte | Sprite tilemap related | Change to 08 to fix the flip of Wendy's Bow (In conjunction with three other addresses) |
| 1D0E1 | $03:CEE1 | 1 byte | Timer | How long Lemmy stalls after being hit. |
| 1D0D4 | $03:CED4 | 1 byte | Misc. | Number of times minus one Lemmy/Wendy must be hit before other sprites in the room vanish. |
| 1D0CC | $03:CECC | 1 byte | Sound effect | Sfx that plays when Lemmy/Wendy has been hit. |
| 1D0C2 | $03:CEC2 | 1 byte | Sound effect | Hitting Lemmy/Wendy/enemies sound effect. (note: when hitting Lemmy/Wendy, 2 sound effects are played together.) |
| 1D0B8 | $03:CEB8 | 1 byte | Misc. | Points you get for hitting Lemmy/Wendy or decoys. Default 02 - 400pts. |
| 1D09A | $03:CE9A | 1 byte | Music | Music played after Lemmy/Wendy is defeated |
| 1D095 | $03:CE95 | 1 byte | Timer | How long the fadeout is on the screen before the Castle Destruction Sequence appears. |
| 1D07F | $03:CE7F | 1 byte | Sound effect | Lemmy/Wendy falling in lava Sound Effect. |
| 1D047 | $03:CE47 | 1 byte | Sound effect | Incorrect sound effect for Lemmy/Wendy Battle. |
| 1D034 | $03:CE34 | 1 byte | Sound effect | Correct! Sound Effect. |
| 1D025 | $03:CE25 | 1 byte | Sound effect | Lemmy/Wendy falling Sound Effect. |
| 1D01A | $03:CE1A | 1 byte | Misc. | Lemmy and Wendy's HP |
| 1D011 | $03:CE11 | 1 byte | Misc. | Change to F0 to make Lemmy/Wendy and enemies immediately go back into the pipe when they have been hit. (will not play the correct! sound effect.) |
| 1D001 | $03:CE01 | 1 byte | Timer | How long until Lemmy/Wendy and enemies energe from the pipes. |
| 1CFD5 | $03:CDD5 | 1 byte | Misc. | Setting for Lemmy/Wendy's decoys. 00 - keep appearing after boss's defeat, 01 - interaction disabled, 02 - paralyzed, 03 - normal |
| 1CDFE | $03:CBFE | 1 byte | Sprite physics | Y-speed of sprite spawned by Puntin' Chuck |
| 1CDC6 | $03:CBC6 | 1 byte | Sprite Misc. | Status of sprite spawned by Puntin' Chuck |
| 1CDBA | $03:CBBA | 1 byte | Sprite number | Sprite Puntin' Chuck kicks |
| 1CDB1 | $03:CBB1 | 2 bytes | Sprite physics | X-speed of sprite spawned by Puntin' Chuck, low byte (facing right/left) |
| 1CDAF | $03:CBAF | 2 bytes | Sprite physics | X-speed of sprite spawned by Puntin' Chuck, high byte (facing right/left) |
| 1CDAD | $03:CBAD | 2 bytes | Coordinate | X-position of sprite spawned by Puntin' Chuck (facing right/left) |
| 1CBB9 | $03:C9B9 | 40 bytes | Sprite tilemap related | Fireworks Tilemap |
| 1C69C | $03:C49C | 9 bytes | Sprite tilemap related | Spotlight / Disco Ball properties, YXPPCCCT. |
| 1C693 | $03:C493 | 9 bytes | Sprite tilemap related | Sprite tilemap: Disco Ball |
| 1C64E | $03:C44E | 65 bytes | Sprite Subroutine | Dry Bones's bone-throwing subroutine. It can be JSL'd to.
$03C462 - [06] Extended sprite number to throw.
$03C46A - [10] Y offset of the bone relative to the Dry Bones's position.
$03C486 - [18] X speed of the bone when the Dry Bones is facing right.
$03C48A - [E8] X speed of the bone when the Dry Bones is facing left. |
| 1C5CE | $03:C3CE | 9 bytes | Sprite tilemap related | Dry Bones tile table |
| 1C5C5 | $03:C3C5 | 9 bytes | Sprite tilemap related | Dry Bones y-displacement table (Bone, Head, Body) |
| 1C5C2 | $03:C3C2 | 3 bytes | Sprite tilemap related | Dry Bones palette/gfx page (Facing left) (Bone, Head, Body) |
| 1C5BF | $03:C3BF | 3 bytes | Sprite tilemap related | Dry Bones palette/gfx page (Facing right) (Bone, Head, Body) |
| 1C5B3 | $03:C3B3 | 12 bytes | Sprite tilemap related | Dry Bones x-displacement table (Bone, Head, Body) |
| 1C575 | $03:C375 | 1 byte | Misc. | Time it takes Ninji to jump |
| 1C548 | $03:C348 | 4 bytes | Sprite physics | Ninji's vertical speed when jumping |
| 1C543 | $03:C343 | 1 byte | Sound effect | Sound effect played when Mario discovers an invisible mushroom. The bank is stores to is located at 1C545 ($03:C345), default bank is $1DFC. |
| 1C53F | $03:C33F | 1 byte | Sprite physics | Y speed of mushroom after spawning from an invisible mushroom. |
| 1C519 | $03:C319 | 1 byte | Sprite number | Sprite that the invisible mushroom is made from |
| 1C4EC | $03:C2EC | 1 byte | Sprite number | Sprite spawned by the checkpoint block (1up) |
| 1C4C0 | $03:C2C0 | 1 byte | Sprite tilemap related | Top of Chainsaw |
| 1C4BB | $03:C2BB | 1 byte | Sprite tilemap related | Middle of Chainsaw |
| 1C45B | $03:C25B | 4 bytes | Sprite tilemap related | Chainsaw's Motor Tilemap |
| 1C364 | $03:C164 | 1 byte | Misc. | Time to stall Iggy/Larry's platform in between rotations |
| 1C31A | $03:C11A | 4 bytes | Misc. | How far to Iggy/Larry's rotate platforms |
| 1C312 | $03:C112 | 4 bytes | Misc. | Speed of rotation of Iggy/Larry's platform |
| 1C200 | $03:C000 | 35 bytes | Sprite Subroutine | This generates a Map16 tile at the position of the sprite currently being processed plus 8 pixels in both the X and Y direction. It can be accessed with a JSL, and A should be set to the value of $9C you wish to use. |
| 1BC02 | $03:BA02 | 1,534 bytes | Empty | Filled with FF. |
| 1BB82 | $03:B982 | 128 bytes | Palette | Big Boo Boss palettes (in same layout as Magikoopa palettes) |
| 1BB02 | $03:B902 | 128 bytes | Palette | Magikoopa palettes (8 palettes; 8 colours each, including transparent colour) |
| 1B92B | $03:B72B | 49 bytes | Sprite Subroutine | "Check for contact" subroutine. Uses the values in scratch RAM set by $03B69F and either $03B6E5 or $03B664 (or occasionally custom values) to determine whether two sprites, or a sprite and the player, are in contact. If the carry flag is set after calling this, they are in contact. |
| 1B8E5 | $03:B6E5 | 70 bytes | Sprite Subroutine | "Get sprite clipping B" subroutine. Stores the clipping X displacement low byte to $00, the clipping X displacement high byte to $08, the clipping width to $02, the clipping Y displacement low byte to $01, the clipping Y displacement high byte to $09, and the clipping height to $03. |
| 1B89F | $03:B69F | 70 bytes | Sprite Subroutine | "Get sprite clipping A" subroutine. Stores the clipping X displacement low byte to $04, the clipping X displacement high byte to $0A, the clipping width to $06, the clipping Y displacement low byte to $05, the clipping Y displacement high byte to $0B, and the clipping height to $07. |
| 1B864 | $03:B664 | 59 bytes | Subroutine (JSx FIXME) | "Get player clipping" subroutine. Stores the clipping X displacement low byte to $00, the clipping X displacement high byte to $08, the clipping width to $02, the clipping Y displacement low byte to $01, the clipping Y displacement high byte to $09, and the clipping height to $03.
$03B673 (1B873) - The width of Mario hitbox with sprites in pixels.
$03B67C (1B87C) - Change to A9 00 to make Super/Fire/Cape Mario have a 16x16 interaction field (like Small Mario)or change to A9 01 to have a 16x32 interaction field (like Big Mario)(in conjunction with addresses x6D79 and xB6C0) |
| 1B820 | $03:B620 | 60 bytes | Sprite physics | Height of sprite clippings. |
| 1B7E4 | $03:B5E4 | 60 bytes | Sprite physics | Y displacement of sprite clippings. |
| 1B7A8 | $03:B5A8 | 60 bytes | Sprite physics | Width of sprite clippings. |
| 1B76C | $03:B56C | 60 bytes | Sprite physics | X displacement of sprite clippings. |
| 1B752 | $03:B552 | 1 byte | Sprite tilemap related | Palette of 1st and 3rd rows of castle roof (copy) |
| 1B74D | $03:B54D | 1 byte | Sprite tilemap related | Tile of 1st row of castle roof (copy) |
| 1B749 | $03:B549 | 1 byte | Misc. | How many tiles will use the address below |
| 1B747 | $03:B547 | 1 byte | Sprite tilemap related | Tile of 3rd row of castle roof (copy. It is called for when Peach comes from Bowser's clown car ) |
| 1B718 | $03:B518 | 1 byte | Sprite tilemap related | Palette of 1st and 3rd rows of Bowser's castle roof |
| 1B713 | $03:B513 | 1 byte | Sprite tilemap related | Tile of 1st row of castle roof |
| 1B70F | $03:B50F | 1 byte | Misc. | How many tiles will use the address below |
| 1B70D | $03:B50D | 1 byte | Sprite tilemap related | Tile of 3rd row of Bowser's castle roof |
| 1B6F3 | $03:B4F3 | 1 byte | Misc. | How many tiles to load for 1st & 3rd row group, -1 |
| 1B6DA | $03:B4DA | 1 byte | Sprite tilemap related | Palette of 2nd row of Bowser's castle roof |
| 1B6D5 | $03:B4D5 | 1 byte | Sprite tilemap related | Tile of 2nd row of Bowser's castle roof |
| 1B6D1 | $03:B4D1 | 1 byte | Misc. | Difference in X-coordinate for tiles in 2nd row |
| 1B6C0 | $03:B4C0 | 1 byte | Misc. | Y-coordinate of 2nd row of castle roof |
| 1B6B9 | $03:B4B9 | 1 byte | Misc. | How many tiles to load for 2nd row group, -1 |
| 1B69C | $03:B49C | 16 bytes | Misc. | Y-coordinates of 1st and 3rd rows of castle roof |
| 1B68C | $03:B48C | 16 bytes | Misc. | X-coordinates of 1st and 3rd rows of Bowser's castle roof |
| 1B66E | $03:B46E | 1 byte | Sprite tilemap related | Bowser Battle Item Box Frame: Tile to use for the frame (each corner uses the same 16x16 tile) |
| 1B64B | $03:B44B | 4 bytes | Sprite tilemap related | Bowser Battle Item Box Frame: Attributes for each corner of the frame (same order as above) |
| 1B647 | $03:B447 | 4 bytes | Coordinate | Bowser Battle Item Box Frame: Y position of each corner of the frame (same order as above) |
| 1B643 | $03:B443 | 4 bytes | Coordinate | Bowser Battle Item Box Frame: X position of each corner of the frame (in the order upper-left, upper-right, lower-left, lower-right) |
| 1B5F3 | $03:B3F3 | 4 bytes | Sprite tilemap related | Mechakoopa Wind-up key tile table (4 animation frames, each 1 byte) |
| 1B5F2 | $03:B3F2 | 1 byte | Sprite tilemap related | Mechakoopa Wind-up key palette/gfx page left |
| 1B5F1 | $03:B3F1 | 1 byte | Sprite tilemap related | Mechakoopa Wind-up key palette/gfx page right |
| 1B5F0 | $03:B3F0 | 1 byte | Sprite tilemap related | Mechakoopa Wind-up key horizontal displacement left |
| 1B5EF | $03:B3EF | 1 byte | Sprite tilemap related | Mechakoopa Wind-up key horizontal displacement right |
| 1B56A | $03:B36A | 1 byte | Sprite tilemap related | Mechakoopa Animation frame used when kicked |
| 1B560 | $03:B360 | 1 byte | Sprite tilemap related | Mechakoopa Animation frame used when stunned |
| 1B556 | $03:B356 | 1 byte | Sprite tilemap related | Mechakoopa Regular palette/gfx page |
| 1B554 | $03:B354 | 1 byte | Sprite tilemap related | Mechakoopa Palette/gfx page used when coming to, #2 |
| 1B553 | $03:B353 | 1 byte | Sprite tilemap related | Mechakoopa Palette/gfx page used when coming to, #1 |
| 1B54F | $03:B34F | 4 bytes | Sprite tilemap related | Mechakoopa tile sizes (00= 8x8, 02= 16x16) |
| 1B54B | $03:B34B | 4 bytes | Sprite tilemap related | Mechakoopa tiles' priority/flip right |
| 1B547 | $03:B347 | 4 bytes | Sprite tilemap related | Mechakoopa tiles' priority/flip left |
| 1B52F | $03:B32F | 24 bytes | Sprite tilemap related | Mechakoopa tile table (6 animation frames, each 4 bytes) |
| 1B517 | $03:B317 | 24 bytes | Sprite tilemap related | Mechakoopa tile vertical displacement table (6 animation frames, each 4 bytes) |
| 1B513 | $03:B313 | 4 bytes | Sprite tilemap related | Mechakoopa tile horizontal displacement table right |
| 1B50F | $03:B30F | 4 bytes | Sprite tilemap related | Mechakoopa tile horizontal displacement table left |
| 1B3ED | $03:B1ED | 6 bytes | Sprite tilemap related | Sprite tilemap: Bowser's Steel Ball |
| 1B3B2 | $03:B1B2 | 1 byte | Sound effect | Steel Ball bouncing sound |
| 1B3A4 | $03:B1A4 | 1 byte | Sound effect | Bowser's Steel Ball hitting ground sound |
| 1B39A | $03:B19A | 1 byte | Coordinate | Y position to set Bowser's bowling ball to once it hits the "ground". If you change this, you must change $03B196 to the same value. |
| 1B396 | $03:B196 | 1 byte | Coordinate | Y position at which Bowser's bowling ball will stop falling. If you change this, you must change $03B19A to the same value. |
| 1B32A | $03:B12A | 1 byte | Sound effect | Bowser hurt sound |
| 1B2B9 | $03:B0B9 | 1 byte | Sound effect | Mario bumped by Clown Car sound |
| 1B231 | $03:B031 | 1 byte | Sprite number | Sprite Bowser Throws (Mecha Koopa) |
| 1AF07 | $03:AD07 | 1 byte | Mario tilemap | Palette of Mario's blushing tiles at the end of the game. YXPPCCCT format. Default: $31 (palette 8, second tile page, top priority) |
| 1AE95 | $03:AC95 | 2 bytes | Mario tilemap | Blushing Mario Faces (Super, Small) |
| 1AE93 | $03:AC93 | 2 bytes | Coordinate | Y-coords of blushing Mario face tiles (Super, small) |
| 1AE63 | $03:AC63 | 48 bytes | Sprite Subroutine | Routine that spawns Princess Peach from Bowser's clown car.
$03AC69 (0x1AE69) is the sprite ID Bowser spawns. Note that it will always use the 8th sprite slot.
$03AC7F (0x1AE7F) is the starting Y-coordinate of this sprite. |
| 1AE53 | $03:AC53 | 1 byte | Sound effect | Peach appearing after battle sound |
| 1ADF4 | $03:ABF4 | 1 byte | Sound effect | Bowser Defeated Sound |
| 1AD8D | $03:AB8D | 1 byte | Sound effect | Bowser's Clown Car bouncing sound |
| 1AD76 | $03:AB76 | 1 byte | Sprite physics | Y speed of bounce of Bowser's third part. |
| 1AD62 | $03:AB62 | 2 bytes | Sprite physics | X speed of bounce in Bowser's third part. |
| 1AD50 | $03:AB50 | 1 byte | Coordinate | Y Position Bowser hovers near in second part. |
| 1AD17 | $03:AB17 | 2 bytes | Sprite physics | X Speed of Bowser in second part. |
| 1ABCE | $03:A9CE | 80 bytes | Sprite tilemap related | Sprite tilemap: Princess Toadstool(Bowser Battle) |
| 1AAEE | $03:A8EE | 1 byte | Sprite number | Sprite Princess Throws |
| 1AAE9 | $03:A8E9 | 1 byte | Sprite Misc. | Status of sprite spawned by Peach |
| 1AAE4 | $03:A8E4 | 1 byte | Sound effect | Peach Throwing Sound |
| 1AAB3 | $03:A8B3 | 1 byte | Sound effect | Peach crying for help sound |
| 1AAAF | $03:A8AF | 1 byte | Timer | Timing of Peach crying for help sound |
| 1AA84 | $03:A884 | 1 byte | Timer | Timing of music for next attack phase |
| 1AA80 | $03:A880 | 1 byte | Timer | Timing of Bowser coming out of clown car |
| 1AA7C | $03:A87C | 1 byte | Timer | How soon Bowser starts moving again |
| 1AA6F | $03:A86F | 1 byte | Timer | Timing of Peach throwing the mushroom |
| 1AA65 | $03:A865 | 1 byte | Timer | Timing of Bowser stopping clown car in foreground |
| 1AA49 | $03:A849 | 2 bytes | Music | Music for the other Bowser Battle attack phases |
| 1AA41 | $03:A841 | 8 bytes | Sound effect | Bowser Battle other flame sounds |
| 1AA25 | $03:A825 | 2 bytes | Sprite Misc. | [F6 C2] By default, sets the sprite state for Bowser's Podoboo Rain to 01. Change to EA EA to change the sprite state back to 00 - useful if you want Bowser to spawn different falling sprites in between his regular attack rounds. |
| 1AA01 | $03:A801 | 1 byte | Sprite number | Sprite spawned by Bowser's fireball attack (fireballs falling from the sky). Default: 0x33. |
| 1A9FC | $03:A7FC | 1 byte | Sprite Misc. | Status of sprite spawned by Bowser's fireball attack |
| 1A9F7 | $03:A7F7 | 1 byte | Sound effect | Bowser Battle primary flame sound |
| 1A9E0 | $03:A7E0 | 1 byte | Timer | Timing to start Bowser fireball attack |
| 1A9CC | $03:A7CC | 1 byte | Coordinate | Y Position Bowser returns to after fire attack. |
| 1A9C2 | $03:A7C2 | 1 byte | Music | Bowser scene 3 music |
| 1A9B9 | $03:A7B9 | 1 byte | Coordinate | X Position Bowser returns to after fire attack. |
| 1A9A8 | $03:A7A8 | 1 byte | Music | Music played during Bowser's fireball phase |
| 1A902 | $03:A702 | 1 byte | Music | Music played when Bowser flies away |
| 1A883 | $03:A683 | 1 byte | Misc. | Bowser hit count for final 2 phases |
| 1A823 | $03:A623 | 1 byte | Sprite number | Sprite Bowser Throws (Bowling Ball) |
| 1A818 | $03:A618 | 1 byte | Timer | Amount of time before Bowser drops 2nd steel ball |
| 1A80F | $03:A60F | 1 byte | Timer | Amount of time before Bowser drops Mechakoopas (after dropping the 2nd steel ball) |
| 1A804 | $03:A604 | 1 byte | Sound effect | Bowser dropping Ball sound |
| 1A800 | $03:A600 | 1 byte | Timer | Timing of steel ball dropping |
| 1A7B8 | $03:A5B8 | 1 byte | Timer | Amount of time between Bowser dropping Mechakoopas |
| 1A696 | $03:A496 | 2 bytes | Sprite physics | Y speed of Bowser's swoop in first part. |
| 1A692 | $03:A492 | 2 bytes | Sprite physics | X speed of Bowser's swoop in first part. |
| 1A651 | $03:A451 | 1 byte | Sprite physics | Speed of Bowser's descent before battle. |
| 1A5D9 | $03:A3D9 | 9 bytes | Sprite tilemap related | Tilemap: Clouds from Bowser's Clown Car |
| 1A30B | $03:A10B | 1 byte | Misc. | Bowser hit count for first phase |
| 1A306 | $03:A106 | 1 byte | Coordinate | Bowser's initial X Pos high byte |
| 1A302 | $03:A102 | 1 byte | Coordinate | Bowser's initial X Pos |
| 1A2FD | $03:A0FD | 1 byte | Coordinate | Bowser's initial Y Pos high byte |
| 1A2F9 | $03:A0F9 | 1 byte | Coordinate | Bowser's initial Y Pos |
| 1A29C | $03:A09C | 1 byte | Sprite tilemap related | Blargg palette/gfx page, left |
| 1A29B | $03:A09B | 1 byte | Sprite tilemap related | Blargg palette/gfx page, right |
| 1A291 | $03:A091 | 10 bytes | Sprite tilemap related | Blargg Tilemap |
| 1A275 | $03:A075 | 1 byte | Sprite tilemap related | Tile used by Blargg's Eyes Peeking out of Lava |
| 1A234 | $03:A034 | 1 byte | Timer | Time it takes for Blargg to resurface. (eyes) |
| 1A1FB | $03:9FFB | 1 byte | Sound effect | Blargg Growl Sound Effect. |
| 1A10E | $03:9F0E | 1 byte | Misc. | Which segment of Dino Torch's flame doesn't flip |
| 1A0F3 | $03:9EF3 | 1 byte | Misc. | Which segment of Dino-Torch's flame is its body |
| 1A039 | $03:9E39 | 16 bytes | Sprite tilemap related | Dino-Rhino tile table (4 animation frames, each 4 bytes) |
| 1A035 | $03:9E35 | 4 bytes | Sprite tilemap related | Dino-Rhino tile vertical displacement table |
| 1A031 | $03:9E31 | 4 bytes | Sprite tilemap related | Dino-Rhino tiles' palette/gfx page/priority/flip right |
| 1A02D | $03:9E2D | 4 bytes | Sprite tilemap related | Dino-Rhino tiles' palette/gfx page/priority/flip left |
| 1A025 | $03:9E25 | 8 bytes | Sprite tilemap related | Dino-Rhino tile horizontal displacement table |
| 1A021 | $03:9E21 | 4 bytes | Sprite tilemap related | Dino-Torch tile table (4 animation frames, each 1 byte) |
| 1A01C | $03:9E1C | 5 bytes | Sprite tilemap related | Dino-Torch YXPPCCCT bytes. |
| 1A012 | $03:9E12 | 8 bytes | Sprite tilemap related | Dino-Torch flame tile table (2 animation frames, each 4 bytes w/an unused byte) |
| 1A00D | $03:9E0D | 5 bytes | Sprite tilemap related | Dino-Torch flame tile vert. displacement table (vertical flame) |
| 1A008 | $03:9E08 | 5 bytes | Sprite tilemap related | Dino-Torch flame tile vert. displacement table (horizontal flame) |
| 1A003 | $03:9E03 | 5 bytes | Sprite tilemap related | Dino-Torch flame tile horiz. displacement table (vertical flame) |
| 19FFE | $03:9DFE | 5 bytes | Sprite tilemap related | Dino-Torch flame tile horiz. displacement table (horizontal flame) |
| 19F97 | $03:9D97 | 1 byte | ASM | Change to 80 and Dino-Torch's flame will have no effect on Mario. |
| 19F61 | $03:9D61 | 1 byte | ASM | Change to 80 to make Dino-Torches only breathe fire horizontally |
| 19F56 | $03:9D56 | 1 byte | Sound effect | Dino Torch Fire Sound Effect. |
| 19E22 | $03:9C22 | 1 byte | Sprite tilemap related | palette of reznor platforms |
| 19E1A | $03:9C1A | 1 byte | Sprite tilemap related | tile for reznor platforms |
| 19D69 | $03:9B69 | 12 bytes | Sprite tilemap related | Reznor palette map (4 bytes regular reznor, 4 bytes shooting fireball, 4 bytes turning) |
| 19D5D | $03:9B5D | 12 bytes | Sprite tilemap related | Reznor tilemap (4 bytes regular reznor, 4 bytes shooting fireball, 4 bytes turning) |
| 19D09 | $03:9B09 | 1 byte | Sprite number | Object that Reznor spits |
| 19D04 | $03:9B04 | 1 byte | Sound effect | Sound effect made when Reznor spits a fireball. |
| 19CD2 | $03:9AD2 | 1 byte | Sprite number | Sprite that Reznor will turn into after being hit |
| 19BEC | $03:99EC | 1 byte | ASM | Change from F0 to 80 to make the Reznor platforms non-standable (fall-through) after Mario hits a Reznor from below |
| 19B87 | $03:9987 | 1 byte | Sprite Misc. | Y-radius of Reznor's circle |
| 19B64 | $03:9964 | 1 byte | Sprite Misc. | X-radius of Reznor's circle |
| 19AE7 | $03:98E7 | 1 byte | Music | Music played after the Reznors are defeated |
| 19ACC | $03:98CC | 2 bytes | Timer | Frames until Reznors spin cycle loops. |
| 19AC9 | $03:98C9 | 2 bytes | Sprite physics | Speed of Reznor rotation |
| 19AC7 | $03:98C7 | 2 bytes | ASM | Change to [38 E9] to change rotation direction of the Reznor platform. |
| 19AA4 | $03:98A4 | 1 byte | Coordinate | X position of the Reznor's circle written to $2A and loaded at $0399B3. (Y position is left at whatever $2C is, and it is loaded at $0399D8) |
| 19A9F | $03:989F | 4 bytes | ASM | [22 0C D7 03] Change to [EA EA EA EA] to stop the bridge in the Reznor battle from breaking. |
| 19A8A | $03:988A | 4 bytes | Coordinate | reznor starting position high byte (4 byte table) |
| 19A86 | $03:9886 | 4 bytes | Coordinate | reznor starting position low byte (4 byte table) |
| 1999D | $03:979D | 1 byte | Sprite tilemap related | Fishbone Tilemap, frame 2 |
| 19999 | $03:9799 | 1 byte | Sprite tilemap related | Fishbone Tilemap, frame 1 |
| 19988 | $03:9788 | 4 bytes | Sprite tilemap related | Tiles used by Fishbone's Tail |
| 19984 | $03:9784 | 4 bytes | Sprite tilemap related | Fishbone tail properties, YXPPCCCT. First two bytes are for the tail when the fishbone is heading into the right direction, the other two when heading into the left direction. |
| 1987D | $03:967D | 1 byte | Sprite tilemap related | Rex tile settings right |
| 1987C | $03:967C | 1 byte | Sprite tilemap related | Rex tile settings left |
| 19870 | $03:9670 | 10 bytes | Sprite tilemap related | Sprite tilemap: Rex |
| 19864 | $03:9664 | 12 bytes | Sprite tilemap related | Rex tile vertical displacement table (0C entries) |
| 19858 | $03:9658 | 12 bytes | Sprite tilemap related | Rex tile horizontal displacement table right (0C entries) |
| 1984C | $03:964C | 12 bytes | Sprite tilemap related | Rex tile horizontal displacement table left (0C entries) |
| 1983B | $03:963B | 1 byte | Sound effect | SFX that comes up when Mario hits a Rex |
| 197B8 | $03:95B8 | 1 byte | Misc. | Rex's HP |
| 19742 | $03:9542 | 1 byte | Misc. | Change to 00 to make all Rexes start small. |
| 19715 | $03:9515 | 2 bytes | Sprite physics | Smushed rex walking speed |
| 19713 | $03:9513 | 2 bytes | Sprite physics | Normal rex walking speed |
| 196C5 | $03:94C5 | 10 bytes | Sprite tilemap related | Properties (palette, gfx page etc.) of the wooden spike.
The first 5 bytes for sprite AC the next 5 bytes for sprite AD. YXPPCCCT format. |
| 196BB | $03:94BB | 10 bytes | Sprite tilemap related | Sprite tilemap: Wooden Castle Spike |
| 195EF | $03:93EF | 51 bytes | Misc. | Path for creating brown blocks (sprite B1) on the main overworld. Same format as $03:93A4. |
| 195A4 | $03:93A4 | 74 bytes | Misc. | Path for creating brown blocks (sprite B1) in overworld submaps.
Format: One byte per command, XY, where X=number of times to go in direction Y. Y = 0,1,2,3 (Right, left, down, up). FF terminates the sprite. |
| 1958B | $03:938B | 25 bytes | Sprite Subroutine | This generates a Map16 tile at the position of the sprite currently being processed. It is identical to the routine at $02B9A4, except that this one ends with RTS. |
| 1952D | $03:932D | 1 byte | Objects | Which tile is created by the brown eating block sprite. Defaults to air; see this for a list of possible values.
Note that there is no RAM address that affects which tile this block will eat - it will go after ANY solid block that is next to it. |
| 19520 | $03:9320 | 1 byte | Objects | Which tile gets created by the brown creating block sprite. Does not affect the tile that the eating block sprite eats, or the tile that activates these two sprites when you stand on it. See this for a list of possible values. |
| 194B9 | $03:92B9 | 1 byte | Sound effect | SFX played by the Creating/Eating block |
| 19493 | $03:9293 | 1 byte | Sprite tilemap related | Tile used by the Creating/Eating block |
| 19474 | $03:9274 | 5 bytes | Misc. | Y speed of the Creating/Eating block |
| 1946F | $03:926F | 5 bytes | Misc. | X speed of the Creating/Eating block |
| 1945D | $03:925D | 1 byte | Timer | Number of frames before a Falling Spike drops. |
| 1941C | $03:921C | 1 byte | Sprite tilemap related | Falling Spike Tilemap |
| 19374 | $03:9174 | 4 bytes | Sprite tilemap related | Fishin' Boo's Flame Tilemap |
| 19360 | $03:9160 | 9 bytes | Sprite tilemap related | Fishin' Boo Tilemap (cloud, face, rod, cloud, line) |
| 19211 | $03:9011 | 1 byte | Sprite tilemap related | Reflecting Fireball Tilemap |
| 1916D | $03:8F6D | 8 bytes | Sprite tilemap related | Reflecting Stream of Boo Buddies tilemap (leader only) |
| 1910B | $03:8F0B | 8 bytes | Sprite tilemap related | Sprite tilemap: Bowser Statue Fireball |
| 190B0 | $03:8EB0 | 4 bytes | Sprite tilemap related | Sprite tilemap: Moving Grey Castle Brick |
| 19075 | $03:8E75 | 4 bytes | Timer | Time in position of the Grey Moving Castle Block. |
| 19071 | $03:8E71 | 4 bytes | Sprite physics | Horizontal speed of the Grey Moving Castle Block. |
| 1900E | $03:8E0E | 4 bytes | Sprite tilemap related | Tiles used by numbers in Timed Platform (1,2,3,4) |
| 19008 | $03:8E08 | 3 bytes | Sprite tilemap related | [0B 4B 0B] Properties (Palette, gfx page, etc..) of the Timed Lift. |
| 19005 | $03:8E05 | 2 bytes | Sprite tilemap related | Sprite tilemap: Timed Platform |
| 18FEA | $03:8DEA | 1 byte | Sprite physics | Horizontal speed of the Timed Lift |
| 18FDB | $03:8DDB | 1 byte | Misc. | Change to 00 and the timed lift will never fall after it has hit 0. |
| 18FB0 | $03:8DB0 | 1 byte | Sprite tilemap related | Message Box Tilemap |
| 18F7E | $03:8D7E | 1 byte | Sound effect | SFX that comes up when the Message comes out of the Message Block |
| 18F1E | $03:8D1E | 6 bytes | Sprite tilemap related | YXPPCCCT properties for the diagonal platform (Carrot Top Lift). First half is used for sprite B7, second half is used for sprite B8. |
| 18F18 | $03:8D18 | 6 bytes | Sprite tilemap related | Sprite tilemap: Diagonal Platform (Carrot Top Lift). First half is used for sprite B7, second half is used for sprite B8. |
| 18F12 | $03:8D12 | 6 bytes | Sprite tilemap related | Relative Y position of the diagonal platform tiles (Carrot Top Lift). First half is used for sprite B7, second half is used for sprite B8. |
| 18F0C | $03:8D0C | 6 bytes | Sprite tilemap related | Relative X position of the diagonal platform tiles (Carrot Top Lift). First half is used for sprite B7, second half is used for sprite B8. |
| 18D2E | $03:8B2E | 6 bytes | Sprite tilemap related | Sprite tilemap: Bowser Statue(Both) |
| 18CE5 | $03:8AE5 | 1 byte | Sprite number | Sprite spawned by Bowser statue |
| 18CDB | $03:8ADB | 1 byte | Sound effect | SFX played by Bowser Statue |
| 18B88 | $03:8988 | 1 byte | Sprite tilemap related | Tilemap of blue shellless koopa after sliding |
| 18B84 | $03:8984 | 1 byte | Sprite tilemap related | Tilemap of blue shellless koopa sliding down a hill |
| 18B77 | $03:8977 | 1 byte | Sprite number | Sprite that the sliding koopa turns into after touching the ground |
| 18B32 | $03:8932 | 3 bytes | ASM | Change to EA EA EA to disable Mega Mole animation |
| 18B00 | $03:8900 | 1 byte | Sound effect | Swooper Sound Effect. |
| 18AFC | $03:88FC | 1 byte | Sprite physics | Initial vertical speed of Swooper bat. This affects how far down it goes from its starting position. |
| 18AA0 | $03:88A0 | 3 bytes | Sprite tilemap related | Swooper Bat Tilemap |
| 18A82 | $03:8882 | 1 byte | Sprite tilemap related | Palette to use for Mega Mole |
| 18A49 | $03:8849 | 3 bytes | Sprite tilemap related | Animation speed of Mega Mole. Change a 4A to EA to speed it up, and a EA to 4A to slow it down. |
| 18A37 | $03:8837 | 8 bytes | Sprite tilemap related | Sprite tilemap: Mega Mole |
| 18A26 | $03:8826 | 4 bytes | Misc. | [22 B7 F5 00] Change to [EA EA EA EA] to make Mega Mole not hurt Mario. |
| 1896F | $03:876F | 1 byte | Sprite physics | Mega Mole X speed (left) |
| 1896E | $03:876E | 1 byte | Sprite physics | Mega Mole X speed (right) |
| 18934 | $03:8734 | 3 bytes | Sprite tilemap related | Sprite tilemap: Sinking Lava Platform |
| 1888A | $03:868A | 10 bytes | Sprite tilemap related | Sprite tilemap: Forest Secret Area Platform |
| 18793 | $03:8593 | 8 bytes | Sprite tilemap related | Sprite tilemap: Porcu-Puffer |
| 18780 | $03:8580 | 1 byte | ASM | Change 94 to 60 to make the Porcu-Puffer fish go in a straight line and also float on air. |
| 1872D | $03:852D | 2 bytes | Sprite physics | Horizontal speed of the Porcu-Puffer fish |
| 186E1 | $03:84E1 | 1 byte | Sprite tilemap related | Tilemap: Blurp Frame 2 |
| 186DD | $03:84DD | 1 byte | Sprite tilemap related | Tilemap: Blurp Frame 1 |
| 186AD | $03:84AD | 1 byte | Sprite tilemap related | Falling Grey Platform's Palette |
| 1868E | $03:848E | 4 bytes | Sprite tilemap related | Sprite tilemap: Falling Grey Platform |
| 1866F | $03:846F | 1 byte | Sprite physics | How much the grey falling platform accelerates each frame. |
| 1866A | $03:846A | 1 byte | Sprite physics | Max falling Y speed for the grey falling platform. |
| 18548 | $03:8348 | 80 bytes | Sprite tilemap related | The flip of each tile in the tilemap of Big Boo (00 is no flip, 40 is horizontal flip, 80 is vertical flip, C0 is horizontal + vertical flip) |
| 184F8 | $03:82F8 | 80 bytes | Sprite tilemap related | Sprite Tilemap: Big Boo |
| 184E8 | $03:82E8 | 16 bytes | Sprite tilemap related | Y position of the 16 tiles of big boo's body in hiding frame |
| 184E7 | $03:82E7 | 1 byte | Sprite tilemap related | Y position of Big boo's mouth in hiding frame |
| 184E6 | $03:82E6 | 1 byte | Sprite tilemap related | Y position of big boo's eyes in hiding frame |
| 184E4 | $03:82E4 | 2 bytes | Sprite tilemap related | Y position of big boo's arms in hiding frame |
| 184D4 | $03:82D4 | 16 bytes | Sprite tilemap related | Y position of the 16 tiles of Big boo's body in normal, turning 1 and turning 2 frames |
| 184D2 | $03:82D2 | 2 bytes | Sprite tilemap related | Y position of Big boo's arms in normal, turning 1 and turning 2 frames |
| 184D1 | $03:82D1 | 1 byte | Sprite tilemap related | Y position of Big boo's mouth in normal, turning 1 and turning 2 frames |
| 184D0 | $03:82D0 | 1 byte | Sprite tilemap related | Y position of Big boo's eyes in normal, turning 1 and turning 2 frames |
| 184C0 | $03:82C0 | 16 bytes | Sprite tilemap related | X position of the 16 body tiles of Big boo in the hiding frame |
| 184BF | $03:82BF | 1 byte | Sprite tilemap related | X position of Big boo's mouth in the hiding frame |
| 184BE | $03:82BE | 1 byte | Sprite tilemap related | X position of Big boo's eyes in the hiding frame |
| 184BC | $03:82BC | 2 bytes | Sprite tilemap related | X position of big boo's arms in the hiding frame |
| 184AC | $03:82AC | 16 bytes | Sprite tilemap related | X Position of the 16 tiles of big boo's body in turning frame 2 |
| 184AA | $03:82AA | 2 bytes | Sprite tilemap related | X position of big boo's arms in turning frame 2 |
| 184A9 | $03:82A9 | 1 byte | Sprite tilemap related | X position of big boo's mouth in turning frame 2 |
| 184A8 | $03:82A8 | 1 byte | Sprite tilemap related | X position of big boo's eyes in turning frame 2 |
| 18498 | $03:8298 | 16 bytes | Sprite tilemap related | X Position of the 16 tiles of big boo's body in turning frame 1 |
| 18496 | $03:8296 | 2 bytes | Sprite tilemap related | X position of big boo's arms in turning frame 1 |
| 18495 | $03:8295 | 1 byte | Sprite tilemap related | X position of big boo's mouth in turning frame 1 |
| 18494 | $03:8294 | 1 byte | Sprite tilemap related | X position of big boo's eyes in turning frame 1 |
| 18484 | $03:8284 | 16 bytes | Sprite tilemap related | X Position of the 16 tiles of big boo's body in the normal frame |
| 18482 | $03:8282 | 2 bytes | Sprite tilemap related | X position of big boo's arms in normal frame |
| 18481 | $03:8281 | 1 byte | Sprite tilemap related | X position of big boo's mouth in the normal frame |
| 18480 | $03:8280 | 1 byte | Sprite tilemap related | X position of big boo's eyes in the normal frame |
| 183F5 | $03:81F5 | 68 bytes | Subroutine (JSx FIXME) | Big Boo's "Hit with sprite" subroutine. JSL every frame to it to have your boss have functionality with thrown items.
$038234 (18434) is the sound made by Big Boo Boss when it is hit. |
| 183DF | $03:81DF | 1 byte | Sound effect | Big Boo boss falling sound effect. (Big Boo beaten) |
| 183A2 | $03:81A2 | 1 byte | Misc. | Big Boo Boss HP |
| 182EA | $03:80EA | 1 byte | Sound effect | Big Boo Boss appear sound effect. |
| 182DB | $03:80DB | 1 byte | Timer | How long it takes for Big Boo Boss to appear. (appearing stage) |
| 182CE | $03:80CE | 1 byte | Timer | How long it takes for Big Boo Boss to appear. (Stalling) |
| 1829D | $03:809D | 1 byte | Music | Music played after Big Boo Boss is defeated. |
| 18298 | $03:8098 | 1 byte | Timer | How long the fadeout is on the screen before it disappears. (Big Boo Boss) |
| 181E2 | $02:FFE2 | 30 bytes | Empty | Empty on default.
Use the edit at 11547 and change this 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; or you can place Ball 'n' Chain's tilemap here then change the pointer at 15A2C. |
| 181A3 | $02:FFA3 | 46 bytes | Sprite Subroutine | "Update cluster sprite Y position without gravity" subroutine. |
| 18198 | $02:FF98 | 11 bytes | Sprite Subroutine | "Update cluster sprite X position without gravity" subroutine. |
| 18164 | $02:FF64 | 8 bytes | Sprite tilemap related | OAM indexes of the 1-Ups from the bonus game. |
| 18150 | $02:FF50 | 20 bytes | Sprite tilemap related | OAM indexes of cluster sprites. Apparently can overwrite the coin sprites from blocks, sparkles, item box, and fireballs. |
| 18071 | $02:FE71 | 84 bytes | Sprite Subroutine | Cluster sprite/player interaction routine. This routine assumes that the cluster sprite is approximately 16x16. |
| 18063 | $02:FE63 | 1 byte | Sprite tilemap related | Tile properties of bonus game 1-ups. |
| 1805E | $02:FE5E | 1 byte | Sprite tilemap related | Tile to use for bonus game 1-ups. |
| 17FB8 | $02:FDB8 | 4 bytes | Sprite tilemap related | Swooper Death Bat tilemap (change 4th byte to E8 to correct graphics) |
| 17DBF | $02:FBBF | 8 bytes | Sprite tilemap related | Boo Ring Tilemap (used by Sprites E2, E3, and generators E1 and E5) |
| 17C98 | $02:FA98 | 291 bytes | Sprite Misc. | The code for cluster sprite 04, the Boo from a Boo ring.
$02:FB39 (0x17D39) is radius of Boo rings along the X-axis.
$02:FB5C (0x17D5C) is radius of Boo rings along the Y-axis. |
| 17C84 | $02:FA84 | 20 bytes | Coordinate | Ten 16bit values, telling where on the circle the Boo Ring ghosts are. #$0200 is 360°. |
| 17C0E | $02:FA0E | 4 bytes | Sprite tilemap related | Sprite tilemap: Castle BG Flame |
| 17B8F | $02:F98F | 1 byte | Sprite tilemap related | Sumo Bros' Flame palette/gfx page |
| 17B04 | $02:F904 | 8 bytes | Sprite tilemap related | Sumo Bros' Flame Tilemap |
| 17A25 | $02:F825 | 18 bytes | Pointer | 16-bit pointer to cluster sprites. |
| 17921 | $02:F721 | 32 bytes | Sprite tilemap related | Ghost House Doors Tilemap |
| 17829 | $02:F629 | 8 bytes | Sprite tilemap related | No Yoshi Signpost Tilemap |
| 177BC | $02:F5BC | 10 bytes | Sprite tilemap related | Ghost House Exit Door tilemap |
| 17754 | $02:F554 | 1 byte | Sprite number | Sprite spawned from the fireplace that the Side Exit Enable sprite uses |
| 17729 | $02:F529 | 1 byte | Sprite tilemap related | Fireplace flame palette |
| 17700 | $02:F500 | 1 byte | Misc. | Y-coord of flame bottom |
| 176FB | $02:F4FB | 1 byte | Misc. | Y-coord of flame top |
| 176F3 | $02:F4F3 | 1 byte | Misc. | X-coords of flame tiles |
| 176E7 | $02:F4E7 | 4 bytes | Sprite tilemap related | Tilemap of flame in Yoshi's House fireplace |
| 176AF | $02:F4AF | 1 byte | Sprite tilemap related | Tile used by Smoke from Yoshi's House fireplace |
| 175E2 | $02:F3E2 | 4 bytes | Palette | Palettes of hopping birds |
| 175E0 | $02:F3E0 | 2 bytes | Sprite tilemap related | Flip of birds' tiles (right, left) |
| 175DB | $02:F3DB | 5 bytes | Sprite tilemap related | Yoshi's House Birds Tilemap |
| 174E3 | $02:F2E3 | 1 byte | Sprite number | Object that falls off of Wiggler when stomped |
| 174D5 | $02:F2D5 | 2 bytes | Misc. | X placement of Wiggler's angry eyes tile (1 byte facing right, 1 byte facing left) |
| 174D3 | $02:F2D3 | 2 bytes | Misc. | X placement of flower tile on Wiggler's head (1 byte facing right, 1 byte facing left) |
| 1746C | $02:F26C | 1 byte | Sound effect | SFX that comes up when Mario stomps a Wiggler |
| 173F7 | $02:F1F7 | 1 byte | Misc. | Size of Wiggler's flower/angry eyes tile |
| 173EE | $02:F1EE | 1 byte | Palette | Palette of Wiggler's flower |
| 173E4 | $02:F1E4 | 1 byte | Sprite tilemap related | Tile used by Wiggler's Flower (when on its head) |
| 173DF | $02:F1DF | 1 byte | Misc. | X-coord of Wiggler's flower |
| 173BE | $02:F1BE | 1 byte | Sprite tilemap related | Wiggler's angry eyes tile |
| 173B1 | $02:F1B1 | 2 bytes | Pointer | Pointer to use for X placement of Wiggler's angry eyes tile |
| 1739A | $02:F19A | 1 byte | Misc. | How many segments Wiggler has |
| 1736E | $02:F16E | 1 byte | Sprite tilemap related | Wiggler's Head |
| 1730C | $02:F10C | 4 bytes | Sprite tilemap related | Wiggler's Body Tilemap |
| 17258 | $02:F058 | 1 byte | Misc. | Result of Wiggler's Palette change? |
| 17251 | $02:F051 | 1 byte | Misc. | Wiggler's Palette cycling sequence
00=Palette 00
02=Palettes 00,02
04=Palettes 00,04
06=Palettes 00,02,04,06
08=Palettes 00,08
0A=Palettes 00,02,08,0A
0C=Palettes 00,04,08,0C
0E=All palettes |
| 1724D | $02:F04D | 1 byte | Palette | The palette used by Wiggler when he is angry. (Default: 08.) YXPPCCCT. |
| 17231 | $02:F031 | 4 bytes | Sprite physics | Wiggler speed. First 2 bytes: normal speed. Next 2: mad speed |
| 171BD | $02:EFBD | 1 byte | Sprite number | Object that the Coin Game Cloud drops |
| 17181 | $02:EF81 | 1 byte | Sprite number | Sprite that is generated when all of the Coin Game Cloud coins are collected |
| 1715B | $02:EF5B | 1 byte | Sprite tilemap related | Cloud's face palette |
| 17156 | $02:EF56 | 1 byte | Sprite tilemap related | Tile to use for the face of the cloud game. |
| 17151 | $02:EF51 | 1 byte | Sprite tilemap related | Y-position of the coin game cloud face |
| 17149 | $02:EF49 | 1 byte | Sprite tilemap related | X-position of the face on the coin game cloud |
| 1712E | $02:EF2E | 1 byte | Sprite tilemap related | What tile the coin game cloud uses |
| 17116 | $02:EF16 | 1 byte | Sprite physics | X-speed of the coin game cloud (When Yoshi eats two pink berries) |
| 17062 | $02:EE62 | 1 byte | Sprite physics | [0C] Speed of the floating skulls. |
| 17008 | $02:EE08 | 1 byte | Sprite tilemap related | Floating Skull tile (frame 2) |
| 17004 | $02:EE04 | 1 byte | Sprite tilemap related | Floating Skull tile (frame 1) |
| 16F9F | $02:ED9F | 1 byte | Sprite number | Sprite that the 'group of floating skulls' is made from |
| 16E96 | $02:EC96 | 36 bytes | Sprite tilemap related | YXPPCCCT data of Super Koopa.
Edit "x016EA9" from "00" to "01" and "x016EAD" from "00" to "01" to fix garbage tiles when a stomped left-flying Super Koopa is falling down. |
| 16E72 | $02:EC72 | 28 bytes | Sprite tilemap related | Sprite tilemap: Super koopa |
| 16D19 | $02:EB19 | 4 bytes | ASM | Change to EA EA EA EA to prevent Super Koopas from spawning feathers (In conjuction with address 16CF2) |
| 16CFE | $02:EAFE | 1 byte | Sprite number | Sprite spawned by Super Koopa when stomped (feather) |
| 16CF2 | $02:EAF2 | 4 bytes | ASM | Change to EA EA EA EA to stop Super Koopas from spawning feathers. (In conjunction with address 16D19) |
| 16C1B | $02:EA1B | 1 byte | Sprite tilemap related | YXPPCCCT properties (Palette/GFX page/Properties) of Pipe Lakitu. |
| 16BE6 | $02:E9E6 | 6 bytes | Sprite tilemap related | Pipe-Dwelling Lakitu Tilemap |
| 16BE3 | $02:E9E3 | 1 byte | Sprite physics | Sinking speed of Pipe Lakitu |
| 16B9B | $02:E99B | 1 byte | Sprite physics | Rising speed of Pipe Lakitu |
| 16B1F | $02:E91F | 1 byte | Sprite tilemap related | Right tile from the Growing/shrinking pipe end |
| 16B1A | $02:E91A | 1 byte | Sprite tilemap related | Left tile from the Growing/shrinking pipe end |
| 16A3E | $02:E83E | 7 bytes | Misc. | Tiles left behind by Growing/Shrinking Pipe (in order of left side rising; sinking, right side rising; sinking) |
| 1690C | $02:E70C | 1 byte | Sprite tilemap related | Fishing Line Palette |
| 16907 | $02:E707 | 1 byte | Sprite tilemap related | Tile used by line on Fishin' Lakitu's rod |
| 168B7 | $02:E6B7 | 1 byte | Sprite tilemap related | 1up Bait Palette |
| 168B2 | $02:E6B2 | 1 byte | Sprite tilemap related | Fishing Pole's palette |
| 168AD | $02:E6AD | 1 byte | Sprite tilemap related | Tile used by Fishin' Lakitu's 1up bait |
| 168A8 | $02:E6A8 | 1 byte | Sprite tilemap related | Fishin' Lakitu's rod |
| 1686A | $02:E66A | 4 bytes | Sprite tilemap related | Ghost House Moving Hole Tilemap |
| 16799 | $02:E599 | 1 byte | Sprite tilemap related | Mushroom Scale Platform Tile (mirrored for right side) |
| 16720 | $02:E520 | 4 bytes | Misc. | Tiles left behind by mushroom scale platforms (in order of left platform sinking; rising, right platform rising; sinking) |
| 16572 | $02:E372 | 16 bytes | Sprite tilemap related | Large Green Bubble Tilemap |
| 164D6 | $02:E2D6 | 1 byte | Misc. | Tile spawned by Directional Coin sprite |
| 163CE | $02:E1CE | 1 byte | Sprite number | The 2 objects that the fire-shooting Piranha Plant spits |
| 1630E | $02:E10E | 1 byte | Palette | Palette of Jumping Piranha Plant leaves |
| 16291 | $02:E091 | 1 byte | Sprite number | Extended Sprite used by Volcano Lotus |
| 1625A | $02:E05A | 1 byte | Sprite tilemap related | Palette/gfx page of Frames 1 and 2 of Volcano Lotus's top |
| 16256 | $02:E056 | 1 byte | Sprite tilemap related | Palette/gfx page of Frame 3 of Volcano Lotus's top |
| 16212 | $02:E012 | 1 byte | Sprite tilemap related | Volcano Lotus: Bottom |
| 16208 | $02:E008 | 3 bytes | Sprite tilemap related | Volcano Lotus: Top Tiles |
| 160B6 | $02:DEB6 | 1 byte | Misc. | Y speed of Sumo Bros' lightning bolt |
| 16085 | $02:DE85 | 1 byte | Sprite tilemap related | Sumo Bros' palette/GFX page |
| 1601E | $02:DE1E | 8 bytes | Sprite tilemap related | Sumo Bros Tilemap (Head, Head, Body Lift Leg, Head Head, Body Lift Leg) |
| 1601A | $02:DE1A | 4 bytes | Sprite tilemap related | Sumo Bros Tilemap (Head, Head, Body Stomp) |
| 1600E | $02:DE0E | 8 bytes | Sprite tilemap related | Sumo Bros Tilemap (Head, Body Arms Up, Head, Body Arms Down) |
| 15F96 | $02:DD96 | 1 byte | Sprite number | Sprite spawned by Sumo Brother |
| 15F65 | $02:DD65 | 1 byte | Sound effect | SFX played by Sumo Brother |
| 15E27 | $02:DC27 | 8 bytes | Sprite tilemap related | Palette/GFX Page of Amazing Flyin' Hammer Brother Platform |
| 15E1F | $02:DC1F | 8 bytes | Sprite tilemap related | Sprite tilemap: Amazing Flyin' Hammer Brother Platform |
| 15DDA | $02:DBDA | 3 bytes | ASM | Set to EA EA EA to disable Amazing Flyin' Hammer Brothers platform horizontal movement |
| 15DD7 | $02:DBD7 | 3 bytes | ASM | Set to EA EA EA to disable Amazing Flyin' Hammer Brothers platform vertical movement |
| 15D1F | $02:DB1F | 1 byte | Palette | Amazing Flyin' Hammer Brothers palette (37 by default, change the sprite's palette by changing the second digit - "7" - to a number 0-F) |
| 15CF1 | $02:DAF1 | 8 bytes | Sprite tilemap related | Sprite tilemap: Amazing Flyin' Hammer Brother |
| 15CC4 | $02:DAC4 | 1 byte | Sprite number | Extended Sprite thrown by Amazing Flyin' Hammer Brother |
| 15C94 | $02:DA94 | 3 bytes | ASM | Set to EA EA EA to make Amazing Flyin' Hammer Brothers stop turning around |
| 15C68 | $02:DA68 | 6 bytes | Misc. | How often Amazing Flyin' Hammer Brother throws Hammer |
| 15C60 | $02:DA60 | 4 bytes | Sprite Misc. | [C9 02 D0 0A] (CMP #$02 BNE $0A) Change to [C9 08 B0 0A] (CMP #$08 BCS $0A) to fix the bug where hammer brothers will throw hammers if tossed into lava. |
| 15BCD | $02:D9CD | 5 bytes | Sprite tilemap related | Bubble Tile Size Table |
| 15BC8 | $02:D9C8 | 5 bytes | Sprite tilemap related | Palette/GFX Page of Bubble Tiles |
| 15BC3 | $02:D9C3 | 5 bytes | Sprite tilemap related | Bubble Tile Table |
| 15BB4 | $02:D9B4 | 15 bytes | Sprite tilemap related | Y Placement of Bubble Tiles, 3 animation frames, each 5 bytes |
| 15BA5 | $02:D9A5 | 15 bytes | Sprite tilemap related | X Placement of Bubble Tiles, 3 animation frames, each 5 bytes |
| 15BA1 | $02:D9A1 | 4 bytes | Sprite number | Sprites spawned from Bubbles (Goomba, Bob-omb, Cheep-Cheep, Mushroom) |
| 15B19 | $02:D919 | 1 byte | Sound effect | Bubble pop sound |
| 15AA9 | $02:D8A9 | 16 bytes | Sprite tilemap related | Palette/GFX Page Table of Sprites in bubbles (Order: Goomba, Bob-Omb, Cheep-Cheep, Mushroom) |
| 15AA1 | $02:D8A1 | 8 bytes | Sprite tilemap related | Bubble Sprites Tile Table (2 animation frames with 2 bytes in them. Order: Goomba, Bob-Omb, Cheep-Cheep, Mushroom) |
| 15A83 | $02:D883 | 3 bytes | ASM | Change to EA EA EA to fix the problem where changing the tilemap of the Ball 'n' Chain freezes the game. (Use with addresses 0x15898/$02D698 and 0x158BB/$02D6BB.) |
| 15A63 | $02:D863 | 1 byte | Sprite tilemap related | Palette of rotating grey platform |
| 15A44 | $02:D844 | 4 bytes | Sprite tilemap related | Wooden Platform on Chain Tilemap (Sprites A3 and E0) |
| 15A2C | $02:D82C | 2 bytes | Pointer | Change from 00 D8 to E2 FF in order to move the location of Ball 'n' Chain's tilemap to address 181E2. |
| 15A00 | $02:D800 | 4 bytes | Sprite tilemap related | Tilemap: Ball 'n' Chain's Spiked Ball (Changing this will freeze the game! See fix at adresses 15A2C and 181E2).
It's actually a routine which is used to waste time (6 NOPs + RTS) for the math registers, but Nintendo uses it for the tilemap, too. A typical example of executable tables. |
| 159BF | $02:D7BF | 1 byte | Sprite tilemap related | Palette of chain (Ball 'n' Chain & rotating grey platform) |
| 159AA | $02:D7AA | 1 byte | Sprite tilemap related | Tilemap: Chain used by platform (Sprites A3 and E0) |
| 159A4 | $02:D7A4 | 1 byte | Sprite tilemap related | Tilemap: Ball 'n' Chain's chainlink |
| 158BB | $02:D6BB | 3 bytes | ASM | Change to EA EA EA to fix the problem where changing the tilemap of the Ball 'n' Chain freezes the game. (Use with addresses 0x15898/$02D698 and 0x15A83/$02D883.) |
| 15898 | $02:D698 | 3 bytes | ASM | Change to EA EA EA to fix the problem where changing the tilemap of the Ball 'n' Chain freezes the game. (Use with addresses 0x158BB/$02D6BB and 0x15A83/$02D883.) |
| 157D4 | $02:D5D4 | 16 bytes | Sprite tilemap related | YXPPCCCT of Banzai Bill's tiles. |
| 157C4 | $02:D5C4 | 16 bytes | Sprite tilemap related | TTTTTTTT of Banzai Bill's tiles. |
| 157B4 | $02:D5B4 | 16 bytes | Sprite tilemap related | Y offsets of Banzai Bill's tiles. |
| 157A4 | $02:D5A4 | 16 bytes | Sprite tilemap related | X offsets of Banzai Bill's tiles. |
| 15799 | $02:D599 | 1 byte | Misc. | Horizontal speed of Banzai Bill |
| 1571E | $02:D51E | 97 bytes | Empty | Unused data. |
| 1546E | $02:D26E | 1 byte | Sprite physics | [08] {+8} Vertical speed limit when pressing Down from the Control Pad, while Mario uses the P-balloon. |
| 15468 | $02:D268 | 1 byte | Sprite physics | [F0] {-16} Vertical speed limit when pressing Up from the Control Pad, while Mario uses the P-balloon. |
| 15460 | $02:D260 | 1 byte | Sprite physics | [F8] {-8} Vertical speed when releasing Up and Down from the Control Pad, while Mario uses the P-balloon. Change to [00] {0}, to prevent that Mario floats up gradually, so that Mario can float in place. |
| 1545C | $02:D25C | 1 byte | Sprite physics | [F0] {-16} Vertical speed limit when pressing Up from the Control Pad, while Mario rides the Lakitu cloud. |
| 15456 | $02:D256 | 1 byte | Sprite physics | [10] {+16} Vertical speed limit when pressing Down from the Control Pad, while Mario rides the Lakitu cloud. |
| 15448 | $02:D248 | 1 byte | Sprite physics | [00] {0} Vertical speed when releasing Up and Down from the Control Pad, while Mario rides the Lakitu cloud.
This is a signed integer. Positive speeds (01..7F) go down. Negative speeds (80..FF) go up.
After using $02/D248, $02/D256 or $02/D25C, the game adds a slight, varying downward speed to the Lakitu cloud. So if you leave [00] in $02/D248, then the cloud will sink slightly while Mario rides the cloud. |
| 15413 | $02:D213 | 1 byte | Sprite physics | [F0] {-16} Horizontal speed limit when pressing Left from the Control Pad, when Mario uses the P-balloon or rides the Lakitu cloud.
The speed is a signed integer. Negative values (80..FF) go left. |
| 15412 | $02:D212 | 1 byte | Sprite physics | [10] {+16} Horizontal speed limit when pressing Right from the Control Pad, when Mario uses the P-balloon or rides the Lakitu cloud.
The speed is a signed integer. Positive speeds (00..7F) go right. High speeds might cause glitches, like allowing Mario to fly inside solid blocks. |
| 15408 | $02:D208 | 1 byte | Misc. | Tile spawned from eating a berry (w/o using tongue). Corresponds to a value in $7E:009C. |
| 153C7 | $02:D1C7 | 1 byte | Misc. | Highest tile # that acts as a berry plus one without sticking out the tongue |
| 153C3 | $02:D1C3 | 1 byte | Misc. | Lowest tile # that acts as a berry without sticking out the tongue |
| 151FE | $02:CFFE | 5 bytes | Sprite physics | Bounciness of each part of pea bouncer |
| 15133 | $02:CF33 | 1 byte | Sprite tilemap related | Attributes of pea bouncer tile |
| 1512C | $02:CF2C | 1 byte | Sprite tilemap related | Tile of pea bouncer |
| 150E4 | $02:CEE4 | 1 byte | Misc. | How many pieces make up the pea bouncer |
| 14F61 | $02:CD61 | 1 byte | Misc. | Tile spawned from stepping on big ! switch |
| 14F55 | $02:CD55 | 4 bytes | Palette | YXPPCCCT data for the (flattened) switch palaces (level), indexed by type. Order is green, yellow, blue, red. |
| 14F1A | $02:CD1A | 1 byte | Sprite tilemap related | Unused cage wings: Attribute byte #2 (size, MSB of X pos.) |
| 14F0E | $02:CD0E | 1 byte | Sprite tilemap related | Unused cage wings: Attribute byte #1 (X flip, Y flip, priority, palette, MSB of tile num.) |
| 14F09 | $02:CD09 | 1 byte | Sprite tilemap related | Unused cage wings: Closed wing, bottom tile |
| 14F05 | $02:CD05 | 1 byte | Sprite tilemap related | Unused cage wings: Extended wing, bottom tile |
| 14F00 | $02:CD00 | 1 byte | Sprite tilemap related | Unused cage wings: Closed wing, top tile |
| 14EFC | $02:CCFC | 1 byte | Sprite tilemap related | Unused cage wings: Extended wing, top tile |
| 14EB5 | $02:CCB5 | 4 bytes | Misc. | Unused cage wings: Y offsets |
| 14EB1 | $02:CCB1 | 4 bytes | Misc. | Unused cage wings: X offsets |
| 14D9B | $02:CB9B | 3 bytes | Sprite tilemap related | Diggin' Chuck's Shoulder and Shovel Tiles |
| 14D81 | $02:CB81 | 1 byte | Palette | Palette/GFX page for baseball when it's in Pitchin' Chuck's hand |
| 14D7C | $02:CB7C | 1 byte | Sprite tilemap related | Tile to use for the baseball when it's in Pitchin' Chuck's hand |
| 14D2E | $02:CB2E | 1 byte | Palette | [64] Change to 08 to be able to change the palette of Chargin' Chucks arm with Tweaker/etc.
(USE WITH $02CAFA) |
| 14D17 | $02:CB17 | 1 byte | Sprite tilemap related | Tile used by Chargin' Chuck's arm |
| 14CFA | $02:CAFA | 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) |
| 14C97 | $02:CA97 | 2 bytes | Sprite tilemap related | Clappin' Chuck's hand tiles (raised, clapping) |
| 14B8B | $02:C98B | 51 bytes | Sprite tilemap related | Sprite tilemap: Chuck Body(All) |
| 14A7E | $02:C87E | 7 bytes | Sprite tilemap related | Sprite tilemap: Chuck Head(All) |
| 149F7 | $02:C7F7 | 1 byte | Sound effect | Hitting Chuck sound |
| 149EF | $02:C7EF | 1 byte | Misc. | Chargin Chuck stomping hp |
| 149E8 | $02:C7E8 | 1 byte | Misc. | Set to BD for unlimited Chargin Chuck stomping hp |
| 149BE | $02:C7BE | 1 byte | Misc. | Determines the number of points received for defeating a Chuck by stomping or with a star. See $02ACE5 (0x12EE5) for a list of possible values.
[Note: That list at $02ACE5/0x12EE5 needs to have FB = Nothing, FC = 10, FD = 20, FE = 40, and FF = 80 added to it.] |
| 14908 | $02:C708 | 1 byte | Sound effect | Running Chuck sound |
| 147C8 | $02:C5C8 | 1 byte | Sprite number | Sprite spawned by Splittin' Chuck |
| 147AF | $02:C5AF | 1 byte | Sound effect | SFX played by Splitin' Chuck |
| 1467A | $02:C47A | 1 byte | Sprite number | Object that Pitchin' Chuck pitches |
| 14664 | $02:C464 | 2 bytes | Misc. | X speed of baseball when thrown by Chuck (right, left) |
| 14660 | $02:C460 | 2 bytes | Misc. | Starting X-coordinate of baseball when thrown by Chuck (facing right, facing left) |
| 145B3 | $02:C3B3 | 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. |
| 14582 | $02:C382 | 1 byte | Sound effect | Whistling Chuck Sound Effect. |
| 144DB | $02:C2DB | 1 byte | Misc. | What bottom row of blocks become when Chuck smashes through them |
| 144BE | $02:C2BE | 1 byte | Misc. | What top row of blocks become when Chuck smashes through them |
| 144A3 | $02:C2A3 | 1 byte | Misc. | 2nd type of block Chuck can smash through, -0x100 (Turn Block) |
| 1449F | $02:C29F | 1 byte | Misc. | 1st type of block Chargin' Chuck can smash through, -0x100 (Throw Block) |
| 143A6 | $02:C1A6 | 1 byte | Sprite number | Sprite Diggin' Chuck unearths |
| 142CF | $02:C0CF | 87 bytes | Subroutine (JSx FIXME) | (Unused) Z tile generation (Rip Van Fish Z tiles). |
| 141A9 | $02:BFA9 | 1 byte | Sprite tilemap related | Urchin's eyes frame 2 |
| 141A3 | $02:BFA3 | 1 byte | Sprite tilemap related | Urchin's eyes frame 1 |
| 14158 | $02:BF58 | 4 bytes | Sprite tilemap related | Urchin's Body Tilemap |
| 14112 | $02:BF12 | 1 byte | Sprite tilemap related | Hothead's eyes frame 2 |
| 1410B | $02:BF0B | 1 byte | Sprite tilemap related | Hothead's eyes frame 1 |
| 14095 | $02:BE95 | 8 bytes | Sprite tilemap related | Hothead Tilemap |
| 1407A | $02:BE7A | 1 byte | Sprite tilemap related | Sparky Tilemap |
| 1406B | $02:BE6B | 1 byte | Sprite tilemap related | Ground-guided Fuzzball Tilemap |
| 1405E | $02:BE5E | 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). |
| 13E0E | $02:BC0E | 6 bytes | Sprite tilemap related | Horizontal Dolphin Tilemap |
| 13D1F | $02:BB1F | 4 bytes | Sprite tilemap related | Size of Yoshi Wing tiles |
| 13D1B | $02:BB1B | 4 bytes | Sprite tilemap related | Palette/Gfx page/Priority/Flip of Yoshi Wing tiles |
| 13D17 | $02:BB17 | 4 bytes | Sprite tilemap related | Sprite tilemap: Yoshi Wings |
| 13D03 | $02:BB03 | 1 byte | Misc. | Tile spawned from eating a berry (using tongue). Corresponds to a value in $7E:009C. |
| 13CC6 | $02:BAC6 | 1 byte | Sprite number | Sprite that the berries are made from when swallowed |
| 13CAC | $02:BAAC | 1 byte | Misc. | Highest tile # that acts as a berry plus one with sticking out the tongue |
| 13CA8 | $02:BAA8 | 1 byte | Misc. | Lowest tile # that acts as a berry with sticking out the tongue |
| 13BEF | $02:B9EF | 1 byte | Palette | Palette to use for sprites changed by Silver P-Switch (on screen sprites only) |
| 13BDA | $02:B9DA | 1 byte | Sprite number | Sprite to use for those changed by Silver P-Switch (the ones that change while on the screen) |
| 13BA4 | $02:B9A4 | 25 bytes | Sprite Subroutine | 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. |
| 13B43 | $02:B943 | 1 byte | Sprite tilemap related | Tilemap: Torpedo Ted's Propeller Frame 3 |
| 13B3F | $02:B93F | 1 byte | Sprite tilemap related | Tilemap: Torpedo Ted's Propeller Frame 2 |
| 13B37 | $02:B937 | 1 byte | Sprite tilemap related | Tilemap: Torpedo Ted's Propeller Frame 1 |
| 13B2D | $02:B92D | 1 byte | Sprite tilemap related | Tilemap: Torpedo Ted's face |
| 13ABF | $02:B8BF | 1 byte | Sprite Misc. | How many frames torpedo ted waits until he gains more speed.
(This value is AND'd with the frame counter) |
| 13ABA | $02:B8BA | 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. |
| 13AB8 | $02:B8B8 | 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. |
| 13995 | $02:B795 | 1 byte | Sprite tilemap related | pokey's palette/gfx page |
| 13990 | $02:B790 | 1 byte | Sprite tilemap related | Pokey's Head Tilemap |
| 1398D | $02:B78D | 1 byte | ASM | Change to 90 and Pokey's head will be his body, and the other way round |
| 1398C | $02:B78C | 1 byte | Sprite tilemap related | Pokey's Body Tilemap |
| 13891 | $02:B691 | 1 byte | Sprite tilemap related | Pokey's Body after being eaten |
| 1388D | $02:B68D | 1 byte | Sprite tilemap related | Pokey's head after being eaten |
| 13863 | $02:B663 | 2 bytes | Misc. | Pokey's X speed (right, left) |
| 1385F | $02:B65F | 4 bytes | Misc. | X coordinates of Pokey animation |
| 137EC | $02:B5EC | 68 bytes | Empty | Unused data. |
| 137C8 | $02:B5C8 | 36 bytes | Sprite Subroutine | The Y speed subroutine for minor extended sprites. |
| 137BC | $02:B5BC | 12 bytes | Sprite Subroutine | 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. |
| 1378E | $02:B58E | 46 bytes | Sprite Subroutine | The subroutine that updates the Y position of the spinning coin coming from a ? block. |
| 13760 | $02:B560 | 46 bytes | Sprite Subroutine | The subroutine that updates an extended sprite's Y position (without gravity). |
| 13754 | $02:B554 | 12 bytes | Sprite Subroutine | The subroutine that updates an extended sprite's X position (without gravity). |
| 13726 | $02:B526 | 46 bytes | Sprite Subroutine | Updates a bounce sprite's X position without gravity. |
| 1371A | $02:B51A | 12 bytes | Sprite Subroutine | Updates a bounce sprite's Y position without gravity (actually just changes the sprite index and JSRs to $02B526). |
| 136B2 | $02:B4B2 | 1 byte | Sprite number | Sprite Spawned by bullet bill shooter |
| 136A8 | $02:B4A8 | 1 byte | Sound effect | SFX played by Bullet Bill Shooter |
| 13695 | $02:B495 | 2 bytes | ASM | Replace with 80 0A to make the Bullet Bill Shooter keep shooting even if Mario is standing next to the generator. |
| 1366C | $02:B46C | 1 byte | Timer | How often Bullet Bill shooters fire |
| 1362E | $02:B42E | 1 byte | Sprite number | Object that appears before Torpedo Ted is spawned |
| 135F1 | $02:B3F1 | 1 byte | Sprite number | Sprite spawned by Torpedo Ted generator |
| 134E9 | $02:B2E9 | 1 byte | Sprite number | Sprite spawned by eerie generator |
| 1348E | $02:B28E | 1 byte | Sprite number | Sprite spawned by Dolphin generator |
| 1341A | $02:B21A | 1 byte | Sprite number | Sprite spawned by bubble generator |
| 133CF | $02:B1CF | 1 byte | Sprite number | Sprite spawned by Super koopa generator |
| 1336E | $02:B16E | 1 byte | Sprite number | Sprite spawned by Jumping Fish generator |
| 1335E | $02:B15E | 1 byte | Misc. | Frequency of fish jumping up with the flying fish generator (set more bits to decrease the frequency, e.g. $5F, $FF) |
| 1331C | $02:B11C | 1 byte | Sprite number | Sprite spawned by Diagonal Bullet Bill generator |
| 132E0 | $02:B0E0 | 1 byte | Sound effect | SFX played by Diagonal Bullet Bill generator. Change to 00 to disable. |
| 13294 | $02:B094 | 1 byte | Sprite number | Sprite spawned by bullet bill generator |
| 13289 | $02:B089 | 1 byte | Sound effect | SFX played by bullet bill generator. Change to 00 to disable. |
| 1327F | $02:B07F | 1 byte | Misc. | How often the Bullet Bill generator fires (sprite D5) |
| 1324E | $02:B04E | 1 byte | Sprite number | Sprite spawned by bowser fireball generator |
| 13244 | $02:B044 | 1 byte | Sound effect | SFX played by bowser fireball generator. Change to 00 to disable. |
| 131BC | $02:AFBC | 1 byte | Sprite number | Sprite that the 'group of 5 eerie' is made of |
| 13152 | $02:AF52 | 1 byte | Sprite number | The sprite that the 3 platforms is made from |
| 12FA4 | $02:ADA4 | 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. |
| 12F9E | $02:AD9E | 6 bytes | Sprite Misc. | OAM indexes for score sprites. |
| 12F9A | $02:AD9A | 1 byte | Misc. | point rise speed |
| 12F89 | $02:AD89 | 16 bytes | Misc. | Score added from score sprites, divided by 10 (high byte) |
| 12F78 | $02:AD78 | 16 bytes | Misc. | Score added from score sprites, divided by 10 (low byte) |
| 12F63 | $02:AD63 | 21 bytes | Sprite tilemap related | Tiles used by Floating Point Notations, 1UPs, 2UPs, etc. 2nd half |
| 12F4D | $02:AD4D | 21 bytes | Sprite tilemap related | Tiles used by Floating Point Notations, 1UPs, 2UPs, etc. 1st half. |
| 12EEF | $02:ACEF | 69 bytes | Sprite Subroutine | 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) |
| 12EE5 | $02:ACE5 | 10 bytes | Subroutine (JSx FIXME) | 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) |
| 12E18 | $02:AC18 | 1 byte | Misc. | Change to 80 to fix the glitch where going through a pipe with a silver P-switch makes it act like a blue one. |
| 12C1F | $02:AA1F | 20 bytes | Coordinate | Position of all Boos in the reappearing ghosts generator, frame 2. Format: $xy. |
| 12C0B | $02:AA0B | 20 bytes | Coordinate | Position of all Boos in the reappearing ghosts generator, frame 1. Format: $xy. |
| 12BC3 | $02:A9C3 | 1 byte | Palette | Palette to use for sprites changed by Silver P-Switch (offscreen sprites only) |
| 12BB1 | $02:A9B1 | 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 |
| 12BA1 | $02:A9A1 | 1 byte | Misc. | Change to 80 to prevent off screen sprites from turning into silver coins when the silver POW is active (USE WITH 0AD28) |
| 12B95 | $02:A995 | 1 byte | Sprite number | What Red Koopa becomes after beating Special World (Blue Koopa) |
| 12B91 | $02:A991 | 1 byte | Sprite number | 2nd sprite to change after beating Special Zone (Red Koopa) |
| 12B8F | $02:A98F | 1 byte | Sprite number | What sprite Green Koopa becomes after beating Special World (Yellow Koopa) |
| 12B8B | $02:A98B | 1 byte | Sprite number | 1st sprite to change after beating Special Zone (Green Koopa) |
| 12B88 | $02:A988 | 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 |
| 129D2 | $02:A7D2 | 37 bytes | Misc. | Two sprites that are treated as "special" within the sprite header. The first list of sprites come first before the second. |
| 1276E | $02:A56E | 483 bytes | Sprite Subroutine | Object contact subroutine for the player's fireballs. |
| 1270D | $02:A50D | 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. |
| 12701 | $02:A501 | 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. |
| 126F5 | $02:A4F5 | 12 bytes | Coordinate | Y-offsets for extended sprites $02-$0D's clipping. 12 bytes and they're in that order. |
| 126E9 | $02:A4E9 | 12 bytes | Coordinate | X-offsets for extended sprites $02-$0D's clipping. 12 bytes and they're in that order. |
| 126AE | $02:A4AE | 5 bytes | Subroutine (JSx FIXME) | The hurt Mario subroutine called by an extended sprite touching him. |
| 125F6 | $02:A3F6 | 115 bytes | Sprite Subroutine | Extended sprite/player contact check and interaction subroutine. |
| 12547 | $02:A347 | 4 bytes | Sprite tilemap related | Dust Cloud Tilemap |
| 124E7 | $02:A2E7 | 8 bytes | Sprite tilemap related | Palette/GFX Page of Hammer |
| 124DF | $02:A2DF | 8 bytes | Sprite tilemap related | Hammer Tilemap (Also, the flip of Dry Bones' bone) |
| 124DA | $02:A2DA | 1 byte | Sprite tilemap related | Dry Bones: palette/gfx page of thrown bone |
| 124D0 | $02:A2D0 | 1 byte | Sprite tilemap related | Dry Bones: frame 2 of thrown bone |
| 124CC | $02:A2CC | 1 byte | Sprite tilemap related | Dry Bones: frame 1 of thrown bone |
| 124B1 | $02:A2B1 | 1 byte | Sprite tilemap related | Palette/GFX Page of Baseball once thrown |
| 124A4 | $02:A2A4 | 1 byte | Sprite tilemap related | Tile used by Pitchin' Chuck's baseball once thrown |
| 1244C | $02:A24C | 1 byte | Misc. | Small flame's palette. It is added to the fireball's palette. |
| 12417 | $02:A217 | 2 bytes | Sprite tilemap related | Small flame left by Hopping Flame Tilemap |
| 123A4 | $02:A1A4 | 115 bytes | Sprite Subroutine | 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). |
| 12363 | $02:A163 | 4 bytes | Sprite tilemap related | Reznor Fireball Tilemap |
| 1235F | $02:A15F | 4 bytes | Mario tilemap | Fireball tiles' palette/gfx page/priority/flip (May also affect the small flame left by Hopping Flame.) |
| 1235B | $02:A15B | 4 bytes | Sprite tilemap related | Fireball tile table |
| 12353 | $02:A153 | 8 bytes | Sprite Misc. | OAM indexes for extended sprites. |
| 12324 | $02:A124 | 31 bytes | ASM | Code that turns a sprite into a coin after getting hit by a fireball
$02A125 (12325) is the sound effect to play when other enemies are killed by fireballs
$02A12A (1232A) is the sprite fireballed enemies spawn |
| 1231D | $02:A11D | 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 (0x12EE5) for a list of possible values. |
| 12307 | $02:A107 | 1 byte | Sound effect | Sound effect to play when Chuck is killed by fireballs |
| 12303 | $02:A103 | 1 byte | Misc. | Chargin Chuck fire hp |
| 122FC | $02:A0FC | 1 byte | Misc. | Set to BD for unlimited Chargin Chuck fire hp |
| 122FB | $02:A0FB | 1 byte | Misc. | Change to 0A to make other enemies die like Chargin' Chuck when hit by fireballs |
| 12246 | $02:A046 | 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. |
| 121E4 | $02:9FE4 | 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 (PC $012199). |
| 121DB | $02:9FDB | 1 byte | ASM | Change to 80 to make the player's fireballs go through objects. |
| 121D4 | $02:9FD4 | 1 byte | Sprite physics | Initial Fireball Y Speed #2 |
| 121AB | $02:9FAB | 2 bytes | Sprite Misc. | OAM indexes for the player's fireballs. |
| 12199 | $02:9F99 | 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 (PC $0121E4)] |
| 1218B | $02:9F8B | 1 byte | Sprite tilemap related | Yoshi fireball palette/GFX page |
| 1217E | $02:9F7E | 1 byte | Sprite tilemap related | Yoshi's Fireball Frame 2 Tilemap |
| 1217A | $02:9F7A | 1 byte | Sprite tilemap related | Yoshi's Fireball Frame 1 Tilemap |
| 120D5 | $02:9ED5 | 1 byte | Sprite tilemap related | Lava splash palette/GFX page (2) |
| 12082 | $02:9E82 | 4 bytes | Sprite tilemap related | Lava splash tiles (2) |
| 1206A | $02:9E6A | 1 byte | Sprite tilemap related | Tile used by the arm that lowers Torpedo Ted (hand open) |
| 12066 | $02:9E66 | 1 byte | Sprite tilemap related | Tile used by the arm that lowers Torpedo Ted (hand closed) |
| 11F55 | $02:9D55 | 1 byte | Sprite tilemap related | Size of smiley face coin tiles (00=8x8; 02=16x16) |
| 11F50 | $02:9D50 | 1 byte | Sprite tilemap related | The YXPPCCCT properties for the tile used for the Smiley Coin in the Coin Cloud Game. |
| 11F4B | $02:9D4B | 1 byte | Sprite tilemap related | The sprite graphics tile used for the Smiley Coin that is dropped by the Coin Cloud Game. |
| 11F30 | $02:9D30 | 1 byte | Sprite tilemap related | Tile used by Wiggler's Flower once it falls off his head |
| 11E94 | $02:9C94 | 1 byte | Sprite tilemap related | Spin jump star tile |
| 11E8F | $02:9C8F | 1 byte | Sprite tilemap related | Spin jump star palette |
| 11D98 | $02:9B98 | 1 byte | Sprite tilemap related | second tile of volcano lotus' fireball |
| 11D94 | $02:9B94 | 1 byte | Sprite tilemap related | first tile of volcano lotus' fireball |
| 11D85 | $02:9B85 | 1 byte | Sprite tilemap related | palette/GFX page of volcano lotus' fireball |
| 11D2B | $02:9B2B | 38 bytes | Pointer | Extended sprite routines (hammer, fireball, etc.) |
| 11CAD | $02:9AAD | 1 byte | Misc. | How many points you receive for getting a coin out of a block. |
| 11BF1 | $02:99F1 | 183 bytes | Sprite Subroutine | Main handling routine for the spinning coins that come out of ? blocks.
$029A4F (0x11C4F) is a fourth of the rolling coin tilemap. This tile is 16x16.
$029A54 (0x11C54) is the properties of the rolling coin flying from question blocks.
$029A6E (0x11C6E) 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. |
| 11BE9 | $02:99E9 | 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). |
| 11B22 | $02:9922 | 5 bytes | Sprite tilemap related | Mario/Luigi's trail of smoke tilemap. It uses palette 8. |
| 118CB | $02:96CB | 12 bytes | Pointer | Pointer to the smoke images. ($7E:17F0 - $7E:17FB) |
| 118B8 | $02:96B8 | 4 bytes | Sprite Misc. | OAM indexes for the smoke images (in the $0200 block). |
| 116C1 | $02:94C1 | 52 bytes | Subroutine (JSx FIXME) | Cape Mario smashes ground subroutine. |
| 11656 | $02:9456 | 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 |
| 11644 | $02:9444 | 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. |
| 11556 | $02:9356 | 60 bytes | Subroutine (JSx FIXME) | 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. |
| 11547 | $02:9347 | 3 bytes | ASM | Change to [20 E2 FF] 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. (USE WITH 181E2) |
| 113F1 | $02:91F1 | 7 bytes | Sprite tilemap related | Block bounce sprite tiles
40 - Turn Block
6B - Note Block
2A - ?-Block
42 - Unused Side Bounce Turn Block (40)
EA - Glass Block
8A - ON/OFF Block |
| 113ED | $02:91ED | 4 bytes | Sprite Misc. | OAM indexes for block bounce sprites (in the $0200 block). |
| 113B9 | $02:91B9 | 1 byte | Misc. | Tile spawned behind bouncing block sprite |
| 1137E | $02:917E | 1 byte | Sound effect | Sound Effect from bouncing on a Note Block |
| 112C0 | $02:90C0 | 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. |
| 11176 | $02:8F76 | 1 byte | Sprite tilemap related | Lava splash palette/GFX page (1) |
| 1112B | $02:8F2B | 4 bytes | Sprite tilemap related | Lava splash tiles (1) |
| 1111A | $02:8F1A | 1 byte | Sprite tilemap related | Palette of star sparkles |
| 1110B | $02:8F0B | 1 byte | Misc. | Change to 00 to give Invincible Mario coin sparkles |
| 110CC | $02:8ECC | 6 bytes | Sprite tilemap related | Star Mario's Sparkle Tiles |
| 110BC | $02:8EBC | 1 byte | Sprite tilemap related | Palette/GFX page of broken Yoshi egg piece |
| 110B2 | $02:8EB2 | 1 byte | Sprite tilemap related | Tile of broken Yoshi egg piece |
| 11044 | $02:8E44 | 1 byte | Sprite tilemap related | Properties of Rip Van Fish's Z's. Set to 02 to make it use the first graphics page. |
| 10FD7 | $02:8DD7 | 4 bytes | Sprite tilemap related | Tiles used by Rip Van Fish's Z's |
| 10F42 | $02:8D42 | 13 bytes | Sprite tilemap related | Water Splash Tilemap |
| 10EC4 | $02:8CC4 | 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.) |
| 10EB8 | $02:8CB8 | 12 bytes | Sprite tilemap related | Reflecting Stream of Boo Buddies tilemap (Boos that follow the leader) |
| 10EAA | $02:8CAA | 1 byte | Sprite tilemap related | Properties of the unused "getting on Yoshi" smoke minor extended sprite. |
| 10E6A | $02:8C6A | 4 bytes | Sprite tilemap related | Table of 4x4 tiles used for the unused "getting on Yoshi" smoke minor extended sprite. |
| 10DB4 | $02:8BB4 | 1 byte | Misc. | Set to B9 to enable unused "Getting on Yoshi" dust animation |
| 10D98 | $02:8B98 | 24 bytes | Pointer | Minor extended sprite pointer table, 2 bytes per sprite. |
| 10D8C | $02:8B8C | 8 bytes | Sprite tilemap related | Broken Brick tile properties, YXPPCCCT format. |
| 10D84 | $02:8B84 | 8 bytes | Sprite tilemap related | Sprite mappings for Broken Bricks, Broken Turn blocks, and Broken Throw Blocks |
| 10D78 | $02:8B78 | 12 bytes | Sprite Misc. | OAM indexes for minor extended sprites. |
| 10CB1 | $02:8AB1 | 182 bytes | Subroutine (JSx FIXME) | 1up handler routine. 0x10CCE ($02:8ACE) is the sound effect.
0x10CC9 ($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.) |
| 10C66 | $02:8A66 | 67 bytes | Subroutine (JSx FIXME) | 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. |
| 10C44 | $02:8A44 | 34 bytes | Subroutine (JSx FIXME) | 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. |
| 10C42 | $02:8A42 | 2 bytes | Sprite tilemap related | Colours of P-Switches (Blue, Silver) when spawned by tile 11D |
| 10C08 | $02:8A08 | 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.) |
| 10C03 | $02:8A03 | 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). |
| 10B68 | $02:8968 | 1 byte | Music | Directional coins music. |
| 10B05 | $02:8905 | 98 bytes | Subroutine (JSx FIXME) | The subroutine that generates a sprite from a block (tile 120 or 125, for example).
$02895F (10B5F) - Change from F0 to 80 to allow Directional Coins to reappear if you activate the block, then leave the area and come back. |
| 10AC6 | $02:88C6 | 11 bytes | Misc. | Sprite in block status ($7E14C8 - $7E14D3) table. |
| 10AC3 | $02:88C3 | 1 byte | Sprite number | Sprite that comes out of block 114 (Directional coins), if Yoshi is present. |
| 10AC2 | $02:88C2 | 1 byte | Sprite number | Sprite that comes out of block 12C (Changing Item), if Yoshi is present. |
| 10AC1 | $02:88C1 | 1 byte | Sprite number | Sprite that comes out of blocks 127 and 128 if Yoshi is present (Green shell) |
| 10AC0 | $02:88C0 | 1 byte | Sprite number | Sprite that comes out of block 126 (Yoshi egg), if Yoshi is present. |
| 10ABF | $02:88BF | 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. |
| 10ABE | $02:88BE | 1 byte | Sprite number | Sprite that comes out of block 11D (POW), when Yoshi is present. |
| 10ABC | $02:88BC | 1 byte | Sprite number | Sprite that comes out of block 11A(?) (Vine), when Yoshi is present. |
| 10AB9 | $02:88B9 | 1 byte | Sprite number | Sprite that comes out of block 11A (1up), when Yoshi is present. |
| 10AB8 | $02:88B8 | 1 byte | Sprite number | Sprite that comes out of block 118 when big (Feather), when Yoshi is present. |
| 10AB7 | $02:88B7 | 1 byte | Sprite number | Sprite that comes out of block 119 (Star), when Yoshi is present. |
| 10AB6 | $02:88B6 | 1 byte | Sprite number | Sprite that comes out of block 117 when big (Flower), when Yoshi is present. |
| 10AB5 | $02:88B5 | 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) |
| 10AB2 | $02:88B2 | 1 byte | Sprite number | Sprite that comes out of block 114 (Directional coins) |
| 10AB1 | $02:88B1 | 1 byte | Sprite number | Sprite that comes out of block 12C (Changing Item) |
| 10AB0 | $02:88B0 | 1 byte | Sprite number | Sprite that comes out of blocks 127 and 128 (Green shell) |
| 10AAF | $02:88AF | 1 byte | Sprite number | Sprite that comes out of block 126 (Yoshi egg) |
| 10AAE | $02:88AE | 1 byte | Sprite number | Sprite that comes out of block 125 (Balloon - if changed, it will produce the same sprite regardless of X position) |
| 10AAD | $02:88AD | 1 byte | Sprite number | Sprite that comes out of block 11D (POW) |
| 10AAB | $02:88AB | 1 byte | Sprite number | Sprite that comes out of block 11A(?) (Vine) |
| 10AA8 | $02:88A8 | 1 byte | Sprite number | Sprite that comes out of block 11A (1up) |
| 10AA7 | $02:88A7 | 1 byte | Sprite number | Sprite that comes out of blocks 118 and 120 when big, and 16A regardless of status (Feather) |
| 10AA6 | $02:88A6 | 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) |
| 10AA5 | $02:88A5 | 1 byte | Sprite number | Sprite that comes out of blocks 117 and 11F when big (Flower) |
| 10AA4 | $02:88A4 | 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) |
| 10AA2 | $02:88A2 | 1 byte | Sprite number | Sprite that comes out of egg in block 126 if Yoshi is already present (1up) |
| 10AA1 | $02:88A1 | 1 byte | Sprite number | Sprite that comes out of egg in block 126 (Yoshi) |
| 10A7D | $02:887D | 36 bytes | Subroutine (JSx FIXME) | 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. |
| 10965 | $02:8765 | 1 byte | Misc. | [05] Number of points awarded for breaking a turn block, divided by 10. |
| 10952 | $02:8752 | 299 bytes | Subroutine (JSx FIXME) | 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.
#$01 - Turn Block with item / ! Block
#$02 - Note Block
#$03 - ?-Block
#$04 - Unused Side Bounce Turn Block
#$05 - Glass Block
#$06 - ON/OFF Block
#$07 - Turn Block |
| 1093E | $02:873E | 4 bytes | Sprite physics | Bounce sprite X speed table, based on direction (or the value in $06 during the routine at $028752). |
| 1093A | $02:873A | 4 bytes | Sprite physics | Bounce sprite Y speed table, based on direction (or the value in $06 during the routine at $028752). |
| 108BF | $02:86BF | 46 bytes | Subroutine (JSx FIXME) | Yellow Yoshi earthquake subroutine. |
| 10886 | $02:8686 | 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. |
| 10880 | $02:8680 | 1 byte | Sound effect | Breaking Turn Blocks Sound Effect. |
| 10863 | $02:8663 | 1 byte | Subroutine (JSx FIXME) | Exploding block Subroutine
input:
A: If 0 it appear as a exploding brown block, else it appear as a flashing block |
| 1082F | $02:862F | 52 bytes | Sprite Subroutine | Throw block creation subroutine.
$02864E (1084E) - Sprite number: Sprite that the Throw Block is made from.
$028656 (10856) - Throw Block timer. Change it to 00 so it stays forever. |
| 1078F | $02:858F | 80 bytes | Subroutine (JSx FIXME) | Star Sparkle GFX Subroutine (Doesn't make Mario invincible, but shows sparkles.) $0285BA (107BA) is where the Sprite/Block Star Sparkle GFX Subroutine starts (which is also used for Mario). |
| 10728 | $02:8528 | 103 bytes | ASM | Lava Splash Subroutine
$028540 (10740) is Objects to use for lava splash |
| 106BC | $02:84BC | 84 bytes | Subroutine (JSx FIXME) | Water Splash Subroutine |
| 105FB | $02:83FB | 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. |
| 1045F | $02:825F | 30 bytes | Sprite tilemap related | Morton/Roy BG Tiles |
| 10426 | $02:8226 | 57 bytes | Sprite tilemap related | Ludwig BG Tiles |
| 10286 | $02:8086 | 242 bytes | Sprite Subroutine | 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 (1028E) is Bob-omb explosion area
$028114 (10314) is Bob-omb's explosion GFX tile
If you change $02811E (1031E) from 38 to 18 (i.e. change SEC to CLC), the Bob-omb explosion will use the first graphics page. |
| 1027C | $02:807C | 10 bytes | Misc. | Bob-omb explosion y spacing |
| 10272 | $02:8072 | 10 bytes | Misc. | Bob-omb explosion x spacing |
| 10208 | $02:8008 | 106 bytes | Subroutine (JSx FIXME) | "Drop Item From Box" Subroutine. JSL to it to make the current item fall from the box.
Change $028008 (10208) from DA to 6B to disable the item box drop routine.
$028013 (10213) is Item dropping from itembox sound effect, written to $7E1DFC. Default value is [0C].
$028042 (10242) is Sprite State to drop items from the item box as.
$028052 (10252) is the fixed X position of dropped item from item box.
$028060 (10260) is the fixed Y position of dropped item from item box. |
| 101BF | $01:FFBF | 65 bytes | Empty | Unused data. |
| 10153 | $01:FF53 | 4 bytes | Sprite tilemap related | Sprite tilemap: Larry/Iggy shell |
| 100BB | $01:FEBB | 1 byte | Sprite tilemap related | Larry Koopa's Palette/GFX page/Priority/Flip |
| 100BA | $01:FEBA | 1 byte | Sprite tilemap related | Iggy Koopa's Palette/GFX page/Priority/Flip |
| 10083 | $01:FE83 | 51 bytes | Sprite tilemap related | Sprite tilemap: Larry/Iggy |
| 0FFBD | $01:FDBD | 1 byte | Sprite number | Sprite that Iggy/Larry throws |
| 0FF46 | $01:FD46 | 1 byte | Timer | Amount of time until Iggy/Larry stops gliding after being hit by a fireball. |
| 0FF00 | $01:FD00 | 1 byte | Misc. | Iggy/Larry's speed when stomped |
| 0FEC6 | $01:FCC6 | 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. |
| 0FE74 | $01:FC74 | 1 byte | ASM | The right bound of Iggy/Larry's movement. If Iggy/Larry crosses this right bound, he falls in the lava. |
| 0FE70 | $01:FC70 | 1 byte | ASM | The left bound of Iggy/Larry's movement. If Iggy/Larry crosses this left bound, he falls in the lava. |
| 0FDD6 | $01:FBD6 | 1 byte | Misc. | Iggy/Larry's speed for walking towards center |
| 0FDD2 | $01:FBD2 | 1 byte | Misc. | Iggy/Larry's speed for walking towards center |
| 0FDC6 | $01:FBC6 | 1 byte | Misc. | Iggy/Larry's speed for walking towards center |
| 0FDC2 | $01:FBC2 | 1 byte | Misc. | Iggy/Larry's speed for walking towards center |
| 0FD95 | $01:FB95 | 1 byte | Timer | FD95 - How long it takes for Iggy/Larry to turn around. |
| 0FD61 | $01:FB61 | 1 byte | Sound effect | SFX that plays when you hit Iggy/Larry into the lava. |
| 0FD2E | $01:FB2E | 1 byte | Music | Music played after Iggy/Larry is defeated |
| 0FC4E | $01:FA4E | 4 bytes | Sprite tilemap related | Iggy/Larry ball tilemap |
| 0FC3A | $01:FA3A | 3 bytes | Palette | Boo Block Palettes |
| 0FC37 | $01:FA37 | 3 bytes | Sprite tilemap related | Boo Block Tilemap |
| 0FC2F | $01:FA2F | 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. |
| 0FB29 | $01:F929 | 1 byte | Timer | Time taken for Boo to turn around. |
| 0FB10 | $01:F910 | 1 byte | Misc. | Change from D0 to 80 to disable Boo from stopping when Mario looks at it. |
| 0FA8E | $01:F88E | 2 bytes | Misc. | Vertical speed of Eerie (sprite 39) |
| 0FA8C | $01:F88C | 2 bytes | Sprite physics | Horizontal speed of Eeries |
| 0F994 | $01:F794 | 1 byte | Sprite tilemap related | Yoshi's Egg Tilemap |
| 0F989 | $01:F789 | 1 byte | Sprite number | Sprite that hatches from sprite 2C (red/blue/yellow Yoshi egg) when Mario already has a Yoshi. (Default: 78 (1up)) |
| 0F982 | $01:F782 | 1 byte | Sprite number | Sprite that hatches out of colored yoshi egg when Mario does not already have a yoshi. |
| 0F961 | $01:F761 | 3 bytes | Sprite tilemap related | Yoshi's Egg Tilemap (2 frames breaking, 1 frame unbroken) |
| 0F95D | $01:F75D | 3 bytes | Sprite tilemap related | Which GFX page the Yoshi egg (sprite 2C) uses. The first two values are for when it is intact, and the third is for when it starts breaking. |
| 0F957 | $01:F757 | 1 byte | Sound effect | Yoshi egg coming out of block sound |
| 0F944 | $01:F744 | 1 byte | Timer | How long invincibility lasts after yoshi runs away. 80 - longest, 00/FF - Shortest. |
| 0F92A | $01:F72A | 1 byte | Mario physics | Y Speed Mario has when he gets hit while riding yoshi. |
| 0F920 | $01:F720 | 2 bytes | Sound effect | What Bank xF91E loads it's SFX from. (Default is $1DFC) |
| 0F91E | $01:F71E | 1 byte | Sound effect | Sound Effect when mario get's hit while riding yoshi. |
| 0F805 | $01:F605 | 1 byte | Timer | Amount of time Yoshi's tongue stays out before he swallows an enemy |
| 0F7CD | $01:F5CD | 1 byte | Sprite number | Sprite that Pokey is made from when swallowed |
| 0F7A2 | $01:F5A2 | 1 byte | Sound effect | SFX played when Yoshi tries to eat an inedible sprite with his tongue |
| 0F6E8 | $01:F4E8 | 1 byte | Coordinate | Y position of sprite grabbed by Yoshi's tongue |
| 0F698 | $01:F498 | 1 byte | Sprite tilemap related | Value to add to Pal/flip/etc. of Yoshi's tongue when facing right |
| 0F694 | $01:F494 | 1 byte | Sprite tilemap related | Palette/Flip/Gfx page of Yoshi's Tongue |
| 0F68C | $01:F48C | 1 byte | Sprite tilemap related | Tile used by the end of Yoshi's Tongue |
| 0F688 | $01:F488 | 1 byte | Sprite tilemap related | Tile used by the middle of Yoshi's Tongue |
| 0F669 | $01:F469 | 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. |
| 0F665 | $01:F465 | 1 byte | Misc. | How many tiles comprise Yoshi's tongue (doesn't change collision) |
| 0F648 | $01:F448 | 1 byte | Misc. | X-shift of Yoshi's tongue segments |
| 0F560 | $01:F360 | 3 bytes | ASM | The routine triggered when Yoshi eats a sprite. Starts by loading the sprite number and comparing it to a Koopa. |
| 0F53C | $01:F33C | 1 byte | Sprite physics | Speed at which Yoshi's tongue retreats after being at maximum point. |
| 0F529 | $01:F329 | 1 byte | Timer | Amount of time Yoshi's tongue stays at its maximum length |
| 0F51E | $01:F31E | 1 byte | Misc. | Length of Yoshi's tongue (about 2.5 blocks) |
| 0F519 | $01:F319 | 1 byte | Sprite physics | Speed at which Yoshi's tongue comes out. |
| 0F50F | $01:F30F | 1 byte | Sound effect | Yoshi tongue sound. Uses $1DFC for sound effect. |
| 0F50A | $01:F30A | 1 byte | Misc. | Change to 00 to keep Yoshi from sticking out his tongue |
| 0F499 | $01:F299 | 1 byte | Sprite number | The three objects Yoshi spits out after eating a red shell |
| 0F490 | $01:F290 | 1 byte | Sound effect | Yoshi spit fire SFX |
| 0F473 | $01:F273 | 9 bytes | ASM | Code that makes Red Yoshi spit out flames no matter what shell colour is in his mouth
xF479 - Which coloured Yoshi always gets fire breath |
| 0F46A | $01:F26A | 9 bytes | ASM | Code that makes Yoshi spit out flames when he has the red shell in his mouth
xF470 - Which shell colour can give Yoshi fire breath. |
| 0F347 | $01:F147 | 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) |
| 0F337 | $01:F137 | 16 bytes | Misc. | Which powers the different Yoshi color+shell color combinations gives. It's a 4x4 table, where the order is green, red, yellow, blue, the Koopa colors are on the horizontal axis and the Yoshi colors are on the vertical axis. Setting an #$01 bit enables ground pounding, #$02 enables flight. The other bits aren't used. |
| 0F324 | $01:F124 | 1 byte | Sprite number | Which sprite is generated when two pink berries are eaten (By default: 6A) |
| 0F31D | $01:F11D | 1 byte | Misc. | How many pink berries should be eaten before a coin game cloud appears. (By default: 02) |
| 0F307 | $01:F107 | 1 byte | Timer | How many "10 seconds" the green berry adds to the timer when eaten by Yoshi. 00 wouldn't add anything, 01 adds 10, 02 adds 20 seconds and so on. Can glitch up the timer if set to anything higher than 0A. |
| 0F2F6 | $01:F0F6 | 1 byte | Sprite number | Which sprite is generated when 10 red berries are eaten (by default : 74 - mushroom) |
| 0F2EF | $01:F0EF | 1 byte | Misc. | How many berries Yoshi needs to eat before he lays an egg containing a mushroom. (Default: 0A) |
| 0F2D4 | $01:F0D4 | 1 byte | Sound effect | Yoshi swallowing sound |
| 0F297 | $01:F097 | 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. |
| 0F28B | $01:F08B | 1 byte | Sprite tilemap related | Tile used in Yoshi's throat as he swallows |
| 0F054 | $01:EE54 | 13 bytes | Coordinate | Y-position of Yoshi's head |
| 0F047 | $01:EE47 | 13 bytes | Coordinate | Base Y-position of Yoshi |
| 0F020 | $01:EE20 | 13 bytes | Coordinate | X-position of Yoshi's head (facing left) |
| 0F013 | $01:EE13 | 13 bytes | Coordinate | X-position of Yoshi's head (facing right) |
| 0F006 | $01:EE06 | 13 bytes | Sprite tilemap related | Yoshi's body tiles (points to table at 9E47-9E57) |
| 0EFF9 | $01:EDF9 | 13 bytes | Sprite tilemap related | Yoshi's head tiles (points to table at 9E47-9E57) |
| 0EFF8 | $01:EDF8 | 1 byte | Misc. | Yoshi animation speed while running |
| 0EFF1 | $01:EDF1 | 2 bytes | Coordinate | Base X-position of Yoshi (1st byte facing right; 2nd facing left) |
| 0EFEE | $01:EDEE | 3 bytes | Misc. | Riding Yoshi walking animation frames |
| 0EFE4 | $01:EDE4 | 10 bytes | Coordinate | Y-position of Mario on Yoshi (1 byte for each frame; 10 bytes) |
| 0EF9E | $01:ED9E | 45 bytes | Subroutine (JSR) | The routine that makes player leave Yoshi (by pressing A while on him).
It ends with a RTS. |
| 0EF9C | $01:ED9C | 1 byte | Misc. | [10] Change to [80] to disable jumping of Yoshi. |
| 0EF6D | $01:ED6D | 3 bytes | ASM | Change to [80 01 EA] to fix the glitch where you can hop off Yoshi to increase consecutive enemies stomped. |
| 0EF60 | $01:ED60 | 1 byte | Sound effect | Mario jumping on Yoshi sound |
| 0EEFE | $01:ECFE | 1 byte | Misc. | Yoshi's hopping height in idle state |
| 0EE04 | $01:EC04 | 72 bytes | Sprite Subroutine | The routine that makes Yoshi hatch.
$01EC2F (0EE2F) - Change "3A" (DEC A) to "EA" (NOP) to make Yoshi's "Thank you for saving me" message appear even if you're on the main overworld and/or submap.
$01EC3C (0EE3C) is Yoshi's thank you message |
| 0EDC2 | $01:EBC2 | 8 bytes | Misc. | Growing animation sequence |
| 0EDBE | $01:EBBE | 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 |
| 0ED79 | $01:EB79 | 1 byte | Misc. | Change to 00 to make Mario walk even when riding Yoshi |
| 0ED2D | $01:EB2D | 1 byte | Misc. | Yoshi waiting animation frame |
| 0ED1D | $01:EB1D | 1 byte | Misc. | Yoshi crouching animation frame |
| 0ED16 | $01:EB16 | 4 bytes | ASM | Change this to [EA EA A5 73] to fix an issue with Yoshi if you disable ducking. |
| 0ED09 | $01:EB09 | 1 byte | Misc. | Yoshi eating animation (while holding up) |
| 0ED01 | $01:EB01 | 1 byte | Misc. | Yoshi eating animation frame |
| 0ECF6 | $01:EAF6 | 1 byte | Misc. | Yoshi turning animation frame |
| 0ECED | $01:EAED | 1 byte | Misc. | Yoshi jumping animation frame |
| 0ECE7 | $01:EAE7 | 1 byte | Misc. | Yoshi falling animation frame |
| 0ECA8 | $01:EAA8 | 1 byte | Misc. | Yoshi's standing animation |
| 0EC21 | $01:EA21 | 79 bytes | Sprite Subroutine | 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 (0x0EC32) is the sprite Lakitu throws.
$01EA36 (0x0EC36) is the sprite Lakitu throws when a silver P-switch is active.
$01EA69 (0x0EC69) is the palette of the sprite Lakitu throws when a silver P-Switch is active. |
| 0EC19 | $01:EA19 | 8 bytes | Sprite Subroutine | Wrapper for the subroutine at $01EA21 (changes the data bank and JSRs to it). |
| 0EBDC | $01:E9DC | 1 byte | Sprite physics | Change to 74 to disable Lakitu vertical movement |
| 0EB85 | $01:E985 | 4 bytes | Sprite tilemap related | Cloud Tilemap |
| 0EB7B | $01:E97B | 1 byte | Sprite tilemap related | YXPPCCCT - Lakitu Cloud Properties (Priority/Palette/Flip/GFX Page) |
| 0EB76 | $01:E976 | 1 byte | Sprite tilemap related | Tile used by the face on Lakitu's Cloud |
| 0E933 | $01:E733 | 1 byte | Sprite tilemap related | Tile to use for stomped goomba |
| 0E929 | $01:E729 | 1 byte | Sprite tilemap related | Tile used by flattened Shelless Koopa |
| 0E923 | $01:E723 | 1 byte | Sprite tilemap related | Tile used by flattened POW Switch |
| 0E8AA | $01:E6AA | 1 byte | Sound effect | Sound effect made by the portable springboard. |
| 0E8A3 | $01:E6A3 | 1 byte | Sprite physics | How high Mario jumps when jumping from the P. Springboard. (80 highest, 00-FF lowest. |
| 0E89F | $01:E69F | 1 byte | Mario tilemap | Mario's pose after jumping high from the portable Springboard. (0A looks the best, 0B by default.) |
| 0E891 | $01:E691 | 1 byte | Sprite physics | [10] Change to 80 to disable spin jumping from springboards |
| 0E7FF | $01:E5FF | 1 byte | Timer | Time it takes for Dry-Bones to come back to life. |
| 0E7F3 | $01:E5F3 | 1 byte | Sound effect | Dry Bones Crumble Sound Effect. |
| 0E722 | $01:E522 | 11 bytes | ASM | Code that makes sprite 32, the Dry Bones that stays on ledges, throw bones when the overworld level is 10D.
You can change $01E522 to [80 1E] to make sprite 32 never throw bones, or you can change $01E526 to [80 07] to make the sprite throw bones in all overworld levels. $01E52A is the overworld level in question; it follows the format of RAM address $13BF. |
| 0E65E | $01:E45E | 1 byte | Sprite tilemap related | Dry Bones and Bony Beetle crumble animation, frame 2 |
| 0E654 | $01:E454 | 1 byte | Sprite tilemap related | Dry Bones and Bony Beetle crumble animation, frame 1 |
| 0E56A | $01:E36A | 1 byte | Sprite tilemap related | Attributes of Ledge-Dwelling Monty Mole |
| 0E53C | $01:E33C | 1 byte | Misc. | Tile spawned by ledge-dwelling Monty Mole |
| 0E501 | $01:E301 | 1 byte | Timer | [20] How long time Monty Mole waits in the ground until jumping out (for other areas than YI) |
| 0E4FD | $01:E2FD | 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 |
| 0E4FB | $01:E2FB | 1 byte | Timer | [68] How long time Monty Mole waits in the ground until jumping out (for the YI submap) |
| 0E4B0 | $01:E2B0 | 24 bytes | Empty | Unused data. |
| 0E4AB | $01:E2AB | 1 byte | Sprite physics | Initial Y speed of 1UP sprite from the bonus game. |
| 0E4A6 | $01:E2A6 | 1 byte | Sprite physics | Initial X speed of 1UP sprite from the bonus game. |
| 0E4A1 | $01:E2A1 | 1 byte | Coordinate | X high position of 1UP sprite from bonus game, to start out with. |
| 0E49C | $01:E29C | 1 byte | Coordinate | X low position of 1UP sprite from bonus game, to start out with. |
| 0E497 | $01:E297 | 1 byte | Coordinate | Y high position of 1UP sprite from bonus game, to start out with. |
| 0E492 | $01:E292 | 1 byte | Coordinate | Y low position of 1UP from bonus game, to start out with. |
| 0E45B | $01:E25B | 1 byte | Sprite tilemap related | Keyhole palette/GFX page |
| 0E456 | $01:E256 | 1 byte | Sprite tilemap related | Bottom tile of keyhole |
| 0E451 | $01:E251 | 1 byte | Sprite tilemap related | Top tile of keyhole |
| 0E416 | $01:E216 | 1 byte | Music | Keyhole music |
| 0E411 | $01:E211 | 1 byte | Timer | Keyhole shrinking timer. |
| 0E40F | $01:E20F | 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. |
| 0E40A | $01:E20A | 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. |
| 0E3F9 | $01:E1F9 | 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. |
| 0E3D1 | $01:E1D1 | 1 byte | Sprite number | Sprite that can unlock keyholes in its stunned status (Default is 80: Key) |
| 0E390 | $01:E190 | 4 bytes | Sprite tilemap related | Sprite tilemap: Bowser Flame |
| 0E311 | $01:E111 | 4 bytes | Sprite tilemap related | Change to EA EA EA EA to prevent Podoboo from having lava trail. |
| 0E107 | $01:DF07 | 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. |
| 0E0E3 | $01:DEE3 | 36 bytes | Sprite tilemap related | Sprite tilemap: Bonus Roulette |
| 0DFBD | $01:DDBD | 1 byte | Sprite number | Sprite that the Bonus game is made from |
| 0DEAC | $01:DCAC | 1 byte | Sprite tilemap related | Line-Guided Rope Palette |
| 0DE4C | $01:DC4C | 8 bytes | Sprite tilemap related | Line-guided Rope's rope tilemap |
| 0DE47 | $01:DC47 | 4 bytes | Sprite tilemap related | Line-guided Rope's Motor Tilemap |
| 0DE28 | $01:DC28 | 1 byte | Sprite tilemap related | Line-guided Grinder Tilemap |
| 0DDF5 | $01:DBF5 | 1 byte | Sprite tilemap related | Line-guided Fuzzball tilemap (Sprite 68) |
| 0DDBF | $01:DBBF | 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. |
| 0DD9E | $01:DB9E | 4 bytes | Sprite tilemap related | [03 43 83 C3] OAM properties for the Grinder tiles (the one that doesn't follow line guides). |
| 0DD9A | $01:DB9A | 4 bytes | Sprite tilemap related | [00 00 10 10] Y offset for the Grinder tiles (the one that doesn't follow line guides). |
| 0DD96 | $01:DB96 | 4 bytes | Sprite tilemap related | X displacement for the Grinder tiles (the one that doesn't follow line guides). |
| 0D9A1 | $01:D7A1 | 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. |
| 0D97D | $01:D77D | 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. |
| 0D8F0 | $01:D6F0 | 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.
xD8FA - X position (low byte) of sprites 65, 66, 67 and 68. Change it to 0F to fix it's x position when it goes to the right. (USE WITH D901)
xD901 - X position (high byte) of sprites 65, 66, 67 and 68. Change it to 00 to fix it's x position when it goes to the right. (USE WITH D8FA) |
| 0D8ED | $01:D6ED | 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. |
| 0D8D2 | $01:D6D2 | 6 bytes | Sprite Misc. | The code that determines whether sprite 63 should be brown or checkered. Change to "A9 xx EA EA EA EA" to make the platform always brown or always checkered (if brown, xx = 00, if checkered, xx = 01).
xD8D5 - change to 00 to make sprite 63 use the small wooden platform no matter which x-position. (to use with xD8D7)
xD8D7 - change to 00 to make sprite 63 use the small wooden platform no matter which x-position. (to use with xD8D5) |
| 0D646 | $01:D446 | 4 bytes | Sprite tilemap related | Sprite tilemap: Ludwig Fireball |
| 0D5FF | $01:D3FF | 1 byte | Misc. | How many fireballs it takes before Morton/Ludwig/Roy are killed.
Counts up to the stomping HP counter as well. By default: 0C. |
| 0D5F8 | $01:D3F8 | 3 bytes | Misc. | Change to EA EA EA to make Morton, Roy and Ludwig immune to fireballs |
| 0D5AC | $01:D3AC | 1 byte | Sound effect | Which sound to generate when stomping Morton/Roy/Ludwig when they're vulnerable (a second sound effect is generated too, see xD4FE).
By default #$28. |
| 0D5A2 | $01:D3A2 | 1 byte | Timer | How long Morton/Roy/Ludwig recovers after Mario has hit him. |
| 0D583 | $01:D383 | 1 byte | Misc. | Vertical scaling of Morton/Roy/Ludwig (Mode 7) just after they had been hit. The bigger the value, the shorter the Koopa Kids become.
Do not change the value to #$00 - #$1F or #$80 - #$FF as it will mess up. If changing value, keep it near the original since it might affect the Koopa Kid's height afterwards, if the value was too extreme.
By default: #$28. |
| 0D57A | $01:D37A | 1 byte | Misc. | Horizontal scaling of Morton/Roy/Ludwig (Mode 7) just after they're hit. The higher the value, the thinner they are. Extreme values, such as 00 (biggest) or FF (smallest), are not recommended as they may or may not partially affect the gameplay. Keep the value near the original, if you change it.
By default: #$18. |
| 0D54D | $01:D34D | 1 byte | Misc. | Y speed of Mario when he bounces off Morton/Roy in their unusual state (as in, crawling on walls, falling from ceiling). |
| 0D549 | $01:D349 | 1 byte | Misc. | X speed of Mario when he bounces off Morton/Roy when they're crawling on the right half of the screen. |
| 0D543 | $01:D343 | 1 byte | Misc. | X speed of Mario when he bounces off Morton/Roy when they're crawling on the left side of the screen. |
| 0D535 | $01:D335 | 1 byte | Sound effect | Sound effect played when Mario hits Morton/Roy when going up the wall. |
| 0D530 | $01:D330 | 1 byte | Mario physics | Mario's Y-Speed after jumping on Morton/Roy when they have just landed. Closer to 80 - highest. |
| 0D51F | $01:D31F | 1 byte | Sound effect | SFX Played when Mario hits Morton/Roy while on the ceiling, while falling, and after they have just landed. |
| 0D4FE | $01:D2FE | 1 byte | Sound effect | Which sound to generate when stomping Ludwig when he's inside his shell, and Morton/Roy/Ludwig when they're vulnerable (a second sound effect is generated too here, see xD5AC).
By default #$02. |
| 0D4FA | $01:D2FA | 1 byte | Misc. | Y speed of Mario when he bounces off Morton/Roy (normal state) and Ludwig (always). |
| 0D4D0 | $01:D2D0 | 1 byte | Misc. | Timer determining how many frames to wait before being able to interact with Morton/Ludwig/Roy, after having interacted with it. (By default: 08) |
| 0D49F | $01:D29F | 1 byte | Timer | How long Morton/Roy stays put after landing on floor. |
| 0D49A | $01:D29A | 1 byte | Sound effect | Morton/Roy landing sound effect. |
| 0D495 | $01:D295 | 1 byte | Timer | How long Mario is stunned for after Morton/Roy hits ground. |
| 0D48C | $01:D28C | 1 byte | Timer | How much the ground shakes after Morton/Roy hit the floor. |
| 0D46E | $01:D26E | 1 byte | Sprite physics | Falling speed of Morton and Roy |
| 0D439 | $01:D239 | 2 bytes | Sprite physics | How fast Morton and Roy rotate when they're crawling on a wall or ceiling. By default FC and 04. The closer to 00, the slower it gets. Do not exceed above a difference of 80 (that is, don't make the first value 01-7F, and don't make the second value 81-FF). Using 00 isn't recommended either. |
| 0D339 | $01:D139 | 1 byte | Sprite physics | Morton and Roy's vertical speed for third hit, down. |
| 0D337 | $01:D137 | 1 byte | Sprite physics | Morton and Roy's vertical speed for third hit, up. |
| 0D335 | $01:D135 | 1 byte | Sprite physics | Morton and Roy's vertical speed for second hit, down. |
| 0D333 | $01:D133 | 1 byte | Sprite physics | Morton and Roy's vertical speed for second hit, up. |
| 0D331 | $01:D131 | 1 byte | Sprite physics | Morton and Roy's vertical speed for first hit, down. |
| 0D32F | $01:D12F | 1 byte | Sprite physics | Morton and Roy's vertical speed for first hit, up. |
| 0D32C | $01:D12C | 1 byte | Sprite physics | Morton and Roy's speed for third hit, right. |
| 0D32A | $01:D12A | 1 byte | Sprite physics | Morton and Roy's speed for third hit, left. |
| 0D328 | $01:D128 | 1 byte | Sprite physics | Morton and Roy's speed for second hit, right. |
| 0D326 | $01:D126 | 1 byte | Sprite physics | Morton and Roy's speed for second hit, left. |
| 0D324 | $01:D124 | 1 byte | Sprite physics | Morton and Roy's speed for first hit, right. |
| 0D322 | $01:D122 | 1 byte | Sprite physics | Morton and Roy's speed for first hit, left. |
| 0D2BF | $01:D0BF | 1 byte | Sprite physics | Left speed of ludwig's fireballs (reversed) |
| 0D2BE | $01:D0BE | 1 byte | Sprite physics | X Speed of Ludwig's Fireball (Right) |
| 0D2B8 | $01:D0B8 | 1 byte | Misc. | How long fireballs stay in Ludwig's mouth for. |
| 0D280 | $01:D080 | 1 byte | Misc. | Height of fireball spawned by Ludwig. |
| 0D26F | $01:D06F | 1 byte | Sprite number | Sprite spawned by Ludwig von Koopa |
| 0D25A | $01:D05A | 1 byte | Sound effect | What sound is played by Ludwig's fireball. |
| 0D24F | $01:D04F | 1 byte | Music | Music played after Morton/Ludwig/Roy is defeated |
| 0D1D1 | $01:CFD1 | 1 byte | Sound effect | Morton/Ludwig/Roy spiralling out sound effect. |
| 0D1CD | $01:CFCD | 1 byte | Misc. | Ludwig, Morton, and Roy's HP |
| 0D158 | $01:CF58 | 1 byte | Misc. | Ludwig jump left type modifier |
| 0D157 | $01:CF57 | 1 byte | Misc. | Ludwig jump right type modifier |
| 0D0D8 | $01:CED8 | 1 byte | Sprite physics | Vertical height of Ludwig's jump (lower is shorter). |
| 0D0CE | $01:CECE | 1 byte | Timer | Counts how long to delay before Ludwig jumps out of his shell. |
| 0D0B4 | $01:CEB4 | 2 bytes | Sprite physics | Ludwig's horizontal jump distance |
| 0D0AE | $01:CEAE | 2 bytes | Sprite physics | Ludwig's shell speed |
| 0D03E | $01:CE3E | 2 bytes | ASM | Change [64 7B] to [EA EA] in order to prevent Mario from slowing down when Ludwig appears. |
| 0CF82 | $01:CD82 | 1 byte | Coordinate | X high position of Ludwig at the start of the boss battle. |
| 0CF7E | $01:CD7E | 1 byte | Coordinate | X low position of Ludwig at the start of the boss battle. |
| 0CF4F | $01:CD4F | 1 byte | Coordinate | Y lo starting position of Morton/Ludwig/Roy at the boss battle. |
| 0CF1E | $01:CD1E | 12 bytes | Empty | Unused ROM, but at xCF23 you can change this to "9E C8 14 CE C6 13 60", and when combined with the hex edit at $018778 (x8978), it will prevent the player from walking after touching a goal sphere in a horizontal level. |
| 0CEC7 | $01:CCC7 | 35 bytes | ASM | Mode 7 rotation preparation routine. First JSR to this, then to $01CB20 and finally to $01CB53. |
| 0CD53 | $01:CB53 | 330 bytes | ASM | The game's global rotation routine. First you can JSR to either $01CACB
for sprite rotation or to $01CCC7 for Mode 7 rotation (this step seems to be optional). Next you JSR to $01CB20 to prepare the rotation and finally you JSR to this. |
| 0CD20 | $01:CB20 | 51 bytes | ASM | Routine for preparing the game's global rotation routine. First you can JSR to either $01CACB
for sprite rotation or to $01CCC7 for Mode 7 rotation (this step seems to be optional). Next you JSR to this to prepare the rotation and finally you JSR to $01CB53. |
| 0CCCB | $01:CACB | 85 bytes | ASM | Sprite rotation preparation routine. First JSR to this, then to $01CB20 and finally to $01CB53. |
| 0CBBB | $01:C9BB | 4 bytes | Sprite tilemap related | Tilemap: Brown Swinging Platform (Sprite 5F) |
| 0CAFB | $01:C8FB | 1 byte | Palette | Palette of wooden platform |
| 0CAD3 | $01:C8D3 | 1 byte | Sprite tilemap related | Tilemap: Swinging Platform's Chain 4 (Sprite 5F) |
| 0CACC | $01:C8CC | 1 byte | Palette | Palette of other chain links |
| 0CAC7 | $01:C8C7 | 1 byte | Sprite tilemap related | Tilemap: Swinging Platform's Chain 3 (Sprite 5F) |
| 0CA71 | $01:C871 | 1 byte | Sprite tilemap related | Tilemap: Swinging Platform's Chain 2 (Sprite 5F) |
| 0C9EF | $01:C7EF | 1 byte | Palette | Palette of chain link connected to platform |
| 0C9EA | $01:C7EA | 1 byte | Sprite tilemap related | Tilemap: Swinging Platform's Chain 1 (Sprite 5F) |
| 0C841 | $01:C641 | 96 bytes | Sprite Subroutine | The GFX routine of the moving coin (sprite 21) and various other coin sprites, such as the directional coins.
- $01C641: 4 bytes, JSRs to the main routine and ends in RTL.
- $01C645: Start of the main GFX routine.
- $01C653: Tile used by the first frame. This is the 16x16 one.
- $01C667: Changing this to [80 07] will cause all 4 frames to use 2 tiles, and changing it to [D0 00] or [EA EA] will cause all 4 frames to use only 1 tile.
- $01C66A: Changing this to 00 will cause all 4 frames to be 8x8.
- $01C66D: Tiles used by the second, third, and fourth frames. These are all 8x8.
- $01C699: Changing this to 02 will cause all 4 frames to be 16x16. |
| 0C816 | $01:C616 | 4 bytes | Palette | The palettes the star sprite flashes through. 00 is palette 8, 02 is palette 9, 04 palette A, etc. YXPPCCCT format. |
| 0C815 | $01:C615 | 1 byte | Sprite tilemap related | Tile used by Flying Key? |
| 0C814 | $01:C614 | 1 byte | Sprite tilemap related | Tile used by Flying Yellow 1Up Mushroom |
| 0C813 | $01:C613 | 1 byte | Sprite tilemap related | Tile used by Flying Red Coin |
| 0C812 | $01:C612 | 1 byte | Sprite tilemap related | Tile used by the P-Balloon |
| 0C809 | $01:C609 | 5 bytes | Sprite tilemap related | Tilemap: Power-ups (Mushroom, Flower, Star, Feather, 1Up) |
| 0C7F8 | $01:C5F8 | 1 byte | Misc. | What powerup flowers give you |
| 0C79D | $01:C59D | 1 byte | Sound effect | Sound Effect will make if you grabbed the feather. Change to 0C to make the sound effect like in SMB3. |
| 0C799 | $01:C599 | 1 byte | Misc. | What powerup feathers give you |
| 0C780 | $01:C580 | 18 bytes | Subroutine (JSx FIXME) | Star Subroutine. JSL to it to give Mario star power. xC781 controls how long stars last, xC786 controls the music that is played during star power. |
| 0C77B | $01:C57B | 1 byte | Sound effect | Mario picking up a Mushroom or Flower Sound Effect. |
| 0C770 | $01:C570 | 1 byte | Misc. | How many points you get by getting a powerup.
00 = 200
01 = 400
02 = 800
03 = 1000
04 = 2000
05 = 4000
06 = 8000
07 and above = 1-up |
| 0C768 | $01:C568 | 1 byte | Mario tilemap | Changing this to 99 will make Mario face the camera if he grows from a mushroom. |
| 0C766 | $01:C566 | 1 byte | Timer | Length of Mario's growing animation. Setting it higher than 2F may cause it to use different Mario tiles. |
| 0C754 | $01:C554 | 12 bytes | Pointer | powerup routines (indexed by values from 0C724 - 0C737) |
| 0C738 | $01:C538 | 28 bytes | ASM | Handles what happens when the player touches a powerup. This routine will manage the item box as well. 0x0C749 ($01:C549) [0B] is the sound effect to play when touching a powerup.
Set 0x0C745 ($01:C545) to EA EA EA to disable the item box.
|
| 0C734 | $01:C534 | 4 bytes | Misc. | action to take when mario touches a 1up. indexed by mario's status ($19) |
| 0C730 | $01:C530 | 4 bytes | Misc. | action to take when mario touches a cape. indexed by mario's status ($19) |
| 0C72C | $01:C52C | 4 bytes | Misc. | action to take when mario touches a star. indexed by mario's status ($19) |
| 0C728 | $01:C528 | 4 bytes | Misc. | action to take when mario touches a flower. indexed by mario's status ($19) |
| 0C724 | $01:C524 | 4 bytes | Misc. | action to take when mario touches a mushroom. indexed by mario's status ($19)
actions are:
(0-change to big, 1-don't change, 2-give star, 3-change to cape, 4-change to flower, 5-give 1up) |
| 0C720 | $01:C520 | 4 bytes | Misc. | item to put into item box when 1up is touched. indexed by mario's status ($19) |
| 0C71C | $01:C51C | 4 bytes | Misc. | item to put into item box when cape is touched. indexed by mario's status ($19) |
| 0C718 | $01:C518 | 4 bytes | Misc. | item to put into item box when star is touched. indexed by mario's status ($19) |
| 0C714 | $01:C514 | 4 bytes | Misc. | item to put into item box when flower is touched. indexed by mario's status ($19) |
| 0C710 | $01:C510 | 4 bytes | Misc. | item to put into item box when mushroom is touched. indexed by mario's status ($19) |
| 0C62C | $01:C42C | 3 bytes | ASM | Set to EA EA EA to disable moving coin and star movement |
| 0C55F | $01:C35F | 1 byte | Sprite tilemap related | Eaten berry tile |
| 0C54C | $01:C34C | 1 byte | Misc. | Change to 00 and the Fire Flower won't flip back and forth |
| 0C545 | $01:C345 | 4 bytes | Sprite tilemap related | Eaten berry palettes (unused, red, pink, green) |
| 0C53D | $01:C33D | 1 byte | Sprite number | Sprite that the Changing Item is made from |
| 0C513 | $01:C313 | 4 bytes | Sprite number | Sprites used by the changing item (Mushroom, Flower, Feather, Star) |
| 0C3E6 | $01:C1E6 | 1 byte | Misc. | Tiles created from growing vine sprite |
| 0C3AE | $01:C1AE | 1 byte | Misc. | Y speed of Growing Vine's growth |
| 0C3A2 | $01:C1A2 | 1 byte | Sprite tilemap related | Tile for Growing Vine's Piranha head(2) |
| 0C39E | $01:C19E | 1 byte | Sprite tilemap related | Tile for Growing Vine's Piranha head(1) |
| 0C37A | $01:C17A | 4 bytes | Misc. | Change 22 CA F1 07 to EA EA EA EA to disable the digits made up of star tiles at the goal tape (which resemble the amount of bonus stars gathered) |
| 0C364 | $01:C164 | 1 byte | Sprite tilemap related | Palette/priority/flip of Goal tape tiles |
| 0C358 | $01:C158 | 1 byte | Sprite tilemap related | Goal Bar Tilemap |
| 0C31B | $01:C11B | 1 byte | Timer | How long the bonus star number stays on screen |
| 0C30A | $01:C10A | 1 byte | Sound effect | Goal tape breaking sound effect. |
| 0C2F0 | $01:C0F0 | 1 byte | Music | Goal tape end level music |
| 0C2BD | $01:C0BD | 1 byte | Misc. | [95] Change to A5 to stop the goal point bar from moving. |
| 0C133 | $01:BF33 | 1 byte | Sprite number | The sprite that Magikoopa throws |
| 0C129 | $01:BF29 | 1 byte | Sound effect | SFX played by Magikoopa |
| 0C105 | $01:BF05 | 1 byte | Sprite tilemap related | Tile used by Magikoopa's Wand |
| 0BF8D | $01:BD8D | 1 byte | Sprite tilemap related | Magikoopa's Magic Tilemap (Triangle) |
| 0BF88 | $01:BD88 | 1 byte | Sprite tilemap related | Magikoopa's Magic Tilemap (Square) |
| 0BF83 | $01:BD83 | 1 byte | Sprite tilemap related | Magikoopa's Magic Tilemap (Circle) |
| 0BE8F | $01:BC8F | 1 byte | Sprite number | What Magikoopa's magic transforms turn block into (Yellow Koopa) |
| 0BE89 | $01:BC89 | 1 byte | Sprite number | What Magikoopa's magic transforms turn block into (Thwimp) |
| 0BE83 | $01:BC83 | 1 byte | Sprite number | What Magikoopa's magic transforms turn block into (Coin) |
| 0BE7D | $01:BC7D | 1 byte | Sprite number | What Magikoopa's magic transforms turn block into (1up) |
| 0BE67 | $01:BC67 | 8 bytes | Misc. | Change to EA EA EA EA EA EA EA EA and every Map16 block will change into sprites when touched by Magikoopa's Magic. (Not just turn blocks) |
| 0BDD3 | $01:BBD3 | 1 byte | Sprite tilemap related | Gate Sprite palette |
| 0BCB7 | $01:BAB7 | 21 bytes | Sprite tilemap related | Gate Sprite Tilemap |
| 0BB3C | $01:B93C | 2 bytes | Sprite physics | Climbing Net Koopa X speed (Right, Left) |
| 0B9B3 | $01:B7B3 | 8 bytes | Sprite Subroutine | Finish OAM write caller subroutine (JSRs to the main one and ends in RTL). |
| 0B990 | $01:B790 | 14 bytes | Sprite tilemap related | Change to [09 xx 99 07 03 99 0B 03 99 0F 03 99 13 03] to change the palette used by the turn block bridge. ("xx" is the new palette value; 00 is the original.) This also prevents the last tile from being X-flipped. |
| 0B97E | $01:B77E | 1 byte | Sprite tilemap related | Tile used by Turn Block Bridge (sprites 59 and 5A) |
| 0B8A3 | $01:B6A3 | 2 bytes | Misc. | Time of Turn Block Bridge (sprites 59 and 5A) |
| 0B8A1 | $01:B6A1 | 2 bytes | Sprite physics | X speed of Turn Block Bridge (sprites 59 and 5A) |
| 0B89F | $01:B69F | 2 bytes | Misc. | Length of Turn Block Bridge (sprites 59 and 5A) |
| 0B866 | $01:B666 | 57 bytes | Sprite Subroutine | The GFX routine for the floating spike ball (sprite A4). $01B686/xB886 controls the first tile number used, and the second is always one 16x16 tile to the right of that. |
| 0B862 | $01:B662 | 4 bytes | Sprite tilemap related | Tile properties for each tile of the floating spike ball (sprite A4). In order: Top left, top right, bottom left, bottom right. |
| 0B85E | $01:B65E | 4 bytes | Sprite tilemap related | Y displacement for each tile of the floating spike ball (sprite A4). In order: Top left, top right, bottom left, bottom right. |
| 0B85A | $01:B65A | 4 bytes | Sprite tilemap related | X displacement for each tile of the floating spike ball (sprite A4). In order: Top left, top right, bottom left, bottom right. |
| 0B755 | $01:B555 | 1 byte | Sprite physics | Speed of the horizontal platform that goes on forever (sprite 5E). |
| 0B64F | $01:B44F | 231 bytes | Sprite Subroutine | Invisible solid block subroutine. JSL to it in a sprite to make it solid.
xB6C0 - Change to A0 00 to make Super/Fire/Cape Mario have a 16x16 interaction field (like Small Mario) or change to A0 01 to have a 16x32 intereaction field (like Big Mario) (in conjunction with addresses x6D79 and x1B87C)
xB6F3 - SFX that comes up when Mario hits the Message Block/Flying ?-Block sprite |
| 0B640 | $01:B440 | 1 byte | Sprite tilemap related | Bottom edge of Grassy Orange Platform (mirrored) |
| 0B63B | $01:B43B | 1 byte | Sprite tilemap related | Edge of Grassy Orange Platform (mirrored) |
| 0B634 | $01:B434 | 1 byte | Sprite tilemap related | Bottom edge of Rock Platform (mirrored) |
| 0B62F | $01:B42F | 1 byte | Sprite tilemap related | Edge of Flying Rock Platform (mirrored) |
| 0B58C | $01:B38C | 9 bytes | Sprite tilemap related | Flying Rock Platform Tilemap (Sprites 56 and 58) |
| 0B583 | $01:B383 | 9 bytes | Sprite tilemap related | Grassy Orange Platform Tilemap (sprites 5D and 5E) |
| 0B572 | $01:B372 | 1 byte | Sprite tilemap related | Tilemap: Right edge of line guided wooden platform (Sprite 62) |
| 0B555 | $01:B355 | 1 byte | Sprite tilemap related | Tilemap: Right edge of line guided wooden platform (Sprite 62) |
| 0B54A | $01:B34A | 1 byte | Sprite tilemap related | Tilemap: Center of line guided wooden platform (Sprite 62) |
| 0B545 | $01:B345 | 1 byte | Sprite tilemap related | Tilemap: Left edge of line guided wooden platform (Sprite 62) |
| 0B53E | $01:B33E | 1 byte | Sprite tilemap related | Right Tile of Checkerboard Platform (sprites 55, 57, 5C and 63) |
| 0B533 | $01:B333 | 1 byte | Sprite tilemap related | Center Tile of Checkerboard Platform (sprites 55, 57, 5C and 63) |
| 0B52E | $01:B32E | 1 byte | Sprite tilemap related | Left Tile of Checkerboard Platform (sprites 55, 57, 5C and 63) |
| 0B52B | $01:B32B | 1 byte | Sprite tilemap related | Change to 80 to let sprite 63 use the wooden platform tilemap only.
However, the size will be still different, depending on the x-pos. |
| 0B4C3 | $01:B2C3 | 14 bytes | Sprite tilemap related | For sprites 55-58 and 5B-5E, partly determines which tilemap to use. 00 -> wooden or checkerboard platform, 01 -> flying rock or grassy platform. The table offset is the sprite number minus 55, and the fifth and sixth bytes and the last four bytes are not used. |
| 0B42E | $01:B22E | 5 bytes | Sprite Misc. | The code that checks the sprite buoyancy to determine whether sprites 5C and 5E should float on water or be suspended in the air. You can change this to 80 03 xx xx xx (xx can by any byte) to make them always stay in air or to 80 06 xx xx xx to make them always float. |
| 0B412 | $01:B212 | 4 bytes | Sprite physics | Table of X speeds for the floating spike ball (sprite A4). In order: Slow right, slow left, fast right, fast left. |
| 0B32A | $01:B12A | 36 bytes | Subroutine (JSx FIXME) | This subroutine is what is used to kill stunned koopas and out of water fish. The following offsets may be of use:
$01B12B - How long to show the player kicked a sprite pose.
$01B130 - The sound effect to play (default #$03)
$01B132 - The sound effect channel (default $1DF9)
$01B13D - Y speed of the dying sprite (default #$E0)
$01B145 - Forces the player to face the killed sprite, change to NOP #2 (EA EA) to disable |
| 0B319 | $01:B119 | 3 bytes | Sprite tilemap related | Replace 9D F6 15 with EA EA EA to make the fish (Cheep Cheep) tilemap use a single GFX page |
| 0B30F | $01:B10F | 1 byte | Misc. | Change to 00 to switch the GFX pages used by the swimming and flopping Cheep-Cheeps |
| 0B2C4 | $01:B0C4 | 1 byte | Sprite physics | How far cheep-cheeps will move (the greater the value, the longer the distance.) |
| 0B2A1 | $01:B0A1 | 1 byte | Misc. | Value to add for flopping Cheep-Cheep animations |
| 0B202 | $01:B002 | 1 byte | Timer | Thwimp stalling timer |
| 0B1FD | $01:AFFD | 1 byte | Sound effect | Thwimp Sound Effect. |
| 0B1F7 | $01:AFF7 | 1 byte | Sprite physics | Thwimp jumping Left Speed. |
| 0B1F3 | $01:AFF3 | 1 byte | Sprite physics | Thwimp jumping Right speed. |
| 0B1EA | $01:AFEA | 1 byte | Sprite physics | Thwimp jumping height (between 80-FF) |
| 0B18D | $01:AF8D | 1 byte | Sprite tilemap related | Angry Thwomp Face |
| 0B14F | $01:AF4F | 5 bytes | Sprite tilemap related | YXPPCCCT - Thwomp Properties
Byte 01 - Top left
Byte 02 - Bottom left
Byte 03 - Top right
Byte 04 - Bottom Right
Byte 05 - Angry Thwomp Face |
| 0B14A | $01:AF4A | 5 bytes | Sprite tilemap related | Thwomp Tilemap |
| 0B139 | $01:AF39 | 1 byte | Sprite physics | Thwomp returning Y speed (between 80-90, C0, E0-FF) other values can give odd effects, so do not use any other bytes. |
| 0B11D | $01:AF1D | 1 byte | Timer | Thwomp Stalling Timer. |
| 0B118 | $01:AF18 | 1 byte | Sound effect | Thwomp Sound Effect. |
| 0B113 | $01:AF13 | 1 byte | Timer | Thwomp shaking screen timer. |
| 0B0EF | $01:AEEF | 1 byte | Misc. | What face to use for Thwomp Crashing down (00 - Calm, 01 - Grumpy, 02 - Raging) |
| 0B0E1 | $01:AEE1 | 1 byte | Misc. | What face to use for Thwomp if Mario comes close (00 - Calm, 01 - Grumpy, 02 - Raging) |
| 0AEF9 | $01:ACF9 | 55 bytes | Subroutine (JSx FIXME) | Random number generation subroutine
output:
16bit result at $148D. |
| 0AD6F | $01:AB6F | 42 bytes | Sprite Subroutine | Display the white star effect (mostly used when spin-jumping on a spiked ennemy) |
| 0AD63 | $01:AB63 | 1 byte | Misc. | Value that determines what to give the player for bouncing on 8 or more enemies consecutively. Change to [07] to give the player 8000 points instead of a 1up for the consecutive jumps.
(See ROM Map address 0x12EE5 for other values) |
| 0AD55 | $01:AB55 | 1 byte | Sound effect | Change to [80] to give enemies (inc. goomba) the SMAS stomp sound. |
| 0AD28 | $01:AB28 | 4 bytes | Misc. | Change to EA EA EA EA to prevent on screen sprites from turning into silver coins when the silver POW is active (USE WITH 12BA1) |
| 0AD20 | $01:AB20 | 1 byte | Timer | POW shaking screen timer. |
| 0AD1B | $01:AB1B | 1 byte | Timer | How long blue and silver P-Switches last |
| 0AD0D | $01:AB0D | 1 byte | Timer | Time it takes for POW to disappear after jumping on it. Change to 00 to keep the POW after jumping on it. |
| 0AD08 | $01:AB08 | 1 byte | Music | Music played when a POW is pressed |
| 0ACA0 | $01:AAA0 | 1 byte | Misc. | State of Koopa shell when kicked |
| 0AC5C | $01:AA5C | 1 byte | ASM | Change from BEQ [F0] to BRA [80] and Mario will not be able to carry items by holding X or Y. |
| 0AC3E | $01:AA3E | 1 byte | Sprite physics | How high Mario bounces when he jumps on an enemy with button A pressed (normal jump & spin jump) |
| 0AC38 | $01:AA38 | 1 byte | Sprite physics | How high Mario bounces when he jumps on an enemy (normal jump & spin jump) |
| 0AC2E | $01:AA2E | 1 byte | Misc. | State of Koopa when stomped |
| 0AC29 | $01:AA29 | 1 byte | Timer | Stun timer for Goombas, Buzzy Beetles, Mechakoopas, Bob-ombs |
| 0AC15 | $01:AA15 | 1 byte | ASM | Change from 02 to FF to prevent Koopas from spawning shelless Koopas when jumped on. (Use with 98C6) |
| 0AC0E | $01:AA0E | 1 byte | Misc. | Change to 03 to prevent Bob-omb, Goomba, Mechakoopa's stun timers from being reset when kicked |
| 0ABD9 | $01:A9D9 | 1 byte | Timer | Timer for displaying smashed shelless Koopas |
| 0AB87 | $01:A987 | 1 byte | Sprite number | Enemy spawned from stomping Dino-Rhino |
| 0AB76 | $01:A976 | 1 byte | Sprite number | Sprite that Super Koopa (sprite 73) becomes when stomped |
| 0AB40 | $01:A940 | 1 byte | Sound effect | Sound effect used when spinjumping an enemy or when Yoshi stomps on it. |
| 0AAD3 | $01:A8D3 | 1 byte | Misc. | Change from 0D to AD to prevent Mario from being able to jump on spikey enemies with the spin jump |
| 0A9DC | $01:A7DC | 93 bytes | Subroutine (JSx FIXME) | Subroutine that checks for Mario/sprite contact. If carry = set, Mario is touching the sprite. |
| 0A9DB | $01:A7DB | 1 byte | Sprite number | Sprite spawned from Para-Bomb |
| 0A9DA | $01:A7DA | 1 byte | Sprite number | Sprite spawned from Para-Goomba |
| 0A9D9 | $01:A7D9 | 1 byte | Sprite number | Enemy spawned from stomping winged goombas |
| 0A9D5 | $01:A7D5 | 1 byte | Sprite number | Enemy spawned from stomping yellow winged koopas |
| 0A9D4 | $01:A7D4 | 1 byte | Sprite number | Enemy spawned from stomping horizontal red winged koopas |
| 0A9D3 | $01:A7D3 | 1 byte | Sprite number | Enemy spawned from stomping vertical red winged koopas |
| 0A9D2 | $01:A7D2 | 1 byte | Sprite number | Enemy spawned from stomping bouncing green winged koopas |
| 0A9D1 | $01:A7D1 | 1 byte | Sprite number | Enemy spawned from stomping horizontal green winged koopas |
| 0A98D | $01:A78D | 1 byte | ASM | Set to 80 to stop Blue Koopas from stopping shells |
| 0A929 | $01:A729 | 1 byte | Sound effect | Kicking shell sound |
| 0A916 | $01:A716 | 1 byte | ASM | Set to 60 to stop Blue Koopas from kicking shells |
| 0A85B | $01:A65B | 1 byte | Sound effect | Koopa hit by shell sound |
| 0A81E | $01:A61E | 7 bytes | Sound effect | Sound effects to use for consecutive bounces on enemies. Begins with [13] (1st bounce) and ends with [19] (7th bounce). |
| 0A4FB | $01:A2FB | 1 byte | Misc. | Number of enemies Baby Yoshi must eat to grow |
| 0A4C6 | $01:A2C6 | 1 byte | Sound effect | Yoshi's egg explodes sound |
| 0A4BC | $01:A2BC | 1 byte | Sprite number | Sprite that Baby Yoshi turns into |
| 0A4AD | $01:A2AD | 2 bytes | ASM | Change to [80 06] to make Baby Yoshi instantly get big from everything, or change it to [80 45] to make Baby Yoshi treat powerups as any other sprite and require five of them to become big. |
| 0A491 | $01:A291 | 1 byte | Sound effect | Sound baby Yoshi makes when eating |
| 0A421 | $01:A221 | 1 byte | Sprite tilemap related | POW (P-Switch) Tilemap |
| 0A3FA | $01:A1FA | 1 byte | Sprite tilemap related | Key tilemap |
| 0A3F0 | $01:A1F0 | 1 byte | Sprite tilemap related | Tile used by stunned Bob-omb |
| 0A3E1 | $01:A1E1 | 4 bytes | ASM | Changing [1A 1A 29 0F] to [EA EA EA EA] will disable the throw block sprites flashing. |
| 0A319 | $01:A119 | 1 byte | Coordinate | carried sprite Y-pos while picking up |
| 0A2AC | $01:A0AC | 1 byte | Timer | Time to show Mario's "kicking" pose when a Bob-omb is kicked |
| 0A2A7 | $01:A0A7 | 1 byte | Timer | Time to disable Bob-omb's interaction with Mario after being kicked |
| 0A1A7 | $01:9FA7 | 5 bytes | ASM | Change to [EA EA EA EA EA] to give the P-Balloon an infinite timer |
| 0A16B | $01:9F6B | 4 bytes | Sprite physics | X-speed of the touched/kicked shell.
Value 1: left-speed, when touched (not kicking)
Value 2: right-speed, when touched
Value 3: left-speed, when kicked
Value 4: right-speed, when kicked.
This will also affect the shell of buzzy beetle! Setting the speed to 00 or FF will make the shells not spinning, giving unlimited score.
Original Values:
D2 2E CC 34 |
| 0A15B | $01:9F5B | 6 bytes | Coordinate | x-pos table of sprite being carried:
walking, turn from left to right, turn from right to left (two bytes each, indexed by Mario's direction) |
| 0A13C | $01:9F3C | 1 byte | Sprite tilemap related | Palette/Gfx page of standard sprites (shared) |
| 0A024 | $01:9E24 | 4 bytes | Sprite tilemap related | Size of Paratroopa Wing tiles |
| 0A020 | $01:9E20 | 4 bytes | Sprite tilemap related | Palette/Gfx page/Priority/Flip of Paratroopa Wing tiles |
| 0A01C | $01:9E1C | 4 bytes | Sprite tilemap related | Sprite tilemap: Paratroopa Wings |
| 09FB6 | $01:9DB6 | 1 byte | Sprite tilemap related | Palette/Gfx page of standard sprites (shared) |
| 09E7F | $01:9C7F | 199 bytes | Sprite tilemap related | Table containing a sprite's location in the Standard Sprite Tile Table.
x9ED3 - X position of the general sprite tilemap.
x9ED7 - Y position of the general sprite tilemap.
x9EDB - Properties of the general sprite tilemap. |
| 09E7D | $01:9C7D | 2 bytes | Sprite tilemap related | Ninji Tilemap |
| 09E79 | $01:9C79 | 4 bytes | Sprite tilemap related | Sumo Bros' Lightning Tilemap |
| 09E71 | $01:9C71 | 8 bytes | Sprite tilemap related | Ground-dwelling Monty Mole's Dirt (2 Air tiles, 2 Dirt Tiles, 2 Air tiles, 2 Dirt Tiles) |
| 09E70 | $01:9C70 | 1 byte | Sprite tilemap related | Ledge-dwelling Mole's Dirt Tilemap (data shared with Goal Point Sphere's Tilemap) |
| 09E6D | $01:9C6D | 3 bytes | Sprite tilemap related | Monty Mole Tilemap |
| 09E6B | $01:9C6B | 2 bytes | Sprite tilemap related | Diggin' Chuck's Rock Tilemap |
| 09E69 | $01:9C69 | 2 bytes | Sprite tilemap related | Vertical Dolphin Tilemap |
| 09E65 | $01:9C65 | 4 bytes | Sprite tilemap related | Rip Van Fish Tilemap |
| 09E5C | $01:9C5C | 9 bytes | Sprite tilemap related | Boo Ghost Tilemap |
| 09E5A | $01:9C5A | 2 bytes | Sprite tilemap related | Eerie tilemap |
| 09E35 | $01:9C35 | 16 bytes | Sprite tilemap related | Vertical Fireball (Podoboo) tilemap. |
| 09E2D | $01:9C2D | 4 bytes | Sprite tilemap related | Bony Beetle tilemap |
| 09E1D | $01:9C1D | 12 bytes | Sprite tilemap related | Portable Springboard Tilemap |
| 09E13 | $01:9C13 | 4 bytes | Sprite tilemap related | Thwimp Tilemap |
| 09E0D | $01:9C0D | 4 bytes | Sprite tilemap related | Fish (Cheep Cheep) Tilemap (2 frames swimming, 2 frames flopping) |
| 09E03 | $01:9C03 | 10 bytes | Sprite tilemap related | Climbing Koopa Tilemap |
| 09E02 | $01:9C02 | 1 byte | Sprite tilemap related | Throw block sprite tilemap and turn block sprite with hidden enemies inside. (Both use the same byte) |
| 09DF6 | $01:9BF6 | 12 bytes | Sprite tilemap related | Magikoopa Tilemap |
| 09DEE | $01:9BEE | 6 bytes | Sprite tilemap related | Lakitu tilemap (3 frames, 2 bytes each) |
| 09DEC | $01:9BEC | 2 bytes | Sprite tilemap related | Hopping Flame tilemap |
| 09DE6 | $01:9BE6 | 6 bytes | Sprite tilemap related | Spike Top tilemap |
| 09DE3 | $01:9BE3 | 3 bytes | Sprite tilemap related | Standard Sprite Tile Table: Buzzy Beetle Shell. |
| 09DDD | $01:9BDD | 3 bytes | Sprite tilemap related | Standard Sprite Tile Table: Buzzy Beetle |
| 09DD1 | $01:9BD1 | 8 bytes | Sprite tilemap related | Standard Sprite Tile Table: Spiny egg tilemap |
| 09DCE | $01:9BCE | 3 bytes | Sprite tilemap related | Standard Sprite Tile Table: Spiny tilemap |
| 09DCA | $01:9BCA | 4 bytes | Sprite tilemap related | Standard Sprite Tile Table: Bullet Bill tilemap (Horizontal, Vertical, Diagonal, Diagonal) |
| 09DC9 | $01:9BC9 | 1 byte | Sprite tilemap related | Standard Sprite Tile Table: Football tilemap |
| 09DBD | $01:9BBD | 12 bytes | Sprite tilemap related | Standard Sprite Tile Table: Piranha plant tilemap |
| 09DBA | $01:9BBA | 3 bytes | Sprite tilemap related | Standard Sprite Tile Table: Bob-omb tilemap |
| 09DAC | $01:9BAC | 14 bytes | Sprite tilemap related | Standard Sprite Tile Table: Para-bomb tilemap |
| 09DA8 | $01:9BA8 | 4 bytes | Sprite tilemap related | Standard Sprite Tile Table: Goomba tilemap |
| 09D9A | $01:9B9A | 14 bytes | Sprite tilemap related | Standard Sprite Tile Table: Para-goomba tilemap |
| 09D93 | $01:9B93 | 7 bytes | Sprite tilemap related | Standard Sprite Tile Table: Blue shelless koopa tilemap (Fourth byte unused?) |
| 09D8C | $01:9B8C | 7 bytes | Sprite tilemap related | Standard Sprite Tile Table: Shelless koopa tilemap (Fourth byte unused?) |
| 09D89 | $01:9B89 | 3 bytes | Sprite tilemap related | Standard Sprite Tile Table: Koopa shell tilemap |
| 09D83 | $01:9B83 | 6 bytes | Sprite tilemap related | Standard Sprite Tile Table: Koopa tilemap |
| 09D0B | $01:9B0B | 1 byte | Sprite tilemap related | Tile used by squished Dino Torch |
| 09C34 | $01:9A34 | 1 byte | Misc. | How many animation frames the spinning shell has, -1 |
| 09C26 | $01:9A26 | 4 bytes | Misc. | Flip of each animation frame |
| 09C22 | $01:9A22 | 4 bytes | Misc. | Animation frame assignments for the shell |
| 09B9F | $01:999F | 1 byte | Sound effect | Hitting block with shell sound |
| 09B13 | $01:9913 | 8 bytes | ASM | Start of sprite being kicked routine. |
| 09A89 | $01:9889 | 1 byte | Sprite tilemap related | Koopa eye tiles when in shell (closed) |
| 09A81 | $01:9881 | 1 byte | Sprite tilemap related | Koopa eye tiles when in shell (open) |
| 09A3F | $01:983F | 1 byte | Timer | Timing that enemies in a stunned state begin to shake |
| 09A0E | $01:980E | 1 byte | Misc. | Animation frame to use for the shell when Mario is turning around while holding it |
| 09A07 | $01:9807 | 1 byte | Misc. | Default animation frame to use for the shell |
| 0997C | $01:977C | 1 byte | Sprite number | Sprite that's spawned when a Yellow Koopa is stomped (Coin) |
| 09968 | $01:9768 | 1 byte | Sprite number | [07] Which of the four Koopas generates a coin when stomped. Valid values are 04 (green), 05 (red), 06 (blue), and 07 (yellow). All others will make the coin never appear.
Alternatively, you can change the next two bytes ([D0 0A]) to [EA EA] to make all (shelled) Koopas spawn coins. |
| 098C6 | $01:96C6 | 1 byte | ASM | Change from 1A to 04 to prevent shelless Koopas from hopping out of stunned shells (Use with AC15) |
| 09888 | $01:9688 | 1 byte | Misc. | Which shell colour makes a shelless Koopa become invincible (00=Green; 01=Red; 02=Blue; 03=Yellow) |
| 0983C | $01:963C | 1 byte | Timer | Length of Bob-omb's explosion |
| 09832 | $01:9632 | 1 byte | Sound effect | Bob-omb's explosion SFX |
| 0981C | $01:961C | 8 bytes | Sprite number | Sprites spawned by stomping Koopa Trooopas (shelless Koopas) |
| 095EF | $01:93EF | 22 bytes | Sprite Subroutine | The code that makes sprites move if placed on conveyor belts. |
| 09411 | $01:9211 | 115 bytes | Subroutine (JSR) | Sprite buoyancy routine. Called by the object interaction routine. |
| 09338 | $01:9138 | 8 bytes | Subroutine (JSL) | JSL for sprites interacting with objects. Actually calls routine at $019140. |
| 092F7 | $01:90F7 | 61 bytes | Sprite physics | Y positions of the sprite/object clippings.
Each clipping value uses four pairs of bytes (one from $01:8EBA, one from here); they point to which pixels the sprite uses to interact with the two layers, relative to $D8/$E4/etc. |
| 092BA | $01:90BA | 61 bytes | Sprite physics | X positions of the sprite/object clippings.
Each clipping value uses four pairs of bytes (one from here, one from $01:90F7); they point to which pixels the sprite uses to interact with the two layers, relative to $D8/$E4/etc. |
| 091DF | $01:8FDF | 8 bytes | Sprite physics | Y speed of Bullet Bills. Same order as x91C7. |
| 091D7 | $01:8FD7 | 8 bytes | Sprite physics | X speed of Bullet Bills. Same order as x91C7. |
| 091CF | $01:8FCF | 8 bytes | Sprite tilemap related | Which GFX frame to use (00 = regular bill, 01 = vertical bill, 02 = diagonal bill) for the Bullet Bills. Same order as x91C7. |
| 091C7 | $01:8FC7 | 8 bytes | Sprite tilemap related | Bullet Bill properties, YXPPCCCT.
- First byte: Right flying bullet bill
- Second byte: Left flying bullet bill
- Third byte: Vertically upwards flying bullet bill
- Fourth byte: Vertically downwards flying bullet bill
- Fifth byte: Diagonally flying bullet bill, lower left
- Sixth byte: Diagonally flying bullet bill, upper left
- Seventh byte: Diagonally flying bullet bill, upper right
- Eigth byte: Diagonally flying bullet bill, lower right |
| 0918D | $01:8F8D | 1 byte | Sprite number | Object Hopping Flame leaves behind |
| 090CE | $01:8ECE | 1 byte | Misc. | Replace D0 with 80 to make the classic and upsidedown piranha plants keep coming out of the pipe even if Mario is near or on top of the sprite. |
| 09093 | $01:8E93 | 1 byte | Sprite Misc. | YXPPCCCT properties of the stem of sprite 2A, the upside-down piranha plant. Change to $0A to make it use the first graphics page. |
| 0906E | $01:8E6E | 4 bytes | Misc. | Speed of piranha plant (in pipe, going up, staying up, going down). |
| 08FE5 | $01:8DE5 | 4 bytes | Sprite tilemap related | Size of Goomba Wing tiles |
| 08FE1 | $01:8DE1 | 4 bytes | Sprite tilemap related | Sprite tilemap: Goomba Wings |
| 08FDF | $01:8DDF | 2 bytes | Sprite tilemap related | Palette/GFX page/Priority/Flip of Goomba Wing Tiles |
| 08FC7 | $01:8DC7 | 16 bytes | Sprite tilemap related | Goomba Wing alignment, X position. First 8 bytes are for the alignment when the goomba's hopping left, the other 8 when he's hopping into the right direction. |
| 08ED7 | $01:8CD7 | 1 byte | Misc. | Time it takes for a Red Vertical Parakoopa to turn around after reaching it's maximum/mimimum Y speed. (08) |
| 08E31 | $01:8C31 | 1 byte | Sprite number | Sprite that Spiny Egg turns into after touching the ground |
| 08E0D | $01:8C0D | 1 byte | Sprite number | Sprite number to start adding wings to 2-tile high sprites |
| 08DCD | $01:8BCD | 1 byte | Misc. | What animation frame most regular sprites use when turning around |
| 08CF5 | $01:8AF5 | 1 byte | Timer | How quickly Bob-omb explodes |
| 08CED | $01:8AED | 1 byte | Sprite Misc. | Change from D0 to 80 to make bob-ombs not stun themselves then explode on their own, like SMB3 and other games. |
| 08BED | $01:89ED | 1 byte | Sprite tilemap related | Tilemap of blue shell less koopa sliding out of shell |
| 08A98 | $01:8898 | 82 bytes | Sprite Subroutine | The yellow koopa's "Jump over shells" routine. |
| 08963 | $01:8763 | 38 bytes | Sprite Subroutine | Goal point sphere/boss killed code.
x8978 - If you change this to "20 23 CD" and use the hex edit at $01CD23 (xCF23), it will prevent the player from walking after touching a goal sphere in a horizontal level.
x8984 - Controls which music is played when it's collected. |
| 087CC | $01:85CC | 402 bytes | Pointer | Sprite ASM Pointer Table |
| 0877A | $01:857A | 8 bytes | Sprite Subroutine | Face Mario subroutine, usually used by sprites to initially face Mario's direction. |
| 08753 | $01:8553 | 1 byte | Misc. | How many segments Pokey has when Mario isn't riding Yoshi. The amount of segments depends on these bits:
---x xxxx. If any of the x bits are set, a segment will be added. If none is set, the sprite won't appear. If any of the - bits is set, the sprite won't appear. |
| 0874C | $01:854C | 1 byte | Misc. | How many segments Pokey has when Mario is riding Yoshi. The amount of segments depends on these bits:
---x xxxx. If any of the x bits are set, a segment will be added. If none is set, the sprite won't appear. If any of the - bits is set, the sprite won't appear. |
| 086C6 | $01:84C6 | 4 bytes | ASM | Change to EA EA EA EA to make lakitu cloud never get spawned |
| 086A5 | $01:84A5 | 1 byte | Sprite number | Sprite spawned by killing Lakitu with cape or fireball (Lakitu Cloud) |
| 08666 | $01:8466 | 2 bytes | Palette | Colours of P-Switches (Blue, Silver) |
| 08655 | $01:8455 | 1 byte | Misc. | How many types of P-Switches to allow, minus one |
| 085DB | $01:83DB | 1 byte | Timer | Length of time before sprite #19's message box appears (don't set lower than 04) |
| 085A0 | $01:83A0 | 4 bytes | Sprite number | Sprites inside exploding turn block (Fish, Goomba, Shelless Green Koopa, Green Koopa) |
| 08591 | $01:8391 | 1 byte | Sound effect | SFX played by the Banzai Bill |
| 0856A | $01:836A | 1 byte | ASM | Change to EA to make both wooden spikes move up or down depending on X&1 instead of sprite AC always moving down first. |
| 08557 | $01:8357 | 1 byte | Misc. | Initial Y speed of diagonally moving sprites, i.e. stream of boo buddies and reflecting fireball (F0). |
| 08540 | $01:8340 | 1 byte | Misc. | How many types of Yoshi Eggs to allow, minus one |
| 08535 | $01:8335 | 4 bytes | Palette | Colours of Yoshi Eggs (Red, Blue, Yellow, Blue) |
| 0852F | $01:832F | 1 byte | Timer | How long until the Timed Lift falls down ($FF = 4 seconds) |
| 08527 | $01:8327 | 1 byte | Timer | How long until the Timed Lift falls down ($3F = 1 second) |
| 0837D | $01:817D | 402 bytes | Pointer | sprite initialization routines |
| 08372 | $01:8172 | 11 bytes | Subroutine (JSR) | This is sprite status #$03. Sprites wit that status call this routine which will run the init routine of the current sprite. |
| 08351 | $01:8151 | 6 bytes | Sprite Misc. | This is sprite state #$00. This is the sprite dead state, it also marks $161A as #$FF to prevent the sprite from being reloaded. |
| 08337 | $01:8137 | 26 bytes | Pointer | sprite status handler. calls different routines based on 14C8,x (0-C) |
| 08242 | $01:8042 | 8 bytes | Sprite Subroutine | SMW's generic sprite GFX subroutine. Not terribly useful for custom sprites. |
| 0823A | $01:803A | 8 bytes | Sprite Subroutine | A subroutine that makes sprites interact with each other and with the player, essentially combining $018032 and $01A7DC. |
| 08232 | $01:8032 | 8 bytes | Subroutine (JSx FIXME) | Sprite<->sprite interaction subroutine |
| 0822A | $01:802A | 8 bytes | Sprite Subroutine | Subroutine that updates a sprite's position, usually after writing to the X/Y speed of a sprite. Is accessed by a JSL. |
| 08222 | $01:8022 | 8 bytes | Sprite Subroutine | The subroutine that updates a sprite's X position without gravity. |
| 0821A | $01:801A | 8 bytes | Sprite Subroutine | The subroutine that updates a sprite's Y position without gravity. |
| 0820E | $01:800E | 6 bytes | Sprite Subroutine | Subroutine that is accessed by sprites to check if a sprite is touching the ground. If bit set, it's touching the ground. |
| 08208 | $01:8008 | 6 bytes | Sprite Subroutine | Subroutine that checks if a sprite is touching a wall. If bit is set, it's touching a wall. |
| 081D9 | $00:FFD9 | 1 byte | ASM | Region Changer: Can change NTSC to PAL. |
| 081D8 | $00:FFD8 | 1 byte | Misc. | SRAM size. Amount of kilobytes = 2^decimal value of x81D8. Default value is 01, which is 2kb. The limit is 07 which is 128kb. |
| 081D7 | $00:FFD7 | 1 byte | Misc. | Size of ROM byte. Amount of bytes = 2048^decimal value of x81D7. |
| 081D5 | $00:FFD5 | 1 byte | Misc. | xxAAxxxB. If both A bits are set, FastROM. B is HiROM. x = unknown? |
| 081C0 | $00:FFC0 | 21 bytes | Misc. | Internal rom name |
| 08193 | $00:FF93 | 45 bytes | Empty | Empty (all FF) in a clean ROM.
Used by many patches (like fastrom), and the last byte becomes 42 when you lock the ROM. |
| 080C5 | $00:FEC5 | 1 byte | Mario physics | Initial fireball Y speed |
| 080C0 | $00:FEC0 | 1 byte | Sprite number | Object Fire Mario shoots (must change 80A9 to 07 for some values to work) |
| 080B6 | $00:FEB6 | 1 byte | Sound effect | Fireball sound effect |
| 080A5 | $00:FEA5 | 1 byte | Coordinate | Y-position of Mario's fireball when on Yoshi (right). Only relevant if you enable the debug code at $00D087 (x5287) |
| 080A4 | $00:FEA4 | 1 byte | Coordinate | Y-position of Mario's fireball when on Yoshi (left). Only relevant if you enable the debug code at $00D087 (x5287) |
| 080A3 | $00:FEA3 | 1 byte | Coordinate | Y-Position for Mario's Fireballs (Right) |
| 080A2 | $00:FEA2 | 1 byte | Coordinate | Y-Position for Mario's Fireballs (Left) |
| 08099 | $00:FE99 | 1 byte | Coordinate | X-position of Mario's fireball when on Yoshi (right). Only relevant if you enable the debug code at $00D087 (x5287) |
| 08098 | $00:FE98 | 1 byte | Coordinate | X-position of Mario's fireball when on Yoshi (left). Only relevant if you enable the debug code at $00D087 (x5287) |
| 08097 | $00:FE97 | 1 byte | Coordinate | X-position of Mario's fireball (right) |
| 08096 | $00:FE96 | 1 byte | Coordinate | X-position of Mario's fireball (left) |
| 08095 | $00:FE95 | 1 byte | Mario physics | Initial fireball X speed facing right |
| 08094 | $00:FE94 | 1 byte | Mario physics | Initial fireball X speed facing left |
| 0804A | $00:FE4A | 73 bytes | Subroutine (JSx FIXME) | routine to show little puff of smoke when mario turns around. |
| 08017 | $00:FE17 | 1 byte | Sprite number | Object that Mario leaves when he jumps into water (small bubble) |
| 07F5A | $00:FD5A | 67 bytes | Subroutine (JSx FIXME) | SMW's glitter trail subroutine, called when you collect a coin or Yoshi coin. |
| 07F27 | $00:FD27 | 1 byte | Sprite number | Object that Mario "breathes" while underwater (small bubble) |
| 07F03 | $00:FD03 | 1 byte | Coordinate | Y hi position of Iggy and Larry at the start of the boss battle. |
| 07EFF | $00:FCFF | 1 byte | Coordinate | Y lo position of Iggy and Larry at the start of the boss battle. |
| 07EFA | $00:FCFA | 1 byte | Coordinate | X hi position of Iggy and Larry at the start of the boss battle. |
| 07EF6 | $00:FCF6 | 1 byte | Coordinate | X lo position of Iggy and Larry at the start of the boss battle. |
| 07E7A | $00:FC7A | 114 bytes | Subroutine (JSx FIXME) | Used in SMW to initialize Yoshi when entering a level, or sublevel. JSLing to this will cause a Yoshi to spawn and Mario will be riding him, however the Yoshi will not transfer to sublevel or to the overworld. You must set $13C7 if you plan to manually JSL to this routine.
Changing $00FCCE (0x07ECE) to 80 will keep Yoshi from turning blue after grabbing a pair of Yoshi wings. |
| 07E17 | $00:FC17 | 1 byte | Misc. | [02] Difference between point values of successive sprite coins spawned at the goal tape. The default is 02, so the point sequence will go 100, 400, 1000, 4000, etc.; you can change it to 01 to make the point values go 100, 200, 400, 800, etc. or to 00 to make it always stay at 100 no matter how many sprites get turned into coins. |
| 07D7E | $00:FB7E | 1 byte | Sound effect | Sound for items given at goal point |
| 07D74 | $00:FB74 | 1 byte | Sprite Misc. | The X speed of the sprite when you carry an item over the goal. |
| 07D6F | $00:FB6F | 1 byte | Sprite Misc. | The Y speed of the sprite when you carry an item over the goal. |
| 07D53 | $00:FB53 | 5 bytes | ASM | Change to EA EA EA EA EA to prevent the 1UPs being spawned at the goal point. x7D54 controls the sprite number that Baby Yoshi (Green, Red, Yellow, Blue) will turn into when it reaches the goal point. |
| 07D50 | $00:FB50 | 1 byte | Sprite number | Sprite that the Key will turn into when it reaches the goal point. |
| 07D40 | $00:FB40 | 1 byte | Sprite number | Sprite that the Blue/Silver P-switch, Portable Spring Board, Throw Block Sprite and carryable stunned enemies will turn into when they reach the goal point. |
| 07C80 | $00:FA80 | 95 bytes | Subroutine (JSL) | This will trigger the goal tape. Changing 0x07CBF from [06] to [0x] will change what state sprites to turn when triggered.
|
| 07C4D | $00:FA4D | 1 byte | Sprite number | Sprite that's spawned when hitting a switch palace. Note that it always uses slot 02. |
| 07C46 | $00:FA46 | 1 byte | Misc. | Time to shake ground when you hit the big switch in the switch palace. Default is 20. |
| 07C10 | $00:FA10 | 9 bytes | Subroutine (JSx FIXME) | Unreachable, but can be JSL'ed to clear out the sprite status table. |
| 07BF5 | $00:F9F5 | 27 bytes | Empty | Unused data. |
| 07B9C | $00:F99C | 2 bytes | Coordinate | What 16-bit Y position on screen ($7E:0080) the player should have at the very minimum, before being killed in the Iggy/Larry battle room. Used to simulate lava tiles. |
| 07A78 | $00:F878 | 1 byte | Misc. | Change from D0 to 80 to activate free vertical scrolling. This will bypass the routine that checks whether Mario is standing on solid ground or not (RAM address $72) and sets the scrolling flag accordingly. The camera follows Mario instead of waiting for him to land on something. |
| 07A06 | $00:F806 | 2 bytes | Coordinate | How high Mario must be in order to make the screen scroll vertically, when the scrolling mode is 'Vertical scroll at will', when Mario lands on a platform. 16-bit value, little endian.
The lower the value, the higher Mario must be in order to make the screen scroll vertically. |
| 07927 | $00:F727 | 1 byte | Misc. | Change #$00 to #$02 (value to be stored in $7E:0055 and $7E:0056) and you'll get a SMB1-like effect regarding screen-scrolling: it's impossible to go to the left, even with L/R-scrolling. |
| 078B3 | $00:F6B3 | 12 bytes | Misc. | The maximum that the screen can scroll in either direction during L/R screen scrolling. Indexed by $13FF, but only the first and third bytes ever seem to be used. |
| 07806 | $00:F606 | 35 bytes | Subroutine (JSx FIXME) | Death Subroutine (JSL to it to kill Mario).
$00F607 (0x07807) controls the speed at which the player jumps up ($7E007D format).
$00F60B (0x0780B) controls which music is played when Mario dies.
$00F619 (0x07819) can be changed from 0D 14 to 12 14 to make the screen not scroll when the player loses a life.
$00F61C (0x0781C) controls the amount of time Mario stays on screen before dying.
*note that if Mario Falls into a hole, the rom will JSL to $00F60A to skip the death animation |
| 077B7 | $00:F5B7 | 79 bytes | Subroutine (JSx FIXME) | Hurt Subroutine (JSL to it to hurt Mario).
x77B9 : Change to F0 to make mario invincible. (Will not make him invincible to crushing objects, lava or pitfalls).
x77C1-x77C3: Change from 0D 93 14 to EA EA EA to make Mario die normally when touching an enemy/muncher even after getting the goal tape/sphere.
x77D7: Change this to 80 to have Mario die when touched, regardless of powerup status.
x77E3: This SFX plays when you get hit when flying.
x77ED: Invincibility timer when hit while flying.
x77F4: Mario shrinking SFX.
x77F8-x77FB: Set to EA EA EA EA to disable item box auto-falling when you get hurt.
x77FC-x77FF: Change the "A9 01 85 71" to "EA EA EA EA" to disable mario's shrinking animation when hit. |
| 077AD | $00:F5AD | 2 bytes | Misc. | Change to 80 03 (BRA $03) to make it so falling into a pit results in death even in Yoshi wings levels, or to 80 00 (BRA $00) to make it so falling into a pit will always activate the normal exit. |
| 0763A | $00:F43A | 1 byte | Sound effect | Going Down Pipe Sound |
| 075ED | $00:F3ED | 1 byte | Misc. | [37] Offset of entering vertical pipes. Setting it to any other number than 36-38 will make the player incapable of entering. |
| 075E5 | $00:F3E5 | 4 bytes | Controller | Which button you have to be pushing in order to enter the 4 kinds of pipes. In order: End on right, end on left, end on bottom, end on top. |
| 075B2 | $00:F3B2 | 18 bytes | Subroutine (JSx FIXME) | This subroutine gets an index to the "one bit per level" tables ($1F2F, $1F3C, $1FEE) depending on the overworld level number ($13BF). When it returns, Y holds the byte index to $1F2F and A holds the bit to check/set. |
| 07577 | $00:F377 | 59 bytes | Subroutine (JSx FIXME) | The subroutine that handles the score when you get a Yoshi coin.
Changing $00F37A (0x0757A) [EE 20 14] to [EA EA EA] will stop the Yoshi Coin counter from increasing and giving you points and giving you a life after you collected enough for one. |
| 07532 | $00:F332 | 69 bytes | ASM | The code that handles a Yoshi coin being collected.
$00F333 (0x07533) is the Map16 tile number of the top half of the coin.
$00F33C (0x0753C) is the offset of the score sprite when the top half is collected, relative to the bottom half.
Changing $00F343 (0x07543) [EE 22 14] to [EA EA EA] will disable the Yoshi Coin counter in the status bar. Note that this will also stop them from respawining when you've got five of them.
$00F34A (0x0754A) is the number of Yoshi coins that need to be collected to trigger the "collected all" flag.
Changing $00F354 (0x07554) [99 2F 1F] to [EA EA EA] will make the Yoshi coins reappear even after collecting all 5 (or more) of them.
$00F359 (0x07559) is the Yoshi coin sound.
$00F35E (0x0755E) is how many regular coins a Dragon Coin gives you.
$00F364 (0x07564) is the value stored to $9C when the coin is collected. |
| 07525 | $00:F325 | 3 bytes | ASM | Replace '99 EE 1F' with 'EA EA EA' to make moons reappear when you re-enter a level after collecting them. |
| 07516 | $00:F316 | 1 byte | Misc. | Change '0F' to the following, and the 3UP moon will add this to your life or score counter:
00 = Nothing at all
01 - 0C = Scores 10-8000.
0D = 1UP.
0E = 2UP.
0F = 3UP.
10 = 5UP (glitched).
11-FF = Best not to use. |
| 074CD | $00:F2CD | 33 bytes | Objects | The code for the midway point tile (Map16 tile 38, not the extended object).
$00F2CE (x74CE) - What object you get after breaking midway point tape (default 02 - none).
$00F2E2 (x74E2) - Change to 0x80 to disable midway powerups (or EA EA to make them always make you big, even if you have a better powerup).
$00F2E5 (x74E5) - What powerup midway points give you.
$00F2E9 (x74E9) - What sound effect midway points play. |
| 074BB | $00:F2BB | 3 bytes | ASM | Change [99 3C 1F] to [EA EA EA] to make the 1up checkpoint work again when reentering a level |
| 07453 | $00:F253 | 1 byte | Misc. | What the remaining blocks become when hitting the incorrect block in a bonus area |
| 07437 | $00:F237 | 1 byte | Sound effect | Incorrect! Sound effect for the bonus 3 block minigame. |
| 0741D | $00:F21D | 1 byte | Sprite Misc. | Sprite to generate out of the bonus block (the rows of ?-blocks) if all three of them were guessed right. Default: #$05 (1-Up). Other possible values include, but are not excluded to: #$00 = None; #$01 = Mushroom; #$02 = Fire Flower; #$03 = Star; #$04 = Feather. |
| 07376 | $00:F176 | 131 bytes | Objects | Green Star Block code.
x73E9 - FG/BG Tileset in which coin question blocks' behavior are changed for the 3-block 1up bonus game.
x73EA - Change from F0 0D to EA EA to disable the 3-block 1up bonus game, allowing you to use coin question blocks in levels with the switch palace tileset (4), and freeing up the 5 bytes at RAM address $13F4 for custom use. |
| 07324 | $00:F124 | 2 bytes | ASM | Change from D0 39 to EA EA to make Munchers (and other hurt blocks such as castle spikes) hurt Mario while riding Yoshi. |
| 072C8 | $00:F0C8 | 36 bytes | Misc. | Table for several Map16 blocks that handles which block is spawned when another block has been hit. For example: ? block -> brown block. |
| 072A4 | $00:F0A4 | 36 bytes | Misc. | Table for several Map16 blocks that handles from which sides the block is activated, in ----btrl format. - = unknown, b = bottom, t = top, r = right, l = left. |
| 07280 | $00:F080 | 36 bytes | Misc. | Table for several Map16 blocks that handles which powerup is spawned out of the block when it's hit. |
| 0725C | $00:F05C | 36 bytes | Misc. | Table for several Map16 blocks that handles which bounce block sprite is shown when the block is hit. |
| 070F8 | $00:EEF8 | 3 bytes | ASM | Change to [EA A9 00] to enable sliding while holding an item. |
| 070B2 | $00:EEB2 | 1 byte | Objects | Change from 1E to 04 to make it possible to trigger already triggered switches, as opposed to them randomly becoming solid for no obvious reason. |
| 07079 | $00:EE79 | 1 byte | Objects | Controls which (page 1) tile activates the brown creating/eating block sprite when stood on. Note that a few tiles are handled before this and can not trigger this effect. |
| 07069 | $00:EE69 | 2 bytes | ASM | Change to EA EA (NOP #2) if you want Small Mario to be able to break turn blocks with a spin jump. Alternatively, change this address to 80 18 (BRA $18) if you want turn blocks to not be breakable by spin jumps. |
| 06E11 | $00:EC11 | 1 byte | Sound effect | Entering Door Sound Effect. |
| 06E0D | $00:EC0D | 1 byte | Controller | What button to press to activate a door. Format of $7E0015. (axspudlr) |
| 06D79 | $00:EB79 | 2 bytes | ASM | Change to A9 00 to make Super/Fire/Cape Mario have a 16x16 interaction field (like Small Mario) or change it to A9 01 to have a 16x32 interaction field (like big Mario) (in conjunction with addresses xB6C0 and x1B87C) |
| 06CA0 | $00:EAA0 | 1 byte | Mario physics | How high Mario can jump out of the water. |
| 06C9C | $00:EA9C | 1 byte | Mario tilemap | Mario's pose as he comes out of the water. |
| 06C8E | $00:EA8E | 1 byte | Sound effect | Mario spin-jump from water sound effect. |
| 06C82 | $00:EA82 | 1 byte | Mario physics | [10] Change to 80 to disable spin jumping from water |
| 06C08 | $00:EA08 | 3 bytes | ASM | Change [20 29 F6] to [EA EA EA] (JSR $F629 to NOP NOP NOP) to prevent the player from getting killed when stuck in a block, such as a cement block. Instead, he will get thrown downwards. |
| 065FE | $00:E3FE | 1 byte | Misc. | power-up that shows the cape graphics |
| 065AA | $00:E3AA | 1 byte | Misc. | Which animation frame value to start pulling tilemaps from the size-independent table |
| 06564 | $00:E364 | 1 byte | ASM | Change to $80 (BRA) to disable Mario from being offset vertically by one pixel while running on the wall (using the purple triangles). This should be combined with x0654F and x0655D for the complete effect. |
| 0655D | $00:E35D | 3 bytes | ASM | Change to $EA,$EA,$EA (NOP #3) to cancel out Mario moving up and down one pixel while walking and running. This is useful if you are using more than three animation frames for walking/running, and thus can be worked into your GFX/tilemap accordingly. |
| 0654F | $00:E34F | 4 bytes | Misc. | Change to EA EA EA EA (NOP #4) and all forms of Big Mario will not go into the ground a few pixels. |
| 0650D | $00:E30D | 1 byte | Misc. | How many palettes to cycle through when Mario/Luigi is invincible, -1 |
| 064D3 | $00:E2D3 | 1 byte | Debug | DEBUG: Infinite star (set to 00 to activate) |
| 06466 | $00:E266 | 44 bytes | Mario tilemap | cape offsets |
| 0643A | $00:E23A | 44 bytes | Mario tilemap | Cape tile map |
| 0638C | $00:E18C | 2 bytes | Palette | This is a two byte table used to index the player's palette based on the direction the player is facing. |
| 062CC | $00:E0CC | 192 bytes | Mario tilemap | Mario lower tile. |
| 0620C | $00:E00C | 192 bytes | Mario tilemap | Mario upper tile. |
| 061DA | $00:DFDA | 50 bytes | Mario tilemap | Tile expansion table (8x8 tiles in GFX00 used by Mario) |
| 06160 | $00:DF60 | 122 bytes | Pointer | Tile expansion pointer table (Big Mario) |
| 0611A | $00:DF1A | 70 bytes | Pointer | Tile expansion pointer table (Small Mario) |
| 06116 | $00:DF16 | 4 bytes | Mario tilemap | Tileset to use for Mario, paged by status ($7E0019) |
| 060C2 | $00:DEC2 | 2 bytes | Mario tilemap | Y offset of cape when climbing. |
| 05FDE | $00:DDDE | 2 bytes | Mario tilemap | X offset of cape when climbing. |
| 05E7C | $00:DC7C | 1 byte | Misc. | Mario animation speed |
| 05E78 | $00:DC78 | 4 bytes | Misc. | Number of animation frames to use for walking/running Mario, indexed by Mario's status.
Ex: db $01,$02,$02,$02 The first byte it for small Mario, next is Super (Big) Mario, then Cape Mario, and finally Fire Mario. $01 means 2 frames for small Mario and $02 means 3 frames for the others. Longer animations are possible, but that'd require moving stuff around in $13E0, which hasn't been researched yet. |
| 05E2D | $00:DC2D | 75 bytes | Mario physics | Routine that copies the player's XY speeds over to the XY positions. |
| 05DB3 | $00:DBB3 | 1 byte | Sound effect | Sound effect played when Mario hits a net. (1DF9) |
| 05DA6 | $00:DBA6 | 1 byte | Sound effect | Sound effect to play when jumping while climbing. The bank it stores to is located at $00DBA8 [$1DFA by default] and can be changed to $1DF9 or $1DFC. |
| 05CB9 | $00:DAB9 | 1 byte | Mario physics | Vine climbing speed 2 (left and up) |
| 05CB7 | $00:DAB7 | 1 byte | Mario physics | Vine climbing speed 1 (right and down) |
| 05CAA | $00:DAAA | 1 byte | Sound effect | Sound effect that plays when you press the button to swim |
| 05C8E | $00:DA8E | 1 byte | Mario tilemap | Shooting fireball while swimming pose. Default is #$18 (Swimming pose 3) |
| 05BDC | $00:D9DC | 1 byte | Mario physics | Maximum rising speed of player when holding an item while swimming. When adjusting this value, it's recommended that it's equal to x5BD8. Format of RAM $7E007D. |
| 05BD8 | $00:D9D8 | 1 byte | Mario physics | Maximum rising speed of player when holding an item while swimming. When adjusting this value, it's recommended that it's equal to x5BDC. Format of RAM $7E007D. |
| 05BD4 | $00:D9D4 | 1 byte | Mario physics | Maximum sinking speed of player when holding an item while swimming. When adjusting this value, it's recommended that it's equal to x5BD0. Format of RAM $7E007D. |
| 05BD0 | $00:D9D0 | 1 byte | Mario physics | Maximum sinking speed of player when holding an item while swimming. When adjusting this value, it's recommended that it's equal to x5BD4. Format of RAM $7E007D. |
| 05B98 | $00:D998 | 1 byte | ASM | Change this from [F0] (BEQ) to [80] (BRA) so that when the player is carrying an item while swimming, his Y speed won't be affected (as in, the player will sink normally). |
| 05B09 | $00:D909 | 1 byte | Mario physics | Time until you stop floating after you have pressed B while while in the air with a cape. |
| 05B05 | $00:D905 | 1 byte | Mario physics | change to 16 = Raccoon Mario (floating if you tap Y instead of holding it) |
| 05AEA | $00:D8EA | 1 byte | Misc. | power-up that can float (cape by default) |
| 05A05 | $00:D805 | 1 byte | Mario physics | Power-up that can fly |
| 059CF | $00:D7CF | 6 bytes | Mario physics | cape speed |
| 059BA | $00:D7BA | 1 byte | Mario physics | fly gain (added to y speed) |
| 059B9 | $00:D7B9 | 1 byte | Mario physics | The speed at which Mario falls with a cape. Set it lower to make him float slower, higher to float faster, and over D0 to enable unlimited jumping in midair with the cape. |
| 059B0 | $00:D7B0 | 1 byte | Mario physics | Falling maximum speed with button held |
| 059AF | $00:D7AF | 1 byte | Mario physics | Falling maximum speed (without button held) |
| 059A5 | $00:D7A5 | 3 bytes | Mario physics | Gravity. The first byte is when not holding B (or A), the second is gravity when holding B/A, and the third is when riding on a winged Yoshi. |
| 05918 | $00:D718 | 1 byte | Mario physics | Change [1E] to [00] to cause Mario to always run, as if the Y button is always down. This does not affect other uses of the Y button, like shooting fireballs or carrying sprites. Also, Cape Mario will still need the Y button to fly. |
| 05917 | $00:D717 | 1 byte | ASM | Change [50] to [80] to disable running and cause Mario to never run. The Y (or X) button will not cause Mario to run. This does not affect other uses of the Y button, like shooting fireballs or carrying sprites. |
| 05907 | $00:D707 | 1 byte | Mario tilemap | [0D] Mario's turning(skidding) pose |
| 05877 | $00:D677 | 1 byte | Mario physics | Mario fly time |
| 05874 | $00:D674 | 1 byte | Mario physics | [D0] Change to 80 to prevent the player from flying with a cape. The player will still be able to float, cape-spin, and jump higher when running but will never "take off". |
| 0586F | $00:D66F | 1 byte | Mario physics | Change to 80 to disable Cape Flight and Jumping High while dashing. Interestingly enough, changing it to A9 will make Mario do a dash jump with every jump, even at a standstill, and will allow him to gain speed in the air. |
| 0585E | $00:D65E | 10 bytes | ASM | Mario jumping routine. (Sound effect + store to Mario Y speed.)
$00D65F (0585F) is the Sound effect for Mario jumping. (05861) is the bank for the sound effect. By default it uses $1DFA, but you can make it use $1DFC by changing (05861) to FC or $1DF9 by changing it to F9. |
| 0584A | $00:D64A | 1 byte | Misc. | Spin Jump Sound, uses bank 1DFC. |
| 05845 | $00:D645 | 1 byte | ASM | Change this from "1A" to "60" to disable spin jumping. Unlike 0583E (SNES $00:D63E) from "10" to "80", changing this address does not make the "A" button do the regular jump, but it disables spin jumping altogether. This way, you can use the "A" button for something else without it jumping automatically.
Note: Still allows you to spinjump out of the water and dismount Yoshi. |
| 05844 | $00:D644 | 1 byte | Mario physics | [19] Change to [00] to allow Mario to spin jump while carrying an item. Because Mario spins so fast, the animation will not be smooth. |
| 0583E | $00:D63E | 1 byte | ASM | Change from 10 to 80 to disable Spin Jump. |
| 0581C | $00:D61C | 2 bytes | ASM | Change from 30 12 to EA EA to disable jumping. |
| 05804 | $00:D604 | 1 byte | ASM | Change from F0 (BEQ) to 80 (BRA) to disable ducking.
Note that setting $01EB16 (0x0ED16) to [EA EA A5 73] (NOP #2 : LDA $73) is a good idea if you're using this. |
| 05803 | $00:D603 | 1 byte | Controller | Which button to press to duck. (axsptbrl). a = A/B, x = X/Y, s = Select, p = Pause, t = Top, b = Bottom, r = Right, l = Left. |
| 057EA | $00:D5EA | 1 byte | Mario physics | X speed of player as he's floating in water AND standing on a platform (like the floating grassy platforms) in a level where a Layer 3 tide is active. (Does not affect the speed given when the player manually moves around on his own horizontally.) |
| 057E8 | $00:D5E8 | 1 byte | Mario physics | X speed of player as he's floating in water freely in a level where a Layer 3 tide is active. (Does not affect the speed given when the player manually moves around on his own horizontally.) |
| 057CA | $00:D5CA | 30 bytes | Mario physics | How much Mario moves while on slopes, added to $7B. Values correspond to $7E:13E1 (slope type) divided by four. Every second byte is unused. |
| 0554B | $00:D34B | 2 bytes | Mario physics | Mario 'acceleration' while running and heading right(added to the value for walking) |
| 05549 | $00:D349 | 2 bytes | Mario physics | Mario 'acceleration' while walking and heading right |
| 05547 | $00:D347 | 2 bytes | Mario physics | Mario 'acceleration' while running and heading left(added to the value for walking) |
| 05545 | $00:D345 | 2 bytes | Mario physics | Mario 'acceleration' while walking and heading left |
| 054BD | $00:D2BD | 16 bytes | Mario physics | Mario's jump height. The earlier ones are when Mario is moving slowly (or standing still); the latter is when he's moving faster. |
| 05455 | $00:D255 | 1 byte | Sound effect | Mario emerge from vertical pipe Sound Effect. |
| 05431 | $00:D231 | 5 bytes | Graphics | Change (A9 02 8D F9 13) to EA EA EA EA EA to remove Mario's priority when he's going down a pipe. |
| 05429 | $00:D229 | 1 byte | Misc. | Animation frame for Mario entering vertical pipe on Yoshi |
| 0540A | $00:D20A | 1 byte | Mario tilemap | Mario's pose for entering a vertical pipe (Default is 0F - facing screen) |
| 053AE | $00:D1AE | 1 byte | Misc. | Animation frame for Mario entering horizontal pipe on Yoshi |
| 0538F | $00:D18F | 2 bytes | Mario physics | Y-Speed at which Mario enters/exits a vertical pipe |
| 0538D | $00:D18D | 2 bytes | Mario physics | X-speed at which Mario enters/exits a horizontal pipe |
| 05356 | $00:D156 | 5 bytes | ASM | Change to EE E4 18 EA 64 to turn the Mushroom into a 1up, but it'll still play the animation |
| 05341 | $00:D141 | 1 byte | Timer | How long flashing invincibility (when you get hit) lasts |
| 0531D | $00:D11D | 12 bytes | Mario tilemap | Mario Shrinking Animation poses (uses RAM $13E0). 0531D - 05328 |
| 0531A | $00:D11A | 1 byte | ASM | Change [85] to [60] and Mario will not flip X-wise when he dies. |
| 052F1 | $00:D0F1 | 1 byte | ASM | ASM that handles the 'TIME UP!' message. Change 'D0' to '80' to disable it. |
| 052DE | $00:D0DE | 1 byte | Music | Game Over music |
| 052D8 | $00:D0D8 | 3 bytes | ASM | ASM that handles losing lives. Change to [EA EA EA] to not lose a life after dying. Change to [80 03 EA] to always go to the Game Over screen when dying. |
| 052D5 | $00:D0D5 | 3 bytes | ASM | Set 9C C1 0D to EA EA EA in order to not lose Yoshi on the OW when you fall down a pit when on top of Yoshi. |
| 052B9 | $00:D0B9 | 1 byte | Mario tilemap | Mario death pose (uses RAM $13E0) |
| 05281 | $00:D081 | 45 bytes | Subroutine (JSx FIXME) | Fireball throwing routine.
$00D082 (05282) is the power-up that can throw fireball
Change $00D084 (05284) to 00 to make Mario throw Fireballs in all forms.
Change $00D085 (05285) from A5 73 to EA EA to enable shooting fireballs while ducking.
Change $00D087 (05287) from 0D 7A 18 to EA EA EA to enable shooting fireballs from Yoshi.
Change $00D08A (0528A) to 80 do disable Fireball Shooting.
Change $00D093 (05293) from F0 to 80 to disable fireball shooting while spin jumping. |
| 05262 | $00:D062 | 31 bytes | Subroutine (JSx FIXME) | Cape Swing routine.
x5265 controls which power-up the player needs to have to be able to cape spin.
Change x5267 to 00 to make mario cape spin in all forms.
x5277 controls how long Cape Spin lasts.
x527C controls the cape spin sound effect to generate. |
| 05244 | $00:D044 | 30 bytes | Mario physics | Routine that does the actual calculation for cape-interaction. Uses the two tables at x05234 and x0523C. |
| 0523C | $00:D03C | 8 bytes | Mario physics | Cape Collision Y (Vertical) Offsets: 2 bytes for right and left, on ground and in air.
The first two sets are for when Mario is on the ground while spinning ($10,$00 - right; $10,$00 - left), and the second two are while he is in the air ($02,$00 - right; $02,$00 - left)
The first byte in each set determines the position per pixel, the second sets whether it is above him or below him ($FF is below his feet, $00 is from his feet up) Use $FF-$80 for the below byte ($FF), and $00-$79 for the above byte ($00)
This does not effect the image offsets. |
| 05234 | $00:D034 | 8 bytes | Mario physics | Cape Collision X (Horizontal) Offsets: Two bytes for right and left, on ground and in air.
The first two sets are for when Mario is on the ground while spinning ($0C,$00- right; $F4,$FF left), and the second two are while he is in the air ($08,$00 - right; $F8,$FF - left)
The first byte in each set determines the position per pixel, the second sets whether it is in front or behind him ($FF is behind, $00 is in front) Use $FF-$80 for the behind byte($FF), and $00-$79 for the in front byte ($00)
This does not effect the image offsets. |
| 051CE | $00:CFCE | 1 byte | Mario tilemap | This is the player looking up pose, the default is #$03. |
| 051CB | $00:CFCB | 1 byte | Mario physics | Change from [F0] to [80] to disable looking up. |
| 051CA | $00:CFCA | 1 byte | Controller | Which button to press to look up. (Look at Ram Address $7E:0015 for values). |
| 05190 | $00:CF90 | 1 byte | Mario tilemap | [0F] Mario turning around while holding item pose. |
| 0517B | $00:CF7B | 1 byte | Mario tilemap | [16] Mario shooting fireball in air pose. |
| 05175 | $00:CF75 | 1 byte | Mario tilemap | [3F] Mario shooting fireball on ground pose. |
| 05142 | $00:CF42 | 1 byte | Mario physics | Power-up that can attack with both cape spin and spin jump |
| 050BE | $00:CEBE | 1 byte | Mario physics | Amount of frames to show the cape at highest altitude frame. (After, for example, a spin-jump has been done.) |
| 050A9 | $00:CEA9 | 8 bytes | Mario tilemap | Cape spin cape image table.
These are run while spin jumping with a cape or doing a spin attack. Only these four cape images ($02,$07,$06,$09) seem to work with cape contact, and will only work if RAM $14A6 is above zero.
|
| 050A1 | $00:CEA1 | 8 bytes | Mario tilemap | Spinjump direction table. |
| 05099 | $00:CE99 | 8 bytes | Graphics | Spin Jump frame table
(00 00 - Mario Standing - Small - Big)
(25 44 - Mario Back to Screen - Small - Big)
(00 00 - Same as first)
(0F 45 - Mario Facing Screen - Small - Big)
They are indexed by the frame counter. |
| 04FF6 | $00:CDF6 | 131 bytes | Subroutine (JSx FIXME) | L & R scrolling routine.
Change $00CDFF (04FFF) from 17 to 18 to disable L & R scrolling.
$00CE40 (05040) is the Screen Scroll Sound Effect. |
| 04FC5 | $00:CDC5 | 1 byte | Misc. | Animation frame for Mario crouching on Yoshi |
| 04FA9 | $00:CDA9 | 4 bytes | Misc. | Mario riding on Yoshi animations |
| 04E85 | $00:CC85 | 1 byte | Debug | Change this to 00 and you'll activate free roaming mode (just like x4E84) |
| 04E84 | $00:CC84 | 1 byte | Debug | DEBUG: Free-roaming mode (F0 = enable) |
| 04D12 | $00:CB12 | 258 bytes | Misc. | Opening window data.
x4DA3 - Change 4B to 49 to fix a misplaced tile on the keyhole "iris in" effect. |
| 04D0C | $00:CB0C | 1 byte | ASM | Change from '8D' to '0C' to not make HDMA gradients act strangely at the end of the level (goal tape). Of course, you should still avoid using HDMA channel 7 if this is all you change. |
| 04C31 | $00:CA31 | 13 bytes | Subroutine (JSR) | Set the "peace" pose for the player depending on whether he's on Yoshi or not. |
| 04C2C | $00:CA2C | 1 byte | Misc. | Set to 00 to disable midway points (they'll still make you big though) |
| 04C12 | $00:CA12 | 2 bytes | Misc. | [C9 31] Changing this to [80 11] will prevent any "boss defeated" scenes from ever being played.
$00CA13 is one of the two level numbers that triggers the credits scene. The other is at $00C9AE. |
| 04C0C | $00:CA0C | 1 byte | Level number | Translevel number of the level where defeating a boss will activate the secret exit. |
| 04BFE | $00:C9FE | 3 bytes | ASM | [8D D5 0D] The code itself stores either 01 or 02 to $0DD5. Change to [EA EA EA] to make it possible to set the normal/secret exit info through $0DD5 via LevelASM, sprites, etc. (Note: To activate any exit at all, $0DD5 has to be explicitly set to 01 or 02. Leaving it as 00 will cause no exit to be activated at all, and values 03-FF should not be used.) |
| 04BBD | $00:C9BD | 1 byte | Music | Goal point fade-out music |
| 04BAE | $00:C9AE | 1 byte | Level number | One of the two level numbers that triggers the credits scene. The other is at $00CA13. |
| 04BA7 | $00:C9A7 | 7 bytes | Level number | The level numbers that triggers the seven castle destruction sequences. The first byte is for scene 1, the second is for scene 2, and so on. |
| 04B2C | $00:C92C | 2 bytes | Misc. | [F0 3D] Change to [EA EA] to prevent Mario walking after touching goal spheres or the goal tape. |
| 04799 | $00:C599 | 28 bytes | Pointer | Pointer to Mario's animation routines. ($7E0071) |
| 04776 | $00:C576 | 1 byte | Debug | DEBUG: Powerup select (F0 = enable) |
| 04770 | $00:C570 | 1 byte | Misc. | [F0] Change to [80] to make the item not drop when the player presses Select. |
| 04758 | $00:C558 | 1 byte | Sound effect | POW Finishing Sound Effect. |
| 04726 | $00:C526 | 1 byte | Music | Music played when you have completed the Bonus Game. |
| 046AF | $00:C4AF | 1 byte | Misc. | If you change this byte from [02] to [01], the keyhole will activate the normal exit. |
| 044E6 | $00:C2E6 | 72 bytes | Misc. | BG Tiles/Palette for Flipped Gate (2) |
| 0449E | $00:C29E | 72 bytes | Misc. | BG Tiles/Palette for Flipped Gate (1) |
| 042FB | $00:C0FB | 177 bytes | ASM | The portion of code in SMW's Map16-tile-generating routine that changes the actual graphics of the tile. Both $00C074 and $00C0C1 use it (the former jumps to it, and it immediately follows the latter). |
| 042C1 | $00:C0C1 | 58 bytes | ASM | A portion of code used in SMW for generating tiles on Map16 page 1. $00C0C4 is an alternate entry point to this routine; if it is used instead, then the tile generation will not affect item memory. |
| 042B2 | $00:C0B2 | 15 bytes | Misc. | Tiles to generate on Map16 page 1, used for values 0A-17 of $9C. |
| 04274 | $00:C074 | 54 bytes | Subroutine (JSx FIXME) | SMW's subroutine for generating tiles on Map16 page 0. $00C077 is an alternate entry point to this routine; if it is used instead, then the tile generation will not affect item memory. |
| 0426B | $00:C06B | 9 bytes | Misc. | Tiles to generate on Map16 page 0, used for values 01-09 of $9C. Note that the first byte is unused. |
| 0420D | $00:C00D | 86 bytes | Subroutine (JSx FIXME) | The subroutine that sets item memory bits. It is called during the subroutine at $00BEB0 for values of $9C that utilize item memory. |
| 041BC | $00:BFBC | 67 bytes | Subroutine (JSx FIXME) | A subroutine used with $00BEB0; it runs different codes depending on the value of $9C. The pointers for the different values begin at $00BFC9. They go from 01 to 1B, although the actual codes are kind of weird...the pointers vary depending on which Map16 page the tile is on, whether or not item memory should be affected, and if there are special cases (such as the Yoshi coin, which generates two tiles simultaneously). |
| 040B0 | $00:BEB0 | 268 bytes | Subroutine (JSx FIXME) | SMW's Map16-tile-generating routine. It uses values of $9C to determine which tile to generate, but these values are hardcoded. (See RAM address $9C.) This is the main part; $00BFBC runs the codes for each tile. |
| 03C4D | $00:BA4D | 19 bytes | Empty | Unused data. |
| 0390E | $00:B70E | 36 bytes | Palette | "The End" palettes (3 palettes, 6 colours each; order is Luigi, Mario, Princess) |
| 0389E | $00:B69E | 112 bytes | Palette | Bowser palettes (8 palettes, 7 colours each) |
| 03890 | $00:B690 | 14 bytes | Palette | Palettes 4 and B, colours 9-F. |
| 03882 | $00:B682 | 14 bytes | Palette | Palettes 3 and A, colours 9-F. |
| 03874 | $00:B674 | 14 bytes | Palette | Palettes 2 and 9, colours 9-F. |
| 0385E | $00:B65E | 14 bytes | Palette | Iggy/Larry Platform Palette |
| 0381C | $00:B61C | 16 bytes | Palette | Colours used in animation of red map spot |
| 0380C | $00:B60C | 16 bytes | Palette | Colours used in animation of Yoshi coin and yellow map spot |
| 0376E | $00:B56E | 14 bytes | Palette | Palette 7 colours 9-F. |
| 03760 | $00:B560 | 14 bytes | Palette | Palette 6 colours 9-F. |
| 03752 | $00:B552 | 14 bytes | Palette | Palette 5 colours 9-F. |
| 03602 | $00:B402 | 14 bytes | Palette | Main Overworld Palette 7, Colours 1-7 |
| 035F4 | $00:B3F4 | 14 bytes | Palette | Main Overworld Palette 6, Colours 1-7 |
| 035E6 | $00:B3E6 | 14 bytes | Palette | Main Overworld Palette 5, Colours 1-7 |
| 035D8 | $00:B3D8 | 14 bytes | Palette | Main Overworld Palette 4, Colours 1-7 |
| 035C0 | $00:B3C0 | 24 bytes | Palette | Sprite palette 7, loaded to palettes E and F. |
| 035A8 | $00:B3A8 | 24 bytes | Palette | Sprite palette 6, loaded to palettes E and F. |
| 03590 | $00:B390 | 24 bytes | Palette | Sprite palette 5, loaded to palettes E and F. |
| 03578 | $00:B378 | 24 bytes | Palette | Sprite palette 4, loaded to palettes E and F. |
| 03560 | $00:B360 | 24 bytes | Palette | Sprite palette 3, loaded to palettes E and F. |
| 03548 | $00:B348 | 24 bytes | Palette | Sprite Palette 2, loaded to palettes E and F. |
| 03530 | $00:B330 | 24 bytes | Palette | Sprite palette 1, loaded to palettes E and F. |
| 03518 | $00:B318 | 24 bytes | Palette | Sprite palette 0, loaded to palettes E and F. |
| 03504 | $00:B304 | 20 bytes | Palette | Fire Luigi palette. Colours 6-F of palette 8 while fire Luigi. |
| 034F0 | $00:B2F0 | 20 bytes | Palette | Fire Mario's palette |
| 034DC | $00:B2DC | 20 bytes | Palette | Luigi palette. Colours 6-F of palette 8 while small, big, or caped Luigi. |
| 034C8 | $00:B2C8 | 20 bytes | Palette | Mario Palette |
| 034BC | $00:B2BC | 12 bytes | Palette | Morton palette, and palette D colours 2-7 in levels |
| 034B0 | $00:B2B0 | 12 bytes | Palette | Palette C colours 2-7 in levels. |
| 034A4 | $00:B2A4 | 12 bytes | Palette | Roy palette, and palette B colours 2-7 in levels. |
| 03498 | $00:B298 | 12 bytes | Palette | Ludwig palette, and palette A colours 2-7 in levels. |
| 0348C | $00:B28C | 12 bytes | Palette | Palette 9 colours 2-7 in levels. |
| 03480 | $00:B280 | 12 bytes | Palette | Palette 8 colours 2-5 in levels, the last four bytes (two colours) seem unused and are probably overwritten. |
| 03474 | $00:B274 | 12 bytes | Palette | Palette 7 colours 2-7 in levels. |
| 03468 | $00:B268 | 12 bytes | Palette | Palette 6 colours 2-7 in levels. Colour 4 will be overwritten in levels, but not in boss rooms. |
| 0345C | $00:B25C | 12 bytes | Palette | Palette 5 colours 2-7 in levels. |
| 03450 | $00:B250 | 12 bytes | Palette | Palette 4 colours 2-7 in levels. |
| 03444 | $00:B244 | 12 bytes | Palette | Palette 3 colours 2-7, FG Palette 7, in levels. |
| 03438 | $00:B238 | 12 bytes | Palette | Palette 2 colours 2-7, FG Palette 7, in levels. |
| 0342C | $00:B22C | 12 bytes | Palette | Palette 3 colours 2-7, FG Palette 6, in levels. |
| 03420 | $00:B220 | 12 bytes | Palette | Palette 2 colours 2-7, FG Palette 6, in levels. |
| 03414 | $00:B214 | 12 bytes | Palette | Palette 3 colours 2-7, FG Palette 5, in levels. |
| 03408 | $00:B208 | 12 bytes | Palette | Palette 2 colours 2-7, FG Palette 5, in levels. |
| 033FC | $00:B1FC | 12 bytes | Palette | Palette 3 colours 2-7, FG Palette 4, in levels. |
| 033F0 | $00:B1F0 | 12 bytes | Palette | Palette 2 colours 2-7, FG Palette 4, in levels. |
| 033E4 | $00:B1E4 | 12 bytes | Palette | Palette 3 colours 2-7, FG Palette 3, in levels. |
| 033D8 | $00:B1D8 | 12 bytes | Palette | Palette 2 colours 2-7, FG Palette 3, in levels. |
| 033CC | $00:B1CC | 12 bytes | Palette | Palette 3 colours 2-7, FG Palette 2, in levels. |
| 033C0 | $00:B1C0 | 12 bytes | Palette | Palette 2 colours 2-7, FG Palette 2, in levels. |
| 033B4 | $00:B1B4 | 12 bytes | Palette | Palette 3 colours 2-7, FG Palette 1, in levels. |
| 033A8 | $00:B1A8 | 12 bytes | Palette | Palette 2 colours 2-7, FG Palette 1, in levels. |
| 0339C | $00:B19C | 12 bytes | Palette | Palette 3 colours 2-7, FG Palette 0, in levels. |
| 03390 | $00:B190 | 12 bytes | Palette | Palette 2 colours 2-7, FG Palette 0, in levels. |
| 03380 | $00:B180 | 16 bytes | Palette | Palette 1 colours 8-F in levels. |
| 03370 | $00:B170 | 16 bytes | Palette | Palette 0 colours 8-F in levels. |
| 03358 | $00:B158 | 24 bytes | Palette | BG Palette 7 |
| 03340 | $00:B140 | 24 bytes | Palette | BG Palette 6 |
| 03328 | $00:B128 | 24 bytes | Palette | BG Palette 5 |
| 03310 | $00:B110 | 24 bytes | Palette | BG Palette 4 |
| 032F8 | $00:B0F8 | 24 bytes | Palette | BG Palette 3 |
| 032E0 | $00:B0E0 | 24 bytes | Palette | BG Palette 2 |
| 032C8 | $00:B0C8 | 24 bytes | Palette | BG Palette 1 |
| 032B0 | $00:B0B0 | 24 bytes | Palette | BG Palette 0 |
| 032A0 | $00:B0A0 | 16 bytes | Palette | Shared background area colour. Back area colour 0 - 7 |
| 03291 | $00:B091 | 15 bytes | Empty | Unused data.
Change to AD C6 13 F0 FA A5 13 29 03 4C 39 AF to completely disable the fade-out only when beating a level. Does not apply to bosses (USE WITH 3135). |
| 031BA | $00:AFBA | 3 bytes | Misc. | Change from B9 F7 AE [LDA $AEF7,y] to A9 00 00 [LDA #$0000] to disable fading completely, even in boss levels. WARNING: When end level scorecard pops up in boss levels, mode 7 stuff will disappear due to the mode being changed to 1 so layer 3 stuff shows up. |
| 03139 | $00:AF39 | 1 byte | ASM | Change to 80 to completely disable the fade-out when beating a level. Warning: Boss fights including Reznor will glitch out and not send you back to the overworld when doing this. |
| 03135 | $00:AF35 | 4 bytes | ASM | Change to 4C 91 B0 EA to completely disable the fade-out only when beating a level. (USE WITH 3291). |
| 0301B | $00:AE1B | 1 byte | Misc. | [07] FG Palette setting for Morton, Ludwig, Roy, Reznor, and Bowser battles |
| 03016 | $00:AE16 | 1 byte | Misc. | [02] Sprite Palette setting for Morton, Ludwig, Roy, Reznor, and Bowser battles |
| 02FCF | $00:ADCF | 2 bytes | Palette | Title Screen Layer 3 Palettes (Row 2) Y-Span -1 |
| 02FCA | $00:ADCA | 2 bytes | Palette | Title Screen Layer 3 Palettes (Row 2) X-Span -1 |
| 02FC5 | $00:ADC5 | 2 bytes | Palette | Title Screen Layer 3 Palettes (Row 2) Starting Index |
| 02FC0 | $00:ADC0 | 2 bytes | Palette | Title Screen Layer 3 Palettes (Row 2) Pointer |
| 02FB8 | $00:ADB8 | 2 bytes | Palette | Title Screen Layer 3 Palettes (Row 1) Y-Span -1 |
| 02FB3 | $00:ADB3 | 2 bytes | Palette | Title Screen Layer 3 Palettes (Row 1) X-Span -1 |
| 02FAE | $00:ADAE | 2 bytes | Palette | Title Screen Layer 3 Palettes (Row 1) Starting Index |
| 02FA9 | $00:ADA9 | 2 bytes | Palette | Title Screen Layer 3 Palettes (Row 1) Pointer |
| 02F9C | $00:AD9C | 2 bytes | Palette | Overworld Map Layer 3 Palettes Y-Span -1 |
| 02F97 | $00:AD97 | 2 bytes | Palette | Overworld Map Layer 3 Palettes X-Span -1 |
| 02F92 | $00:AD92 | 2 bytes | Palette | Overworld Map Layer 3 Palettes Starting Index |
| 02F8D | $00:AD8D | 2 bytes | Palette | Overworld Map Layer 3 Palettes Pointer |
| 02F85 | $00:AD85 | 2 bytes | Palette | Overworld Map Sprite Palettes Y-Span -1 |
| 02F80 | $00:AD80 | 2 bytes | Palette | Overworld Map Sprite Palettes X-Span -1 |
| 02F7B | $00:AD7B | 2 bytes | Palette | Overworld Map Sprite Palettes Starting Index |
| 02F76 | $00:AD76 | 2 bytes | Palette | Overworld Map Sprite Palettes Pointer |
| 02F6E | $00:AD6E | 2 bytes | Palette | Overworld Map Layer 1 Palettes Y-Span -1 |
| 02F69 | $00:AD69 | 2 bytes | Palette | Overworld Map Layer 1 Palettes X-Span -1 |
| 02F64 | $00:AD64 | 2 bytes | Palette | Overworld Map Layer 1 Palettes Starting Index |
| 02F5F | $00:AD5F | 2 bytes | Palette | Overworld Map Layer 1 Palettes Pointer |
| 02F57 | $00:AD57 | 2 bytes | Palette | Overworld Map Layer 2 Palettes Y-Span -1 |
| 02F52 | $00:AD52 | 2 bytes | Palette | Overworld Map Layer 2 Palettes X-Span -1 |
| 02F4D | $00:AD4D | 2 bytes | Palette | Overworld Map Layer 2 Palettes Starting Index |
| 02F30 | $00:AD30 | 2 bytes | Palette | Overworld Map Layer 2 Palettes Pointer (Special World Passed) |
| 02F28 | $00:AD28 | 2 bytes | Palette | Overworld Map Layer 2 Palettes Pointer |
| 02F1E | $00:AD1E | 7 bytes | Palette | Palette IDs to use for each submap |
| 02EE3 | $00:ACE3 | 2 bytes | Palette | Berry Sprite Palettes Y-Span -1 |
| 02EDE | $00:ACDE | 2 bytes | Palette | Berry Sprite Palettes X-Span -1 |
| 02ED9 | $00:ACD9 | 2 bytes | Palette | Berry Sprite Palettes Starting Index |
| 02ED4 | $00:ACD4 | 2 bytes | Palette | Berry Sprite Palettes Pointer |
| 02ECC | $00:ACCC | 2 bytes | Palette | Layer 1 Berry Palettes Y-Span -1 |
| 02EC7 | $00:ACC7 | 2 bytes | Palette | Layer 1 Berry Palettes X-Span -1 |
| 02EC2 | $00:ACC2 | 2 bytes | Palette | Layer 1 Berry Palettes Starting Index |
| 02EBD | $00:ACBD | 2 bytes | Palette | Layer 1 Berry Palettes Pointer |
| 02EB5 | $00:ACB5 | 2 bytes | Palette | Layer 2 Background Palettes Y-Span -1 |
| 02EB0 | $00:ACB0 | 2 bytes | Palette | Layer 2 Background Palettes X-Span -1 |
| 02EAB | $00:ACAB | 2 bytes | Palette | Layer 2 Background Palettes Starting Index |
| 02E94 | $00:AC94 | 2 bytes | Palette | Layer 2 Background Palettes Pointer |
| 02E8C | $00:AC8C | 2 bytes | Palette | Tileset Specific Sprite Palettes Y-Span -1 |
| 02E87 | $00:AC87 | 2 bytes | Palette | Tileset Specific Sprite Palettes X-Span -1 |
| 02E82 | $00:AC82 | 2 bytes | Palette | Tileset Specific Sprite Palettes Starting Index |
| 02E6B | $00:AC6B | 2 bytes | Palette | Tileset Specific Sprite Palettes Pointer |
| 02E63 | $00:AC63 | 2 bytes | Palette | Tileset Specific FG Palettes Y-Span -1 |
| 02E5E | $00:AC5E | 2 bytes | Palette | Tileset Specific FG Palettes X-Span -1 |
| 02E59 | $00:AC59 | 2 bytes | Palette | Tileset Specific FG Palettes Starting Index |
| 02E42 | $00:AC42 | 2 bytes | Palette | Tileset Specific FG Palettes Pointer |
| 02E3C | $00:AC3C | 2 bytes | Palette | Back Area Colours Pointer |
| 02E2C | $00:AC2C | 2 bytes | Palette | Foreground/Sprite Palettes Y-Span -1 |
| 02E27 | $00:AC27 | 2 bytes | Palette | Foreground/Sprite Palettes X-Span -1 |
| 02E22 | $00:AC22 | 2 bytes | Palette | Foreground/Sprite Palettes Starting Index |
| 02E1D | $00:AC1D | 2 bytes | Palette | Foreground/Sprite Palettes Pointer |
| 02E15 | $00:AC15 | 2 bytes | Palette | Layer 3 Palettes Y-Span -1 |
| 02E10 | $00:AC10 | 2 bytes | Palette | Layer 3 Palettes X-Span -1 |
| 02E0B | $00:AC0B | 2 bytes | Palette | Layer 3 Palettes Starting Index |
| 02E06 | $00:AC06 | 2 bytes | Palette | Layer 3 Palettes Pointer |
| 02D43 | $00:AB43 | 1 byte | Mode7 tilemap | GFX File loaded for Mode 7 objects |
| 02C79 | $00:AA79 | 1 byte | Sprite tilemap related | GFX File loaded for enemies after Special World is passed |
| 02C76 | $00:AA76 | 1 byte | ASM | Change from 10 to 80 to disable the Koopas from using different graphics after the special world is passed |
| 02C70 | $00:AA70 | 1 byte | Misc. | GFX file to load special world graphics into |
| 02BCD | $00:A9CD | 1 byte | Misc. | GFX file to use for Nintendo Presents logo |
| 02B6F | $00:A96F | 28 bytes | Level data | Submap Foreground Graphics |
| 02B2B | $00:A92B | 60 bytes | Level data | 26x4 byte table, FG/BG GFX list.
Normal levels can use 00-0E, but cutscenes set this to higher values. |
| 02AC3 | $00:A8C3 | 104 bytes | Graphics | 26x4 byte table, Sprite GFX list.
Normal levels can use 00-0F, but the following values have also been observed:
10: [00 00 00 08] Unused?
11: [10 0F 1C 1D] Overworld
12: [00 01 24 22] Morton, Roy, Ludwig
13: [00 01 25 22] Iggy, Larry, Reznor
14: [00 22 13 2D] Castle destruction sequence
15: [00 01 0F 22] Walking home during the credits
16: [00 26 2E 22] Yoshi's House during the credits
17: [21 0B 25 0A] Boss list from the credits
18: [00 0D 24 22] Bowser
19: [2C 30 2D 0E] THE END screen |
| 02A2E | $00:A82E | 1 byte | Misc. | GFX File loaded for "MARIO START!," "GAME OVER," etc. |
| 0271D | $00:A51D | 1 byte | Palette | The second animated colour on the overworld. (Default: 7D.) |
| 02714 | $00:A514 | 1 byte | Palette | The first animated colour on the overworld. (Default: 6D.) |
| 02639 | $00:A439 | 1 byte | Misc. | Change [F0] (BEQ) to [80] (BRA) to prevent various tiles in SP1 to be overwritten (which meant using ExGFX for them would have no effect). This does not affect tiles 00-09, 10-19 and 7F of SP1. |
| 02629 | $00:A429 | 12 bytes | Palette | Changing [B9 0C B6 8D 22 21 B9 0D B6 8D 22 21] to [80 0A EA EA EA EA EA EA EA EA EA EA] will disable the flash animation of colour #64. Make sure that the "View Animation" function in Lunar Magic is disabled.
WARNING: Will disable the animated colours on the OW too! |
| 0261B | $00:A41B | 1 byte | Palette | Palette number to use for the flashing palette. Default value is $64 |
| 0261A | $00:A41A | 1 byte | Palette | [A9] Changing this to 60 will disable the flashing yellow color in levels, but not on the overworld. |
| 02600 | $00:A400 | 2 bytes | Graphics | VRAM address of the second line of two animated tiles (value is $00A3DB + 0x100). |
| 025DB | $00:A3DB | 2 bytes | Graphics | For which VRAM address animation data will be broken up into two lines of two tiles instead of a single line of four tiles. |
| 02590 | $00:A390 | 1 byte | ASM | [C2] Change to 60 to disable all animations in levels. This includes colour 64.
Note: LM will still show the animations. |
| 02500 | $00:A300 | 144 bytes | Subroutine (JSx FIXME) | The routine that handles the graphics that get DMA'd to the first five 16x16 tiles in SP1. It also write the necessary colors to the player's palette (colors 6-F).
x250A - Mario/Luigi Palette - Starting Index (Changing this will cause Mario/Luigi to flash when the screen fades out after beating a boss)
x2520 - Mario/Luigi Palette - Amount of colours * 2 |
| 02473 | $00:A273 | 1 byte | Debug | DEBUG: Beat level with Start+Select (USE WITH 2468) (00 = enable) |
| 02468 | $00:A268 | 1 byte | Debug | DEBUG: Beat level with Start+Select (USE WITH 2473) (00 = enable) |
| 0245F | $00:A25F | 1 byte | Debug | Change to D0 and pressing start will end the level |
| 02456 | $00:A256 | 1 byte | Debug | DEBUG: Slow motion speed |
| 02448 | $00:A248 | 1 byte | Debug | DEBUG: Advance frame / Slow motion (00 = enable) |
| 0243E | $00:A23E | 1 byte | Music | Change to 12 and music will continue to play when you pause the game. Changing [11] to another value will alter the sound effect that occurs when pausing the game. |
| 0242D | $00:A22D | 1 byte | Timer | Timer (in frames) that runs to prevent the pause flag from being flipped instantly. Change [3C] to another value to change the time it takes for Mario to pause/unpause. |
| 0241F | $00:A21F | 1 byte | ASM | Change from F0 (BEQ) to 80 (BRA) to disable pausing |
| 0241E | $00:A21E | 1 byte | Controller | Button to press for Pause. (Checks $16) |
| 023E3 | $00:A1E3 | 1 byte | ASM | Change to 0xEA to keep the game running when a message box is on the screen. |
| 02348 | $00:A148 | 1 byte | Overworld | GFX file for animated tiles (waterfalls etc) on the overworld. |
| 022F9 | $00:A0F9 | 1 byte | ASM | Part of the routine that runs after dying with zero lives.
If # of levels beat is zero, then it will take you back to the intro screen, if levels beat is positive, it will take you back to the last place you saved on the OW and bring up the Continue/End dialog.
Change this byte to BRA ($80) to cause it to not send you to the intro screen and bring up the Continue/End dialog if you haven't saved for the first time. (In other words, it will take you back to Yoshi's House on an unedited overworld.) |
| 022CC | $00:A0CC | 3 bytes | Misc. | Saves Mario/Luigi's powerups based on which one you are using for the level |
| 0229C | $00:A09C | 1 byte | Timer | Timer to disable skipping the intro message (level C5).
The timer decreases every 4 frame. |
| 02279 | $00:A079 | 14 bytes | Coordinate | 16-bit Y-coordinates for each of the seven submaps. The main map has values of 0, and is overridden elsewhere. |
| 0226B | $00:A06B | 14 bytes | Coordinate | 16-bit X-coordinates for each of the seven submaps. The main map has values of 0, and is overridden elsewhere. |
| 02245 | $00:A045 | 38 bytes | Layer 3 | The routine that sets the interaction of the Layer 3 tide tiles.
Both $00A04E and $00A04F are the low byte of the Map16 tile that the tides act like; nothing is stored to the high byte, so this is always on page 0. |
| 021B8 | $00:9FB8 | 141 bytes | Subroutine (JSx FIXME) | The main Layer 3 handling routine in levels.
- $009FDA: Starting Y position of the rising/lowering tide.
- $009FDF: Y position of the fixed-height tide.
- $009FF3: One of two tilesets for which the tileset-specific Layer 3 background will not auto-scroll. The other is at $009FF7.
- $009FF7: One of two tilesets for which the tileset-specific Layer 3 background will not auto-scroll. The other is at $009FF3.
- $00A00A: Pointer to the layer 3 crusher palette. |
| 02188 | $00:9F88 | 48 bytes | Layer 3 | Layer 3 settings. The table is indexed by 3t + i, where t is the tileset number and i is the Layer 3 image setting (00 = variable tide, 01 = low tide, 02 = tileset-specific image). It is used by the routine at $009FB8. The actual format seems to be:
01 = variable-height tide
02 = fixed-height tide
80 = Layer 3 smashers/cage
81 = slow-auto-scrolling background (except in tilesets 1 and 3, where it will be a background that scrolls at half the rate Layer 1 does)
C0 = same as 80, except without the smasher palette |
| 02146 | $00:9F46 | 56 bytes | Subroutine (JSx FIXME) | Fading/mosaic routine.
Change x2159 from D0 to 90 to eliminate all fadeouts. (use in conjunction with x212F). Mod note: I've heard that this one is buggy. Use on your own risk.
x2167 controls which layers are affected by the mosaic effect.
Format: xxxx4321.
The numbers present the layer numbers to add mosaic on. So 1 = Layer 1, 2 = Layer 2, etc. |
| 0212F | $00:9F2F | 1 byte | Graphics | Change from 01 to 0F to stop fadeout on entering level, new area, and back to submap. (Use with x2159) |
| 0212A | $00:9F2A | 1 byte | Misc. | Speed of Fade-ins and Fade-outs. |
| 0206E | $00:9E6E | 1 byte | Misc. | Number of options in the 1/2 player select menu. $02 by default. |
| 0206C | $00:9E6C | 1 byte | Misc. | Number of options in the file select menu. $04 by default. |
| 02035 | $00:9E35 | 2 bytes | ASM | Set powerups at game start. ($19 = #$00, small Mario.) |
| 02025 | $00:9E25 | 1 byte | Misc. | Amount of lives to start with. |
| 01FB5 | $00:9DB5 | 69 bytes | Subroutine (JSx FIXME) | The subroutine that checks if a saved game file is blank or not. When this subroutine returns, if Z = 0, the file is a new one. |
| 01F8B | $00:9D8B | 1 byte | Palette | Palette for "number of levels beaten" in the Title Screen's Game Selection Menu (stored in YXPCCCTT format, but kind of screwy; value 30 seems to work well, though) |
| 01F73 | $00:9D73 | 1 byte | Misc. | Second tile of the *96 icon. |
| 01F71 | $00:9D71 | 1 byte | Misc. | First tile of the *96 icon. |
| 01F6D | $00:9D6D | 1 byte | Misc. | How many exits you need to get the *96 icon. |
| 01ECE | $00:9CCE | 3 bytes | Misc. | SRAM starting addresses for each of the three save files, low byte. |
| 01ECB | $00:9CCB | 3 bytes | Misc. | SRAM starting addresses for each of the three save files, high byte. |
| 01EB1 | $00:9CB1 | 1 byte | Level number | Intro level number. Change to [00] and you will skip the intro screen (level C5). You'll warp to the OW immediately. |
| 01EAD | $00:9CAD | 3 bytes | ASM | Change '9C 9F 0D' to 'EA EA EA', and, if you happened to have a HDMA effect in the titlescreen, it will not be disabled when you go to the File Menu. |
| 01EA9 | $00:9CA9 | 1 byte | Misc. | Display following layers: ---o4321. o = sprite layer, 4 = layer 4 (unused), 3 = layer 3 (no effect however), 2 = layer 2, 1 = layer 1. Clear the corresponding bits for these layers to not make them display on file select screen load. |
| 01E9F | $00:9C9F | 4 bytes | ASM | Change from 22 00 80 7F to EA EA EA EA to disable sprites from disappearing on the title screen when pressing a button (opening file select menu) |
| 01E87 | $00:9C87 | 1 byte | ASM | Change D0 (BNE) to 80 (BRA) to never make the titlescreen loop. |
| 01E82 | $00:9C82 | 3 bytes | ASM | Change to [EA A9 00] to remove title screen movement. Title screen will not loop. |
| 01E6A | $00:9C6A | 1 byte | ASM | Change to 80 to open save game menu without pressing a button or Title Screen Playing. |
| 01E1F | $00:9C1F | 69 bytes | Controller | Mario's movement data on Title Screen.
Format: xx yy xx yy xx yy [...] $FF
The XXs is the value to store to $15, except that the Select flag (#$20) is instead used to tell if the XY flag (#$40) should be masked away from $16 (if it's set, that bit is stored to $16 unchanged; if clear, that bit is masked away. All other bits are stored to $16.)
The YYs is how long to keep that value there. Setting an XX to $FF ends it. |
| 01DC9 | $00:9BC9 | 74 bytes | Subroutine (JSL) | Save Game function. (Load Game starts around 1EEF. Last byte used in SRAM seems to be 70:0358.)
The save routine is documented in depth here. |
| 01CCB | $00:9ACB | 76 bytes | Subroutine (JSx FIXME) | The cursor routine used in file selection, player selection, and erase file.
$009AD3 (x1CD3) - If you change this to EA EA EA, the cursor arrow will never be shown in front of the game-start menus. (It will still act as though it were there, though.)
$009AE4 (x1CE4) - SFX that comes up when you select a game at the title screen.
$009AFA (x1CFA) - SFX played when you change an option at the title screen and overworld menus. |
| 01CB2 | $00:9AB2 | 1 byte | Misc. | Change to [03] to make all layers appear at the same time during titlescreen load. |
| 01C1F | $00:9A1F | 47 bytes | Subroutine (JSx FIXME) | Writes the Map16 data for Ludwig/Morton/Roy's boss battle room.
$009A40 (01C40) is what tile the lava tiles in the Morton/Ludwig/Roy battles act like (by default: 05). Only Map16 page 00 is usable. |
| 01C16 | $00:9A16 | 1 byte | Coordinate | Y lo position of Mario at the start of the Morton/Ludwig/Roy battle. |
| 01A0F | $00:980F | 2 bytes | Coordinate | 16-bit X position of Mario when he starts at the Iggy / Larry room. First byte = X lo, second byte = X hi (this byte is not recommended to change). |
| 0194C | $00:974C | 4 bytes | Subroutine (JSx FIXME) | Calls the hex->dec subroutine and ends in an RTL. |
| 018AE | $00:96AE | 158 bytes | ASM | This is the code that is executed by game mode 03 (Load title). Game mode 11 (Mario Start) also uses parts of this code. The shared parts starts at $0096D5 (0x018D5).
$0096C4 (0x018C4) is music Bank Used for the Title Screen. 0E = Overworld Music, 48 = Level Music, 59 = Ending Music.
$0096C7 (0x018C7) is the title screen (level C7) music.
$0096CC (0x018CC) is the title screen level number+$24.
$009724 (0x01924) is the intro screen (level C5) music.
Changing $009725 (0x01925) to "9C FB 1D" will allow you to change the music for the intro via Lunar Magic.
$009737 (0x01937) is the Bowser scene 1 music. |
| 0188E | $00:968E | 32 bytes | ASM | This is the beginning of the code that is executed for game mode 10 (the black period between faseout from the OW and Mario Start).
$0096A5 (0x018A5) is which Layer 1 tile on the overworld will prevent the "Mario Start!" from appearing if the player is on it. (Default is $56, the Yoshi's House tile.)
Change $0096A6 (0x018A6) to EA EA to make MARIO START! appear on the Yoshi's house OW tile number, or to 80 03 to make the MARIO START! never appear. |
| 01786 | $00:9586 | 4 bytes | Level number | Which level to use for the Yoshi's House part in the credits. 'A9 28 A0 01'. Do not change A9 and A0. 28 is the low byte of the level (Note: Level number + 24), 01 is the high byte. |
| 0175F | $00:955F | 1 byte | Misc. | GFX File loaded for Credits font |
| 0170B | $00:950B | 1 byte | Debug | DEBUG: Boss defeated scene select (30 = enable) |
| 016B3 | $00:94B3 | 1 byte | Music | Boss castle destruction sequence music #1 |
| 016A1 | $00:94A1 | 1 byte | Music | Music Bank that is used for the ending music.
0E = Overworld Music
48 = Level Music
59 = Ending Music |
| 01659 | $00:9459 | 7 bytes | Palette | Castle palette for castle destruction movies. (One byte per movie) |
| 01651 | $00:9451 | 7 bytes | Palette | Back area colours to use for each castle destruction scene (One byte per movie) |
| 0163B | $00:943B | 1 byte | Misc. | How fast the circle right before the titlescreen opens. Default value is 04. The higher the value, the faster it opens. Don't go beyond #$19. |
| 015CB | $00:93CB | 1 byte | Misc. | Blinking Nintendo Presents (0F = 0 time, 1F = 1 time, 2F = 2 times, etc)
Also known as Nintendo Presents Brightness (Values use Brightness Register ($0DAE)) |
| 015C6 | $00:93C6 | 1 byte | Timer | How long "Nintendo Presents" stays on the screen before disappearing. |
| 015C1 | $00:93C1 | 1 byte | Sound effect | "Nintendo Presents" logo sound effect |
| 015B0 | $00:93B0 | 1 byte | Sprite tilemap related | YXPPCCCT properties for "Nintendo Presents". |
| 015A5 | $00:93A5 | 1 byte | Coordinate | Y position of "Nintendo Presents" logo |
| 0158D | $00:938D | 4 bytes | Sprite tilemap related | "Nintendo Presents" logo tilemap |
| 01589 | $00:9389 | 4 bytes | Coordinate | X position of the "Nintendo Presents" tiles |
| 01529 | $00:9329 | 84 bytes | Pointer | 16-bit game mode pointers. Indexed by $7E:0100. |
| 013DB | $00:91DB | 1 byte | ASM | Change it to D0 to switch the "Mario/Luigi Start" |
| 013AC | $00:91AC | 1 byte | Misc. | Number of coins needed to get an 1up from the green star block. |
| 01339 | $00:9139 | 104 bytes | Sprite tilemap related | YXPPCCCT properties for 'MARIO START'.
Change $00913F (0x0133F) from 30 to 34 and $009170 (0x01370) from F0 to F4 to fix the S in "Mario/Luigi Start". |
| 012D1 | $00:90D1 | 104 bytes | Sprite tilemap related | Tile numbers for 'MARIO START'. |
| 01279 | $00:9079 | 88 bytes | Layer 3 | Subroutine that draws the power up item to the item box on the status bar during levels.
$0090AE (0x012AE) is the X position of the Item Box item.
$0090B3 (0x012B3) is the Y position of the Item Box item.
Note: Those two positions are only graphical. It won't change where the item drops from when select is pressed. |
| 01268 | $00:9068 | 3 bytes | Layer 3 | Change to EAEAEA to get rid of the small bonus stars. Use in conjunction with address x01253 |
| 01253 | $00:9053 | 3 bytes | Layer 3 | Change to EAEAEA to get rid of the small bonus stars. Use in conjunction with address x01268 |
| 01245 | $00:9045 | 12 bytes | Subroutine (JSx FIXME) | Hexadecimal to Decimal conversion subroutine.
"A" now has decimal 1s digit of original "A".
"X" now has decimal 10s and possibly 100s digit of original "A".
(Note: It ends with an RTS. You can JSL to $00974C if you want, though.) |
| 0101A | $00:8E1A | 480 bytes | Layer 3 | The routine that updates the values of all the addresses used for the status bar ($0EF9-$0F2F).
x1028 - Change this address to AD to disable the timer.
x102E - Timer speed (USE WITH F8B)
x105C - Time is Running Out SFX. Change from FF to 00 to stop the music from speeding up when time reaches 99.
x106B - [22 06 F6 00] Change to [EA EA EA EA] to not kill Mario when the timer reaches zero. The timer will count down normally and stop at zero, but Mario will not die
x10DB - Change this and/or 01109 from 20 12 90 to EA EA EA to disable writing the score to the status bar when playing as Mario and/or Luigi, respectively. Useful if you want to place another counter in place of the score using Smallhacker's Status Bar Editor.
x112C - How many coins you need to get an 1up (USE WITH 01137)
x112F - [EE E4 18] Change to [EA EA EA] to not gain a life after collecting enough for one.
x1137 - Number of coins to subtract from the counter when you gain enough for a 1up (Default: $64 (100). Change to [01] to create a coin wallet effect - use with x112F.
x1141 - (Use with x1145) Maximum life limit, minus one. Warning: Changing this to anything higher than 0x7E (127 lives) will remove the life limit entirely! Also, if you have more than 99 lives, the life counter will appear slightly glitched.
x1145 - (Use with x1141) Maximum life limit, minus one. Note that if you have more than 99 lives, the life counter will appear slightly glitched.
x1162 - Number of bonus stars required to enter bonus game
x1167 - [8D 25 14] Change to EA EA EA to disable entering bonus game when player has 100 bonus stars.
x116F - Amount of bonus stars that will be subtracted when 100 bonus stars are collected. Change to [01] to make 99 the maximum amount of bonus stars you can get - to create a bonus star wallet effect, use with x1167.
x117E - Writes coins to status bar. Changing to [EA EA EA EA EA EA] will disable the coins from being written to the status bar.
x1195 - [09] The X position of the small bonus star counter in the status bar.
x11C5 - [20 79 90] Change to EA EA EA to disable the item GFX in the status bar
x11CF - Length of "LUIGI" text (Status bar)
x11E7 - Tile used on the status bar when there's no Yoshi coin in that spot.
x11ED - Tile used on the status bar when there is a Yoshi coin in that spot. |
| 01006 | $00:8E06 | 20 bytes | Layer 3 | Bonus star counter tilemap - 2 bytes for each number. Every first byte is for the upper tile, every second byte for the bottom tile. |
| 01002 | $00:8E02 | 4 bytes | Sprite tilemap related | YXPPCCCT data for reserve item. First byte is mushroom, second is flower, third is bypassed ($008DFF), fourth is feather. |
| 00FFE | $00:8DFE | 4 bytes | Sprite tilemap related | YXPPCCCT of stars in the item box. It cycles between the four entries every second frame. |
| 00FFA | $00:8DFA | 4 bytes | Sprite tilemap related | Tilemap of reserve item. First byte is mushroom, second is flower, third is star, fourth is feather. |
| 00FF5 | $00:8DF5 | 5 bytes | Layer 3 | The tiles that make up Luigi's name in the status bar. |
| 00FAC | $00:8DAC | 59 bytes | Layer 3 | The routine that draws the status bar onto the screen. It uses DMA to write the Layer 3 tiles to VRAM. |
| 00F90 | $00:8D90 | 28 bytes | Misc. | These four tables indicate the DMA settings and the source address to use for the status bar tiles (the ones that are uploaded at the very beginning of the level). The tables get stored in the order of $43x0-$43x6. |
| 00F8B | $00:8D8B | 1 byte | Timer | Timer speed (USE WITH 102E) |
| 00EF7 | $00:8CF7 | 8 bytes | Layer 3 | Bottom line of the status bar (4 bottom tiles of the item box.) |
| 00EC1 | $00:8CC1 | 54 bytes | Layer 3 | Third line of status bar. |
| 00E89 | $00:8C89 | 56 bytes | Layer 3 | Second line of status bar. |
| 00E81 | $00:8C81 | 8 bytes | Layer 3 | Top line of status bar (4 top tiles of item box.) |
| 00E59 | $00:8C59 | 40 bytes | Layer 3 | Tile array for numbers in bonus star counter. |
| 00C79 | $00:8A79 | 59 bytes | ASM | The routine that sets up certain VRAM-related registers in normal levels.
- $008A80: Default value for $2107 [23].
- $008A85: Default value for $2108 [33].
- $008A8A: Default value for $2109 [53].
- $008A8F: Default value for $210B [00].
- $008A94: Default value for $210C [04].
- $008AAB: Default value for $2130 [02], although it's actually stored to the mirror here (i.e. $44).
$210A is never set, since it is only ever used in Mode 0. |
| 00C4E | $00:8A4E | 43 bytes | Subroutine (JSx FIXME) | Clear RAM subroutine. This is part of the reset routine, and it ends with an RTS. |
| 009AD | $00:87AD | 617 bytes | Subroutine (JSx FIXME) | This routine is the DMA routine in charge of updating layers one and two as needed. This is controlled by the addresses $1BE4 and $1CE6 when they are a non-zero value. |
| 008FA | $00:86FA | 36 bytes | Subroutine (JSx FIXME) | Pointer subroutine: Jump to a 3-byte pointer, the position of the pointer used is "Position after the JSL + 1 + (A*3)". The subroutine should always be accessed by a JSL. |
| 008DF | $00:86DF | 27 bytes | Subroutine (JSx FIXME) | Pointer subroutine: Jump to a 2-byte pointer, the position of the pointer used is "Position after the JSL + 1 + (A*2)". The subroutine should always be accessed by a JSL. |
| 00850 | $00:8650 | 119 bytes | Subroutine (JSx FIXME) | This is the routine that polls the controller and updates $15, $16, $17, $18.
$0086A0 (x8A0) - Change to [9C A0 0D AD A0 0D A2 00] to cause both player 1 & 2 to be controlled by controller 1. |
| 006D0 | $00:84D0 | 258 bytes | Stripe Image | Stripe image pointer table. Each 24-bit pointer here corresponds to a value of $12, but only multiples of 3 are used. (The first pointer is for value 00, the second is for value 03, the third for 06, etc.) |
| 00493 | $00:8293 | 1 byte | Misc. | How many scanlines the status bar uses during a regular level. |
| 00379 | $00:8179 | 44 bytes | ASM | Handles transfers to and from the SPC700 (I/O). Changing all values to [EA] (NOP) or jumping over the code effectively mutes all sound. |
| 00359 | $00:8159 | 17 bytes | Subroutine (JSx FIXME) | (JSR) Credit music uploader. |
| 00334 | $00:8134 | 37 bytes | Subroutine (JSx FIXME) | (JSR) Uploads level music bank. |
| 0030E | $00:810E | 15 bytes | Subroutine (JSx FIXME) | (JSR) OW Music uploader. |
| 0026B | $00:806B | 14 bytes | ASM | This is the main game loop of SMW. It is used to wait for V-blank to complete before executing the code of the next frame. One of the frame counters ($13) is also incremented here. |
| 00252 | $00:8052 | 25 bytes | ASM | This is the main part of the SMW initialization routine. SPC engine upload, sample upload, OAM setup, windowing setup, and RAM clearing all happens here. |
| 00227 | $00:8027 | 43 bytes | ASM | This is code is responsible for uploading the OAM clear routine to $7F8000. The uploaded routine is essentially an unrolled loop which stores #$F0 to all of the OAM mirror($0200) Y positions. |
| 00200 | $00:8000 | 39 bytes | ASM | This is the starting address of SMW. This takes care of basic initialization such as disabling IRQ, HDMA, DMA, clearing the SPC ports, enabling F-blank, disabling emulation mode, disabling decimal mode, initializing the direct page, and setting up the stack. |
| 00000 | N/A | 512 bytes | Misc. | ROM header. The last byte (1FF) gets changed to 01 when you lock your hack. |