Banner
Views: 790,517,128
Time:
3 users online: Milk,  Nameless,  Tahixham - Guests: 15 - Bots: 192 Users: 41,266 (1,492 active)
Latest: sixtyone
Tip: Before asking for help on the forums, make sure you've tried to figure out the problem on your own first.Not logged in.
SMW Memory Map
Displaying 905 out of 905 addresses. Show Waiting Addresses (3)
Filter
Link
Address
Hexadecimal number for a partial address. 6-digit number for a full address. Use - to denote a range. Use , to list more than one address.
Length
Type
Enable JavaScript to use multiple regions.
Region
Hold control to select multiple. Check "All" to select all at once.

Type
Description
Separate each individual keyword with spaces. Surround a phrase with quotes to look for the exact phrase, or with / to use a PCRE regular expression. Prepend with - to exclude a keyword or phrase, with + to require a whole word or phrase, or with -+ to exclude a whole word or phrase. ? matches any character, * matches any amount of characters.
 
Per Page: 25 50 75 100 150 500 All
Hijack Address Length Type Description Details
$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.
$008072 3 bytes Jump (JMP/JSR) Modified by the CPU Usage Meter patch. Jumps to the main code of the patch in a free area at $00FF9C.
$00818F 18 bytes Code Hijacked by the No Title SFX patch.
A piece of code that mutes every SFX in the title screen.
$0081AA 8 bytes Jump (JML/JSL) Modified by Ice Man's 'HDMA v3.5' patch. Hijacks NMI and calls the main routine. [JSL : BRA : NOP #2]
$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).
$008275 4 bytes Jump (JML/JSL) Hijacked by Lui37's 'Move Layer 3 to Subscreen Fix' patch. It changes part of NMI. [JML]
$008292 1 byte Code Modified by the Super Status Bar patch by GreenHammerBro and Kaijyuu. This is the scanline at which the status bar IRQ will fire in normal levels.
$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).
$00835C 1 byte Code Modified by the Super Status Bar patch by GreenHammerBro and Kaijyuu. This is the scanline at which the status bar IRQ will fire in mode 7 boss levels.
$00838F 2 bytes Code Modified by Lui37's 'Move Layer 3 to Subscreen Fix' patch. [LDY #$1E]
$008394 4 bytes Jump (JML/JSL) Hijacked by Lui37's 'Move Layer 3 to Subscreen Fix' patch. It modifies IRQ. [JML]
$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.
$008CAB 6 bytes Table Modified by Play as Yoshi: Replaces TIME with a clock on the status bar
$008CC9 12 bytes Table Modified by Play as Yoshi: Changes the status bar tilemap to make space for the powerup display.
$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.
$008D8A 5 bytes Jump (JML/JSL) Modified by the Super Status Bar patch by GreenHammerBro and Kaijyuu. Jumps to a status bar initialization routine during level load.
$008DB6 2 bytes Code Modified by the Super Status Bar patch by GreenHammerBro and Kaijyuu. This is an unconditional branch which skips over DrawStatusBar ($008DAC) and calls the main patch code at $008DE2.
$008DE2 5 bytes Jump (JML/JSL) Modified by the Super Status Bar patch by GreenHammerBro and Kaijyuu. Calls the main patch code and returns from DrawStatusBar ($008DAC). Branched to from $008DB6.

In the vanilla game, this address is not aligned to an instruction and is instead in the middle of an LDA at $008DE1.
$008E1A 5 bytes Jump (JML/JSL) Modified by Spin Jump to Super Jump, by HuFlungDu.

JSL : NOP, hijacks a portion of the status bar routine to run spinjump-altering code every frame.
$008E1F 4 bytes Jump (JML/JSL) Modified by the Advanced version of the Super Status Bar patch by GreenHammerBro and Kaijyuu. Repoints the status bar update routine to freespace.
$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.
$008E6B 4 bytes Jump (JML/JSL) Hijacked by the Time Up Anti-Kill Patch, by Chdata.

JSL, jumps to the code that prevents the time up to kill the player in a certain level.
$008EA4 3 bytes Code Modified by the Score+9 patch, by Alcaro.

SBC #$4240, tweaks maximum score calculation to allow detection of "over 9999990 points" state.
$008EB0 2 bytes Code Modified by the Score+9 patch, by Alcaro.

LDA #$10, tweaks maximum score calculation to allow detection of "over 9999990 points" state.
$008EC6 5 bytes Jump (JML/JSL) Modified by the Score+9 patch, by Alcaro.

JSL : NOP, checks for "Mario's score greater than 9999990 points" state and switches the final digit to 9 if so.
$008EF4 5 bytes Jump (JML/JSL) Modified by the Score+9 patch, by Alcaro.

JSL : NOP, checks for "Luigi's score greater than 9999990 points" state and switches the final digit to 9 if so.
$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.

Modified also by the "Press R to switch characters" patch (4 bytes). It jumps to the main patch code.
$008F49 4 bytes Jump (JML/JSL) Hijacked by Play as Yoshi: Runs the main code every frame.
$008F5B 6 bytes Jump (JML/JSL) Modified by Power Jumps, by HuFlungDu/Major Flare.

JSL : NOP #2, hijacks a portion of the status bar routine to run gravity-altering code every frame.
$008F70 20 bytes Code Modified by Nimono's '3 digit coin counter' patch. Gets rid of part of the code that writes coins to the status bar. [BRA : NOP #18]
$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.
$008FD8 5 bytes Jump (JML/JSL) Modified by Fire Power Timer patch. Handles fire power timer.

Modified also by Nimono's '3 digit coin counter' patch (5 bytes). Jumps to the main routine. [JSL : NOP]
$008FF9 1 byte Opcode Used by the Advanced version of the Super Status Bar patch by GreenHammerBro and Kaijyuu. Not modified, but the patch expects an RTS opcode at this location.
$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.
$0090AE 1 byte Hex Edit Modified by the Advanced version of the Super Status Bar patch by GreenHammerBro and Kaijyuu. This is the X position of the item in the item box. It's set according to the !ITEM_X define in the patch, whose default value is the vanilla X position.
$0090B3 1 byte Hex Edit Modified by the Advanced version of the Super Status Bar patch by GreenHammerBro and Kaijyuu. This is the Y position of the item in the item box. It's set according to the !ITEM_Y define in the patch, whose default value is the vanilla Y position.
$0090B8 1 byte Hex Edit Modified by the Advanced version of the Super Status Bar patch by GreenHammerBro and Kaijyuu. This is the YXPPCCCT property byte of the item in the item box. It's set according to the !ITEM_PRIORITY define in the patch, whose default value is the vanilla property byte.
$0090CC 1 byte Hex Edit Modified by the Advanced version of the Super Status Bar patch by GreenHammerBro and Kaijyuu. This is the size of the item in the item box. It's set according to the !ITEM_SIZE define in the patch, whose default value is the vanilla size.
$0090D0 1 byte Opcode Modified by the Advanced version of the Super Status Bar patch by GreenHammerBro and Kaijyuu. This is the return instruction of the status bar item drawing routine, which is converted to a JSL routine.
$009216 9 bytes Jump (JML/JSL) Modified by undefinied3's New Super Mario Bros Wii - Level Intro patch. It calls the main code through JSL, NOP once, then jumps to a conditional check through JML.
$009322 4 bytes Jump (JML/JSL) UberASM tool and patch's Game Mode hijack.
$009394 4 bytes Jump (JML/JSL) Hijacked by the Intro Logo Patch, by Roy.

