Banner
Views: 722,447,213
Time:
21 users online: o 1UPdudes, arkenlol, Bille, chickaDEE Magazine, Cryses96, Darolac, Demonheim, Eminus, FailSandwich, Golden Yoshi, o Khastvrokg, Kr00mmi, Mirann, Mogu94, Nao, NextTactics, Taffy, o Tahixham, The Hacking Yoshi, Tobio, o underway - Guests: 77 - Bots: 146Users: 37,732 (1,790 active)
Latest: Demonheim
Tip: Try not to place secret exits at the very end of levels-- the player will basically have to go through the same level twice.Not logged in.
SMW Hijack Map
Displaying 587 addresses. (approximately 1.25% complete) Show waiting addresses (41) - Submit address
Address Length Type Description
$008023 4 bytes Jump (JML/JSL) Modified by ZSNES incompatibility notice. Jumps to the main code.
$00804D 1 byte Opcode Not modified, however is used by Lunar Magic as an RTL for calling routines that end in RTS in bank 0 with a JSL via stack magic. So don't modify it.
$008070 4 bytes Jump (JML/JSL) Modified by 16-bit frame counter. Jump to code that increases both $13 and 16-bit frame counters.
$0081E2 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0081EC 4 bytes Jump (JML/JSL) Hijacked by multiple patches.
Overworld Counters hijacks this to upload the various counters during NMI.
Overworld Border Plus hijacks this to upload the border tiles during NMI.
$008209 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

Part of Lunar Magic's VRAM modification patch.
$00823D 6 bytes Jump (JML/JSL) Dynamic Z Main Hijack 1.

Is used for the main features of Dynamic Z since V3.5 (dynamic sprites, graphics change and palette changes).

This hijack points to a call where is called the routine "LoadScrnImage" and happend after MarioGFXDMA Routine (the dma routine of mario, yoshi and podoboos).
$0082DA 5 bytes Jump (JML/JSL) Dynamic Z Main Hijack 2.

Is used for the main features of Dynamic Z since V3.5 (dynamic sprites, graphics change and palette changes).

This hijack points to a place is detected if the current escene is the bowser stage or reznor stage and happend after MarioGFXDMA Routine (the dma routine of mario, yoshi and podoboos).
$0083ED 2 bytes Code (BCC $04)
Modified by Minimalist Course Clear so it always branches, thus layers won't get disabled after you beat a boss.
$008751 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

Lunar Magic's stripe image upload routine. It only gets executed during gamemodes 05, 07, 13 and 14.
$008A4E 5 bytes Code Modified by Lunar Magic.
$008CCD 4 bytes Data Modified by Course Clear Coins, by MarioFanGamer.

Changes the bonus star "★x" tiles on the status bar into blank tiles. Conditionally enabled.
$008E21 4 bytes Jump (JML/JSL) Modified by Time Up Fix, by Alcaro.

JML, prevents the timer frame counter from ticking down if set to a special "death from time up" value.
$008E4F 2 bytes Code Modified by Time Up Fix, by Alcaro.

BNE $1E, skips past the "check if timer ran out" routine if the timer hundreds digit is nonzero.
$008E5B 5 bytes Jump (JML/JSL) Modified by Speed up Music Fix. Jumps to the main code.
$008E60 15 bytes Jump (JML/JSL) Modified by Time Up Fix, by Alcaro.

Sets the timer frame counter to a special "death from time up" value and calls the death routine if 1) the timer is now zero and 2) the timer was not zero initially. Note that this hijack uses a JSL to custom code that ends with a JML to the death routine; the corresponding RTL utilized is thus that of the death routine, at $00F628.
$008F2F 6 bytes Jump (JML/JSL) Modified by 100 Coin Prize, by wiiqwertyuiop.

JSL : BRA $06, bypasses the default life-gain at 100 coins to implement custom rewards.
$008F3B 4 bytes Jump (JML/JSL) Modified by 999 lives, handles the lives' code during the level (status bar included).
$008F49 6 bytes Jump (JML/JSL) Hijack for the left aligned life counter.
$008F73 6 bytes Jump (JML/JSL) Hijack for the left aligned coin counter.
$008F86 3 bytes Jump (JMP/JSR) Modified by Course Clear Coins, by MarioFanGamer.

JMP, bypasses the routine that draws the large bonus star numbers on the status bar. Conditionally enabled.
$00907A 1 byte Data Modified by $02xx OAM Remapper. This is the table with the OAM index for the item box's sprite.
$009095 4 bytes Jump (JML/JSL) Modified by Item Box GFX Fix, by Kenny3900.

JML, bypasses the default "draw item box GFX" routine to utilize expanded properties table.
$009322 4 bytes Jump (JML/JSL) UberASM tool and patch's Game Mode hijack.
$0093F7 5 bytes Code Modified by Lunar Magic.
$009471 5 bytes Code Modified by Lunar Magic.
$0095B6 3 bytes Code Modified by Lunar Magic.
$0095E9 13 bytes Code Modified by Lunar Magic.
$009708 4 bytes Jump (JML/JSL) Modified by Lunar Magic. Points to the Horizontal Scroll Fix patch.
$009712 4 bytes Jump (JML/JSL) Modified by Horizontal Scroll Fix v1.1. Jumps to the main code.
$009B1C 3 bytes Code Modified by Lunar Magic.
$009C6F 17 bytes Code Modified by Lunar Magic.

Handles the custom title screen movement.
$009CD3 3 bytes Code Modified by Lunar Magic.
$009F19 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00A01F 6 bytes Code Modified by Lunar Magic.

Jumps to a routine that handles Layer 3 movement.
$00A0A0 3 bytes Code Modified by Lunar Magic.
$00A140 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00A149 4 bytes Code Modified by Lunar Magic.
$00A153 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00A1DA 10 bytes Code Modified by Lunar Magic.
$00A21B 4 bytes Jump (JML/JSL) Modified by Running SFX patch. Jumps to the main code.
$00A267 1 byte Opcode Modified by Lunar Magic.
$00A284 4 bytes Jump (JML/JSL) Modified by Start+Select SFX, jumps to main code (plays SFX, changes game mode and returns).
$00A2A1 4 bytes Jump (JML/JSL) Modified by the Wall Kick patch, by MarioE.

JSL, jumps to the main patch code.
$00A2A6 3 bytes Code Modified by Lunar Magic.
$00A2AF 38 bytes Code Modified by Lunar Magic ($00A2AF-$00A2D4 modified, on version 3.00 when adjusting the level dimensions via “Change Properties in Header”).

This is originally the code that displaces layer 1 during a shaking effect when $1887 is a nonzero value. It is modified for how layer 1 tiles are loaded.

$00A300 2 bytes Code Dynamic Z hijack used for features related to Mario graphics change or palette change, Since V3.5.

On the original game is used for the dma routine for mario, yoshi and podoboos, but when you use Dynamic Z V3.5 or more with mario features activated, this is only a RTS (basically do nothing).
$00A300 4 bytes Jump (JML/JSL) Dynamic Z main hijack.

This is where all of the features which need to DMA to VRAM or need to write to a certain SNES register are. It handles Dynamic Sprites, Palette changer, ExGFX changer and part of Mario ExGFX.

Expects to return to a RTS at $00A304.
$00A300 4 bytes Jump (JML/JSL) Mario's 8x8 Tiles DMA-er hijack.

Uploads Mario's palette, Mario, Yoshi and Podoboo graphics. Basically a rewrite of the original $00A300 plus the upload of the 8x8 tiles to VRAM.
$00A300 4 bytes Jump (JML/JSL) 32x32 Character Tilemap Kit hijack.

Uploads Mario's palette, Mario, Yoshi and Podoboo graphics. Basically a rewrite of the original $00A300, except that this uploads a 32x32 Mario GFX instead of 16x32.
$00A31A 4 bytes Jump (JML/JSL) Modified by Custom Mario Palettes. Jumps to a routine that makes the bank used in a DMA transfer to depend on a FreeRAM.
$00A390 5 bytes Code Modified by Lunar Magic.
$00A418 4 bytes Jump (JML/JSL) Modified by Lunar Magic. Obsolete in LM 1.70+
$00A439 1 byte Opcode Modified by Lunar Magic.
$00A4D1 3 bytes Jump (JMP/JSR) Hijacked by the Fixed Color Data NMI Optimizer patch to change the destination of the routine to store the background color in $2132.
$00A4E3 5 bytes Code Modified by Lunar Magic.
$00A4EB 2 bytes Code Modified by Lunar Magic.
$00A5A2 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00A5BF 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