JML, handles the Nintendo Logo drawing via DMA.
$00939A 8 bytes Jump (JML/JSL) First hijack of Roy & ghettoyouth's 'Nintendo Presents Logo Expansion' patch (LDY #$3C : LDX #$0F before the JML).
$0093B4 12 bytes Code Second hijack of Roy & ghettoyouth's 'Nintendo Presents Logo Expansion' patch. Handles an OAM loop before the JML.
$0093D7 9 bytes Jump (JML/JSL) Modified by Nintendo Presents Custom Palette, by Roy.

JSL : NOP #5, replaces the palette load and background color settings for the "Nintendo Presents" object.

Hijacked also by undefinied3's New Super Mario Bros Wii Level Intro. It calls a routine that determines when to upload custom palettes for the level intro preview. Two NOPs are written after the JSL. [JSL : NOP #2]
$0093F7 5 bytes Code Modified by Lunar Magic.
$00940F 4 bytes Jump (JML/JSL) Hijacked by the Intro Logo Patch, by Roy.

JML, handles the fade-in and fade-out of the Nintendo logo.
$009471 5 bytes Code Modified by Lunar Magic.
$0095B6 3 bytes Code Modified by Lunar Magic.
$0095E9 13 bytes Code Modified by Lunar Magic.
$0096A1 4 bytes Jump (JML/JSL) Modified by undefinied3's New Super Mario Bros Wii - Level Intro patch. Jumps to a Yoshi's house check to determine if the intro screen should appear or not.
$0096BE 4 bytes Jump (JML/JSL) Modified by the Overworld Indicators patch. A hijack is placed here to clear the SRAM/BW-RAM entries the patch uses. [JML]
$0096E9 6 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This one transfers the star coins into a local backup when loading a level (either from overworld or from a different level)
$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 undefinied3's New Super Mario Bros Wii - Level Intro patch. Calls a "time waste" loop that is used to keep the intro preview on screen for longer.
$009712 4 bytes Jump (JML/JSL) Modified by Horizontal Scroll Fix v1.1. Jumps to the main code.
$009AB9 4 bytes Jump (JML/JSL) Hijacked by SMA2 Yoshi blocks: Unlocks all colours of Yoshi for the title screen.
$009B1C 3 bytes Code Modified by Lunar Magic.
$009B43 4 bytes Jump (JML/JSL) Modified by the Overworld Indicators patch. This hijacks the "Erase Game" routine to also clear the SRAM/BW-RAM addresses the patch uses. [JML]
$009BCC 7 bytes Jump (JML/JSL) Modified by the Overworld Indicators patch. Modifies a load of 010A and then hacks the save game routine to synchronize the values from SRAM to their backup. [JSL] Hijack
$009BD2 4 bytes Jump (JML/JSL) Modified by the BW-RAM Plus patch. Jumps to the save handling routine.
$009C6F 17 bytes Code Modified by Lunar Magic.

Handles the custom title screen movement.
$009CD3 3 bytes Code Modified by Lunar Magic.
$009CF5 6 bytes Jump (JML/JSL) Modified by the BW-RAM Plus patch. Jumps to the init save files routine.
$009CFB 4 bytes Jump (JML/JSL) Modified by the Overworld Indicators patch. Modifies the load game routine to restore the SRAM backup. [JML]

NOTE: this hijacks read3($009CF8)+33 instead if using Ragey's Overworld Expansion.
Hijack
$009D6C 8 bytes Code Modified by Alcaro's '100 Exits' patch - it changes the amount of exits required for displaying the *96 at the title screen, as well as what tiles form the *96.
$009D7C 4 bytes Code Modified by Alcaro's '100 Exits' patch - it remaps the position of ones digit of the number of exits gotten in the title screen stripe image.
$009D86 4 bytes Jump (JML/JSL) Main hijack of Alcaro's '100 Exits' patch. [JML]
$009D96 2 bytes Code Modified by Alcaro's '100 Exits' patch - it changes the amount of blank tiles to be written to the title screen stripe image.
$009D9B 4 bytes Code Modified by Alcaro's '100 Exits' patch - it remaps the position of a blank tile used in the title screen stripe image.
$009E35 5 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: This one initialises values on the overworld (Yoshi's power up and the sprite in Yoshi's mouth).
$009E56 4 bytes Jump (JML/JSL) Hijacked by SMA2 Yoshi blocks: Green Yoshis are already unlocked on new files.
$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.
$00A045 5 bytes Code Modified by Lunar Magic, for a jump to code that handles changing the acts-like setting of the Layer 3 tide.

Also modified by the Per-level Layer 3 Tides Act-like Settings patch for a jump to its main routine.
$00A0A0 3 bytes Code Modified by Lunar Magic.
$00A0BF 4 bytes Jump (JML/JSL) Modified by the Free $7F0000 patch. Main hijack of the patch; forces event restore when beating a level in game mode 0C. [JML]
$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.
$00A169 4 bytes Jump (JML/JSL) Modified by the Reserve Item OW Display patch. Jumps to the main code.
$00A169 4 bytes Code Modified by 32x32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

LDA #$F0 : STA $3F, replicates original code in order to ensure expected setting of OAM address mirror.
$00A1C7 4 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This one loads the current translevel number and stores the current level's star coins into the star coin counter.
$00A1DA 10 bytes Code Modified by Lunar Magic.
$00A1DA 10 bytes Jump (JML/JSL) Modified by the Message Box Expansion patch. Checks the message box state and sets a branch, followed by a jump to the main code.
$00A21B 4 bytes Jump (JML/JSL) Modified by Running SFX patch. Jumps to the main code.
$00A21F 4 bytes Jump (JML/JSL) Modified by Disable Throwing Items Upwards patch. Disable Up when carrying an item.
$00A267 1 byte Opcode Modified by Lunar Magic.
$00A269 11 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This one saves all collected coins through Start+Select.
$00A284 4 bytes Jump (JML/JSL) Modified by Start+Select SFX, jumps to main code (plays SFX, changes game mode and returns).
$00A299 4 bytes Jump (JML/JSL) Hijacked by No running patch. Adds speed limit.
$00A2A1 4 bytes Jump (JML/JSL) Modified by the Wall Kick patch, by MarioE.

JSL, jumps to the main patch code.
$00A2A5 4 bytes Jump (JML/JSL) The patch known as "Allow mario to pass his gas" made by SMWCentral user shao, has it's main and only hijack spot here. This hijack installs the function that the patch realizes, which is allow the player, whoever it might be, to realize the process of expelling a flatulence. [JSL]
$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.

Modified code
$00A2D8 4 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: This one handles all of Yoshi's abilities (e.g. throwing eggs, flutter, ground pound).
$00A2D8 4 bytes Jump (JML/JSL) Modified by the (Specter of Torment-Styled) Wallclimb and Walljump patch, by Erik/Maarfy.

JSL, overwrites the player graphics drawing routine to run the main code every frame. Note that the code ends with a JML to said routine ($00E2BD), and the latter's RTL is ultimately used to return.
$00A300 5 bytes Jump (JML/JSL) Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

JML : RTS, modifies the player graphics DMA routine.
$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) 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.
$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.
$00A5AB 4 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: This one initialises RAM on level load (carried sprite, eggs) used by that patch.
$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.
Implementation
$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. Implementation
$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. Implementation
$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".
$00C4AE 4 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This one saves all collected coins through beating a level with a key hole.
$00C4F8 5 bytes Jump (JML/JSL) Modified by $13FB Game Crash Fix. Jumps to the main code.
$00C56C 4 bytes Jump (JML/JSL) Hijacked by the Item Box Hack Patch, by andrew789.
JML, hijacks the item box routine so the button that makes the reserve item drop is dependent on the level the player is in.
$00C599 2 bytes 16-bit Pointer Modified by the (Specter of Torment-Styled) Wallclimb and Walljump patch, by Erik/Maarfy.

dw $CC86, repoints the start of animation state $00 ($71 = #$00) to part of a debug routine in order to copy the contents of RAM address $77 before it is updated.

The UberASM version of this patch includes a helper patch that applies this exact 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.
$00CC86 19 bytes Code Modified by the (Specter of Torment-Styled) Wallclimb and Walljump patch, by Erik/Maarfy.

Part of the free-roaming debug routine. Overwritten in order to copy the contents of RAM address $77 before it is updated. See details for code. Note that 19 bytes is the maximum size - !RAM_77BU is 16-bit by default, and size becomes 17 bytes if changed to 8-bit (long addresses not supported).

The UberASM version of this patch includes a helper patch that applies this exact code.
Code
$00CF3D 2 bytes Opcode Modified by Yoshi Player Patch: Spin jumps don't change Yoshi's direction.
$00CF43 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It skips the cape interaction while spinning, if the appropriate defines are set in the code.
$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.
$00D058 4 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes cape interaction when in reversed gravity mode.
$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.
$00D062 4 bytes Jump (JML/JSL) Modified by the Replace Cape with Double Jump patch. It jumps to the main code of the patch.
$00D06C 5 bytes Jump (JML/JSL) Modified by No shooting fireballs/cape spin when carrying something, by GreenHammerBro.

JSL : NOP, modifies the cape spin routine to deny cape-spinning with either X or Y when carrying an item.
$00D085 5 bytes Jump (JML/JSL) Modified by No shooting fireballs/cape spin when carrying something, by GreenHammerBro.

JSL : NOP, modifies the fire spit routine to deny spitting fireballs with either X or Y when carrying an item.
$00D08C 4 bytes Jump (JML/JSL) Modified by Yoshi Fireball Ability Patch. It jumps to the main function of the patch.
$00D0B6 7 bytes Code Modified by Yoshi Player Patch: This one changes the death animation. New Death Animation
$00D0E6 4 bytes Jump (JML/JSL) Hijacked by the Time-Up + SFX Patch.
JML, jumps to the main code.
$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.
$00D107 1 byte Opcode Modified by Yoshi Player Patch: The death animation ends with a RTL, not a RTS.
$00D11C 1 byte Opcode Modified by Yoshi Player Patch: The death animation ends with a RTL, not a RTS.
$00D174 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It prevents $1407 to be used as part of a branch condition, since its purpose has been changed by the patch.
$00D179 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It prevents $1407 to be reset when touching a Fire Flower.
$00D2B2 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00D5F2 4 bytes Jump (JML/JSL) Modified by Super Mario Land 2-Styled Spinjump. Jumps to SML2 spin jump code.
$00D600 4 bytes Jump (JML/JSL) Modified by Disable Ducking, by Iceguy/Meirdent.

JSL, modifies the normal check for holding Down to duck to either factor in powerup status, or always disregard the ducking input.
$00D630 4 bytes Jump (JML/JSL) Hijacked by Super Mario 64 Long & U-Jump patch. Adds Long and U-Jump abilities.
$00D63E 1 byte Opcode Modified by Super Mario Land 2-Styled Spinjump. Prevents spin jumping.
$00D645 1 byte Hex Edit Modified by Yoshi Player Patch: This edit prevents you to perform a spin jump.
$00D663 5 bytes Jump (JML/JSL) Modified by GreenHammerBro's 'Player X Speed Fix' patch. It hijacks the jump speed table depending on the player's X speed. [JML : NOP]
$00D663 5 bytes Jump (JML/JSL) Modified by Expensive Jump. Jumps to the main code.
$00D6B9 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It disables part of the cape's gliding physics.
$00D706 5 bytes Jump (JML/JSL) Modified by Turning SFX. Plays sound effect when turning.
$00D718 1 byte Code Modified by Yoshi Player Patch: Yoshi is always running.
$00D742 4 bytes Jump (JML/JSL) Modified by GreenHammerBro's 'Player X Speed Fix' patch. Jumps to the main acceleration fix routine. [JML]
$00D7E7 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It disables part of the cape's gliding physics.
$00D806 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It disables the cape's flying physics.
$00D844 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It disables part of the cape's gliding physics.
$00D861 3 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It disables part of the cape's gliding physics.
$00D86D 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It disables part of the cape's gliding physics.
$00D884 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It disables part of the cape's gliding physics.
$00D8E2 3 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It allows for the "continuous Yoshi flight" feature, depending on a define set in the patch code.
$00D8EB 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It disables cape flight.
$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.
$00D908 5 bytes Jump (JML/JSL) Hijacked by the Cape float sound routine. It jumps to the routine's main code.
$00D98D 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It prevents $1407 to be reset when Mario is in water.
$00D9ED 2 bytes Code Modified by Yoshi Player Patch: This one disables swimming by pressing A (pressing A allows you to throw an egg).
$00DA33 4 bytes Jump (JML/JSL) Modified by Disable Ducking, by Iceguy/Meirdent.

JSL, modifies the underwater check for holding Down to duck to either factor in powerup status, or always disregard the ducking input.
$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.
$00DC45 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Inverts the player's Y speed.
$00DCEC 554 bytes Hex Edit Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by included file hexedits.asm.

Replaces player sprite tile positioning tables to accommodate the expanded tilemap.
$00DF1A 182 bytes Table Modified by Yoshi Player Patch: Fixes the tile expansion table (8x8 tile index) for Yoshi's graphics.
$00DFDA 4 bytes Hex Edit Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by included file hexedits.asm.

Replaces part of the player graphics tilemap table to accommodate the expanded tilemap.
$00E00C 384 bytes Table Modified by Yoshi Player Patch: Fixes the tilemap table for Yoshi's graphics.
$00E18E 70 bytes Hex Edit Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by included file hexedits.asm.

Replaces tile properties index table to accommodate the expanded tilemap.
$00E31B 4 bytes Jump (JML/JSL) Modified by Custom Mario Palettes, handles the patch's main functions.
$00E346 6 bytes Jump (JML/JSL) Modified by Reverse Gravity. Seems to fix an interaction bug.
$00E370 2 bytes Code Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

BEQ $19, modifies a branch to skip over code that adjusts player sprite tile size when displaying the big Mario P-balloon pose.
$00E381 2 bytes Code Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

BNE $08, modifies a branch to skip over code that adjusts player sprite tile size when displaying the big Mario P-balloon pose.
$00E385 8 bytes Code Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

NOP #6 : LDA #$F8, preps the player sprite drawing routine to always draw four 16x16 tiles.
$00E3B0 16 bytes Code Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

See details for code. Modifies the player sprite drawing routine setup to read from the expanded tilemap.
Code
$00E3CD 5 bytes Jump (JML/JSL) Modified by Invincible Mario Palette Changer. Jumps to the main code.
$00E3E4 2 bytes Code Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

BRA $06, modifies the player sprite OAM configuration routine to bypass flipping one of the player's 16x16 tiles when displaying the big Mario P-balloon pose.
$00E3FF 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. If a flag is set in the code, it prevents the cape image from being shown.
$00E46D 4 bytes Jump (JML/JSL) Modified by Reverse Gravity. Controls how the player's graphics should flip.
$00E9F6 5 bytes Jump (JML/JSL) Modified bt Walljump/Note Block Glitch Fix. Avoids clipping glitches at both sides of the screen/level's solid limits.
$00EA16 12 bytes Code Modified by Walljump/Note Block Glitch Fix. It NOPs out the entire SMW anti-clipping code to run the patch's one later.
$00EA82 1 byte Hex Edit Modified by Yoshi Player Patch: Yoshi can't perform a spin jump out of water.
$00EB79 2 bytes Hex Edit Modified by Yoshi Player Patch: Due to the lack of collectable powerups, "small" Yoshi uses the same hitbox as big Yoshi.
$00EC10 5 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This tells the game that we're entering a level from a sublevel, not from the overworld (doors).
$00EC7E 5 bytes Jump (JML/JSL) Modified by Walljump/Note Block Glitch Fix. Runs the patch's anti-clipping routine (fixes wall-jumping/clipping with note blocks included).
$00ED14 4 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes interaction with ceilings when in reversed gravity mode.
$00ED1C 8 bytes Jump (JML/JSL) Modified by Walljump/Note Block Glitch Fix. Runs a clipping fix for Super Mario (big Mario) getting inside one-block high spaces.
$00EE17 4 bytes Jump (JML/JSL) Modified by Reverse Gravity. It's a check placed before the interaction with ground fix.
$00EE69 2 bytes Hex Edit Modified by Yoshi Player Patch: Due to the lack of collectable powerups, "small" Yoshi can also break Turn Blocks and not just big Yoshi.
$00EED4 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes the interaction with ground when in reversed gravity mode.
$00EF60 2 bytes Hex Edit Modified by SFX on Landing. Makes it so falling speed will trigger landing sound.
$00EF6B 4 bytes Jump (JML/JSL) Modified by Sound on Landing. Check for falling speed to play sound effect on landing.
$00EF7C 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It prevents the code from branching after reading $1407, since its purpose has been changed by the patch.
$00F18D 6 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes bounce sprites.
$00F2DB 2 bytes Code Modified by Lunar Magic.
$00F2E8 6 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This one transfers the currently collected coins into the midway point buffer.
$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.
$00F358 5 bytes Jump (JML/JSL) Modified by the Dragon/Yoshi Coin Explanation Message patch, by Telinc1.

JSL : NOP, hijacks playing the Yoshi coin collection sound effect to add message display functionality.
$00F367 4 bytes Jump (JML/JSL) Modified by the "Beat level by collecting all of the coins" patch. Checks how many coins have been collected when a coin is picked up.
$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.
$00F439 5 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This tells the game that we're entering a level from a sublevel, not from the overworld (pipes).
$00F44D 4 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes interaction points for reversed gravity mode.
$00F478 3 bytes Opcode Modified by Lunar Magic. Remaps CMP.W #$01B0 to CMP.W $13D7.
$00F47E 1 byte Code Modified by Lunar Magic.
$00F488 1 byte Code Modified by Lunar Magic.
$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.
$00F4A0 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.
Hijacked Code
$00F4EB 1 byte Code Modified by Lunar Magic.
$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.
$00F5A3 7 bytes Jump (JML/JSL) Modified by Reverse Gravity. Moves the death pit to above when in reverse gravity mode.
$00F5B2 5 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: Yoshi takes 5 damage and is thrown upwards instead of getting killed when falling into a bottomless pit.
$00F5B2 4 bytes Jump (JML/JSL) Modified by Disable Death Flag patch. Disables death from pits and adds bounce on flag.
$00F5B7 5 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: A custom hurt routine is implemented.
$00F5C6 6 bytes Jump (JML/JSL) Modified by Reset Coins on Hurt, by MovementThruPortals.

JSL : BRA $00, modifies the hurt routine to reset current player coin count.
$00F5D5 4 bytes Jump (JML/JSL) Modified by Invincible Mario with KnockBack, by Kevinskie555.

JML, modifies the hurt routine to avoid setting a powerdown state (or death if small) while giving speed to the player.
$00F5DB 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It prevents the glide state to be reset when hurt, since the glide physics are disabled by the patch.
$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.)
$00F5F8 2 bytes Code Modified by the Instant Item Box v1.4 patch. BRA $02, branches ahead to skip over code that triggers reserve item auto-dropping when hurt.
$00F606 5 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: A custom death routine is implemented.
$00F606 4 bytes Jump (JML/JSL) Modified by Disable Death Flag patch. Modifies death routine to depend on flag, if set, player can't die on sprite contact and etc.
$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.
$00F614 4 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: Mario loses all collected star coins unless they're backed up.
$00F622 4 bytes Jump (JML/JSL) Modified by Reset Coins on Hurt, by MovementThruPortals.