Loads the custom palette of a level depending on the value of $FE. That RAM address is immediately cleared after that, possibly to avoid a custom palette from being uploaded twice.
$00A5E1 6 bytes Code Modified by Lunar Magic.
$00A5FE 3 bytes Code Modified by Lunar Magic.
$00A6B8 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00A6CC 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00A873 4 bytes Code Modified by Lunar Magic.
$00AA06 2 bytes Code Modified by Lunar Magic.
$00AA47 2 bytes Code Modified by Lunar Magic.
$00AA50 5 bytes Code Modified by Lunar Magic.
$00AA6B 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00AA74 2 bytes Code Modified by Lunar Magic.
$00AA8D 1 byte Code Modified by Lunar Magic.
$00AA91 1 byte Code Modified by Lunar Magic.
$00AACD 21 bytes Code Modified by Lunar Magic.
$00AB02 64 bytes Code Modified by Lunar Magic.
$00AD2B 2 bytes Code Modified by Lunar Magic.
$00AD32 5 bytes Code Modified by Lunar Magic.
$00AE41 26 bytes Code The Fixed Color Data NMI Optimizer patch entirely rewrites this routine, which stores the background color to $2132.
$00AF2D 63 bytes Code Modified by Minimalist Course Clear.

From 00AF2D to 00AF34, if !enable_scorecard is clear, then it will skip SMW's card tilemap drawing code. Else SMW's code is written. The rest of code is SMW's code ending early so it gives freespace for fixing a bug related to Reznors and hijack the "after peace pose" routine.
$00AF4C 1 byte Code Modified by Lunar Magic.
$00AF4F 1 byte Code Modified by Lunar Magic.
$00AF6C 1 byte Code Modified by Lunar Magic.
$00AF71 6 bytes Code Modified by Lunar Magic.
$00B048 4 bytes Jump (JML/JSL) Modified by Custom Mario Palettes. Saves the Free RAM used into a scratch RAM.
$00B88B 2 bytes Code Modified by Lunar Magic.
$00B890 1 byte Code Modified by Lunar Magic.
$00B893 22 bytes Code Modified by Lunar Magic.
$00B8D8 2 bytes Code Modified by Lunar Magic.
$00B8DE 5 bytes Code Modified by Lunar Magic.
$00B8E3 5 bytes Code Modified by Lunar Magic.
$00BDA8 256 bytes Table Modified by Lunar Magic. Level mode indexing tables for Layer 1 low byte, Layer 2 low byte, Layer 1 high byte and Layer 2 high byte, each entry 2 bytes big, total 32 entries per item.

Not all of the table is modified, but all of the horizontal level ones are remapped to the RAM addresses, to make it possible to dynamically modify the table depending on the level height. See implementation for full details.
$00BEE8 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Adds a bypass for always checking Y against #$0200 instead of $13D7-8 for vertical levels.
$00BEEC 3 bytes Opcode Modified by Lunar Magic. Changes CPY #$0200 to CPY $13D7, where $13D7-8 is the current level height in pixels.
$00BF35 2 bytes Opcode Modified by Lunar Magic. Changes "BEQ CODE_00BF41" to "BEQ CODE_00BF3F"
$00BF3C 13 bytes Code Modified by Lunar Magic. Adjusts the VRAM offset calculation for working with dynamic levels as well.
$00BF81 26 bytes Code Modified by Lunar Magic. This section is rewritten so the stripe image uploader always checks both tilemap directions instead of only the x-axis for horizontal levels.
$00C058 5 bytes Code Modified by Lunar Magic.
$00C07B 3 bytes Opcode Modified by Lunar Magic. Changes "AND.W #$01F0" to "AND.W #$3FF0".
$00C097 1 byte Code Modified by Lunar Magic.
$00C0C8 3 bytes Opcode Modified by Lunar Magic. Changes "AND.W #$01F0" to "AND.W #$3FF0".
$00C0E7 1 byte Code Modified by Lunar Magic.
$00C116 2 bytes Opcode Modified by Lunar Magic. Changes "BEQ CODE_00C13E" to "BEQ CODE_00C127", for checking both tilemap directions instead of just horizontal when deciding or not to upload a tile to VRAM after changing a map16 tile on horizontal levels.
$00C122 2 bytes Opcode Modified by Lunar Magic. Changes "BCS CODE_00C13E" to "BCS CODE_00C127", for checking both tilemap directions instead of just horizontal when deciding or not to upload a tile to VRAM after changing a map16 tile on horizontal levels.
$00C17A 5 bytes Code Modified by Lunar Magic.
$00C1B3 3 bytes Opcode Modified by Lunar Magic. Changes "AND.W #$01F0" to "AND.W #$3FF0".
$00C25C 5 bytes Code Modified by Lunar Magic.
$00C3D5 3 bytes Opcode Modified by Lunar Magic. Changes "AND.W #$01F0" to "AND.W #$3FF0".
$00C4F8 5 bytes Jump (JML/JSL) Modified by $13FB Game Crash Fix. Jumps to the main code.
$00C944 6 bytes Code Modified by Minimalist Course Clear.

Handles showing (or not) the card tilemap drawing and freezing sprites, all after beating a boss.
$00C977 1 byte Opcode Modified by Lunar Magic.

Lunar Magic 2.53+ changes this to 0x38 in non-SA-1 ROMs to fix the timing on the victory animation during the goal walk so it matches up with the original goal music.
$00C9B7 5 bytes Jump (JMP/JSR) Modified by Minimalist Course Clear. This jump handles the circle effect after the peace sign pose.
$00C9C2 3 bytes Opcode Modified by Minimalist Course Clear.

If !enable_circle is set, it calls the "Level Ending Circle" routine. Else it just decrements the timer after going to the overworld.
$00C9D7 1 byte Opcode Modified by Lunar Magic.
$00C9DF 2 bytes Opcode Modified by Minimalist Course Clear to make the screen after beating a level fade out, THEN load overworld.
$00C9F8 6 bytes Code Modified by Minimalist Course Clear. Skips handling the mosaic/brightness settings when beating a level.
$00CA0C 1 byte Code Modified by Lunar Magic.
$00CA13 1 byte Code Modified by Lunar Magic.
$00CFCD 5 bytes Jump (JML/JSL) Modified by Disable Looking Up Via RAM Flag, by GreenHammerBro.

JSL : NOP, jumps to code to check a custom RAM flag to variably disable the player's ability to look up.
$00D062 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one disables shooting fireballs and spinning the cape when carrying a sprite.
$00D08C 4 bytes Jump (JML/JSL) Modified by Yoshi Fireball Ability Patch. It jumps to the main function of the patch.
$00D0E6 5 bytes Jump (JML/JSL) Modified by Time Up Fix, by Alcaro.

JSL : NOP, hijacks the end of the non-game-over death sequence to bypass the "TIME UP" message unless the timer frame counter is set to a special "death from time up" value.
$00D2B2 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00D663 5 bytes Jump (JML/JSL) Modified by Expensive Jump. Jumps to the main code.
$00D904 4 bytes Jump (JML/JSL) Modified by the Limited Yoshi Flying patch, by SkywinDragoon.

JML, hijacks a portion of the player gravity routine to disable Yoshi flight after a custom counter has reached a certain limit.
$00DAA9 5 bytes Jump (JML/JSL) Modified by Spike Swim Fix, by yoshifanatic. Jumps to the hurt-fix routine when big Mario swims down to a muncher/spike.
$00E31B 4 bytes Jump (JML/JSL) Modified by Custom Mario Palettes, handles the patch's main functions.
$00E3CD 5 bytes Jump (JML/JSL) Modified by Invincible Mario Palette Changer. Jumps to the main code.
$00F2DB 2 bytes Code Modified by Lunar Magic.
$00F332 53 bytes Code Modified by Yoshi Coin Fix, by imamelia.

Restructures the Yoshi coin collection routine. Ends with a JML to custom code.
$00F33F 7 bytes Jump (JML/JSL) Modified by Yoshi Coin Score Fix. Swaps JSL and INC's places and turns INC $1422 to LDA $1420, so it's used for check in JSL routine.
$00F377 15 bytes Code Modified by Yoshi Coin Score Fix. Replaces original Yoshi Coin's score giving routine, so it now checks number of yoshi coins being collected before increasing score value and necessary addresses.
$00F478 3 bytes Opcode Modified by Lunar Magic. Remaps CMP.W #$01B0 to CMP.W $13D7.
$00F492 4 bytes Opcode Modified by Lunar Magic. Remaps ADC.L $00BA60,X to ADC.L $000CB6,X.
$00F49A 4 bytes Opcode Modified by Lunar Magic. Remaps ADC.L $00BA9C,X to ADC.L $000CD6,X.
$00F4DE 3 bytes Code Modified by Lunar Magic.
$00F4DE 3 bytes Miscellaneous Modified by Lunar Magic.

A modification of a JSL's address to jump to $06f660 (was originally JSL $00F545) handle custom map 16 for Mario's interaction with the blocks.
$00F4F3 3 bytes Opcode Modified by Lunar Magic. Remaps CMP.W #$01B0 to CMP.W $13D7.
$00F50D 4 bytes Opcode Modified by Lunar Magic. Remaps ADC.L $00BA70,X to ADC.L $000CC6,X.
$00F515 4 bytes Opcode Modified by Lunar Magic. Remaps ADC.L $00BAAC,X to ADC.L $000CE6,X.
$00F5F3 5 bytes Jump (JML/JSL) Hijacked by Better Powerdown to change the powerdown animation.
(It also puts an RTL behind the JSL, therefore turning the rest of the hurt code obsolete.)
$00F60A 5 bytes Jump (JML/JSL) Modified by Alternate Death Music for Luigi patch. Jumps to the main code in order to decide which death music will be played, according to the active player.
$00F636 6 bytes Jump (JML/JSL) Dynamic Z hijack, used only if features related to mario gfx and palettes changes is activate.