JML, modifies the death routine to reset current player coin count.
$00F622 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It prevents $1407 to be reset when Mario is killed.
$00F636 4 bytes Jump (JML/JSL) Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

JML, modifies setting of player graphics upload pointers to account for the expanded tilemap.
$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) Modified 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. Freespace code
$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.
$00F875 4 bytes Jump (JML/JSL) Modified by the (Specter of Torment-Styled) Wallclimb and Walljump patch, by Erik/Maarfy.

JML, hijacks a portion of the screen scrolling routine to add "is wall climbing" as a screen scrolling trigger.

The UberASM version of this patch includes a helper patch that applies this exact code.
$00F9F5 15 bytes Code Modified by Disable Score: The new code only allow to run 1-up sprites in its code but removes score sprites. New HTML
$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.
$00FD04 4 bytes Code Not modified, however referenced by Lunar Magic to set the high byte of the Y position in hijacks related to off-screen routines.
$00FD4A 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes Water Bubble's spawn position during reversed gravity mode.
$00FDC3 6 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes Water Splash's spawn position during reversed gravity mode.
$00FE7E 4 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes Floor Dust's spawn position during reversed gravity mode.
$00FE96 16 bytes Code Modified by Fireball Bounce Limit patch. Check if reached bounce count.
$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.
$00FEB1 1 byte Data Modified by Yoshi Player Patch: The amount of fireballs (which have been retooled into melon seeds) allowed is increased to 5.
$00FEC4 5 bytes Jump (JML/JSL) Modified by Upwards arc fireball patch. Jumps to the main code.
$00FED1 53 bytes Code Modified by Fireball Bounce Limit patch. Initialize bounce counter.
$00FFD8 1 byte Hex Edit Modified by the Overworld Indicators patch. This value is the SRAM size in the original game, and it's changed to $02 to expand to 4KB of SRAM in case Ragey's Overworld Expansion is enabled. (Only does this if SRAM is 2KB, e.g. default value) Edit
$00FFE6 2 bytes 16-bit Pointer Modified by BRK Exception Handler: The native mode BRK vector is repointed into freespace in bank $00.
$00FFF0 4 bytes Jump (JML/JSL) Modified by BRK Exception Handler: Adds a debug 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.
$0180D2 19 bytes Jump (JML/JSL) Modified by No More Sprite Tile Limits. Replaces the old OAM slot search with the new one.
$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.
$018291 2 bytes 16-bit Pointer Modified by Bird from Yoshi's House Fix. Changes Yoshi's House birds' pointer to Yoshi's egg's.
$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.
$018326 13 bytes Jump (JML/JSL) Hijacked by Roy's 'All Second Timed Lift' patch. Gets and checks the sprite's X-pos before doing a JSL to the main routine.
$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.
$0184E3 5 bytes Jump (JML/JSL) Modified by No Silent Bullet Bill, by Ramp202.

JSL : NOP, modifies the Bullet Bill init routine to add a sound effect.
$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.
$018F0D 4 bytes Jump (JML/JSL) Modified by No Sprite Interaction Fix, by chillyfox.

JML, modifies the Hopping Flame main sprite routine to add a proper sprite interaction check.
$019140 6 bytes Jump (JML/JSL) Modified by the No block interaction if sprite is falling off screen patch, by GreenHammerBro.

JML : BRA $00, modifies the sprite/block interaction routine to terminate immediately if the processed sprite is in state $14C8 = #$02.
$019162 4 bytes Jump (JML/JSL) Modified by the Tide Sprite Interaction Fix patch. Handles a part of the patch's functions.
$019183 4 bytes Jump (JML/JSL) Modified by the Tide Sprite Interaction Fix patch. Handles a part of the patch's functions.
$019216 4 bytes Jump (JML/JSL) Modified by Sprite Underwater Flag patch. Adds additional check for new flag to set sprites to act like they're underwater.
$0194B6 5 bytes Code Modified by Lunar Magic for a jump to the code for the setting that makes sprites outside the level boundaries interact with air instead of water.
$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 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.
Hijacked Code
$01953C 4 bytes Jump (JML/JSL) Modified by Shell-Collectable Coins and Yoshi/Dragon Coins. Allows for sprites that were thrown without being kicked, to collect coins and Yoshi/dragon coins.
$019826 2 bytes Code Modified by Lunar Magic.
$019949 4 bytes Jump (JML/JSL) Modified by Shell-Collectable Coins and Yoshi/Dragon Coins. Allows for kicked sprites to collect coins and Yoshi/dragon coins.
$019F6B 6 bytes Table Modified by Yoshi Player Patch: This one increments the speed of kicked shells to fix a bug where you can hurt yourself.
$019F77 2 bytes Opcode Hijacked by the SMB2 Holding patch: This one puts carried sprites always above Mario.
$019F92 3 bytes Code Modified by Yoshi Player Patch: Carried sprites (which are retooled into the eaten state) don't draw their graphics anymore.
$01A00D 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one controls how sprites a released.
$01A047 4 bytes Jump (JML/JSL) Modified by Item Release Bulk Patch: Changes the position where a carried item is dropped when spinning.
$01A068 4 bytes Jump (JML/JSL) Modified by Item Release Bulk Patch: Changes the position where a carried item is thrown upwards when spinning.
$01A079 4 bytes Jump (JML/JSL) Modified by Item Release Bulk Patch: Changes the position where a carried item is thrown upwards when spinning.
$01A0AD 4 bytes Jump (JML/JSL) Modified by Item Release Bulk Patch: Puts dropped items next to Mario instead of clipping them inside the ground.
$01A0F6 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one controls the position of the carried sprite.
$01A11A 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes items being carried during reversed gravity mode.
$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.
$01A2B5 4 bytes Jump (JML/JSL) Main hijack of TheBiob's 'Baby Yoshi grow flag' patch.
$01A2E6 5 bytes Jump (JML/JSL) Hijacked by SMA2 Yoshi blocks: Unlocks the Yoshi colour from ?-blocks if you grow a baby Yoshi of that colour into an adult.
$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.
$01A9CA 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It prevents sprites being smushed when $1407 is set, since its purpose has been changed by the patch.
$01AA58 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one is for picking up a sprite.
$01AA5C 1 byte Hex Edit Modified by Yoshi Player Patch: Yoshi can't carry things in his hands.
$01AA5E 6 bytes Jump (JML/JSL) Hijacked by the Can't Pick Up Items When Small patch. It jumps to the code that makes Mario not pick up the item if he's small.
$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.)
Freespace code
$01AD54 4 bytes Code Modified by Hammer Bro Fix patch. It's the new Hammer Bro init routine.
$01AEB4 5 bytes Jump (JML/JSL) Modified by No Sprite Interaction Fix, by chillyfox.

JSL : NOP, modifies the Thwomp main sprite routine to add a proper sprite interaction check.
$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 9 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.
$01AEE5 9 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Thwomp's horizontal proximity check with 16-bit one for if it should fall.
$01AF38 4 bytes Jump (JML/JSL) Modified by Thwomp Ceiling Interaction patch. Adds ceiling interaction for thwomp.
$01AF9F 5 bytes Jump (JML/JSL) Modified by No Sprite Interaction Fix, by chillyfox.

JSL : NOP, modifies the Thwimp main sprite routine to add a proper sprite interaction check.
$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).
$01B4C0 2 bytes Hex Edit Modified by Yoshi Player Patch: Due to the lack of collectable powerups, "small" Yoshi uses the same hitbox as big Yoshi.
$01B4D8 4 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: This one sets the ground flag when Yoshi stands on a solid sprite (e.g. the flying ?-block or a platform).
$01B9CD 2 bytes Code Modified by Lunar Magic.
$01BB33 5 bytes Jump (JML/JSL) Modified by No More Sprite Tile Limits. Disables net door from setting its own hardcoded OAM slot.
$01BBFD 2 bytes Opcode Modified by No More Sprite Tile Limits. Makes use of scratch ram that contains the OAM slot of the net door.
$01C036 4 bytes Jump (JML/JSL) Modified by Magikoopa Palette Editor patch. Changes the way palette is loaded for Magikoopa and allows per-level palettes.
$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.
Expected final code
$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.
$01C12D 48 bytes Code Rewritten by the 16x16 Goal Tape patch. This is the graphics routine of the goal tape.
$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.
$01C349 4 bytes Jump (JML/JSL) Hijacked by the Item Drop Location Fix Patch. JSL, handles the Flower falling from the item box.
$01C353 5 bytes Jump (JML/JSL) Hijacked by the Item Drop Location Fix Patch. JML : NOP, handles the Mushroom falling from the item box.
$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.
$01C35F 1 byte Data Modified by Yoshi Player Patch: Berries sprites are remapped to tile $EC.
$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.
$01C561 4 bytes Jump (JML/JSL) Modified by Invulnerability on power-up. Makes mushroom give invulnerability on contact.
$01C580 18 bytes Jump (JML/JSL) Hijacked by the Star Music Fix Patch

Jumps to the main code.
$01C598 4 bytes Jump (JML/JSL) Modified by Invulnerability on power-up. Makes feather give invulnerability on contact.
$01C59C 5 bytes Jump (JML/JSL) Modified by Feather Score Fix, by RussianMan.