On the original game this section of the code is used to know the current graphic of yoshi or podoboos (basically select graphic pointers), on dynamic z, its change some things of the code to use custom graphic pointers (basically change the Bank and the start source position of the pointers).
$00F6E4 4 bytes Jump (JML/JSL) Used by Lunar Magic. This is the VRAM optimization patch.
$00F70D 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic (JML). Adjusts the maximum vertical scroll for horizontal levels depending on the level height and the "allow viewing bottom tiles" setting.
$00F70D 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic (JML). Adjusts the maximum vertical scroll for horizontal levels depending on the level height and the “allow viewing bottom tiles” setting.
$00F77B 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00F79D 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00F7E8 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00F7FC 175 bytes Jump (JML/JSL) Modified by Vertical Scroll Reprogrammed. Jumps to main code, and the rest is filled with NOPs.
$00F871 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00FA29 4 bytes Jump (JML/JSL) Modified by Fireball Conveyor Fix, by Thomas. Jumps to a routine that fixes the Fireball teleport glitch when in contact with the castle moving stairs.
$00FEA8 4 bytes Jump (JML/JSL) Hijacked by the fireball ammo patch to add an ammo counter for fireballs.
$00FEA8 5 bytes Jump (JML/JSL) Modified by No Fireballs in Water patch. Jumps to the main code.
$00FEC4 5 bytes Jump (JML/JSL) Modified by Upwards arc fireball patch. Jumps to the main code.
$0180CA 1 byte Opcode Not modified, however is used by Lunar Magic as an RTL for calling routines that end in RTS in bank 1 with stack magic. So don't modify it.
$01817D 2 bytes 16-bit Pointer Modified by PIXI's poison mushroom patch.
Pointers to sprite init routines. Note that the actual hijack location depends on the sprite slot chosen*2. For example, if the sprite is inserted in slot $85, then the hijack location is ($01817D + ($85*2) = $018287). The poiner is relocated to the power-up routine.
$018221 2 bytes 16-bit Pointer Modified by Lunar Magic.

Lunar Magic 2.53+ changes sprite 52's (moving ledge hole) init pointer to $85B7 (part of the piranha plant's init routine) to fix an issue in the original SMW where this sprite would spawn in the wrong position if placed at the top of a subscreen.
$0182B3 4 bytes 16-bit Pointer Modified by Hammer Bro Fix patch.
This remaps both sprite 9B and 9C's init routine pointers to $01AD54.
$0183FF 4 bytes Jump (JML/JSL) Modified by Spike Top Ceiling Cling, by imamelia.

Hijacks the Spike Top init routine to alter its movement following a ceiling contact check.
$0185CC 2 bytes 16-bit Pointer Modified by PIXI's poison mushroom patch.
Pointers to sprite main routines. Note that the actual hijack location depends on the sprite slot chosen*2. For example, if the sprite is inserted in slot $85, then the hijack location is ($0185CC + ($85*2) = $0186D6). The poiner is relocated to the power-up routine.
$018648 2 bytes 16-bit Pointer Modified by Item Box Sprite Fix, by Davros/Romi.

Overwrites the pointer to the P-Switch Main routine to run custom blink-fall code.
$018672 2 bytes 16-bit Pointer Modified by Item Box Sprite Fix, by Davros/Romi.

Overwrites the pointer to the Throw Block sprite Main routine to run custom blink-fall code.
$0186CC 2 bytes 16-bit Pointer Modified by Item Box Sprite Fix, by Davros/Romi.

Overwrites the pointer to the Key sprite Main routine to run custom blink-fall code.
$0187A7 4 bytes Jump (JML/JSL) Hijacked by sprite tool. This then jumps to freespace to initalize custom sprite tables.
$018ED0 10 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces upsidedown/classic piranha plant's horizontal proximity check to 16-bit one for if it should come out of pipe.
$0194D6 3 bytes Opcode Modified by Lunar Magic. Remaps CMP.W #$01B0 to CMP.W $13D7.
$019500 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA60,X to LDA.L $000CB6,X.
$019509 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA70,X to LDA.L $000CC6,X.
$019512 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA9C,X to LDA.L $000CD6,X.
$01951B 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BAAC,X to LDA.L $000CE6,X.
$019534 3 bytes Code Modified by Lunar Magic.
$019534 3 bytes Miscellaneous Modified by Lunar Magic.

A modification of a JSL's address to jump to $06f700 (was originally JSL $00F545) handle custom map 16 for sprite's interaction with the blocks.
$019826 2 bytes Code Modified by Lunar Magic.
$019F77 2 bytes Opcode Hijacked by the SMB2 Holding patch: This one puts carried sprites always above Mario.
$01A00D 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one controls how sprites a released.
$01A0F6 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one controls the position of the carried sprite.
$01A22C 4 bytes Jump (JML/JSL) Modified by the Baby Yoshi & Yoshi Egg Fix patch, by Davros.

JML, modifies the main baby Yoshi sprite routine to execute several fixes.
$01A685 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one hijacks the interaction between two sprites. Any goomba and a sprite acting like one (e.g. the SMB2 sprites) behave like a thrown sprite in SMB2.
$01AA58 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one is for picking up a sprite.
$01AA5E 6 bytes Jump (JML/JSL) Modified by No Pressed P-Switch Carry patch. Extends checks for if p-switch can be carried to include check if it was pressed.
$01AB07 5 bytes Jump (JML/JSL) Modified by No P-Switch Music Reset. Jumps to the main code.
$01AC40 3 bytes Opcode Modified by Lunar Magic. Changes to "NOP : NOP : XBA" for holding the Y low byte.
$01AC46 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