JML : NOP, modifies the feather collection routine to check for "dropped from item box" state and deny score award if set.
$01C5AE 15 bytes Code Hijacked by Romi's Feather Autoscroll Freeze Fix patch. The whole code gets written at this position.
$01C5EC 5 bytes Jump (JML/JSL) Modified by Fire Power Timer patch. Modifies fireflower to set timer for fire power.
$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.
$01C5F3 4 bytes Jump (JML/JSL) Modified by Invulnerability on power-up. Makes fireflower give invulnerability on contact.
$01C636 4 bytes Jump (JML/JSL) Modified by the Runaway Wing Patch. Hijacks the "powerup graphics" routine.
$01C6ED 4 bytes Jump (JML/JSL) Hijacked by the Item Drop Location Fix Patch. JML, handles the Feather falling from the item box.
$01C9E3 4 bytes Code Modified by Yoshi Player Patch: This one prevents drawing a Yoshi duplicate when standing on a Brown Chained Platform.
$01CA75 4 bytes Code Modified by Yoshi Player Patch: This one prevents hiding Yoshi when standing on a Brown Chained Platform.
$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.
$01E1C8 5 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: enables a custom main routine for the Keyhole sprite that checks for the custom key sprite instead of SMW's keys.
$01E1DB 5 bytes Jump (JML/JSL) Modified by Keyhole Fix, by Davros.

JML : NOP, modifies the Keyhole sprite routine to run "sprites locked" and "offscreen" checks.
$01E2E0 10 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces monty moles' horizontal proximity check with 16-bit one.
$01E2F3 4 bytes Jump (JML/JSL) Modified by Level specific speeds for Monty Moles and Hammers. Points to the monty mole routine.
$01E2FB 1 byte Data Modified by Level specific speeds for Monty Moles and Hammers. Monty Mole's timer, slow mode.
$01E301 1 byte Data Modified by Level specific speeds for Monty Moles and Hammers. Monty Mole's timer, fast mode.
$01E691 1 byte Hex Edit Modified by Yoshi Player Patch: Prevents spin jumping from a springboard.
$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.
$01E6D2 6 bytes Jump (JML/JSL) Hijacked by the Can't Pick Up Items When Small patch. It jumps to the code that makes Mario not pick up the Springboard if he's small.
$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.
$01E768 4 bytes Jump (JML/JSL) Modified by the Message Box Expansion patch. Jumps to new code that handles messages for the Display Message 1 sprite.
$01E7B0 4 bytes Jump (JML/JSL) Modified by Cloud Timer Indication patch. Makes use of misc. sprite ram to see if sprite should not display graphics for blinking, and handle blinking timer.
$01E7D0 4 bytes Jump (JML/JSL) Modified by Lakitu Cloud Timer, by Erik.

JML, modifies the "Lakitu cloud dissipates" routine to bypass resummoning a Lakitu if the cloud's extra bit = 1.
$01E839 4 bytes Jump (JML/JSL) Modified by Lakitu Cloud Timer, by Erik.

JSL, modifies the "boarding Lakitu cloud" routine to set a time limit if the extra bit = 1.
$01E8CD 5 bytes Jump (JML/JSL) Modified by Cloud Timer Indication. Checks if cloud should display graphics or not.
$01EB16 4 bytes Jump (JML/JSL) Modified by Perfect Disable Ducking. Fix ducking on yoshi.
$01EB16 4 bytes Jump (JML/JSL) Modified by Disable Ducking, by Iceguy/Meirdent.

JSL, modifies the on-Yoshi check for holding Down to duck to either factor in powerup status, or always disregard the ducking input.
$01EC3B 4 bytes Jump (JML/JSL) Modified by the Message Box Expansion patch. Jumps to new code that handles Yoshi's rescue message.
$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.
$01F71D 5 bytes Jump (JML/JSL) Hijacked by Play as Yoshi: Changes Yoshi's interaction so that sprites hurt the player, not that Yoshi runs away.
$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 12 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Yoshi Egg's horizontal proximity check with 16-bit one.
$01F83D 5 bytes Jump (JML/JSL) Modified by the Yoshi Egg Block Fix patch, by yoshifanatic. Jumps to the main routine of the patch.
$01F86C 7 bytes Jump (JML/JSL) Hijacked by SMA2 Yoshi blocks: Preserves the colour when a Yoshi is spawned from an egg from a block.
$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.
$028008 106 bytes Jump (JML/JSL) Modified by the Instant Item Box v1.4 patch. Jumps to the main code and pads to address $028072.
$028051 14 bytes Jump (JML/JSL) Hijacked by the Item Drop Location Fix Patch. JSL : NOP #10, jumps to a code that sets the falling sprite from item box's X position to constantly match with Mario's.
$02808D 4 bytes Jump (JML/JSL) Modified by Bob-omb Cape Fix. Jumps to the main code.
$02862F 4 bytes Jump (JML/JSL) Hijacked by the Can't Pick Up Items When Small patch. It jumps to the code that makes Mario not pick up a throw block if he's small.
$028830 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes bounce sprites.
$028893 10 bytes Jump (JML/JSL) Modified by "Multi Coin Block Reward" patch. Modifies multi coin blocks to give set reward after hit set amount of times.
$028A18 4 bytes Jump (JML/JSL) Modified by SMB3 Power-up Facing patch. Makes power-ups face away from player when spawned from block.
$028A18 4 bytes Jump (JML/JSL) Hijacked by SMA2 Yoshi blocks: ?-blocks with yoshi eggs spawn one randomly with an unlocked colour (if spawned from blocks).
$028B78 12 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the minor extended sprites.
$0290E5 4 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes bounce sprites.
$0290F9 9 bytes Code Modified by Reverse Gravity. Fixes bounce sprites.
$02912B 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes bounce sprites.
$029163 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes bounce 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.
$029501 3 bytes Code Modified by Yoshi Player Patch: This one disables cape interaction (the cape is retooled into the tongue) with sprites as the tongue interaction is now handled in the main routine.
$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.
$029616 4 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: Turn blocks are not triggered by the cape (which has been retooled into Yoshi's tongue) anymore.
$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.
Hijacked Code
$02962C 4 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: This one adds block detection (more specifically, whether a block is solid or not) to Yoshi's tongue (uses otherwise cape interaction).
$02963A 1 byte Code Modified by Yoshi Player Patch: This one changes which extended sprites don't get destroyed by the cape (now retooled for the tongue).
$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) Modified by Reznor Fireball Flag. Initializes the extended sprite table used by the patch ($1765,x) for every extended sprite.
$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.
$029D9D 5 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: This one changes an unused extended sprite's code into a star which fills your HP.
$029DA2 10 bytes Table Modified by Yoshi Player Patch: Contains the OAM index table for fireballs (which are repurposed into melon seeds).
$029F68 4 bytes Jump (JML/JSL) Modified by the Yoshi Fireball Block Interaction patch, by LX5.

JML, modifies the Yoshi fireball extended sprite to detect Layer 1 tiles when the game is not locked.
$029FAB 2 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the player's fireballs.
$029FD4 1 byte Data Modified by Yoshi Player Patch: Fireballs (which are retooled into melon seeds) have less gravity.
$029FF9 2 bytes Code Modified by Yoshi Player Patch: Fireballs (which are retooled into melon seeds) don't bounce when they hit the ground.
$029FFF 3 bytes Jump (JML/JSL) Modified by Fireball Bounce Limit patch. Increase bounce counter every bounce.
$02A03C 2 bytes 16-bit Pointer Modified by Yoshi Player Patch: Relocates the fireball OAM indices (which are repurposed into melon seeds) into a bigger table.
$02A03E 4 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: Fireballs (which are retooled into melon seeds) use a custom graphics routine.
$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).
Code
$02A0FF 7 bytes Jump (JML/JSL) Hijacked by the FireBall HP patch. It jumps to the main code of the patch.
$02A129 4 bytes Jump (JML/JSL) Modified by Fireball Kill Enemy Respawn Fix, by Erik.

JSL, modifies the player and Yoshi fireball shared "turn sprite to coin" routine to also set the "do not respawn" flag.
$02A129 9 bytes Code Modified by Yoshi Player Patch: This one actually kills sprites instead of turning them into coins when hit with a fireball or melon. Melon Sprite Interaction
$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.
$02A129 4 bytes Jump (JML/JSL) Modified by the Prize by Fire Kills patch. Jumps to the main code.
$02A153 8 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for extended sprites.
$02A178 5 bytes Opcode Modified by Reznor Fireball Flag. Sets the Reznor/Spitting Jumping Piranha Plant's fireball to read a extended sprite table to determine if being big or not, instead of Mode 7 status.
$02A217 2 bytes Hex Edit Modified by the 16x16 Hopping Flame Trail patch. Stores new tile data.
$02A240 6 bytes Jump (JML/JSL) Modified by the 16x16 Hopping Flame Trail patch. Jumps to main code. JSL : RTS : NOP.
$02A309 2 bytes Hex Edit Modified by Reznor Fireball Flag. Removes an INC $1765,x in the hammer/Piranha Plant's fireball code that would otherwise cause conflicts.
$02A31D 4 bytes Jump (JML/JSL) Modified by Reznor Fireball Flag. Since $1765,x won't get incremented anymore due to being removed in the hammer/fireball shared code for other purposes, increment it through this hijack.
$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.
$02A481 5 bytes Jump (JML/JSL) Hijacked by Play as Yoshi: Changes Yoshi's interaction so that extended sprites hurt the player, not that Yoshi runs away.
$02A519 4 bytes Jump (JML/JSL) Modified by Reznor Fireball Flag. Gives the big (Reznor's) fireball proper clipping.
$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.
$02A679 28 bytes Code Modified by Lunar Magic (v3.03 and later). This fixes a game freeze bug with the player bubble sprite's object interaction that would load invalid data as tile data outside the level boundaries (such as when the player swims above screen 0 in horizontal water levels).

Its done by checking if the sprite is outside the level (if Ypos >= RAM_13D7), then don't search for blocks.
$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 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.
Hijacked Code
$02A77B 1 byte Miscellaneous Modified by No More Sprite Tile Limits. Highest sprite slot to spawn normal sprites in for the selected sprite memory index (only if !OldSpriteHeader is not enabled).
$02A78E 1 byte Miscellaneous Modified by No More Sprite Tile Limits. Highest sprite slot for reserved sprite 1 in for the selected sprite memory index (only if !OldSpriteHeader is not enabled).
$02A7A1 1 byte Miscellaneous Modified by No More Sprite Tile Limits. Highest sprite slot for reserved sprite 2 in for the selected sprite memory index (only if !OldSpriteHeader is not enabled).
$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.
$02AD34 24 bytes Code Modified by Shell-Collectable Coins and Yoshi/Dragon Coins to fix some inconsistencies with the score sprite generation routine.
$02AD9E 6 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for score sprites.
$02ADBD 4 bytes Jump (JML/JSL) Hijacked by Disable Score: The JML jumps to check whether the score sprite is an actual score sprite or a 1-up sprite.
$02AF37 4 bytes Jump (JML/JSL) Modified by Triple Ball'n Chain patch. Makes use of extra bit for sprite spawn.
$02AF3D 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Sets upper bits of Y position for run-once sprites.
$02AF51 2 bytes Opcode Modified by Triple Ball'n Chain patch (Non SA-1 only). Makes use of scratch ram to store sprite number.
$02AF55 4 bytes Jump (JML/JSL) Modified by Triple Ball'n Chain patch (SA-1 only). Makes use of scratch ram to store sprite number.
$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 11 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.
$02C067 11 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Rip van fish's vertical proximity check with 16-bit one for when it should wake up and chase player.
$02C360 12 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Changes Whistling Chuck's horizontal proximity check to 16-bit one.
$02C602 16 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Changes Splitting and bouncing chucks' horizontal proximity check to 16-bit one.
$02C64A 12 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.
$02C6BA 12 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Charging chuck's vertical proximity check for when it's charging.
$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.
$02DA67 2 bytes Data Modified by Level specific speeds for Monty Moles and Hammers. Hammer Brother's hammer throwing rates.
$02DA79 4 bytes Jump (JML/JSL) Modified by Level specific speeds for Monty Moles and Hammers. This handles the hammer brother's hammer throwing timer.
$02DB5F 4 bytes Jump (JML/JSL) Modified by Hammer Bro Fix. Used to attach hammer bros to platforms correctly.
$02DB82 6 bytes Jump (JML/JSL) Modified by No More Sprite Tile Limits. Corrects the Hammer Bro's OAM index.
$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.
$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.
$02E5E8 4 bytes Jump (JML/JSL) Modified by Moving ledge hole sprite fix, by Tattletale.

JML, allows the moving ledge sprite to use a special GetSpriteClippingA routine customized for player interaction.
$02E61F 4 bytes Jump (JML/JSL) Modified by Moving ledge hole sprite fix, by Tattletale.

JML, allows the moving ledge sprite to use a special GetSpriteClippingA routine customized for interaction with sprites.
$02E6D3 4 bytes Jump (JML/JSL) Modified by Fishin' Lakitu bug fix. Jumps to the main code.
$02E6EC 5 bytes Jump (JML/JSL) Modified by No More Sprite Tile Limits. Disables the Fishing Lakitu from setting hardcoded OAM slots for its fishing line.
$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
$02F3EA 51 bytes Code Modified by Bird from Yoshi's House Fix. Fixes graphic wraparound and removes bird count limitation (LoROM).
$02F3EA 52 bytes Code Modified by Bird from Yoshi's House Fix. Fixes graphic wraparound and removes bird count limitation (SA-1).
$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).
$02FF50 20 bytes Table Modified by No More Sprite Tile Limits. Changes the OAM slot table for cluster sprites.
$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.
$038254 4 bytes Jump (JML/JSL) Modified by Big Boo Boss Palette Editor. Changes the way palette is loaded for big boo boss and allows per-level palettes.
$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.
$038D87 12 bytes Jump (JML/JSL) Modified by the Message Box Expansion patch. Jumps to new code that handles messages for the Message Box sprite. JSL : NOP #8.
$038E9A 9 bytes Code Modified by Moving Castle Block Offscreen Handling Fix. Calls SubOffScreen and then jumps to the main code.
$03924E 12 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Falling Spike's horizontal proximity check with 16-bit one.
$039890 3 bytes Opcode Modified by No More Sprite Tile Limits. Fixes a bug with the Reznor fight where sprite tiles can briefly disappear due to variable overflow.
$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) Modified by Reznor Fireball Flag. Initializes it to be big according to the changes made by the patch.
$039B03 4 bytes Jump (JML/JSL) Used by the Reznor Fireball Fix patch to make the fireballs fired by Reznor use the new flag.
$03B67C 2 bytes Hex Edit Modified by Yoshi Player Patch: Due to the lack of collectable powerups, "small" Yoshi uses the same hitbox as big Yoshi.
$03B690 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes interaction with sprites when in reversed gravity mode (doesn't fixes sprites damaging the player when stomping them from below).
$03B6AA 4 bytes Jump (JML/JSL) Part of 'Get Sprite A Clipping' routine hijacked by Custom Sprite Clipping patch so clippings 3C and 3D can be used.
$03B6F0 4 bytes Jump (JML/JSL) Part of 'Get Sprite B Clipping' routine hijacked by Custom Sprite Clipping patch so clippings 3C and 3D can be used.
$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.
$03BB20 17 bytes Code Modified by the Extended "Extended OW Level Names" patch. It hijacks Lunar Magic's level names routine, by reserving 56 bytes for the level name (instead of 19).
$03BB37 4 bytes Jump (JML/JSL) Modified by the Extended "Extended OW Level Names" patch. It hijacks Lunar Magic's level names routine to jump to the main code of the patch.
$03BBC9 1 byte Opcode Modified by the Message Box Expansion patch. Sets an RTL as part of an alteration to have Lunar Magic's message hack only set the switch palace number. Alteration
$03BC4F 7 bytes Code Modified by the Message Box Expansion patch. Makes an alteration to Lunar Magic's message hack so that is only sets the switch palace number. Alteration
$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.
$03C05C 1 byte Hex Edit Modified by TheBiob's 'Baby Yoshi grow flag' patch. An RTS is written there because originally the game has two routines that do basically the same thing.
$03C09B 1 byte Hex Edit Modified by TheBiob's 'Baby Yoshi grow flag' patch. An RTS is written there to fix the double eat glitch.
$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.
$048241 4 bytes Jump (JML/JSL) Modified by Overworld Speed Changer by carol, Mellonpizza and WhiteYoshiEgg.

JML, modifies the overworld game mode to run the movement speed routine multiple times, enabling faster movement.
$048242 4 bytes Jump (JML/JSL) Hijacked by carol & WhiteYoshiEgg's 'Overworld speed changer' patch. Jumps to the main routine.
$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.
$0485B2 2 bytes Hex Edit Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by included file hexedits.asm.

Modifies Y position of the player sprite on the overworld border.
$0485C5 4 bytes Jump (JML/JSL) Modified by the Overworld Indicators patch. Main hijack of the patch; draws the actual counter. [JML]
$0485CA 5 bytes Jump (JML/JSL) Modified by Yoshi Player Patch: Initialises RAM used by the patch during overworld load.
$0485CF 4 bytes Hex Edit Modified by the Extended "Extended OW Level Names" patch. It removes the player image from the overworld border.
$0487CB 384 bytes Hex Edit Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by included file ow_mario.asm.

Replaces the player overworld sprite tilemap.
$0487CB 384 bytes Hex Edit Modified by Easier OW Mario Editor, by Ladida.

Replaces the player overworld sprite tilemap.
$0489DE 384 bytes Hex Edit Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by included file ow_mario.asm.

Replaces the yoshi + player overworld sprite tilemap.
$0489DE 384 bytes Hex Edit Modified by Easier OW Mario Editor, by Ladida.

Replaces the yoshi + player overworld sprite tilemap.
$048E81 10 bytes Code Modified by Lunar Magic. Jumps to a routine that handles level names, located at $03BB20.
$048F74 4 bytes Jump (JML/JSL) Kaijyuu's Multi Midway Points 1.7 Patch's part that hijacks the midway point reset code.
$048F8A 5 bytes Code Modified by Lunar Magic.
$049002 1 byte Code Modified by Lunar Magic.
$049037 Unknown Code Modified by the Overworld Indicators patch. This one modifies the save routine so the game saves whenever you beat a level and doesn't rely on a safe prompt anymore if desired. (Actual size depends whether OW expansion is enabled or not) With Autosave Without Autosave
$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.
$04A530 1 byte Hex Edit Modified by the Extended "Extended OW Level Names" patch. It removes the 'x' character next to the overworld life counter.
$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.
$04DC6A 5 bytes Code Modified by the Free $7F0000 patch. Replaces a JSR and a pair of useless processor flag switches for a JSL. Edit
$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.
$04DD56 1 byte Opcode Modified by the Free $7F0000 patch. Changes an RTS to an RTL.
$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.
$04E5F5 4 bytes Jump (JML/JSL) Modified by the Overworld Indicators patch. Writes to the exit table SRAM synchronizing when a level is beaten. [JML]
$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.
$04E6C5 4 bytes Jump (JML/JSL) 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.
$04EACC 11 bytes Code Modified by Lunar Magic.
$04EAD8 2 bytes Code Modified by Lunar Magic.
$04EAF5 3 bytes Code Modified by Lunar Magic.
$04EBDA 7 bytes Hex Edit Modified by 32×32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by included file hexedits.asm.

Remaps overworld sparkle tiles to free space for the 32x32 player sprite on the overworld.
$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.
$04EDDD 4 bytes Jump (JML/JSL) 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.
$04EEC3 5 bytes Jump (JML/JSL) Modified by Lunar Magic.
$04EEC9 3 bytes Code Modified by Lunar Magic.
$04EEDD 1 byte Code Modified by Lunar Magic.
$04EEE1 1 byte Opcode Modified by Lunar Magic.
$04EEF1 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$04EF27 20 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.
$05CC84 5 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This one saves all collected coins through beating a level with a goal post/sphere.
$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.
$05CF15 9 bytes Jump (JML/JSL) Modified by the Trust Fund patch. Loads Yoshi Coin count then jumps to the main code with a JML : NOP #2.
$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.
$05D842 4 bytes Jump (JML/JSL) The main jump of Kaijyuu's Multi Midway Points 1.7 Patch.
$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.
$05D8B9 3 bytes Jump (JMP/JSR) Modified by the Message Box Expansion patch. Jumps to the LevelNum code at $05DC46.
$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.
$05D9DE 4 bytes Jump (JML/JSL) Jumps to secondary exit handling code so Kaijyuu's Multi Midway Point 1.7 Patch can use them as midway points without messing with the original midway entrance.
$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.
$05DAA3 4 bytes Jump (JML/JSL) A hijack from Kaijyuu's Multi Midway Points 1.7 Patch that makes secondary exits compatible with 'No Yoshi' intros.
$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.
$05DBC9 2 bytes Data Modified by the Extended "Extended OW Level Names" patch. It changes the position of the life counter on the overworld to the bottom right corner.
$05DBF2 4 bytes Jump (JML/JSL) Modified by 999 lives, handles the lives' code during the overworld and when exchanging them.
$05DC46 7 bytes Code Modified by the Message Box Expansion patch. LevelNum, stores the current level number to $010B.
$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.
$0DA924 4 bytes Jump (JML/JSL) Modified by the "Beat level by collecting all of the coins" patch. Jumps to a routine which counts how many coin objects are in the level.
$0DA963 17 bytes Code Modified by Lunar Magic. Increments $6B-$6C/$6E-$6F by the current level height ($13D7) instead of constant #$01B0. Implementation
$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. Implementation
$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. Implementation
$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. Data
$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.
$0FFB9C 4 bytes Jump (JML/JSL) Modified by 32x32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

JML, overwrites Lunar Magic code to skip uploading player graphics during overworld path transitions, preventing graphical bugs.
$0FFC94 4 bytes Jump (JML/JSL) Modified by 32x32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

JML, overwrites Lunar Magic code to correct player palette mirrors prior to palette upload, preventing graphical bugs.
Per Page: 25 50 75 100 150 500 All

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: 7

Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • SMBX Community
  • ROMhacking.net
  • MFGG