A modification to “SubOffscreen_Bank01” routine that handles despawning sprites when they go offscreen. It is modified to despawn sprites in horizontal levels when going off screen vertically (in the original game, it only erases most sprites when going below the level far enough for most sprites besides Bullet Bills, Spike Tops, Magikoopa's magic, etc.)
$01AD54 4 bytes Code Modified by Hammer Bro Fix patch. It's the new Hammer Bro init routine.
$01AECB 5 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Changes Thwomp's first SubHorzPos to 16-bit one, when it should change expression.
$01AED7 7 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Thwomp's horizontal proximity check with 16-bit one if player's close enough to show glaring expression.
$01AEDE 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for Thwomp's expression changing.
$01AEE5 7 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Thwomp's horizontal proximity check with 16-bit one for if it should fall.
$01AEEC 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for Thwomp's falling.
$01AF38 4 bytes Jump (JML/JSL) Modified by Thwomp Ceiling Interaction patch. Adds ceiling interaction for thwomp.
$01AFE9 4 bytes Jump (JML/JSL) Modified by Thwimp + SFX Patch. Jump to code that handles sound effect when thwimp jumps (and Y-speed that is replaced with this hijack).
$01B9CD 2 bytes Code Modified by Lunar Magic.
$01C08C 8 bytes Code Modified by Lunar Magic. Entire region is filled with NOP.
This is made so the Y high byte of the Goal Tape ($14D4,x) is copied directly to $1534,x.

Most sprite tools hijack this for storing extra bits and is expected to not change anymore, otherwise goal tapes will not work correctly.
$01C0E1 2 bytes Opcode Modified by Lunar Magic. Changes "AND #$01" to "AND #$FF".
This fixes the Goal Tape Point interaction (because $1534 no longer holds extra bits but the complete Y high byte).
$01C125 3 bytes Opcode Modified by Goal Tape Gives Score patch. Disables coin if goal tape wasn't hit.
$01C175 3 bytes Code Modified by Goal Tape Gives Score patch. Disables bonus stars showing when goal tape is hit.
$01C22B 4 bytes Jump (JML/JSL) Modified by the Runaway Wing Patch. Handles the wings' movement if the coin/mushroom is collected.
$01C2AA 5 bytes Jump (JML/JSL) Modified by Flying Yellow 1-up Value Change, by Zeldara109

JML : NOP, overwrites JSR to 1-up routine to set up custom reward.
$01C30F 4 bytes Jump (JML/JSL) Modified by the Runaway Wing Patch. Hijacks' the "golden 1-up mushroom collected" routine.
$01C358 8 bytes Jump (JML/JSL) Modified by the Edible Blocks patch, by Thomas.

JSR GetDrawInfo : JSL : RTS, hijacks the routine that draws an eaten berry-sprite to allow variable customized sprite tiles and properties.
$01C39C 4 bytes Jump (JML/JSL) Modified by Item Block Priority Mask. Jumps to the main code.
$01C545 5 bytes Jump (JML/JSL) Modified by Item Box Mushroom Priority Fix. Jumps to the main code.
$01C5EC 4 bytes Jump (JML/JSL) Modified by Yoshi Fireball Ability Patch. This jumps to a piece of code that resets the cooldown timer for Yoshi Fireball shooting when the player gets a Fire Flower.
$01C636 4 bytes Jump (JML/JSL) Modified by the Runaway Wing Patch. Hijacks the "powerup graphics" routine.
$01D6C4 7 bytes Code Modified by Line-Guided Rope Length Fix, by imamelia.

Modifies the line-guided rope sprite init routine to set a custom table with even/odd X position data.
$01D97B 4 bytes Opcode Modified by Lunar Magic. Remaps ADC.L $00BA60,X to ADC.L $000CB6,X.
$01D981 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA9C,X to LDA.L $000CD6,X.
$01D9E1 4 bytes Jump (JML/JSL) Modified by Rope Fix. Jumps to the code that applies the line-guide fix.
$01DA17 5 bytes Jump (JML/JSL) Modified by Rope Fix. Jumps to the code that applies the ground fix.
$01DC73 7 bytes Code Modified by Line-Guided Rope Length Fix, by imamelia.

Modifies the line-guided rope graphics routine to draw the long or short rope based on a custom table rather than slot/sprite memory settings.
$01DCC3 7 bytes Code Modified by Line-Guided Rope Length Fix, by imamelia.

Modifies the line-guided rope graphics routine to draw the long or short rope based on a custom table rather than slot/sprite memory settings.
$01E6B5 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one enables the function of $154C,x to the spring board so that it gets intangible after dropping or throwing it.
$01E6CE 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one is for picking up a springboard.
$01E75B 5 bytes Jump (JMP/JSR) Modified by Item Box Sprite Fix, by Davros/Romi.

JML : NOP, hijacks shared P-Switch/Display Text sprite main routine to execute custom blink-fall code for various sprites.
$01E762 6 bytes Code Modified by Lunar Magic.
Part of the Sprite 19 fix. If that isn't installed, this is instead replaced with a JSL to $03BCA0, where the correct starting submap is set.
$01EE8D 5 bytes Jump (JML/JSL) Modified by Yoshi Sparkles patch, by leod.

JSL : NOP, hijacks a portion of Yoshi's run-every-frame code to generate cosmetic sparkles.
$01F0D3 42 bytes Code Modified by the Edible Blocks patch, by Thomas.

Overwrites the default "eaten berry" routines with custom code. Contains a JSL to code that runs one of up to 255 custom eaten block routines. Overwrites and recreates the routine that awards a coin for eating a normal non-berry sprite.
$01F3D6 1 byte Opcode Modified by the Edible Blocks patch, by Thomas.

RTS, bypass running the Yoshi tongue drawing and processing routines in situations in which neither should exert any effect. Optionally enabled.
$01F3F4 1 byte Opcode Modified by the Edible Blocks patch, by Thomas.

RTS, bypass running the Yoshi tongue drawing and processing routines in situations in which neither should exert any effect. Optionally enabled.
$01F3FA 1 byte Opcode Modified by the Edible Blocks patch, by Thomas.

RTS, bypass running the Yoshi tongue drawing and processing routines in situations in which neither should exert any effect. Optionally enabled.
$01F469 1 byte Data Modified by $02xx OAM Remapper. Remaps Yoshi tongue's OAM slots: it uses 5 slots in a row, starting from the one defined in the patch.
$01F764 5 bytes Jump (JML/JSL) Modified by the Baby Yoshi & Yoshi Egg Fix patch, by Davros.

JML : NOP, modifies the main Yoshi egg sprite routine to execute several fixes.
$01F76E 10 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Yoshi Egg's horizontal proximity check with 16-bit one.
$01F778 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for Yoshi Egg's hatching.
$01FB28 2 bytes Opcode Modified by Minimalist Course Clear so it loads a custom waiting value that determines when to fade back to the overworld after beating a boss.
$02808D 4 bytes Jump (JML/JSL) Modified by Bob-omb Cape Fix. Jumps to the main code.
$028A18 4 bytes Jump (JML/JSL) Modified by SMB3 Power-up Facing patch. Makes power-ups face away from player when spawned from block.
$028B78 12 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the minor extended sprites.
$0291ED 4 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the block bounce sprites.
$0292F9 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA60,X to LDA.L $000CB6,X.
$029301 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA70,X to LDA.L $000CC6,X.
$02930A 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA9C,X to LDA.L $000CD6,X.
$029312 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BAAC,X to LDA.L $000CE6,X.
$0294C6 3 bytes Opcode Modified by Yoshi Fireball Ability Patch [BRA $01 : NOP]. This piece of code frees $14A9 so it can be used as a cooldown timer.
$02950B 5 bytes Jump (JML/JSL) Hijacked by Lunar Magic (JML : NOP). Fixes cape interaction on Iggy/Larry battle.
$0295BE 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Corrects cape interaction to work with dynamic levels.
$0295EC 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA60,X to LDA.L $000CB6,X.
$0295F4 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA70,X to LDA.L $000CC6,X.
$0295FD 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA9C,X to LDA.L $000CD6,X.
$029605 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BAAC,X to LDA.L $000CE6,X.
$02961B 3 bytes Code Modified by Lunar Magic.
$02961B 3 bytes Miscellaneous Modified by Lunar Magic.

A modification of a JSL's address to jump to $06f760 (was originally JSL $00F545) handle custom map 16 for cape's interaction with the blocks.
$0296B8 4 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the smoke sprite 01 (puff of smoke).
$0297B3 1 byte Data Modified by $02xx OAM Remapper. Determines the starting slot (it uses 4 in a row) for the contact sprite (smoke sprite 2) during non-mode 7 boss levels.
$029839 1 byte Data Modified by $02xx OAM Remapper. Determines the starting slot (it uses 4 in a row) for the contact sprite (smoke sprite 2) during mode 7 boss levels.
$0299E9 4 bytes Table Modified by $02xx OAM Remapper. Remaps coin sprites from blocks' OAM slots.
$029B16 4 bytes Jump (JML/JSL) Used by the Reznor Fireball Fix patch to force non-existing Extended Sprites to clear the flag used by the fireballs, to maximize compatibility with existing sprites.
$029FAB 2 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the player's fireballs.
$02A0EE 5 bytes Jump (JML/JSL) Modified by Bob-omb explodes on fireball patch. Changes fireball contact checks, so it checks for (para-)bomb before anything else.
$02A0FC 8 bytes Jump (JML/JSL) Modified by the "Takes 5 fireballs to kill" Work-around Patch.

This hijacks the "fireball hit counter" code that checks if a sprite with the tweak bit "takes 5 fireballs to kill" should be killed; instead of $1528,x, this hijack moves the sprite table containing the "fireball hit counter" to a freeRAM, 12 (or 22 if a SA-1 ROM) bytes of length (by default, $7F8900).
$02A129 13 bytes Code Modified by Classic Fireball patch. Sets the sprite hit by a fireball to die by star, then jumps to the main code and sets the score.
$02A153 8 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for extended sprites.
$02A31D 4 bytes Jump (JML/JSL) Used by the Reznor Fireball Fix patch to move the increment of $1765,x to the Hammer's animation routine.
$02A519 4 bytes Jump (JML/JSL) Used by the Reznor Fireball Fix patch to update the clipping for the Reznor and Piranha fireball extended sprites when they are marked as 16x16.
$02A6BA 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA60,X to LDA.L $000CB6,X.
$02A6C2 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA70,X to LDA.L $000CC6,X.
$02A6CB 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA9C,X to LDA.L $000CD6,X.
$02A6D3 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BAAC,X to LDA.L $000CE6,X.
$02A6EC 3 bytes Code Modified by Lunar Magic.
$02A6EC Unknown Miscellaneous Modified by Lunar Magic.

A modification of a JSL's address to jump to $06f7a0 (was originally JSL $00F545) handle custom map 16 for the player fireball's interaction with the blocks.
$02A826 6 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Main hijack of the Enhanced Sprite Loader. Changes to "JML start_load : NOP #2".
$02A830 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Used by Enhanced Sprite Loader to check for additional options when the loaded byte is #$FF.
$02A834 4 bytes Jump (JML/JSL) Modified by Lunar Magic. Jumps to the sprite loader ending.

Not a actual hijack because this section of code in particular is now unused by the $02A830 hijack.
$02A838 4 bytes Jump (JML/JSL) Modified by Lunar Magic. Jumps to the goal tape point extra bit hack (jumps from $02A9D7).

Not a actual hijack because this section of code in particular is now unused by the $02A830 hijack.
$02A846 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Used by Enhanced Sprite Loader to check if Sprite Table needs to be adjusted, for allowing more than 84 sprites per level.

If a Sprite Tool hijacks this address, the job for checking for a "page cross" is up to them, for allowing more than 84 sprites.
$02A84C 2 bytes Code Modified by Lunar Magic. Changes branch from "BNE Return02A84B" to "BNE CODE_02A834", which points to JML.
$02A95B 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Sets upper bits of Y position for normal sprites.
$02A968 1 byte Opcode Modified by Lunar Magic. A 'RTL' is placed there. The hijack at $02A95B calls $02A960, which then runs though whatever hijack a sprite tool does (or the original game itself) and then it stops here to capture the loaded Y high byte value and corrects out the high bits by the current vertical jump value.
$02A986 2 bytes Code Modified by Lunar Magic (currently has special logic to detect and handle change by Vitor's SA-1 patch).
$02A9D7 3 bytes Jump (JMP/JSR) Hijacked by Lunar Magic. Inserts a special check for copying the extra bits to the goal point, since the Y position bits can't be used anymore as temporary storage.

Note that there was not enough space for putting a long jump, so this will jump to $02A838, which then contains the proper JML to verify to the goal tape point.
$02AA61 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Sets upper bits of Y position for cluster sprites.
$02AB54 5 bytes Jump (JML/JSL) Hijacked by Lunar Magic (JML : NOP). Sets upper bits of Y position for boo ring.
$02ABD0 5 bytes Jump (JML/JSL) Hijacked by Lunar Magic (JML : NOP). Sets upper bits of Y position for shooters.
$02ABF3 1 byte Code Modified by Lunar Magic.

Changed from 3F to 7F to fix a bug where the sprite load (or permanently killed) status for sprite indexes 64 to 127 gets carried over to the next level.
$02AC64 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Calls the Sprite Cacher/Accelerator while loading a vertical level.
$02ACA4 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Calls the Sprite Cacher/Accelerator while loading a horizontal level.
$02AD9E 6 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for score sprites.
$02AF3D 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Sets upper bits of Y position for run-once sprites.
$02AFA7 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Sets upper bits of Y position for run-once sprites.
$02B889 1 byte Opcode Not modified, however is used by Lunar Magic as an RTL for calling routines that end in RTS in bank 2 with stack magic. So don't modify it.
$02BA4E 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Used for adding berry compatibility with dynamic levels, when eaten by Yoshi's tongue.
$02BA71 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA60,X to LDA.L $000CB6,X.
$02BA79 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA70,X to LDA.L $000CC6,X.
$02BA82 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA9C,X to LDA.L $000CD6,X.
$02BA8A 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BAAC,X to LDA.L $000CE6,X.
$02BA9E 4 bytes Jump (JML/JSL) Modified by the Edible Blocks patch, by Thomas.

JML, hijacks baby Yoshi/Yoshi tongue block detection routine to check for custom tiles.
$02BB01 5 bytes Jump (JML/JSL) Modified by the Edible Blocks patch, by Thomas.

JSL : PLX, hijacks the routine that replaces an eaten berry tile with a bush tile to allow replacement with empty tiles.
$02C05C 9 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Rip van fish's horizontal proximity check with 16-bit one for when it should wake up and chase player.
$02C065 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for Rip van fish's awakening (horizontal).
$02C067 9 bytes Jump (JML/JSL) Replaces Rip van fish's vertical proximity check with 16-bit one for when it should wake up and chase player.
$02C070 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for Rip van fish's awakening (vertical).
$02C360 10 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Changes Whistling Chuck's horizontal proximity check to 16-bit one.
$02C36A 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for Whistling Chuck's whistle.
$02C602 14 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Changes Splitting and bouncing chucks' horizontal proximity check to 16-bit one.
$02C610 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for splitting chuck's split/bouncing chuck's bounce.
$02C64A 10 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Changing Chuck's vertical proximity check to 16-bit one for when it's searching for player.
$02C654 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for Charging chuck's preparation for charge.
$02C6BA 10 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Charging chuck's vertical proximity check for when it's charging.
$02C6C4 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for charging chuck's charge.
$02D03A 3 bytes Opcode Modified by Lunar Magic. Changes to "NOP : NOP : XBA" for holding the Y low byte.
$02D040 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Used to verify the Y range on the offscreen subroutine.
$02D158 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Used for adding berry compatibility with dynamic levels, when eaten by Yoshi's mouth.
$02D18C 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA60,X to LDA.L $000CB6,X.
$02D194 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA70,X to LDA.L $000CC6,X.
$02D19D 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BA9C,X to LDA.L $000CD6,X.
$02D1A5 4 bytes Opcode Modified by Lunar Magic. Remaps LDA.L $00BAAC,X to LDA.L $000CE6,X.
$02D1B9 4 bytes Jump (JML/JSL) Modified by the Edible Blocks patch, by Thomas.

JML, hijacks Yoshi head berry detection routine (eat berry by touching, as opposed to using the tongue) to check for custom tiles.
$02D207 4 bytes Jump (JML/JSL) Modified by the Edible Blocks patch, by Thomas.

JSL, hijacks the routine that replaces an eaten berry tile with a bush tile to allow replacement with empty tiles.
$02D214 4 bytes Jump (JML/JSL) Modified by Balloon Direction Fix. Jumps to the main code.
$02DB5F 4 bytes Jump (JML/JSL) Modified by Hammer Bro Fix. Used to attach hammer bros to platforms correctly.
$02E143 12 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Changes jumping piranha plant's horizontal proximity check to 16-bit one for if it should jump out of pipe.
$02E14D 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for jumping piranha plant's jump.
$02E1CD 5 bytes Jump (JML/JSL) Modified by Fire-Spitting Jumping Piranha Plant SFX, by Ersanio. Plays a sound when the Fire-Spitting Piranha Plant spits fire.
$02E44D 10 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Exploding Block's horizontal proximity check to 16-bit for if it should explode.
$02E50A 4 bytes Jump (JML/JSL) Modified by Mushroom Scale Fix. Jumps to the main code.
$02E6D3 4 bytes Jump (JML/JSL) Modified by Fishin' Lakitu bug fix. Jumps to the main code.
$02EA9B 5 bytes Jump (JML/JSL) Modified by the Edible Blocks patch, by Thomas.

JML : NOP, hijacks the multi-sprite processing portion of the baby Yoshi sprite eating routine to check for and prevent the double-eat glitch. Optionally enabled.
$02F280 6 bytes Jump (JML/JSL) Wiggler Score Glitch Fix hijack
$02FA0A 4 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the background candle flames. These are indexes into $0300, not $0200.
$02FED6 3 bytes Opcode Modified by Lunar Magic. Changes to "NOP : NOP : XBA" for holding the Y low byte.
$02FEDC 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Used to verify the Y range on the offscreen subroutine.
$02FF50 20 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for cluster sprite Boos, Sumo Brothers' flame, and the unused Swoopers (Death Bat Ceiling).
$02FF64 8 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the 1-up from bonus game.
$02FFE2 30 bytes Data PIXI Header containing header string, version and pointer tables for sprite data.
$03800E 4 bytes Data Modified by Goodbye Football RNG, by Mandew.

Restructures the football sprite bounce speed table to be read as "low value/mid value/high value" in sequence.
$03805C 4 bytes Jump (JML/JSL) Modified by Goodbye Football RNG, by Mandew.

JSL, modifies the index to the football sprite bounce speed table to cycle across three values in sequence. Overwrites the retrieval of a random number.
$038097 2 bytes Opcode Modified by Minimalist Course Clear so it loads a custom waiting value that determines when to fade back to the overworld after beating a boss.
$0388E9 10 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Changes Swooper Bat's horizontal proximity check to 16-bit one for if it should swoop at player.
$038AAE 4 bytes Jump (JML/JSL) Modified by Bowser Statue Jumping SFX, by Yan.

JML, modifies the routine that sets the golden Bowser statue's jumping speed to include a sound effect.
$038D6F 4 bytes Jump (JML/JSL) Modified by Item Box Sprite Fix, by Davros/Romi.

JML, hijacks Info Box sprite Main routine to execute custom blink-fall + positioning code. Optionally disabled.
$038E9A 9 bytes Code Modified by Moving Castle Block Offscreen Handling Fix. Calls SubOffScreen and then jumps to the main code.
$03924E 10 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Falling Spike's horizontal proximity check with 16-bit one.
$039258 2 bytes Opcode Modified by Proximity Wraparound fix. Changes branch for Falling Spike's falling.
$0398DE 13 bytes Code Modified by Minimalist Course Clear.

When modified, this part of the "Reznor defeated" code handles freezing sprites if set in the patch's config, playing the SFX and fixing a bug if sprites aren't set to freeze (jumps to freespace made by hijack $00AF2D).
$039B03 4 bytes Jump (JML/JSL) Used by the Reznor Fireball Fix patch to make the fireballs fired by Reznor use the new flag.
$03B86C 3 bytes Opcode Modified by Lunar Magic. Changes to "NOP : NOP : XBA" for holding the Y low byte.
$03B872 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Used to verify the Y range on the offscreen subroutine.
$03B90C 2 bytes Data Modified by Magikoopa Palette Correction Patch, corrects Magikoopa's fading in/out palette.
$03B91C 2 bytes Data Modified by Magikoopa Palette Correction Patch, corrects Magikoopa's fading in/out palette.
$03B92C 2 bytes Data Modified by Magikoopa Palette Correction Patch, corrects Magikoopa's fading in/out palette.
$03B93C 2 bytes Data Modified by Magikoopa Palette Correction Patch, corrects Magikoopa's fading in/out palette.
$03B94C 2 bytes Data Modified by Magikoopa Palette Correction Patch, corrects Magikoopa's fading in/out palette.
$03B95C 2 bytes Data Modified by Magikoopa Palette Correction Patch, corrects Magikoopa's fading in/out palette.
$03B96C 2 bytes Data Modified by Magikoopa Palette Correction Patch, corrects Magikoopa's fading in/out palette.
$03B97C 2 bytes Data Modified by Magikoopa Palette Correction Patch, corrects Magikoopa's fading in/out palette.
$03BB20 52 bytes Code Modified by Lunar Magic.
Writes the level name data into the stripe table ($7F837D) to be uploaded during NMI. The table that contains this data can be found using read3($03BB57). Each level there receives 19 bytes for the level name.
$03BC7F 16 bytes Table Used by Lunar Magic as a table of stripe headers (at least, the first two bytes of them) for each line of the message box.
$03BE80 384 bytes Table Used by Lunar Magic for its level names system. Specifically, this table contains 16-bit indices to the message data table at read3($03BC0B) for each message. This table is indexed as ((translevel number * 2) + message number) * 2.

If the overworld expansion hijack from LM v2.53 is applied, this table is moved to read3($03BBD9) and modified to contain direct 24-bit pointers for every message, while the index table at read3($03BC0B) is scrapped.
In its place, the first 256 bytes are used as the initial level flags (moved from $05DDA0), with the remaining bytes left unused.
$03C1F9 4 bytes Jump (JML/JSL) Modified by Item Box Sprite Fix, by Davros/Romi.

JML, hijacks Light Switch Box sprite Main routine to execute custom blink-fall + positioning code. Optionally disabled.
$03C34C 4 bytes Jump (JML/JSL) Modified by Ninji Ceiling Fix. Jumps to the main code.
$03C7A1 2 bytes Code Modified by Minimalist Course Clear so it loads a custom waiting value that determines when to fade back to the overworld after beating a boss.
$03CE94 2 bytes Opcode Modified by Minimalist Course Clear so it loads a custom waiting value that determines when to fade back to the overworld after beating a boss.
$03D793 3 bytes Opcode Modified by Lunar Magic. Remaps ADC.W #$01B0 to ADC.W $13D7.
$03E05C 300 bytes 24-bit Pointer PIXI pointers to shared routines. Tool caps it at 100 routines but it really only takes up routines*3 bytes, so anything in this range is use at own risk.
$03FE00 512 bytes Table Lunar Magic uses this as a table of the level animation settings for each level. Format: PTLG----
P = disable original game's palette animations
T = disable original game's tile animations
L = disable LM's level animations
G = disable LM's global animations
---- = unused
$048086 5 bytes Code Modified by Lunar Magic.
$0480BD 1 byte Code Modified by Lunar Magic.
$0480D0 1 byte Opcode Modified by Lunar Magic.
$0480E0 5 bytes Code Modified by Lunar Magic.
$048102 1 byte Code Modified by Lunar Magic.
$04810D 1 byte Code Modified by Lunar Magic.
$04813B 1 byte Code Modified by Lunar Magic.
$04828D 1 byte Opcode Modified by Lunar Magic.
$04836E 1 byte Opcode Modified by Lunar Magic.
$048380 1 byte Opcode Modified by Lunar Magic.
$048414 1 byte Opcode Not modified, however is used by Lunar Magic as an RTL for calling routines that end in RTS in bank 4 with stack magic. So don't modify it.
$048509 5 bytes Code Modified by Lunar Magic.
$048566 4 bytes Jump (JML/JSL) Modified by Lunar Magic. This handles star roads and pipes.
$048E81 10 bytes Code Modified by Lunar Magic. Jumps to a routine that handles level names, located at $03BB20.
$048F8A 5 bytes Code Modified by Lunar Magic.
$049002 1 byte Code Modified by Lunar Magic.
$04914E 2 bytes Code Modified by Lunar Magic.
$049170 5 bytes Code Modified by Enter Level/Pipe/Star Road Sounds. Modifies the sound when entering a star tile on OW.
$049195 4 bytes Jump (JML/JSL) Modified by Enter Level/Pipe/Star Road Sounds. Modifies the sound when entering a pipe tile on OW.
$049199 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0491E5 4 bytes Jump (JML/JSL) Modified by Enter Level/Pipe/Star Road Sounds. Modifies the sound when entering a level tile on OW.
$049549 10 bytes Code Modified by Lunar Magic.
$049A35 5 bytes Code Modified by Lunar Magic. This handles the red exit tiles.
$049DFE 3 bytes Code Modified by Lunar Magic.
$04D7F9 64 bytes Code Modified by Lunar Magic.
$04D859 1 byte Code Modified by Lunar Magic.
$04DA74 3 bytes Code Modified by Lunar Magic.
$04DA98 1 byte Opcode Modified by Lunar Magic.
$04DBB9 6 bytes Code Modified by Lunar Magic.
$04DC3B 2 bytes Code Modified by Lunar Magic.
$04DC72 2 bytes Code Modified by Lunar Magic.
$04DC79 1 byte Code Modified by Lunar Magic.
$04DC8D 2 bytes Code Modified by Lunar Magic.
$04DCA5 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$04DCAA 1 byte Code Modified by Lunar Magic.
$04DCBC 2 bytes Code Modified by Lunar Magic.
$04DCC1 1 byte Code Modified by Lunar Magic.
$04DCFA 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$04DD45 2 bytes Code Modified by Lunar Magic.
$04DD4A 1 byte Code Modified by Lunar Magic.
$04E471 3 bytes Code Modified by Lunar Magic.
$04E49F 3 bytes Code Modified by Lunar Magic.
$04E4A4 3 bytes Code Modified by Lunar Magic.
$04E4B0 1 byte Code Modified by Lunar Magic.
$04E4BB 2 bytes Code Modified by Lunar Magic.
$04E4C0 2 bytes Code Modified by Lunar Magic.
$04E5F1 7 bytes Jump (JML/JSL) Modified by Lunar Magic.
$04E622 1 byte Opcode Modified by Lunar Magic.
$04E660 1 byte Code Modified by Lunar Magic.
$04E67C 3 bytes Code Modified by Lunar Magic.
$04E69C 3 bytes Code Modified by Lunar Magic.
$04E6DE 3 bytes Code Modified by Lunar Magic.
$04E6FA 2 bytes Code Modified by Lunar Magic.
$04E709 3 bytes Code Modified by Lunar Magic.
$04E710 3 bytes Code Modified by Lunar Magic.
$04E73E 1 byte Code Modified by Lunar Magic.
$04E745 2 bytes Code Modified by Lunar Magic.
$04E75E 3 bytes Code Modified by Lunar Magic.
$04E9F2 1 byte Code Modified by Lunar Magic.
$04E9F4 3 bytes Code Modified by Lunar Magic.
$04E9F7 5 bytes Code Modified by Lunar Magic.
$04EA27 3 bytes Code Modified by Lunar Magic.
$04EA32 3 bytes Code Modified by Lunar Magic.
$04EA38 3 bytes Code Modified by Lunar Magic.
$04EAAE 2 bytes Code Modified by Lunar Magic.
$04EACC 10 bytes Code Modified by Lunar Magic.
$04EAD8 2 bytes Code Modified by Lunar Magic.
$04EAF5 3 bytes Code Modified by Lunar Magic.
$04EC8C 3 bytes Code Modified by Lunar Magic.
$04ECBA 3 bytes Code Modified by Lunar Magic.
$04ECC5 3 bytes Code Modified by Lunar Magic.
$04ED97 3 bytes Code Modified by Lunar Magic.
$04EDB8 3 bytes Code Modified by Lunar Magic.
$04EDBE 3 bytes Code Modified by Lunar Magic.
$04EE3F 3 bytes Code Modified by Lunar Magic.
$04EE5A 3 bytes Code Modified by Lunar Magic.
$04EE5E 2 bytes Code Modified by Lunar Magic.
$04EEC9 3 bytes Code Modified by Lunar Magic.
$04F2B7 3 bytes Code Modified by Lunar Magic.
$04F2BE 3 bytes Code Modified by Lunar Magic.
$04F2C5 3 bytes Code Modified by Lunar Magic.
$04F2CC 3 bytes Code Modified by Lunar Magic.
$04F2D2 3 bytes Code Modified by Lunar Magic.
$04F2D6 3 bytes Code Modified by Lunar Magic.
$04F2DF 3 bytes Code Modified by Lunar Magic.
$04F2E6 3 bytes Code Modified by Lunar Magic.
$04F2EC 3 bytes Code Modified by Lunar Magic.
$04F32C 3 bytes Code Modified by Lunar Magic.
$04F33B 3 bytes Code Modified by Lunar Magic.
$04F33F 3 bytes Code Modified by Lunar Magic.
$04F344 3 bytes Code Modified by Lunar Magic.
$04F39E 3 bytes Code Modified by Lunar Magic.
$04F3A7 3 bytes Code Modified by Lunar Magic.
$04F3AB 3 bytes Code Modified by Lunar Magic.
$04F3AF 3 bytes Code Modified by Lunar Magic.
$04F3C0 3 bytes Code Modified by Lunar Magic.
$04F3C4 3 bytes Code Modified by Lunar Magic.
$04F3CA 3 bytes Code Modified by Lunar Magic.
$04F3CE 3 bytes Code Modified by Lunar Magic.
$04F4B2 85 bytes Data Modified by 999 lives, it's the stripe data for the edited "Lives Exchange" image.
$04F594 2 bytes Opcode [to LDY #$54] Modified by 999 lives. It's the length-1 of the "Exchange Lives" stripe image. The original one was 81 bytes long.
$04F5B7 8 bytes Code Modified by 999 lives to draw Mario's halo during the "Lives Exchange" system without glitching up.
$04F5C7 8 bytes Code Modified by 999 lives to draw Luigi's halo during the "Lives Exhange" system without glitching up.
$04F5E2 3 bytes Opcode Modified by 999 lives. Loads the relocated stripe image data for the arrow that shows up during the "Exchange Lives" system.
$04F5E5 4 bytes Opcode Modified by 999 lives, fixes where the direction during the "Exchange Lives" system gets stored.
$04F5EC 4 bytes Opcode Modified by 999 lives, fixes where the direction during the "Exchange Lives" system gets stored.
$04F5F3 4 bytes Opcode Modified by 999 lives, fixes where the direction during the "Exchange Lives" system gets stored.
$04F5FA 4 bytes Code Modified by 999 lives, fixes where the direction during the "Exchange Lives" system gets stored.
$04F600 4 bytes Jump (JML/JSL) Modified by 999 lives. This jump draws the extended lives numbers in the "Exchange Lives" system.
$04F604 1 byte Opcode Modified by 999 lives. It writes a RTS here to return to the bank.
$04F605 4 bytes Jump (JMP/JSR) Modified by 999 lives, it's the new table for the arrow that appears during the "Lives Exchange" system.
$04F709 1 byte Code Modified by Lunar Magic; it changes which submaps have the thunder effect enabled, see the ROM Map for more info.
$04F767 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$04FBA2 1 byte Code Modified by Lunar Magic.
$04FD86 2 bytes Code Modified by Lunar Magic.
$04FD89 1 byte Code Modified by Lunar Magic.
$04FD8A 1 byte Opcode Modified by Lunar Magic.
$05803B 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0580A9 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0580BF 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0580C3 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0580C7 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0580D3 3 bytes Jump (JMP/JSR) Modified by Lunar Magic.
$0583AD 5 bytes Code Modified by Lunar Magic.
$0583B8 5 bytes Jump (JML/JSL) Modified by Lunar Magic, for a jump to the ExGFX processing routine at $0FF7F0.
$058605 5 bytes Code Modified by Lunar Magic.
$0586A1 17 bytes Code Modified by Lunar Magic.
$0586F7 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05879D 5 bytes Code Modified by Lunar Magic.
$058A18 3 bytes Opcode Modified by Lunar Magic. Changes "AND.W #$01F0" to "AND.W #$3FF0".
$058A65 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$058AF4 3 bytes Opcode Modified by Lunar Magic. Changes "AND.W #$01F0" to "AND.W #$3FF0".
$058B22 1 byte Code Modified by Lunar Magic.
$058B45 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$058BE6 3 bytes Opcode Modified by Lunar Magic. Changes "AND.W #$01F0" to "AND.W #$3FF0".
$058C33 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$058CD9 3 bytes Opcode Modified by Lunar Magic. Changes "AND.W #$01F0" to "AND.W #$3FF0".
$058D2A 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$058DA4 5 bytes Code Modified by Lunar Magic.
$058DB1 3 bytes Code Modified by Lunar Magic.
$058DB9 3 bytes Code Modified by Lunar Magic.
$058DCA 2 bytes Code Modified by Lunar Magic.
$058E12 3 bytes Code Modified by Lunar Magic.
$05B15D 3 bytes Code Modified by Lunar Magic. Part of the Sprite 19 fix.
$05B1A3 7 bytes Code Modified by Lunar Magic.
$05C40C 5 bytes Code Modified by Lunar Magic.
$05C727 5 bytes Jump (JML/JSL) Modified by On/Off Layer 2 Generator Fix, by GreenHammerBro.

JML : NOP, modifies the on/off Layer 2 scroll command to reset the "hit ground" flag when rising.
$05C75D 6 bytes Jump (JML/JSL) Modified by On/Off Layer 2 Generator Fix, by GreenHammerBro.

JML : NOP #2, modifies the on/off Layer 2 scroll command to set a "hit ground" flag, shaking the screen and playing a sound only once.
$05CC66 2 bytes Hex Edit Modified by Course Clear Coins, by MarioFanGamer.

BRA $1C, disables awarding a 1-up if the tens and ones digit of the timer are both equal to the tens digit of bonus stars received. Optionally enabled.
$05CD51 2 bytes Data Modified by Course Clear Coins, by MarioFanGamer.

Replaces the red "★" on the "COURSE CLEAR!" text with a yellow coin icon.
$05CF12 12 bytes Hex Edit Modified by Course Clear Coins, by MarioFanGamer.

INC $13CC : BRA $07 : NOP #7, modifies the "COURSE CLEAR!" bonus star awarding routine to award coins instead.
$05D79B 6 bytes Code Modified by Lunar Magic.
$05D7B9 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D7CE 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D7E2 5 bytes Jump (JML/JSL) Modified by Lunar Magic. Transfers Y into X, then JSLs to a routine that uses long addressing to index secondary entrance table $05F800 or its expanded version.
$05D7EA 5 bytes Jump (JML/JSL) Modified by Lunar Magic. Transfers Y into X, then JSLs to a routine that uses long addressing to index secondary entrance table $05FA00 or its expanded version.
$05D81C 5 bytes Jump (JMP/JSR) Modified by Lunar Magic. Transfers Y into X, then JSLs to a routine that uses long addressing to index secondary entrance table $05FC00 or its expanded version.
$05D836 5 bytes Code Modified by Lunar Magic.
$05D8B1 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D8B7 39 bytes Code Modified by UberASM and other patches and tools.

Stores the current level number to $010B. Differs from the levelnum.ips patch in that this one uses no freespace.
$05D8E2 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

Stores the current level number plus one to $FE, address used to load custom palettes.
$05D8F5 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D8FB 2 bytes Opcode Modified by Lunar Magic. Changes "AND.b #$3F" to "AND.b #$1F".
$05D979 4 bytes Code Modified by Lunar Magic.
$05D97D 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D984 4 bytes Jump (JML/JSL) Modified by Sprite Initial Facing Fix, by Alcaro.

JSL, modifies a portion of the level load player position init routine to set $94 - $97 and $D1 - $D4 equivalently.
$05D9A1 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Main hijack of the Dynamic Levels patch. It builds a lookup table though $7E:0BF6, $7E:0C56, $7E:0CB6 and $7E:0CD6 for indexing the map16 tables, sets $7E:13D7 (level height) value, $7E:1936 (level height - #$0010), $7E:0BF4 (sprite loader settings) and $7E:0BF5 (dynamic level settings).
$05D9C3 1 byte Opcode Modified by Lunar Magic.
$05D9E3 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

Used to handle LM's seperate midway point entrance functionality. The three 512-byte tables associated with it can be found in order at read3(read3($05D9E4)+$0A).
$05D9E8 4 bytes Code Modified by Lunar Magic.
$05D9FC 4 bytes Jump (JML/JSL) Modified by Sprite Initial Facing Fix, by Alcaro.

JML, modifies a portion of the level load player position init routine to set $94 - $97 and $D1 - $D4 equivalently.
$05DA03 4 bytes Jump (JML/JSL) Modified by Sprite Initial Facing Fix, by Alcaro.

JSL, modifies a portion of the level load player position init routine to set $94 - $97 and $D1 - $D4 equivalently.
$05DA17 5 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05DA7F 1 byte Code Modified by Lunar Magic.
$05DA83 1 byte Code Modified by Lunar Magic.
$05DA8A 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Rebuilds the level height table for chocolate island special levels.
$05DAE6 1 byte Opcode Modified by Lunar Magic.
$05DB5F 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Rebuilds the level height table for chocolate island special levels.
$05DBC2 6 bytes Code Modified by Lunar Magic.
$05DBF2 4 bytes Jump (JML/JSL) Modified by 999 lives, handles the lives' code during the overworld and when exchanging them.
$05DC81 3 bytes 24-bit Pointer Modified by Lunar Magic. The location of secondary entrance table $05FE00 or its expanded version in ROMs modified with Lunar Magic 2.50+.
$05DDA0 96 bytes Data Used by LM for the initial flags of each level (as stored to $1EA2).

If the overworld expansion hijack from LM v2.53 is applied, the table is instead moved to $03BE80, while these bytes are left unused.
$05DE00 512 bytes Data Added by Lunar Magic as a fifth byte of each level's secondary level header. Format: LWPYX---
L - Slippery flag
W - Water flag
P - Flag to use X/Y position method 2
Y - Bit 5 of the entrance Y position for method 2
X - Bit 4 of the entrance X position for method 2
(X/Y are switched in vertical levels)
$06F540 182 bytes Jump (JML/JSL) Used by Lunar Magic as a routine to get a particular Map16 tile's VRAM data (tile number/YXPPCCCT for each of its four tiles). To use, A/X/Y must be 16-bit, and A must contain the tile number multiplied by 2. It returns the lower two bytes of the pointer in A and the bank byte in both the high byte of Y and in $0C (for usages as a 24-bit pointer at $0A).
Alternative entries to the routine are at $06F5D0 (which returns the bank byte in $06 for a pointer at $04 instead of $0A), and $06F5E4 (which directly stores the full pointer into $65).

Pages 0/1 are handled via the original system (a pointer table to data at $0FBE).
Pages 2-7F are then handled by directly indexing their data tables. Each set of 0x10 pages uses a different table; they can each be found with the following calculations:
02-0F: read1($06F557)<<16|(read2($06F553)+$1000&$FFFF)
10-1F: read1($06F560)<<16|(read2($06F55C)+$8000&$FFFF)
20-2F: read1($06F56B)<<16|read2($06F567)+1
30-3F: read1($06F574)<<16|(read2($06F570)+$8000&$FFFF)+1
40-4F: read1($06F598)<<16|read2($06F594)
50-5F: read1($06F5A1)<<16|(read2($06F59D)+$8000&$FFFF)
60-6F: read1($06F5AC)<<16|read2($06F5A8)+1
70-7F: read1($06F5B5)<<16|(read2($06F5B1)+$8000&$FFFF)+1


In addition, if page 2 is set to use tileset-specific Map16 (which can be determined by checking if $06F547 is non-zero), then its data can be found at (read1($06F58A)<<16|read2($06F586))+$1000. In that table, each tileset receives 0x800 bytes, so you can find a particular tile's data by indexing as 0ttttbbb bbbbb000, where tttt is the FG/BG tileset and bbbbbbbb is the low byte of the tile number.
$06F608 60 bytes Jump (JMP/JSR) Used by Lunar Magic as a routine to get a Map16 tile's true acts-like setting (i.e. a value less than 0x200). It returns the 16-bit result in $03, as well as the low byte in $1693 and high byte in Y.

Additionally, the tables used to hold the Map16 tile acts-like settings can be found at the following locations:
Pages 00-3F: read3($06F624)
Pages 40-7F: read3($06F63A)

Each block in these tables receives two bytes, as its 16-bit acts-like setting. To find the true acts-like setting (i.e. a value less than 0x200), simply perform repeated lookups on these tables until a valid value is returned.
$06F690 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario hits a tile from below.
$06F6A0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile from above.
$06F6B0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile horizontally.
$06F6C0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile on the top corners (which corner doesn't matter als long as they are from the top side).
$06F6D0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile with the lower half of his body (i.e. excluding his head).
$06F6E0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile with the upper half of his body (i.e. the head but not the rest of the body).
$06F720 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if a sprite touches a tile vertically (which side doesn't matter)
$06F730 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if a sprite touches a tile horizontally (which side doesn't matter)
$06F780 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile with his cape.
$06F7C0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario's fireball touches a tile.
$07F1AA 32 bytes Data Modified by Goal Tape Gives Score patch. Changes bonus star reward table into a score reward table.
$07F25D 5 bytes Code Modified by Goal Tape Gives Score patch. Makes goal always give score on hit.
$07F26C 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $1656 value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F26C + ($85) = $07F2F1).
$07F335 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $1662 value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F3BA + ($85) = $07F43F).
$07F3FE 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $166E value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F3FE + ($85) = $07F483).
$07F43C 1 byte Data Modified by Item Box Sprite Fix, by Davros/Romi.

db $36, modifies P-Switch sprite tweaker info 166E to ensure proper palette in custom state.
$07F451 1 byte Data Modified by Item Box Sprite Fix, by Davros/Romi.

db $36, modifies Throw Block sprite tweaker info 166E to ensure proper palette in custom state.
$07F4C7 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $167A value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F4C7 + ($85) = $07F54C).
$07F590 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $1686 value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F590 + ($85) = $07F615).
$07F659 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $190F value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F659 + ($85) = $07F6DE).
$07F77F 6 bytes Jump (JML/JSL) Modified by the "Takes 5 fireballs to kill" Work-around Patch.

This hijack extends the sprite tables reset routine to also reset the new "fireball hit counter" sprite table, defined by the freeRAM provided.
$0C9436 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Rebuilds the level height table for credits. The credits still uses the level layout like a normal level.
$0C9EEB 96 bytes Code Modified by Lunar Magic.
$0CAE0F 2 bytes Code Modified by Lunar Magic.
$0CB66E 300 bytes 24-bit Pointer GPS pointer table for shared routine. Tool caps at 100 routines with the pointers being 3 bytes long each (taking 300 bytes in total if you hit the cap).
$0DA532 1 byte Code Modified by Lunar Magic.
$0DA536 2 bytes Code Modified by Lunar Magic.
$0DA62B 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0DA916 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0DA963 17 bytes Code Modified by Lunar Magic. Increments $6B-$6C/$6E-$6F by the current level height ($13D7) instead of constant #$01B0.
$0DA9D6 25 bytes Code Modified by Lunar Magic. Decrements $6B-$6C/$6E-$6F/$04-$05 by the current level height ($13D7) instead of constant #$01B0. Also decrements $1BA1.
$0DA9EF 22 bytes Code Modified by Lunar Magic. Increments $6B-$6C/$6E-$6F/$04-$05 by the current level height ($13D7) instead of constant #$01B0. Also increments $1BA1.
$0DB318 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0DB384 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0DBADC 39 bytes Code Modified by Forest Treetop Fix. Makes forest treetops able to be positioned at any Y position inside a level.
$0DBB16 13 bytes Code Modified by Lunar Magic.
$0DE190 7 bytes Code Used by Lunar Magic. Routine that indexes secondary entrance table $05F800 or its expanded version with long addressing. $0DE191 is the 24-bit pointer to the location of secondary entrance table $05F800 or its expanded version in ROMs modified with Lunar Magic 2.50+.
$0DE197 7 bytes Code Used by Lunar Magic. Routine that indexes secondary entrance table $05FA00 or its expanded version with long addressing. $0DE198 is the 24-bit pointer to the location of secondary entrance table $05FA00 or its expanded version in ROMs modified with Lunar Magic 2.50+.
$0DE19E 7 bytes Code Used by Lunar Magic. Routine that indexes secondary entrance table $05FC00 or its expanded version with long addressing. $0DE19F is the 24-bit pointer to the location of secondary entrance table $05FC00 or its expanded version in ROMs modified with Lunar Magic 2.50+.
$0EF0F0 3856 bytes Miscellaneous Originally empty and not modified by Lunar Magic, however if $0EF30C-$0EF30E contains an address to a sprite extra byte table and have $0EF30F holds a value of $42, Lunar magic will enable extra bit customization for placing sprites.
$0EF100 512 bytes Table Modified by LM.

This table contains the bank bytes of every level's sprite data pointer.
$0EF310 512 bytes Table Used by LM as a table of Layer 2-related data for each level. Format: bbBB-LD-
D = What type of data the layer 2 is: object (0) or tilemap (1)
L = Flag to indicate the usage of the high nibble
BB = When L bit is set: Map16 bank to use for the BG
bbBB = When L bit is clear: used as the high byte for all BG Map16 tiles (deprecated?)
-- = Unused
$0EF55D 3 bytes 24-bit Pointer Used by Lunar Magic as a 24-bit pointer to the custom overworld sprite data table. Will be $FFFFFF if no custom sprites are being used.
$0EF600 1536 bytes 24-bit Pointer Used by LM for a pointer table to each level's custom palette.

If a level's pointer is $000000, that means it has no custom palette and the data should be interpreted from the level header instead.
$0EFD50 24 bytes Table Used by Lunar Magic. This is a table of eight 24-bit pointers to the BG Map16 data in ascending order, where each pointer corresponds to a set of 0x10 pages. If a pointer is $000000, then that set of BG Map16 pages is currently unused.
$0FF0A0 160 bytes Hex Edit Not actually "used" for anything, but Lunar Magic writes the following string here:
Code
Lunar Magic Version X.XX Public 
©YYYY FuSoYa, Defender of Relm h
ttp://fusoya.eludevisibility.org
                                
I am Naaall, and I love fiiiish!

where X.XX is the version number and YYYY is the publication year of the LM version used.
$0FF600 384 bytes 24-bit Pointer Used by Lunar Magic for a table of 24-bit pointers to ExGFX80-FF (pointers for 100-FFF can be found at $read3($0FF937)). A pointer of 000000 indicates the file isn't inserted.
$0FF7F0 67 bytes Jump (JML/JSL) Used by Lunar Magic as a routine to handle processing ExGFX files during level load.
A table of every level's ExGFX files can be found at read3($0FF7FF). Each level receives 32 bytes, with two bytes per ExGFX file; some additional data is also stored in the high byte of certain files. More information can be found here.
$0FF900 110 bytes Jump (JML/JSL) Used by Lunar Magic as a routine to decompress a 4bpp GFX file to a specified location in RAM. To use it, load the 16-bit GFX file number into A and 24-bit destination RAM address in $00.
Note that it won't work on GFX32/33.

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2019 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 22

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented