Banner
Views: 852,865,689
Time:
21 users online: discordant, ExONightZ, Flamesofshadow, Freitasth, Hood Bo, Infinity, Ixitxachitl, Josuke Yoshikage,  Koopster,  Lazy, LeaderAngelo,  MarioFanGamer, ModernKiwi, Neexy, Phyll, slakkmichael, Stunyboy,  Tahixham, Valkyria, Yoshivert99, Zandro - Guests: 73 - Bots: 58 Users: 47,031 (2,520 active)
Latest: Hood Bo
Tip: If you plan on making long levels, be sure to include multiple midway points. A patch for this can be found in the Patches section.Not logged in.
SMW Memory Map
Displaying 1382 out of 1382 addresses. Show Waiting Addresses (4)
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.
$008027 4 bytes Code Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Inserts a SEP #$30, to set the processor status to 8-bit A and X/Y, and a BRA to skip the code that uploads the OAM clear routine to $7F8000.
The BRA jumps to $008052 if !UberASMTool = 0, and to $00804E if !UberASMTool = 1.
$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.
$00804E 4 bytes Jump (JML/JSL) Hijacked by UberASMTool.
JML, jumps to the routine that initializes the freeram used by the tool and executes the global init code.
$008052 3 bytes Jump (JMP/JSR) Hijacked by AddmusicK.
Inserts a JSR to the custom UploadSPCEngine routine inserted in the $008079 area, replacing the original JSR.
$00805E 3 bytes Hex Edit Modified by AddmusicK.
Inserts 3 NOPs to skip a JSR to a routine that uploads samples to the SPC700.
$00806B 4 bytes Jump (JML/JSL) Hijacked by UberASMTool.
JML, jumps to the routine that executes global main code.
$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.
$008075 4 bytes Jump (JML/JSL) Hijacked by AddmusicK.
JML to the main AMK routine inserted in the $0E8000 area.
$008079 209 bytes Code Modified by AddmusicK.
Replaces the original SPC data upload routine with a custom one.
$008176 6 bytes Jump (JML/JSL) Hijacked by UberASMTool.
JML : NOP #2, jumps to the routine that executes all possible NMI codes inserted in the tool (global, level, gamemode, overworld). For efficiency, certain parts of the code are only inserted if needed.
$008179 49 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP #47 : +, skips over original NMI audio code that's already handled in AMK's routines. This is inserted in case neither $008179 == $5C nor $008176 == $5C.
$00817C 46 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP #44 : +, skips over original NMI audio code that's already handled in AMK's routines. This is inserted in case $008176 is $5C (JML), to make it compatible with a LevelNMI (UberASM) hijack.
$00817D 45 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP #43 : +, skips over original NMI audio code that's already handled in AMK's routines. This is inserted in case $008179 is $5C (JML), to make it compatible with PowerTool.
$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]
$0081AA 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it jumps to the code that turns off HDMA during level transitions (including room respawning).
$0081D5 4 bytes Jump (JML/JSL) Modified by "Mode 7 Game Over Screen" patch. Check for game over game mode and update mode 7 image.
$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.
$0081F4 3 bytes Hex Edit Modified by "Remove Status Bar" patch. Remove routine call that draws status bar during normal levels.
$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 3 bytes Jump (JMP/JSR) Modified by "Remove Status Bar" patch. Jump to code that disables IRQ.
$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.
$0082B0 6 bytes Jump (JML/JSL) Modified by VWF Level Intros. Modifies brightness ($2100) store at NMI by aligning it to h-blank.
$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).
$0082E8 3 bytes Hex Edit Modified by "Remove Status Bar" patch. Remove routine call that draws status bar during Mode 7 boss battles.
$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.
$0085D2 4 bytes Hex Edit Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
It writes the original data [$A4, $12, $B9, $D0] in case the first byte is $5C (JML). This specifically restores the changes made by the Strip Image Uploader Hack patch by imamelia.
$008642 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace.
$0086DA 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F812E with a JSL to the OAM clear routine in freespace.
$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.
$008C81 964 bytes Hex Edit Modified by "Remove Status Bar" patch. Removes status bar functionality, including initialization, drawing, timer, score, coins, lives, stars (partially) and dragon coins, marking it as freespace.
$008C81 46 bytes Code Modified by "Remove Status Bar" patch. Disable IRQ. Written on top of freespace that was freed by another hijack (Non-SA-1, !enable_coins is disabled).
$008C81 68 bytes Code Modified by "Remove Status Bar" patch. Disable IRQ and place coin handling routine. Written on top of freespace that was freed by another hijack (SA-1 ROM, !enable_coins is enabled).
$008C81 43 bytes Code Modified by "Remove Status Bar" patch. Disable IRQ. Written on top of freespace that was freed by another hijack (SA-1 ROM, !enable_coins is disabled).
$008C81 71 bytes Code Modified by "Remove Status Bar" patch. Disable IRQ and place coin handling routine. Written on top of freespace that was freed by another hijack (Non-SA-1, !enable_coins is enabled).
$008C89 12 bytes Table Modified by the Death Counter Version 1.2 patch by Thomas.

Table values for the "DEATHS" text.
$008CA9 20 bytes Hex Edit Modified by the SMB3 P-Meter Patch, by Ersanio.

Sets the status bar to draw the P-meter.
$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.
$008CCD 2 bytes Hex Edit Hijacked by the Yoshi Coin Counter Patch, by Darolac.

Changes the red star icon on the status bar to a yellow coin.
$008CDF 1 byte Hex Edit Hijacked by the SMB3 P-Meter Patch, by Ersanio.

A simple hex edit that places a clock tile before the timer in the status bar.
$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 the SMB3 P-Meter Patch, by Ersanio.

A JML that jumps to the main routine of creating the P-meter.
$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.
$008E1A 5 bytes Jump (JML/JSL) Hijacked by UberASMTool.
JML : NOP, jumps to the code that executes custom status bar code inserted by the tool.
$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.
$008E5B 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it sets a flag when the music is sped up because the timer dropped under 100 seconds.
$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.
$008E75 6 bytes Jump (JML/JSL) Modified by the Punching System patch, by wiiqwertyuiop.

JSL : NOP #2, hijacks the status bar routine to run the main code every frame.
$008E95 139 bytes Code Modified by the 8 Digits Score patch by Isikoro.
Modifies the routine that sets the status bar addresses to adapt to the new score system.
$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.
$008EDE 5 bytes Jump (JML/JSL) Hijacked by the Red Coin Counter Patch, by Iceguy and Major Flare.
JSL : NOP, hijacks the status bar so that the red coin count can be properly displayed there.
$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).
$008F3B 6 bytes Jump (JML/JSL) Modified by the Death Counter Version 1.2 patch by Thomas.

JSL, jumps to a custom routine that draws the counter tiles to the status bar, then branches forward to a label inserted at $008F5B.
$008F49 4 bytes Jump (JML/JSL) Hijacked by the Speed Testing Patch by Pseudonym.
It jumps to the main code of the patch.
$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) Modified by the Duck Walking patch, by Pseudonym.
Allows moving left or right when ducking.
$008F49 4 bytes Jump (JML/JSL) Hijacked by Play as Yoshi: Runs the main code every frame.
$008F55 6 bytes Jump (JML/JSL) Modified by the Numerical Dragon Counter patch, by Neosz. Writes the number of Dragon Coins collected to the status bar.
$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.
$008F5E 3 bytes Code Hijacked by the Yoshi Coin Counter Patch, by Darolac.

Replaces a read of the bonus stars counter with a read of the "number of levels in which all Yoshi coins were found" counter in the status bar routine.
$008F67 12 bytes Code Hijacked by the Yoshi Coin Counter Patch, by Darolac.

Disables the bonus stars bonus game and prevents the "number of levels in which all Yoshi coins were found" counter from exceeding 99 (decimal).
Code
$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.
$008F8F 3 bytes Code Hijacked by the Yoshi Coin Counter Patch, by Darolac.

Modifies the status bar number drawing routine to draw the number of levels in which all Yoshi coins were found instead of bonus stars.
$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]
$008FE4 14 bytes Code Modified by the Numerical Dragon Counter patch, by Neosz. This hijack clears the "Draws Yoshi Coins in the status bar" routine.
$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.
$009012 51 bytes Code Modified by the 8 Digits Score patch by Isikoro.
Replaces the original "6 digits Hex-Dec" routine with an "Add points routine" (ends in RTL), which adds the 16-bit value in A to the score, and returns with A in 8-bit mode. To add score when using this patch, you can call this routine with a JSL.
$009051 128 bytes Hex Edit Modified by "Remove Status Bar" patch. Removes status bar functionality, including stars and reserve item, marking it as freespace.
$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.
$0091A6 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it jumps to an initialization 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) Hijacked by UberASMTool.
JML, jumps to the routine that executes both "init" and "main" labels for gamemode specific codes. The init will be executed for the first frame of the gamemode, then the main will be executed for every frame after.
$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.
$0093C0 5 bytes Code Modified by AddmusicK.
Changes the "Nintendo Presents" song number, and changes "STA $1DFC" to "STA $1DFB" (since it's changed from SFX to song).
$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]
$0093E6 4 bytes Jump (JML/JSL) Modified by "Mode 7 Game Over Screen" patch. Upload palette for mode 7 image.
$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.
$009476 5 bytes Jump (JML/JSL) Modified by "Mario + Animated Tile ExGFX" patch. Load default Mario and Animation graphics for credits.
$0094A0 3 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP : +, skips over the JSR to the vanilla routine that uploads the credits music data.
$0094B3 1 byte Hex Edit Modified by AddmusicK.
Changes the song number of the castle destruction cutscene.
$0094FD 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace.
$0095AB 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace.
$0095B6 3 bytes Code Modified by Lunar Magic.
$0095E9 13 bytes Code Modified by Lunar Magic.
$009632 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace.
$0096A1 7 bytes Code Modified by VWF Level Intros. Gets rid of the Yoshi's House check for "MARIO START!" since the patch can handle that now.
$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.
$0096B4 4 bytes Jump (JML/JSL) Hijacked by the Individual Dragon Coin Save patch by worldpeace, JackTheSpades and LX5.
JML, it jumps to a routine that initializes the ram tables used by the patch.
$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]
$0096C3 3 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP : +, skips over the JSR to the vanilla routine that uploads the overworld music data.
$0096C7 1 byte Hex Edit Modified by AddmusicK.
Changes the title screen song number.
$0096CB 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it jumps to a routine that initializes all the checkpoint flags ram.
$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)
$009702 3 bytes Hex Edit Modified by AddmusicK.
NOP #3, skips over the JSR to the vanilla routine that uploads the level music data.
$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.
$009723 5 bytes Hex Edit Modified by AddmusicK.
Changes the intro screen music number, and stores it to $1DFB rather than $0DDA.
$009728 24 bytes Code Modified by AddmusicK.
Modifies part of the code that sets the current level music by removing the check for bit 6 in $0DDA. It also replaces the original "Bowser fight" song number at $009737.
$009734 2 bytes Hex Edit Modified by AddmusicK.
Changes "BNE $02" to "BNE $05" to skip over "STA $1DFB".
$009738 4 bytes Jump (JML/JSL) Hijacked by the patch included in the Music Playlist uberASM by binavik.
JML, jumps to code that prevents the music from resetting back to the song set in Lunar Magic if the current song is different.
$00973B 5 bytes Code Modified by AddmusicK.
Replaces the original "AND #$BF" with NOPs, and then stores to $0DDA.
$009750 4 bytes Jump (JML/JSL) Modified by "Mode 7 Game Over Screen" patch. Upload mode 7 image.
$009759 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace.
$009759 4 bytes Jump (JML/JSL) Modified by the Skip Game Over/Time Up Sequence with a Button Press patch, by RussianMan.

JML, modifies game mode 17 (Game Over / Time Up) to skip immediately to game mode 0B (Fade to Overworld) on any button press.
$009759 4 bytes Jump (JML/JSL) Modified by "Mode 7 Game Over Screen" patch. Check mode 7 image size and display puff of smoke.
$00977C 3 bytes Opcode Modified by "Mode 7 Game Over Screen" (SA-1 only). Fixes an oversight in SA-1 Pack which causes garbage to appear on the game over screen with this patch applied.
$00985A 3 bytes Hex Edit Modified by "Remove Status Bar" patch. Remove Status bar initialization.
$009870 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace.
$009888 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace.
$009A6F 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace.
$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.
$009B3F 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
Part of the sram expansion patch included in retry. If !midway_sram = 1, it jumps to a routine that erases the current save file data. Otherwise, it restores the original code ([D0 2C A0 02]).
$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]
$009BC9 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
Part of the sram expansion patch included in retry. If !midway_sram = 1, it's a JML which jumps to a routine to save the new data. Otherwise, it writes the original code ([8B 4B AB AE]).
$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.
$009C9F 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace.
$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.
$009E13 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
Part of the sram expansion patch included in retry. If SRAM plus is not installed in the rom, it jumps to the code that loads the custom data from sram. Otherwise, it restores the original code ([22 AD DA 84]).
$009E17 5 bytes Hex Edit Hijacked by AddmusicK.
BRA + : NOP #3 : +, skips the code that makes the music fade out after a game over.
$009E25 1 byte Hex Edit Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
It writes the initial lives count as set by the user.
$009E25 1 byte Hex Edit Modified by "Start with ..." by DiscoTheBat.

Set initial amount of lives.
$009E32 6 bytes Jump (JML/JSL) Modified by "Start with ..." by DiscoTheBat.

Initialize lives, power-ups, items for the item box and yoshi for both players (part 1).
$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).
$009E42 6 bytes Jump (JML/JSL) Modified by "Start with ..." by DiscoTheBat.

Initialize lives, power-ups, items for the item box and yoshi for both players (part 2).
$009E56 4 bytes Jump (JML/JSL) Hijacked by SMA2 Yoshi blocks: Green Yoshis are already unlocked on new files.
$009E5F 2 bytes Opcode Modified by "Start with ..." by DiscoTheBat.

Don't reset initial player.
$009F19 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$009F19 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
JSL, it jumps to the routine at $05DD80.
$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.
$00A0B3 3 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP : +, skips over the JSR to the vanilla routine that uploads the overworld music data.
$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]
$00A0BF 4 bytes Jump (JML/JSL) Modified by "Mario + Animated Tile ExGFX" patch. Load default Mario and Animation graphics for overworld.
$00A0CA 39 bytes Code Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
Part of the counterbreak code included in retry. It resets various counters if the respective define is set (!counterbreak_powerup, !counterbreak_coin, !counterbreak_yoshi), otherwise it restores the original code.
$00A0D8 8 bytes Code Modified by Leave Yoshi in Level by JackTheSpades and Katrina.

Remove yoshi when going to the overworld.
$00A101 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
Part of the sram expansion patch included in retry. If SRAM plus is not installed in the rom, it jumps to the routine that loads the custom data from sram. Otherwise, it restores the original code ([22 AD DA 84]).
$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.
$00A18F 6 bytes Jump (JML/JSL) Hijacked by UberASMTool.
JML : NOP #2, jumps to the routine that executes the "init" label for overworld specific codes.
$00A1C3 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace. This hijack is only applied when !UberASMTool = 0.
$00A1C3 4 bytes Jump (JML/JSL) Hijacked by UberASMTool.
JML, jumps to the routine that executes the "main" label for overworld specific codes.
$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.
$00A1DF 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JSL, modifies the start of gamemode 14's code to execute the retry prompt code when $1426 has particular values (if not, the original message box routine is executed instead).
$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.
$00A231 2 bytes Hex Edit Modified by AddmusicK.
Changes the "Unpause" sfx number to $08 (in bank $1DFA).
$00A23D 5 bytes Code Modified by AddmusicK.
Changes the "Pause" sfx number to $07 (in bank $1DFA), and changes the STY $1DF9 to STY $1DFA.
$00A242 5 bytes Jump (JML/JSL) Hijacked by UberASMTool.
JML : NOP, jumps to the routine that executes the "main" label for level specific codes.
$00A261 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it makes so exiting with start+select is always possible when using the "fast retry" setting.
$00A264 4 bytes Jump (JML/JSL) Modified by the Start + Select Advanced patch, by MarioFanGamer.

JML, modifies the "Select pressed while paused" routine to add in per-level checks and custom behaviors.
$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 5 bytes Jump (JML/JSL) Modified by the Lower Volume When Pausing patch, by KevinM.

JML : NOP, modifies the Start + Select routine to return the game volume to it's proper value when leaving a level.
$00A284 4 bytes Jump (JML/JSL) Modified by Start+Select SFX, jumps to main code (plays SFX, changes game mode and returns).
$00A284 5 bytes Jump (JML/JSL) Modified by the Better Music Pause patch by KevinM.

JML : NOP, modifies the Start + Select routine to return the game volume to its proper value when leaving a level.
$00A28A 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it requests the correct retry type if Mario is currently in the death animation.
$00A28E 1 byte Hex Edit Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
It changes the offset the BPL (at $00A28D) jumps to, depending on other patches installed in the rom that use nmi (specifically, the Mario DMA patches).
$00A295 4 bytes Jump (JML/JSL) Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio.
Replaces JSL $7F8000 with a JSL to the OAM clear routine in freespace. This hijack is only applied if !UberASMTool = 0.
$00A295 4 bytes Hex Edit Modified by UberASMTool.
Inserts 4 NOPs to remove "JSL $7F8000", since that routine is already called earlier in the main level code.
$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
$00A2D5 3 bytes Jump (JMP/JSR) Modified by "Remove Status Bar" patch. Enables coin functionality (!enable_coins is enabled).
$00A2D5 3 bytes Hex Edit Modified by "Remove Status Bar" patch. Disable call for coin functionality (!enable_coins is disabled).
$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.
$00A2E2 4 bytes Jump (JML/JSL) Modified by the patch included in the Carryable Pipe sprite by WhiteYoshiEgg.
It makes so when !FreezeTimeWhenTeleporting is set to 1, all sprites properly freeze while teleporting using the pipe.
$00A2E2 4 bytes Jump (JML/JSL) Modified by the patch included in the Portable Orb of Teleportation sprite by algae and WhiteYoshiEgg.
It makes so when !FreezeTimeWhenTeleporting is set to 1, all sprites properly freeze while teleporting using the orb.
(Note: this sprite is based on the Carryable Pipe, and they use the same hijacked code, so they can be used together).
$00A2EE 5 bytes Jump (JML/JSL) Modified by SMA2 Slide Kill Chain patch by HammerBrother.

Reset consecutive kill counter if player stops sliding.
$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) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it hijacks the MarioGFXDMA routine to transfer the retry prompt's letters through DMA when requested (only if no custom Mario DMA patches are used, otherwise the hijack is placed at $00A304+read1($00A28E)).
$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.
$00A5A8 3 bytes Hex Edit Modified by "Remove Status Bar" patch. Remove routine call that initializes status bar.
$00A5AB 4 bytes Jump (JML/JSL) Modified by various patches such as Yoshi Player Patch and sprite status bar patches, to initialize their respective RAM adresses (i.e. counter positions, carried sprites, eggs, etc.).
$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.
$00A5D5 3 bytes Jump (JMP/JSR) Modified by "Remove Status Bar" patch. Enables coin functionality (!enable_coins is enabled).
$00A5D5 3 bytes Hex Edit Modified by "Remove Status Bar" patch. Removes call coin funtionality (!enable_coins is disabled).
$00A5D5 5 bytes Jump (JML/JSL) Modified by "Mario + Animated Tile ExGFX" patch. Load Mario and Animation graphics on per-level basis.
$00A5E1 6 bytes Code Modified by Lunar Magic.
$00A5EE 4 bytes Jump (JML/JSL) Hijacked by UberASMTool.
JML, jumps to the routine that executes the "init" label for level specific codes.
$00A5FE 3 bytes Code Modified by Lunar Magic.
$00A635 31 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP #29 : +, skips over code that manipulates $0DDA.
$00A645 15 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP #13 +, skips over code that manipulates $0DDA.
$00A65D 3 bytes Code Hijacked by the Power Surge Patch, by Glyph Phoenix.

NOP #3, disables the zero-ing of the Star Counter on level load.
$00A683 3 bytes Hex Edit Modified by the Goal Type-Dependent Behavior (No Goal Sphere Walk) patch, by Koopster.

Changes an ASL to a STZ, so that $13CB is always cleared when a level is loaded.
$00A6B8 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00A6CC 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00A6CC 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
JSL, it jumps to the routine at $05DD00.
$00A6ED 8 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP #6 +, skips over code that manipulates $0DDA.
$00A7B9 8 bytes Jump (JML/JSL) Modified by Center Scroll 3.3, by HammerBrother and Thomas.
JSL : NOP #4, jumps to the code that sets initial scroll line positions.
$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".
$00C483 1 byte Hex Edit Modified by the Goal Type-Dependent Behavior (No Goal Sphere Walk) patch, by Koopster.

Changes a BPL to a BRA so that $13CB's star power code never runs.
$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.
$00C526 1 byte Hex Edit Modified by AddmusicK.
Changes the "Bonus game end" song number.
$00C53E 5 bytes Code Modified by AddmusicK.
Changes "LDA $0DDA" to "LDA !MusicBackup" (although !MusicBackup = $0DDA so it's kind of pointless) and replaces "BMI $0C" with two NOPs.
$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.
$00C5CE 8 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
JSL : NOP #4, it fixes HDMA issues that happen when setting $7E0071 to #$0B while outside of Bowser's fight (since the pipes use it to freeze the player and disable interactions).
$00C921 5 bytes Code Modified by the Goal Type-Dependent Behavior (No Goal Sphere Walk) patch, by Koopster.

Replaces the vertical level check with a "$13CB non-zero" check, so that when $13CB is set, the Goal Point Question Sphere will always have vertical level behavior (like Sunken Ghost Ship), even in horizontal levels.

This also fixes the bug where a standard goal tape will behave like a Goal Point Question Sphere in vertical levels.
$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.
$00C9B7 5 bytes Jump (JML/JSL) Modified by Leave Yoshi in Level by JackTheSpades and Katrina.

Initialize zoom in after yoshi is ditched.
$00C9BD 1 byte Hex Edit Modified by AddmusicK.
Changes the "Iris out" song number.
$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.
$00C9C2 10 bytes Jump (JML/JSL) Modified by Leave Yoshi in Level by JackTheSpades and Katrina.

Handles yoshi ditching when ending the level.
$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.
$00CA2B 4 bytes Jump (JML/JSL) Hijacked by the Midway Point Timer Reset patch by WhiteYoshiEgg.
JML, it jumps to a routine to reset the timer when the midway is touched.
$00CA2B 5 bytes Jump (JML/JSL) Hijacked by the Individual Dragon Coin Save patch by worldpeace, JackTheSpades and LX5.
JSL : NOP, it jumps to a routine that copies the collected Dragon Coins buffer to the tables, when !Midpoint = 1. If !Midpoint = 0, the original code (LDA #$01 : STA $13CE) is written instead, to restore it in case of patching it after changing !Midpoint from 1 to 0.
$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
$00CCC3 3 bytes Jump (JMP/JSR) Modified by Center Scroll 3.3, by HammerBrother and Thomas.
JSR, jumps to $00CDDD. Re-enables L/R Scrolling when the option is enabled.
$00CCC3 3 bytes Code Modified by Center Scroll 3.3, by HammerBrother and Thomas.
NOP #3, disables L/R Scrolling when the option is enabled.
$00CCCA 6 bytes Jump (JML/JSL) Hijacked by the ControllerHamper patch included in the SMB3 Goomba Family, by Sonikku.

JML : NOP #2, jumps to code that disables A,B,X,Y,L and R if a FreeRAM flag is non-zero.
$00CDF6 4 bytes Code Modified by Center Scroll 3.3, by HammerBrother and Thomas.
Snippet of code that re-enables L/R Scrolling when the option is enabled.
$00CDF6 4 bytes Jump (JML/JSL) Modified by Center Scroll 3.3, by HammerBrother and Thomas.
JML, jumps to $00CE78. Disables L/R Scrolling when the option is enabled.
$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.
$00CF48 6 bytes Jump (JML/JSL) Hijacked by the Big Mario -> Small Mario GFX patch, by K3fka.

JML, jumps to code that decrements the X register when Mario's powerup status is 1 (big Mario), that serves as an index for Mario's spinjumping GFX. 2 leftover bytes are NOP'd out.
$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.
$00D064 4 bytes Jump (JML/JSL) Hijacked by the Charged Fireball patch by Ladida and SuperMariaSis.
It makes so the charged fireball timer is reset when getting the cape powerup.
$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.
$00D076 5 bytes Jump (JML/JSL) Modified by the No Capespin In Water patch, by Ersanio.
Disables capespinning when in water.
$00D085 4 bytes Jump (JML/JSL) Hijacked by the Charged Fireball patch by Ladida and SuperMariaSis.
It jumps to the main code of the patch.
$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
$00D0D8 3 bytes Hex Edit Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
It NOPs out the code that decrements the player's lives, if !lose_lives = 1. Otherwise, it restores the original code (DEC $0DBE).
$00D0DE 1 byte Hex Edit Modified by AddmusicK.
Changes the game over song number.
$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.
$00D24E 4 bytes Jump (JML/JSL) Hijacked by the Horizontal Pipe Exiting Sound Fix Patch, by RussianMan.

JSL, A jump to a routine that handles Mario's exiting from a horizontal pipe, adding the sound it missed in the original code.
$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.
$00D649 5 bytes Jump (JML/JSL) Modified by the Separate Jump SFX patch, by Lui.

JSL : NOP, changes the SFX of a regular spin jump to a custom sound that varies with current powerup if set to do so. Reverts the hijack to the original values otherwise.
$00D65E 5 bytes Jump (JML/JSL) Modified by the Separate Jump SFX patch, by Lui.

JSL : NOP, changes the SFX of a regular jump to a custom sound that varies with current powerup if set to do so. Reverts the hijack to the original values otherwise.
$00D65E 5 bytes Code Hijacked by AddmusicK.
Changes the jump SFX number, and remaps it to either $1DFC or $1DF9.
If !JumpSFXOn1DFC == !true, it writes "LDA #$35 : STA $1DFC", otherwise it writes "LDA #$2B : STA $1DF9".
$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) Hijacked by the Remove Speed Oscillation Patch, by tjb0607.
JML, hijacks the acceleration routine to clamp speed so it doesn't oscillate.
$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.
$00DA6C 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It makes the pipes compatible with Layer 3 tides.
$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.
$00DBA5 5 bytes Jump (JML/JSL) Modified by the Separate Jump SFX patch, by Lui.

JSL : NOP, changes the "jump off vine/net" SFX from the normal jump sound to a custom sound that varies with current powerup if set to do so. Reverts the hijack to the original values otherwise.
$00DBA5 5 bytes Code Hijacked by AddmusicK.
Changes the jump SFX number, and remaps it to either $1DFC or $1DF9.
If !JumpSFXOn1DFC == !true, it writes "LDA #$35 : STA $1DFC", otherwise it writes "LDA #$2B : STA $1DF9".
$00DBCA 6 bytes Jump (JML/JSL) Modified by the No 1-UPS While Climbing patch, by wiiqwertyuiop.
Resets the consecutive kill counter when climbing.
$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.
$00DF17 1 byte Hex Edit Modified by the Big Mario -> Small Mario GFX patch, by K3fka.

Changes big Mario's tileset to be that of small Mario.
$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.
$00E2E3 4 bytes Jump (JML/JSL) Hijacked by the Star Time Low SFX patch by StackDino.
JSL, jumps to the code that plays the "P-Switch running out" SFX when the star timer reaches the value $1E (30).
$00E2EE 9 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP #7 +, skips over code that manipulates $0DDA.
$00E303 5 bytes Code Hijacked by the Power Surge Patch, by Glyph Phoenix.

NOP #5, disables music changing with P-Switch/directional coins.
$00E304 1 byte Hex Edit Modified by AddmusicK.
Changes the P-Switch song number.
$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.
$00E49A 4 bytes Jump (JML/JSL) Modified by the Victory Pose Fix Patch, by TheBiob.

A JSL that jumps to a code that fixes small Mario's head position in his victory pose.
$00E98C 4 bytes Jump (JML/JSL) Modified by the patch included in the Single Screen UberASM by TheBiob.
It makes so Mario doesn't trigger a side exit when crossing the borders of the screen.
$00E991 4 bytes Jump (JML/JSL) Modified by the patch included in the Horizontal/Vertical Level Wrap UberASM by Thomas.
It makes so, when using the vertical wrap, Mario doesn't trigger a side exit when he crosses the borders of the screen.
$00E99C 4 bytes Jump (JML/JSL) Modified by the Side Exit Triggers Goal patch, by RussianMan.

JSL, modifies the "side exit enabled" state to decide whether to activate an event.
$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.
$00EA8D 5 bytes Jump (JML/JSL) Modified by the Separate Jump SFX patch, by Lui.

JSL : NOP, changes the "spin jump out of water" SFX from the spin jump sound to a custom sound that varies with current powerup if set to do so. Reverts the hijack to the original values otherwise.
$00EAA9 5 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
JSL : NOP, backups Mario's blocked status ($7E0077) before the custom block code is executed, otherwise it'd always be 0 when loaded during the block's code.
$00EAE1 4 bytes Jump (JML/JSL) Modified by Layer 2+3 Wallrun Triangle Fix patch. Checks which layers are enabled/if triangle is on layer 2 and applies it's intended mechanics.
$00EB77 4 bytes Jump (JML/JSL) Modified by the "Freeram Controlled Hitbox" patch. Jumps to the first section of the main code.
$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).
$00EC7E 4 bytes Jump (JML/JSL) Hijacked by the Layer2InteractionFlag patch included in the Wall Stick & Jump UberASM, by RussianMan.

If !Uninstall is 0 it jumps to code (JSL) that ensures Mario's positions are updated correctly with moving Layer 2 when sticking to a wall, before restoring the hijacked code. Otherwise, if !Uninstall is set to 1, restores the original code.
$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.
$00EE35 4 bytes Jump (JML/JSL) Modified by Layer 2+3 Wallrun Triangle Fix patch. Checks enabled layers and applies player sliding with cape on triangle.
$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.
$00EEC3 1 byte Hex Edit Modified by AddmusicK.
Changes the "Stage clear" song number.
$00EECC 4 bytes Jump (JML/JSL) Hijacked by the Yump Reward / No-Yump Penalty Patch, by JamesD28.
JML, hijacks the display message routine so that if the prize gives coins, the message doesn't display until all of the coins are done being collected.
$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.
$00EF87 4 bytes Jump (JML/JSL) Hijacked by the Red Yoshi's Fire Stomp patch, by RussianMan.

JML, jumps to code that allows Red Yoshi to produce fireballs when stomping the ground, when he has a yellow or disco Shell in his mouth.
$00F048 4 bytes Jump (JML/JSL) Modified by Layer 2+3 Wallrun Triangle Fix patch. Saves layer information for triangle check.
$00F18D 6 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes bounce sprites.
$00F2CD 7 bytes Jump (JML/JSL) Modified by Midway Cutoff Fix by StackDino.

Changes tiles for midway bar object after crossing it.
$00F2DB 2 bytes Code Modified by Lunar Magic.
$00F2E2 1 byte Hex Edit Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
If !midway_powerup = 1, it writes $D0 (vanilla), otherwise it writes $80 (which makes midways never give a powerup).
$00F2E8 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it hijacks the midway bar routine to handle the checkpoint (mainly, calculate the new entrance to set).
$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.
$00F346 4 bytes Jump (JML/JSL) Hijacked by the Yoshi Coin Counter Patch, by Darolac.

JML, modifies the "all Yoshi coins collected" routine to also increment the "number of levels in which all Yoshi coins were found" counter.
$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.
$00F35D 4 bytes Jump (JML/JSL) Hijacked by the Individual Dragon Coin Save patch by worldpeace, JackTheSpades and LX5.
JML, it modifies the code of the Dragon Coin tiles to mark the coin as collected and to spawn custom map16 tiles to replace the coin.
$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.
$00F37D 13 bytes Code Hijacked by the No Consecutive Awards Patch, by Koopster.

A piece of code that remove score award calculations from the Yoshi Coins.
$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.
$00F451 4 bytes Jump (JML/JSL) Hijacked by Level Constrain: This constrains Mario's interaction points for blocks within the level borders.
$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.
$00F5B2 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JSL, it makes so the retry code is executed when Mario falls in a pit.
$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 4 bytes Hex Edit Modified by "Remove Status Bar" patch. Disables item box drop on hurt.
$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.
$00F606 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it makes so the retry code is executed when Mario dies.
$00F60A 4 bytes Jump (JML/JSL) Hijacked by the Warp When Dying patch by wiiqwertyuiop.
It jumps to the main code of the patch.
$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.
$00F60B 1 byte Hex Edit Modified by AddmusicK.
Changes the death song number.
$00F614 4 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: Mario loses all collected star coins unless they're backed up.
$00F614 4 bytes Jump (JML/JSL) Modified by the Death Counter Version 1.2 patch by Thomas.

JSL, hijacks the death routine and jumps to a custom routine that increments the death counter.
$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).
$00F6B3 4 bytes Table Modified by Center Scroll 3.3, by HammerBrother and Thomas.
Scroll table values. The values stored here change depending on the Scroll Type used.
$00F6E3 1 byte Code Modified by Center Scroll 3.3, by HammerBrother and Thomas.
NOP #1, partially disables Lunar Magic code.
$00F6E4 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

This is the VRAM optimization patch.
$00F6EA 7 bytes Code Modified by Center Scroll 3.3, by HammerBrother and Thomas.
NOP #7, disables Lunar Magic code that sets the scroll line positions.
$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
$00F72C 4 bytes Jump (JML/JSL) Modified by Center Scroll 3.3, by HammerBrother and Thomas.
JML, jumps to the new horizontal scroll routine for horizontal levels.
$00F77B 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$00F77C 3 bytes Miscellaneous Not modified, but read by Center Scroll 3.3, by HammerBrother and Thomas.
org read3($00F77C)+1, modifies Lunar Magic code in freespace in order to alter vertical level horizontal scrolling.
$00F789 5 bytes Jump (JML/JSL) Modified by Center Scroll 3.3, by HammerBrother and Thomas.
JML : NOP #1, jumps to the new horizontal scroll routine for vertical levels.
$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.
$00F805 5 bytes Jump (JML/JSL) Hijacked by Better Vertical Camera Scrolling, by Nowieso.

JML BetterVertCam : NOP, it sets the boundary, where Mario is relative to the camera, when to scroll the camera upwards and downwards.
$00F810 4 bytes Jump (JML/JSL) Hijacked by Better Vertical Camera Scrolling, by Nowieso.

JSL PosStopScroll, it sets the position, where Mario is located relative to the camera, to scroll the camera
$00F810 4 bytes Code Modified by Center Scroll 3.3, by HammerBrother and Thomas.
Restores the game's default vertical scrolling code if the Scroll Type is set to Normal.
$00F810 4 bytes Jump (JML/JSL) Modified by Center Scroll 3.3, by HammerBrother and Thomas.
JML, jumps to the new vertical scroll routine if the Scroll Type is set to Adjustable Scroll Line Positions mode.
$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.
$00F878 1 byte Hex Edit Modified by Center Scroll 3.3, by HammerBrother and Thomas.
Restores a BNE statement if Free Vertical Scroll is disabled.
$00F878 1 byte Hex Edit Modified by Center Scroll 3.3, by HammerBrother and Thomas.
Replaces a BNE with a BRA statement if Free Vertical Scroll is enabled.
$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.
$00FA45 4 bytes Jump (JML/JSL) Hijacked by the Yump Reward / No-Yump Penalty Patch, by JamesD28.
JML, hijacks the flat switch routine to either reward if a yump is performed, or penalize if a yump is missed. For those unaware, a yump is the frame perfect jump you can make off of the palace switches.
$00FA99 1 byte Hex Edit Hex edit included in the Goal Roulette sprite by Iceguy.
It makes so items carried into the goal don't turn into powerups.
$00FC0E 4 bytes Jump (JML/JSL) Hijacked by the Goal Point Sprite Reward Fix, by Ragey and optimization by Major Flare.

A JML that jumps to the code which handles the limitation on the values passed to the routine at $02ACEF so garbage tiles won't appear.
$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.
$00FEC9 5 bytes Jump (JML/JSL) Hijacked by the Fireball Direction Fix patch, by Aerithos.

JSL : NOP, jumps to code that uses the left/right button held as an index for fireball shooting directions, and defaults to the vanilla shooting mechanic if neither left nor right are held.
$00FED1 53 bytes Code Modified by Fireball Bounce Limit patch. Initialize bounce counter.
$00FFD8 1 byte Data Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
Part of the sram expansion patch included in retry. It modifies the SRAM size byte in the ROM header, if !midway_sram = 1. Otherwise it writes the original value ($01).
$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.
$018223 2 bytes Hex Edit Modified by the Placeable (Kicked) Throw Block patch by KevinM.
It makes so throw block sprites run the Key/Baby Yoshi init routine when directly placed in Lunar Magic.
$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.
$018328 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the Timed Lift init routine to start at 1 or 4 seconds based on the extra bit instead of X position.
$018396 4 bytes Jump (JML/JSL) Hijacked by the Ball n' Chain and Yoshi Interaction Fix patch by KevinM.
It jumps to the code that backs up the Ball n' Chain center coordinates to unused sprite tables, during the sprite's init routine.
$0183C0 6 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL : NOP #2, modifies the scale platform init routine to set close spacing / wide spacing state based on the extra bit instead of X position.
$0183E0 6 bytes Jump (JML/JSL) Hijacked by the Yoshi Color Depending on Initial X Position patch, by KevinM.

If !YoshiColor is set, jumps (JSL) to code in freespace that restores the original code then sets Yoshi's colour based on the X position he spawned at, and overwrites leftover bytes with a BRA $00. Otherwise, if the byte at $0183E0 is $22 (JSL), it restores the original code (DEC $160E,x : INC $157C,x).
$0183FC 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JML, repairs the portion of the Spike Top init routine shared with the Urchin and overwritten elsewhere.
$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.
$01841B 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JML, modifies the shared Urchins / Sparky / Hothead / Wall-following Fuzzy init routine to set movement direction based on the extra bit instead of X position.
$018435 4 bytes Jump (JML/JSL) Hijacked by the Placeable (Kicked) Throw Block patch by KevinM.
It jumps to the code that makes throw block sprites spawn in the kicked state when their extra bit is set.
$018435 5 bytes Jump (JML/JSL) Hijacked by the Yoshi Color Depending on Initial X Position patch, by KevinM.

If !BabyYoshiColor is set, jumps (JSL) to code in freespace that restores the original code and checks if the sprite is Baby Yoshi (the init routine is shared with other sprites). If it's a Baby Yoshi, it branches to code that sets Baby Yoshi's colour based on the X position he spawned at. A leftover byte is NOP'd out. If !BabyYoshiColor is 0 and the byte at $018435 is $22 (JSL), it restores the original code (LDA #$09 : STA $14C8,x).
$01844E 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the P-Switch init routine to set blue / grey color based on the extra bit instead of X position.
$0184CE 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the shared Lakitu / Monty Mole / Wooden Spike / Creating/Eating Block / Flying Grey Turnblocks init routine to differentiate behavior based on the extra bit instead of X position.
$0184D6 5 bytes Jump (JML/JSL) Modified by Creating Block Sprite Path Expander. Jump to Creating Block Sprite's init routine.
$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.
$018531 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the ground Super Koopa init routine to set flashing cape / yellow cape based on the extra bit instead of X position.
$01856E 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the green bouncing Parakoopa init routine to set bouncing behavior based on the extra bit instead of Y position.
$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.
$01877B 5 bytes Jump (JML/JSL) Modified by the Goal Type-Dependent Behavior (No Goal Sphere Walk) patch, by Koopster.

JML : NOP, modifies the Goal Point Question Sphere routine to increment $13CB when touched, using it as a flag to indicate whether the goal touched was a tape or a question sphere. Also restores the hijacked code (LDA #$FF : STA $1493).
$018784 1 byte Hex Edit Modified by AddmusicK.
Changes the "Boss clear" song number.
$0187A7 4 bytes Jump (JML/JSL) Hijacked by sprite tool. This then jumps to freespace to initalize custom sprite tables.
$018AFC 4 bytes Jump (JML/JSL) Hijacked by the Placeable Kicked Shell patch by KevinM.
It jumps to the code that turns Shell Koopas into kicked shells.
$018C4D 4 bytes Jump (JML/JSL) Hijacked by the Placeable Kicked Shell patch by KevinM.
It jumps to the code that turns Parakoopas into kicked special shells.
$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.
$019017 6 bytes Jump (JML/JSL) Modified by Vertical Despawn Fix: Changes the despawn range of Bullet Bills from relative to the camera to the level boundary.
$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.
$0191C6 4 bytes Jump (JML/JSL) Hijacked by the Don't Get Stuck In Walls Fix patch by RussianMan.
It hijacks the routine that handles carryable sprites inside walls, to make sprites that are stuck get ejected based on the direction that was earlier set by the patch.
$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.
$019310 6 bytes Jump (JML/JSL) Modified by the Lava Fix patch, by Roy.
Changes the way lava slopes work to kill sprites on contact.
$019466 4 bytes Miscellaneous Hijacked by Level Constrain: Sprites still interact with the level if outside of the level vertically (vertical levels only). Depending on whether Screen Constrain is controlled by RAM or not, this is either NOPed out or jumps to a check of Screen Constrain flag.
$01946C 4 bytes Jump (JML/JSL) Hijacked by Level Constrain: This constrains SpriteV to the level borders in vertical levels.
$01947B 4 bytes Miscellaneous Hijacked by Level Constrain: Sprites still interact with the level if outside of the level horizontally (vertical levels only). Depending on whether Screen Constrain is controlled by RAM or not, this is either NOPed out or jumps to a check of Screen Constrain flag.
$019481 4 bytes Jump (JML/JSL) Hijacked by Level Constrain: This constrains SpriteH to the level borders in vertical levels.
$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.
$0194D4 4 bytes Jump (JML/JSL) Hijacked by Level Constrain: This constrains SpriteV to the level borders in horizontal levels.
$0194D6 3 bytes Opcode Modified by Lunar Magic. Remaps CMP.W #$01B0 to CMP.W $13D7.
$0194EE 4 bytes Jump (JML/JSL) Hijacked by Level Constrain: This constrains SpriteH to the level borders in horizontal levels.
$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.
$01968E 4 bytes Jump (JML/JSL) Hijacked by the Disco Shell SFX patch, by KevinM.

JML, jumps to code that plays a sound effect when a yellow shell-less Koopa turns a normal Shell into a Disco Shell. Also restores the hijacked code.
$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.
$019FC0 2 bytes Hex Edit Modified by the P-Balloon Acceleration + Extras patch by Erik.
Getting hurt while having a P-Balloon won't make you lose the balloon.
$019FE3 4 bytes Jump (JML/JSL) Hijacked by the Don't Get Stuck In Walls Fix patch by RussianMan.
It hijacks the routine that handles carried sprites to store the inverse direction a sprite was thrown by the player, for later use.
$019FE3 4 bytes Jump (JML/JSL) Hijacked by the Disable Carrying Items Underwater Patch, by RussianMan.

JML, A jump that points to a routine handling Mario carrying items to disable this ability while underwater.
$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) JML, hijacked by the SMB2 Holding patch: This one controls the position of the carried sprite.
$01A0F6 4 bytes Jump (JML/JSL) JML, hijacked by the Fix Jank With Holding Items While Spin Jumping patch. Jumps to code that keeps the carried sprite centered on Mario while spinjumping, and raises it's Y offset.
$01A11A 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes items being carried during reversed gravity mode.
$01A202 4 bytes Jump (JML/JSL) Modified by the P-Switch Duplication with Yoshi Fix patch, by KevinM.

JML, modifies the stunned P-Switch routine to make it inedible when in the "pressed" state.
$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.
$01A2F7 5 bytes Jump (JML/JSL) Modified by Configurable amount of Baby Yoshi eat sprites. Runs comparison of custom per-level values with how many sprites Baby Yoshi has eaten to determine whether to become adult.
$01A64A 33 bytes Code Hijacked by the No Consecutive Awards Patch, by Koopster.

A piece of code that remove score award calculations from shell kills.
$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.
$01A832 4 bytes Jump (JML/JSL) Hijacked by the CustomDefaultInteraction patch included in the SMB3 Goomba Family, by Sonikku.

JML, jumps to code that ensures 4 custom sprites use the default interaction if the "don't use default interaction with Mario" and "can be stomped" bits are set. It will also increment $1594,x if those sprites are stomped.
$01A84B 32 bytes Code Hijacked by the No Consecutive Awards Patch, by Koopster.

A piece of code that remove score award calculations from star kills.
$01A86B 4 bytes Jump (JML/JSL) Hijacked by the Spawn a Coin On Star Kill Patch, by RussianMan.

JML, Jumps to the main "Turn into a coin if star" routine.
$01A87E 6 bytes Jump (JML/JSL) Modified by SMA2 Slide Kill Chain patch by HammerBrother.

Check for slide state and increment consecutive kill counter when colliding with an enemy.
$01A87E 3 bytes Code Hijacked by the No Consecutive Awards Patch, by Koopster.

Disables $18D2's incrementing so consecutive awards from external codes are disabled as well.
$01A8B0 4 bytes Jump (JML/JSL) Modified by Jump clip fix. Makes it so when stomping, the player's Y speed is compared with the sprite's Y speed instead of checking just the highest bit.
$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.
$01A9E2 5 bytes Jump (JML/JSL) Hijacked by the CustomDefaultInteraction patch included in the SMB3 Goomba Family, by Sonikku.

JML : NOP, jumps to code that ensures 4 custom sprites use the default interaction if the "don't use default interaction with Mario" and "can be stomped" bits are set. It will also increment $1594,x if those sprites are stomped.
$01AA33 4 bytes Jump (JML/JSL) Modified by the Update Vertical Scroll on Enemy Bounce patch by CliffTheCrafter.

JML, jumps to code that sets the "screen should scroll up to the player" flag when Mario bounces off an enemy.
$01AA37 10 bytes Jump (JML/JSL) Modified by Jump clip fix. Jumps to new stomp/spin jump Y speed code, and NOPs out the vanilla version of the routine (which used a fixed value instead of relative).
$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.
$01AA5E 6 bytes Jump (JML/JSL) Hijacked by the Disable Carrying Items Underwater Patch, by RussianMan.

JSL, A jump that points to a routine handling Mario picking up items to disable this ability while underwater.
$01AAD8 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It makes so Keys and P-Switches don't set Mario's Y position when he's entering a pipe while touching them.
$01AB02 5 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP #3 +, skips over code that uses $0DDA.
$01AB07 5 bytes Jump (JML/JSL) Modified by No P-Switch Music Reset. Jumps to the main code.
$01AB08 1 byte Hex Edit Modified by AddmusicK.
Changes the P-Switch song number.
$01AB46 35 bytes Code Hijacked by the No Consecutive Awards Patch, by Koopster.

A piece of code that remove score award calculations from consecutive stomp kills.
$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).
$01B0F2 10 bytes Code Hijacked by the Spawn a Coin On Star Kill Patch, by RussianMan.

Code that handles Mario's interaction with fishes while invincible, including a JML to freespace. Depending on the options of the patch, restores old code.
$01B21C 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the Floating Spike Ball init routine to set slow / fast movement speed based on the extra bit instead of X position.
$01B47F 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It prevents many solid sprites from setting Mario's Y position when he enters a pipe while standing on them.
$01B4BA 4 bytes Jump (JML/JSL) Modified by the "Freeram Controlled Hitbox" patch. Jumps to the second section of the main code.
$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).
$01B882 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It makes so Turnblock Bridges don't set Mario's Y position when he enters a pipe while touching them.
$01B950 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JML, modifies the climbing net Koopa init routine to set spawn in front of net / spawn behind net state based on the extra bit instead of X position.
$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.
$01BCD3 5 bytes Jump (JML/JSL) Modified by Vertical Despawn Fix: Changes the despawn range of Magikoopa Magic from relative to the camera to the level boundary.
$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).
$01C0F0 1 byte Hex Edit Modified by AddmusicK.
Changes the "Stage clear" song number.
$01C107 2 bytes Hex Edit Hijacked by the Yoshi Coin Counter Patch, by Darolac.

BRA $1C, modifies the goal tape to never award bonus stars.
$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.
$01C538 4 bytes Jump (JML/JSL) Modified by the Custom "Shooting" Power-ups, by 1524 and RussianMan.

JML, jumps to the new power-up contact routine.
$01C538 4 bytes Jump (JML/JSL) Hijacked by the Classic Powerup Rule patch by Koopster.
JML, jumps to the code that changes the grabbed powerup to a mushroom if Mario is small.
$01C540 13 bytes Hex Edit Modified by "Remove Status Bar" patch. Disable item storage.
$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.
$01C566 1 byte Hex Edit Modified by the Big Mario -> Small Mario GFX patch, by K3fka.

Sets Mario's powerup animation timer to 0 when collecting a mushroom, effectively removing the animation.
$01C576 4 bytes Jump (JML/JSL) Modified by Enhanced Powerup Grab by Maxx.

Trigger common effect upon any power-up collection (shake screen).
$01C580 18 bytes Jump (JML/JSL) Hijacked by the Star Music Fix Patch

Jumps to the main code.
$01C585 6 bytes Code Modified by AddmusicK.
Changes the starman song number, and returns from the routine before it modifies $0DDA.
$01C585 5 bytes Jump (JML/JSL) Hijacked by the Multiple Star Songs patch by Iceguy.
JSL : NOP, it jumps to the code that sets the star song depending on the current submap.
$01C587 3 bytes Code Hijacked by the Power Surge Patch, by Glyph Phoenix.

NOP #3, disables the music changing due to star power.
$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.
$01C5A7 4 bytes Jump (JML/JSL) Modified by Enhanced Powerup Grab by Maxx.

Give feather unique effect upon collection.
$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 Enhanced Powerup Grab by Maxx.

Give fire flower unique effect upon collection.
$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.
$01CA3C 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It prevents Chained Platforms from setting Mario's Y position when he enters a pipe while standing on them.
$01CA75 4 bytes Code Modified by Yoshi Player Patch: This one prevents hiding Yoshi when standing on a Brown Chained Platform.
$01CFC9 5 bytes Jump (JML/JSL) Modified by Custom Boss HP. Set Roy's/Morton's/Ludwig's HP on per-level basis.
$01D04F 1 byte Hex Edit Modified by AddmusicK.
Changes the "Boss clear" song number.
$01D5DE 4 bytes Jump (JML/JSL) Modified by the Multicolored Parachute patch, by Isikoro.

JML, modifies the shared Para-Bomb and Para-Goomba parachute graphics routine to set the palette based on the sprite's X position.
$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.
$01D6D2 6 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL : NOP #2, modifies the Line-Guided Platform init routine to set platform size/appearance based on the extra bit instead of X position.
$01D6F0 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the shared Line-Guided enemy sprites init routine (Fuzzy, Grinder, Chainsaws) to set movement direction based on the extra bit instead of X position.
$01D745 5 bytes Code Hijacked by AddmusicK.
Changes the grinder SFX number (here used by the line-guided grinder), and remaps it to $1DF9.
$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.
$01D99C 4 bytes Jump (JML/JSL) Hijacked by the Line Guide Acts-Like Fix, by imamelia and worldpeace.

JML, jumps to code that makes the line guide routine use the "acts like" setting instead of the Map16 tile number. Also fixes vanilla line guide glitches to various degrees depending on the value set in the !glitch_level define.
$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.
$01DB70 5 bytes Code Hijacked by AddmusicK.
Changes the grinder SFX number (here used by the ground grinder), and remaps it to $1DF9.
$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.
$01E1ED 4 bytes Jump (JML/JSL) Modified by the Trigger Keyhole While Dying With Yoshi Fix Patch, by KevinM.

A JML that jumps to the "fix keyhole activating after death with Yoshi" routine.
$01E216 1 byte Hex Edit Modified by AddmusicK.
Changes the keyhole song number.
$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.
$01E443 4 bytes Jump (JML/JSL) Modified by the patch included in the Net Dry Bones sprite by Darolac.
Together with the hijack at $01E5BF, it makes so Dry Bones spawned by the sprite with the "is behind the nets" flag set are drawn correctly.
$01E453 8 bytes Code Modified by the Crumbled Tiles Split patch, by Darolac.

Writes a JML followed by a four byte table; modifies the dry bones/bony beetle shared collapsed-state graphics routine to select different tiles based on sprite number.
$01E5BF 4 bytes Jump (JML/JSL) Modified by the patch included in the Net Dry Bones sprite by Darolac.
Together with the hijack at $01E443, it makes so Dry Bones spawned by the sprite with the "is behind the nets" flag set are drawn correctly.
$01E650 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It makes so Springboards don't keep bouncing the player up after he exits a pipe.
$01E666 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It makes so Springboards don't set Mario's Y position while he enters a pipe.
$01E691 1 byte Hex Edit Modified by Yoshi Player Patch: Prevents spin jumping from a springboard.
$01E6B0 5 bytes Jump (JML/JSL) Modified by the Springboard Fixes patch by MiracleWater.

JML : NOP, modifies the spring's interaction routine to honor the "disable interaction with player" timer to prevent re-grabs.
$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.
$01E6D2 6 bytes Jump (JML/JSL) Hijacked by the Disable Carrying Items Underwater Patch, by RussianMan.

JSL, A jump that points to a routine handling Mario picking up springboards to disable this ability while underwater.
$01E6DA 5 bytes Jump (JML/JSL) Modified by the Springboard Fixes patch by MiracleWater.

JML : NOP, modifies the spring's "set carried state" routine to bypass the "clear X speed and push player to side of sprite" routine as shared with the Key and P-Switch.
$01E6F0 6 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
JSL : NOP #2, it makes so Springboards will return to their normal state when entering a pipe while they're in the "pressed" state.
$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.
$01EC29 4 bytes Jump (JML/JSL) Modified by "Customized Yoshi Messages Patch". Changes the way yoshi's rescue message works so it can display any message.
$01EC3B 4 bytes Jump (JML/JSL) Modified by the Message Box Expansion patch. Jumps to new code that handles Yoshi's rescue message.
$01ED44 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
Makes so entering a pipe horizontally while in contact with Yoshi's saddle doesn't make Mario get on Yoshi automatically.
$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.
$01F2E4 5 bytes Jump (JML/JSL) Hijacked by the Don't Get Stuck In Walls Fix patch by RussianMan.
(JSL : NOP) It hijacks Yoshi's "spit item" routine to store the inverse direction the sprite was spit by Yoshi, for later use.
$01F309 10 bytes Jump (JML/JSL) Hijacked by the No Yoshi Tongue patch, by Ice Man.

JSL : NOP #6, jumps to the code that decides when Yoshi should or should not use its tongue in a per-level basis.
$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.
$01F433 4 bytes Jump (JML/JSL) Hijacked by the Yoshi Tongue Cutoff Fix Patch, by KevinM.

Jumps to a routine that initializes an "offscreen to the left" flag. It also prevents the routine from return preemtively in case the first tile is already offscreen to the left.
$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.
$01F46F 2 bytes Code Hijacked by the Yoshi Tongue Cutoff Fix Patch, by KevinM.

A small hijack that skip the vanilla code checking for Yoshi's tongue last tile.
$01F4A3 4 bytes Jump (JML/JSL) Hijacked by the Yoshi Tongue Cutoff Fix Patch, by KevinM.

Jumps to the actual routine that fixes the Yoshi's tongue cutoff.
$01F651 4 bytes Jump (JML/JSL) Modified by the Yoshi Sprites Interaction Fix patch by KevinM.

JML, jumps to code that prevents certain sprites from harming Yoshi under conditions where they shouldn't.
$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 4 bytes Jump (JMP/JSR) Modified by the Yoshi Color Depending on Initial X Position patch, by KevinM.

If !BlockYoshiColor is set, jumps (JSR) to the init subroutine for Baby Yoshi's hatching to preserve the palette, and NOPs out a leftover byte. Otherwise, if the byte at $0289FB is $22 (JSL), it restores the original code (JSL $07F7D2).
$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.
$01F90E 4 bytes Jump (JML/JSL) Modified by the Anti Boo Patch, by StackDino.

A JML that makes Boos, Big Boos and Boo Blocks chase the player when faced and the extra bit is active (Extra bit 1).
$01F9A2 24 bytes Code Modified by the Boo Chase Fix patch, by Isikoro.

Inserts code that, along with a JML into freespace, makes the Boo and Boo Block track Mario accurately.
$01FA1C 8 bytes Code Hijacked by the Stealth Boos by Extra bit patch, by Isikoro.

Inserts code that, along with a JML into freespace, makes the Boo Block invisible when chasing Mario.
$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.
$01FB2E 1 byte Hex Edit Modified by AddmusicK.
Changes the "Boss clear" song number.
$01FFBF 17 bytes Code Hijacked by the Power Surge Patch, by Glyph Phoenix.

A piece of code that converts any earned Bonus Stars to star timer.
$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.
$02862F 4 bytes Jump (JML/JSL) Hijacked by the Disable Carrying Items Underwater Patch, by RussianMan.

JSL, A jump that points to a routine handling Mario picking up and carrying throw blocks to disable this ability while underwater.
$028758 28 bytes Code Modified by the 8 Digits Score patch by Isikoro.
Modifies the code that adds 50 points when breaking a turnblock with a spinjump to adapt to the new score system.
$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.
$028968 1 byte Hex Edit Modified by AddmusicK.
Changes the P-Switch song number.
$0289FB 6 bytes Jump (JML/JSL) Hijacked by the Yoshi Color Depending on Initial X Position patch, by KevinM.

If !BlockYoshiColor is set, jumps (JSL) to code in freespace that restores the original code then sets Yoshi's (and his hatching egg) colour based on the X position of the block he spawned from, and overwrites leftover bytes with a BRA $0C (the next instruction is BRA $0A). Otherwise, if the byte at $0289FB is $22 (JSL), it restores the original code (LDA.W $0288A1,y : STA $151C,x).
$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).
$028B61 4 bytes Jump (JML/JSL) Modified by the patch included in the Celeste - Controllable Platform sprite by Erik.
It allows the sprite to respawn after a set amount of time after exploding.
$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.
$02916C 4 bytes Jump (JML/JSL) Modified by the Spin Jump from Noteblocks patch, by KevinM.

JML, modifies the noteblock bounce routine to set a new bounce height and set spin jump state if the A button is held.
$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.
$0294CE 4 bytes Jump (JML/JSL) Hijacked by the Sprite Whitelist for Cape Ground Pound patch by Nowieso.
It jumps to the main code of the patch during the Ground Pound routine to check if the current sprite being processed is in the whitelist.
$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.
$02A25B 7 bytes Jump (JML/JSL) Hijacked by the Baseballs and Bones Vertical Movement Patch, by KevinM.
JML, hijacks the extended sprite routine to update Y position based on Y speed, then restores the original code.
$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
$02A768 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it adds an alternate condition for not spawning Yoshi in the room: when Mario is respawning after dying (so if the level has a "No Yoshi Intro", its effect applies also after dying and respawning).
$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.
$02A8D8 1 byte Opcode Modified by Lunar Magic, changing the JSR opcode into a JMP.
$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).
$02A9D2 5 bytes Jump (JML/JSL) Modified by the Placeable Disco Shell patch.

JML, hijacks the Shells so they spawn rainbow ones if Extra Bit is set to 1.
$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.
$02AD78 16 bytes Table Modified by the 8 Digits Score patch by Isikoro.
Modifies the table that holds the low byte of the score given by each score sprite to account for the new score system.
$02AD89 16 bytes Table Modified by the 8 Digits Score patch by Isikoro.
Modifies the table that holds the high byte of the score given by each score sprite to account for the new score system.
$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.
$02AE12 35 bytes Code Modified by the 8 Digits Score patch by Isikoro.
Modifies the code that adds points for score sprites to adapt to the new score system.
$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.
$02AF41 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JML, modifies the parameter setup of sprite E0 (spawn 3 Rotating Grey Platforms) to determine whether to set or clear the extra bit of each platform spawned based on the extra bit of the spawner.
$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.
$02AF59 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JML, modifies the sprite spawn routine of sprite E0 (spawn 3 Rotating Grey Platforms) to set or clear the extra bit of each platform spawned based on the extra bit of the spawner.
$02AF59 4 bytes Jump (JML/JSL) Modified by the Triple Rotating Platform Vertical Level Fix patch, by Zeldara109.

JML, modifies the platform spawning routine of sprite E0 to swap the X and Y position data if generating platforms in a vertical level.
$02AFA7 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Sets upper bits of Y position for run-once sprites.
$02B803 5 bytes Jump (JML/JSL) Hijacked by the Pokey's Top Segment Interaction Fix patch, by RussianMan.

JSL : NOP, jumps to code that ensures the top segment of a Pokey is always removed when hit by a kicked sprite slightly above the Pokey, rather than a nonexistent segment being duplicated.
$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.
$02BDA7 6 bytes Jump (JML/JSL) Modified by Vertical Despawn Fix: Changes the despawn range of most wall following enemies from relative to the camera to the level boundary.
$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.
$02C3A1 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the Chuck sprite's whistling state routine to activate / not activate the Super Koopa generator based on the extra bit instead of X position.
$02C47E 4 bytes Jump (JML/JSL) Hijacked by the Baseballs and Bones Vertical Movement Patch, by KevinM.
JML, hijacks the Pitchin' Chuck to make its spawned baseball Y speed #$00.
$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.
$02C7A8 4 bytes Jump (JML/JSL) Hijacked by the Spawn a Coin On Star Kill Patch, by RussianMan.

JML, A jump to a routine that handles Mario's contact with Chucks while having a star. If the chucks option is disables, uses the old code.
$02CDD5 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
Fixes a bug that happens when entering a pipe on a specific frame of the Wall Springboard animation (after bouncing on it).
$02CFA5 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It prevents Wall Springboards from setting Mario's Y position when he enters a pipe while touching them.
$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.
$02D229 4 bytes Jump (JML/JSL) Modified by the P-Balloon Acceleration + Extras patch by Erik.
Changes the speed so that there are two speed states and potentially fixing the bug of pressing left and right at the same time.
$02D61C 4 bytes Jump (JML/JSL) Hijacked by the Ball n' Chain and Yoshi Interaction Fix patch by KevinM.
It jumps to the code that restores the center coordinates of the Ball n' Chain, so they can be used to compute the ball and rings positions.
$02D631 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JML, modifies the Ball 'n Chain and Rotating Grey Platform sprites to set clockwise / counterclockwise motion based on the extra bit instead of X position.
$02D713 4 bytes Jump (JML/JSL) Hijacked by the Ball n' Chain and Yoshi Interaction Fix patch by KevinM.
It jumps to the code that backs up the ball's actual position to scratch ram, so it can be used later.
$02D787 4 bytes Jump (JML/JSL) Hijacked by the Ball n' Chain and Yoshi Interaction Fix patch by KevinM.
It jumps to the code that saves the ball's actual position from scratch ram to the sprite tables.
$02D798 2 bytes Hex Edit Modified by the Ball n' Chain and Yoshi Interaction Fix patch by KevinM.
Inserts "BRA $06" to skip over some instructions that were already executed earlier in the patch 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.
$02DAC8 11 bytes Jump (JML/JSL) Modified by the Throw Hammer Fix patch, by Isikoro.

See details for code. Modifies the Hammer Bro. hammer generation routine to offset the hammer's X position one tile to the right if it is being thrown rightwards.
Code
$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.
$02E277 3 bytes Code Modified by AddmusicK.
Writes "LDA $14AD". Since that's what's originally at this address, this is probably meant to restore an edit done by some other patch.
$02E27F 5 bytes Code Modified by AddmusicK.
Writes "LDA $0DDA", then replaces the original "BMI $03" with NOPs.
$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.
$02E845 4 bytes Jump (JML/JSL) Hijacked by Growing/Shrinking Pipe Exit on Extra Bit Patch, by JamesD28.

JML, jumps to a routine that enables exit on the growing/shrinking pipe sprite when extra bit 1 is set.
$02E905 4 bytes Jump (JML/JSL) Hijacked by Growing/Shrinking Pipe Exit on Extra Bit Patch, by JamesD28.

JML, jumps to a routine that sets the appropriate player priority when entering a growing/shrinking pipe sprite.
$02EA9B 5 bytes Jump (JML/JSL) Hijacked by the Double Eat Glitch Fix patch, by Maarfy and Thomas.

JML, jumps to a bit of code that prevents baby Yoshi from eating a nonexistent sprite if eating two sprites in quick succession. A leftover byte is NOP'd out.
$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.
$02EE77 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It prevents Skull Rafts from setting Mario's Y position when he enters a pipe while standing on them.
$02F24F 4 bytes Jump (JML/JSL) Hijacked by the Spawn a Coin On Star Kill Patch, by RussianMan.

JML, A jump to a routine that handles Mario's contact with Wiggler while having a star. If the Wigglers option is disabled, uses the old code.
$02F280 10 bytes Code Hijacked by the No Consecutive Awards Patch, by Koopster.

A piece of code that remove score award calculations from stomping on Wigglers.
$02F280 6 bytes Jump (JML/JSL) Wiggler Score Glitch Fix hijack
$02F2A6 32 bytes Code Hijacked by the No Consecutive Awards Patch, by Koopster.

A piece of code that remove score award calculations from star-killed Wigglers.
$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).
$02F4D5 5 bytes Jump (JML/JSL) Modified by the Side Exit Triggers Goal patch, by RussianMan.

JSL : NOP, modifies the side exit sprite to check the extra bit and Y-position to conditionally prepare event triggers.
$02F4DA 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the side exit sprite main routine to set display fireplace/smoke / don't display fireplace/smoke state based on the extra bit instead of X position.
$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.
$03809D 1 byte Hex Edit Modified by AddmusicK.
Changes the "Boss clear" song number.
$03819E 5 bytes Jump (JML/JSL) Modified by Custom Boss HP. Set Big Boo Boss' HP on per-level basis.
$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.
$0383A0 34 bytes Code Hijacked by the Stealth Boos by Extra bit patch, by Isikoro.

(LoROM) Inserts code that, along with a JML into freespace, makes the Boo and Big Boo invisible when Mario is facing them. A conditional NOP is inserted when patched to a SA-1 ROM (not inserted here).
$0383A0 35 bytes Code Hijacked by the Stealth Boos by Extra bit patch, by Isikoro.

(SA-1) Inserts code that, along with a JML into freespace, makes the Boo and Big Boo invisible when Mario is facing them. A conditional NOP is inserted when patched to a SA-1 ROM (inserted here).
$0387F6 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It prevents Mega Moles from setting Mario's Y position when he enters a pipe while standing on them.
$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.
$038CA7 4 bytes Jump (JML/JSL) Modified by the patch included in GreenHammerBro's SMB3 screen scrolling pipes.
It prevents Carrot Lifts from setting Mario's Y position when he enters a pipe while standing on them.
$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 4 bytes Jump (JML/JSL) Optionally modified by the Sprite Properties Depending on the Extra Bit patch, by KevinM.

JSL, modifies the Info Box main routine to display message 1 or 2 based on the extra bit instead of X position.
$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.
$0392B8 5 bytes Code Hijacked by AddmusicK.
Changes the grinder SFX number (here used by the creating/eating block), and remaps it to $1DF9.
$0392D9 4 bytes Jump (JML/JSL) Hijacked by the Eating blocks detection fix patch by Darolac.
It jumps to the main code of the patch.
$0392F8 3 bytes Jump (JMP/JSR) Modified by Creating Block Sprite Path Expander. Jump to Creating Block Sprite's main routine.
$0393A4 74 bytes Code Modified by Creating Block Sprite Path Expander. Rewrite Creating Block Sprite's code and use three unused bytes as a long pointer to movement data.
$03958B 4 bytes Jump (JML/JSL) Hijacked by the Spawn a Coin On Star Kill Patch, by RussianMan.

JML, A jump to a routine that handles Mario's contact with Rexes while having a star. If the Rexes option is disabled, uses the old code.
$039603 32 bytes Code Hijacked by the No Consecutive Awards Patch, by Koopster.

A piece of code that remove score award calculations from star-killed Rexes.
$039628 35 bytes Code Hijacked by the No Consecutive Awards Patch, by Koopster.

A piece of code that remove score award calculations from consecutively stomped Rexes.
$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).
$0398E7 1 byte Hex Edit Modified by AddmusicK.
Changes the "Boss clear" song number.
$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.
$03A702 1 byte Hex Edit Modified by AddmusicK.
Changes the "Bowser zoom out" song number.
$03A7A8 1 byte Hex Edit Modified by AddmusicK.
Changes the "Bowser interlude" song number.
$03A7C2 1 byte Hex Edit Modified by AddmusicK.
Changes the "Bowser zoom in" song number.
$03A842 9 bytes Table Modified by AddmusicK.
Changes the table of SFX numbers of the Bowser's fires, and also the table of the songs used in the second and third phase of the Bowser fight (at $03A849).
$03A88B 18 bytes Code Modified by AddmusicK.
Restores the original game's code, probably meant to undo the effect of another patch.
$03ABF4 1 byte Hex Edit Modified by AddmusicK.
Changes the "Bowser defeated" song number.
$03AC53 1 byte Hex Edit Modified by AddmusicK.
Changes the "Princess Peach saved" song number.
$03B676 4 bytes Jump (JML/JSL) Modified by the "Freeram Controlled Hitbox" patch. Jumps to the third section of the main code.
$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.
$03BB90 5 bytes Code Modified by "Customized Yoshi Messages Patch". Check whether to display default yoshi message (level 0 message 2) or level message.

This is a modification of Lunar Magic's hijack.
$03BB90 255 bytes Code Modified by Lunar Magic. It's the code that handles the modified Message Box routine. For more info see $03BA02.
$03BB90 4 bytes Jump (JML/JSL) Hijacked by the ZSNES-detecting Message Boxes patch by WhiteYoshiEgg.
JML, it modifies LM's message routine to change the displayed message if the emulator used is ZSNES.
$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.
$03BCA0 11 bytes Code Modified by Lunar Magic. It's a piece of code that sets the correct starting submap, as part of the sprite 19 fix. It's called from $01E762.
$03BCE0 182 bytes Code Modified by Lunar Magic.
$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.
$03C09E 5 bytes Jump (JML/JSL) Modified by Configurable amount of Baby Yoshi eat sprites. Runs comparison of custom per-level values with how many sprites Baby Yoshi has eaten to determine whether to become adult.
$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.
$03C481 4 bytes Jump (JML/JSL) Hijacked by the Baseballs and Bones Vertical Movement Patch, by KevinM.
JML, hijacks the Dry Bones to make its spawned bone Y speed #$00.
$03C79E 4 bytes Jump (JML/JSL) Hijacked by the Bowser Defeated Level Warp patch by Bensalot.
JML, it hijacks the part of Peach's code that marks the level as beaten to teleport the player instead.
$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.
$03CE0E 5 bytes Jump (JML/JSL) Hijacked by the Lemmy/Wendy Dummy Penalty patch by JamesD28.
If either !LemmyPenalty or !WendyPenalty is 1, it writes a JML : NOP to jump to the patch code in freespace.
Otherwise, in case the byte at $03CE0E is $5C (JML) it restores the original code (LDA $1540,x : BNE $17).
$03CE16 5 bytes Jump (JML/JSL) Modified by Custom Boss HP. Set Wendy's/Lemmy's HP on per-level basis.
$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.
$03CE9A 1 byte Hex Edit Modified by AddmusicK.
Changes the "Boss clear" song number.
$03CED0 5 bytes Jump (JML/JSL) Modified by Custom Boss HP. Erase other sprites on Wendy's/Lemmy's death by checking HP set on per-level basis.
$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.
$0483D2 1 byte Hex Edit Modified by AddmusicK.
Changes the "Valley of Bowser appears" song number.
$048410 3 bytes Jump (JMP/JSR) Modified by Donkey Kong Country 2 Navigation Arrows patch by Alcaro, carol, lx5 and wiiqwertyuiop.

Jump to freespace in the same bank to execute arrow code.
$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.
$048602 5 bytes Jump (JML/JSL) Modified by the Player's BG OW Tile/Palette Changer patch. It jumps to the main code of the patch, which then jumps back to $04860C.
$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.
$048D8A 7 bytes Hex Edit Modified by AddmusicK.
Changes the table of overworld song numbers.
$048E44 3 bytes Hex Edit Modified by AddmusicK.
Inserts 3 NOPs to replace the original "STA $1DFB".
$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.
$048F74 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's the code that resets the midway point in the multiple midway points patch included in retry.
$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.
$0491B8 6 bytes Code Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
Part of the counterbreak code included in retry. If !counterbreak_coin = 1, it resets the coin counter, otherwise it restores the original code.
$0491C4 5 bytes Jump (JML/JSL) Hijacked by the Power Surge Patch, by Glyph Phoenix.

A JSL that jumps to the hijacked routine at $01FFBF whenever the player enters in a level.
$0491C4 23 bytes Code Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
Part of the counterbreak code included in retry. It resets various counters based if the respective defines (!counterbreak_powerup, !counterbreak_yoshi) are set, otherwise it restores the original code.
$0491C9 12 bytes Code Modified by Leave Yoshi in Level by JackTheSpades and Katrina.

Reset yoshi-related variables when entering a level from overworld.
$0491DB 5 bytes Jump (JML/JSL) Hijacked by the Red Coin Counter Patch, by Iceguy and Major Flare.
JML : NOP, hijacks the level load so that the necessary freeram can be cleared.
$0491E1 1 byte Hex Edit Modified by AddmusicK.
Changes the "Fade out music" command, from $80 to $FF.
$0491E5 4 bytes Jump (JML/JSL) Modified by Enter Level/Pipe/Star Road Sounds. Modifies the sound when entering a level tile on OW.
$049307 2 bytes Code Modified by Lunar Magic.
$049549 10 bytes Code Modified by Lunar Magic.
$049882 3 bytes Jump (JMP/JSR) Hijacked by AddmusicK.
Inserts a JMP to $04FFB1, which forces the music to play even when fading out from an exit tile on the overworld.
$049A35 5 bytes Code Modified by Lunar Magic. This handles the red exit tiles.
$049AC2 3 bytes Jump (JMP/JSR) Hijacked by AddmusicK.
Inserts a JMP to $04FFB1, which forces the music to play even when fading out from an exit tile on the overworld.
$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.
$04DBC8 7 bytes Hex Edit Modified by AddmusicK.
Changes the table of overworld song numbers.
$04DBDD 22 bytes Hex Edit Hijacked by AddmusicK.
BRA + : NOP #20 : +, skips the code that checks whether Mario and Luigi are on the same submap.
$04DC3B 2 bytes Code Modified by Lunar Magic.
$04DC64 3 bytes Hex Edit Modified by No Overworld, by Brolencho: Disables the loading of layer 1 tiles on the overworld to prevent glitched graphics in No Yoshi intros.
$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.
$04E5F1 7 bytes Jump (JML/JSL) Modified by Lunar Magic.
JSL : NOP #3, it jumps to the routine at $05DCB0.
$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.
$04EACC 4 bytes Jump (JML/JSL) Modified by the Event Path Reveal Speed Customizer patch, by Koopster.

JML, alters code inserted by Lunar Magic to set path reveal speed on a per-event basis. Only applies if Lunar Magic's "Disable event path fade effect" option has been enabled.
$04EAD8 2 bytes Code Modified by Lunar Magic.
$04EAF5 3 bytes Code Modified by Lunar Magic.
$04EB38 12 bytes Jump (JML/JSL) Modified by the Event Path Reveal Speed Customizer patch, by Koopster.

JML : NOP #8, modifies the "submap with slow path reveal" routine to apply a variable path reveal speed based on event number. Only applies if Lunar Magic's "Disable event path fade effect" option has NOT been enabled.
$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.
$04FFB1 5 bytes Code Hijacked by AddmusicK.
Inserts a "SEP #$30 : JMP $04DBD7". This is to restore overwritten code at $049AC2 and $049882, and to jump back to normal music changing code.
$04FFB7 10 bytes Jump (JML/JSL) Modified by Donkey Kong Country 2 Navigation Arrows patch by Alcaro, carol, lx5 and wiiqwertyuiop.

Located in freespace area, execute arrow code.
$05803B 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05808C 5 bytes Jump (JML/JSL) Hijacked by UberASMTool.
JML : NOP, jumps to the routine that executes global "load" code and level specific "load" code.
$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.
$0584DB 8 bytes Hex Edit Modified by AddmusicK.
Changes the table of vanilla level song numbers.
$058520 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, fixes layer 2 interaction on the first frame of entering a level.
$058555 17 bytes Code Modified by AddmusicK.
Modifies part of the level loading routine to change how $0DDA works.
$058583 4 bytes Jump (JML/JSL) Hijacked by the Midway Point Timer Reset patch by WhiteYoshiEgg.
JML, it hijacks the original routine that sets the level timer to backup its initial value to free RAM.
$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 Jump (JML/JSL) Modified by Lunar Magic.
JSL : NOP, jumps to the routine inserted at $0EFD00.
$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.
$05B16E 32 bytes Code Modified by the Automatic Intro Message Dismiss patch, by KevinM.

Modifies the game code to dismiss a message automatically if it's the intro message. All other messages are unaffected.

Also inserts labels at $05B15A, $05B18B and $05B18E.
$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.
$05CC66 2 bytes Hex Edit Hijacked by the Yoshi Coin Counter Patch, by Darolac.

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.
$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.
$05CEC6 4 bytes Table Modified by the 8 Digits Score patch by Isikoro.
Modifies the table used to increment the score at the level end to adapt to the new score system.
Changes from [$0001,$000A] to [$0010,$0100], since the patch uses the decimal flag (so $0010 = 10, not 16) and it doesn't store the score as "actual score"/10 (so to add 10, you have to increase the score address by 10 rather than 1).
$05CEF6 16 bytes Code Modified by the 8 Digits Score patch by Isikoro.
Modifies the code that adds score at the level end to account for the new score system.
$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.
$05D7AB 5 bytes Jump (JML/JSL) Hijacked by the Individual Dragon Coin Save patch by worldpeace, JackTheSpades and LX5.
JML : NOP, it jumps to a routine that computes the value of $13BF for the level currently being entered, and sets the number of Dragon Coins collected in the level based on how many they were collected before.
$05D7B9 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D7BD 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it jumps to an initialization routine.
$05D7CE 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D7CE 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
JSL, it jumps to the routine at $05DC50.
$05D7D4 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it jumps to an initialization routine.
$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.
$05D836 5 bytes Code Modified by Lunar Magic.
TYX : JSL, it copies the Y register into X and then jumps to the routine at $03BCE0.
$05D842 4 bytes Jump (JML/JSL) The main jump of Kaijyuu's Multi Midway Points 1.7 Patch.
$05D842 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's the main entry point for the multiple midway points patch included in retry.
$05D8AC 5 bytes Code Hijacked by the Individual Dragon Coin Save patch by worldpeace, JackTheSpades and LX5.
It writes the original code (STA $0E : LDA $1F11,y) to restore it in case you patch the new version over an old one (which used this location as a jump point).
$05D8B1 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D8B1 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
JSL, it jumps to the routine at $05DCD0.
$05D8B7 39 bytes Code Modified by UberASMTool.
Inserts code that sets the current sublevel number in $010B, in a way that's compatible with older versions of the LevelNum patch.
$05D8B7 39 bytes Code Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
It's the LevelNum patch, which sets the current sublevel number in $010B.
$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.
$05D8E6 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it jumps to an initialization routine. This is run between the objects and sprites initialization codes.
$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".
$05D971 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's part of the code that fixes the bug where sprites always face left when loading a level.
$05D979 4 bytes Code Modified by Lunar Magic.
$05D97D 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D97D 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
JSL, it jumps to the routine at $05DD30.
$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.
$05D9D7 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it modifies the level loading routine to set Mario's entrance depending on the current checkpoint.
$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.
$05D9DE 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, jumps to the code that handles secondary exits for the multiple midway points patch included in retry.
$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.
$05D9EC 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, fixes vanilla midway entrances when using the patch.
$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.
$05D9FC 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's part of the code that fixes the bug where sprites always face left when loading a level.
$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.
$05DA03 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's part of the code that fixes the bug where sprites always face left when loading a level.
$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.
$05DAA3 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's the code that makes secondary exits compatible with "No Yoshi" intros in the multiple midway points patch included in retry.
$05DAB2 4 bytes Jump (JML/JSL) Hijacked by the Level Entrance Repointer Patch, by JamesD28 and Smallhacker.
JML, hijacks the level entrance routine to load data from a level between 0 and 1FF, then jumps back.
$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.
$05DBF2 5 bytes Jump (JML/JSL) Modified by the Death Counter Version 1.2 patch by Thomas.

JSL, jumps to a custom routine that erases Mario's lives from the overworld border, and draws the death counter tiles on to the overworld border. Immediately returns again (RTL) after exiting from this custom routine.
$05DC46 7 bytes Code Modified by the Message Box Expansion patch. LevelNum, stores the current level number to $010B.
$05DC50 45 bytes Code Modified by Lunar Magic.
It's a routine that handles screen exits, by checking if the "u" bit in $7E19D8,x (x = screen number where Mario is) is set: if not, the vanilla exit system is used, otherwise LM's modified system is used.
$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+.
$05DCB0 14 bytes Code Modified by Lunar Magic.
$05DCD0 30 bytes Code Modified by Lunar Magic.
It's a small routine inserted the first time the overworld is saved.
$05DCDD 5 bytes Jump (JML/JSL) Modified by the Level Depending On Event patch, by Deflaktor.

JSL, hijacks the level loading routine to change the level number if a certain event has been passed. A remaining byte is NOP'd out.
$05DCE2 4 bytes Jump (JML/JSL) Modified by the Level Depending On RAM Address patch, by Deflaktor.

JML, hijacks the level loading routine to change the level number if a certain RAM address is not 0.
$05DD00 29 bytes Code Modified by Lunar Magic.
$05DD30 70 bytes Code Modified by Lunar Magic.
$05DD80 20 bytes Code Modified by Lunar Magic.
$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.
$06F624 3 bytes 24-bit Pointer Hijacked by GPS.
It inserts a long pointer to the table of acts like settings for block in the range $0000-$3FFF.
$06F63A 3 bytes 24-bit Pointer Hijacked by GPS.
It inserts a long pointer to the table of acts like settings for block in the range $4000-$7FFF. Only inserted if !__insert_pages_40_plus == 1.
$06F67B 4 bytes Jump (JML/JSL) Hijacked by GPS.
JML, jumps to code that checks for the new "WallFeet" and "WallBody" offsets.
$06F690 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioBelow" offset for custom blocks. The code then jumps back to $06F602.
$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 Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioAbove" offset for custom blocks. The code then jumps back to $06F602.
$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 Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioSide" offset for custom blocks. The code then jumps back to $06F602.
$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 Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "TopCorner" offset for custom blocks. The code then jumps back to $06F602.
$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 Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioBody" offset for custom blocks. The code then jumps back to $06F602.
$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 Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioHead" offset for custom blocks. The code then jumps back to $06F602.
$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).
$06F717 4 bytes Jump (JML/JSL) Hijacked by GPS.
JML, jumps to code that fixes a bug regarding the "SpriteH" offset.
$06F720 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "SpriteV" offset for custom blocks. The code then jumps back to $06F602.
$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 Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "SpriteH" offset for custom blocks. The code then jumps back to $06F602.
$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 Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioCape" offset for custom blocks. The code then jumps back to $06F602.
$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 Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioFireball" offset for custom blocks. The code then jumps back to $06F602.
$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.
$06F7D0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "WallFeet" offset for custom blocks. The code then jumps back to $06F602.
$06F7E0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "WallBody" offset for custom blocks. The code then jumps back to $06F602.
$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.
$0C9447 1 byte Hex Edit Modified by AddmusicK.
Changes the "Staff roll" song number.
$0C9EEB 96 bytes Code Modified by Lunar Magic.
$0CA40C 1 byte Hex Edit Modified by AddmusicK.
Changes the "Yoshis are home" song number.
$0CA5C2 1 byte Hex Edit Modified by AddmusicK.
Changes the "Cast list" song number.
$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).
$0CC94E 4 bytes Jump (JML/JSL) Modified by Skippable Castle Cutscenes: Adds a check which allows the player to skip the cutscene.
$0DA106 4 bytes Jump (JML/JSL) Modified by ObjecTool 0.5, by 0x400 and imamelia.
JML, It adds support for new extended objects ($98+).
$0DA415 5 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML : NOP, it runs the custom midway object code. (only if !use_custom_midway_bar = 1)
$0DA415 5 bytes Jump (JML/JSL) Modified by ObjecTool 0.5, by 0x400 and imamelia.
JML : NOP, it allows the user to place object 2D into the level and therefore adds support for custom normal objects.
$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.
$0DA691 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it modifies the midway bar object code to spawn the midway when another one in the level has been collected.
$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
$0DB2D7 4 bytes Jump (JML/JSL) Hijacked by the Individual Dragon Coin Save patch by worldpeace, JackTheSpades and LX5.
JML, it modifies the Dragon Coin object code to not generate the coin in case it's been collected already.
$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+.
$0DF08A 79 bytes Code Modified by Lunar Magic.
It's a subroutine (which ends in RTS) inserted the first time a level is saved in LM.
$0DF150 13 bytes Code Modified by Lunar Magic.
Small piece of code inserted the first time a level is saved in LM.
$0DF160 35 bytes Code Modified by Lunar Magic.
It's a subroutine (which ends in RTS) inserted the first time the time limit setting is bypassed in LM.
$0DF17D 4 bytes Jump (JML/JSL) Hijacked by the Midway Point Timer Reset patch by WhiteYoshiEgg.
JML, it hijacks Lunar Magic's custom routine that sets the level timer to backup its initial value.
$0DF1C0 178 bytes Code Modified by Lunar Magic.
It's a subroutine (which ends in RTS) inserted the first time a level is saved in LM.
$0DF290 59 bytes Code Modified by Lunar Magic.
It's a subroutine (which ends in RTS) inserted the first time a level is saved in LM.
$0DF2CB 8 bytes Table Modified by Lunar Magic.
It's an AND table (which goes from $01 to $80) inserted the first time a level is saved in LM. It's used by the code at $0DF290.
$0E8000 28928 bytes Code Modified by AddmusicK.
First, an header is inserted, containing the following:
- The identifier characters "@AMK".
- Version number (which seems to be kept at $00 in all versions of the program).
- Long pointer to the table of sample groups pointers.
- Long pointer to the table of music data pointers.
- 21 "$00" bytes, probably meant for future expansions.

Then, the main code of the tool is inserted, which handles uploading music to the SPC700 and playing it, and the rest of the space is cleared out by filling it with "$55" bytes ("rep $7100 : db $55" done before inserting the custom code). The space is cleared out until $0EF0FF, since $0EF100-$0EFFFF is used by Lunar Magic.
$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.

Additionally, Lunar Magic inserts a 55 bytes routine at $0EFD00 (ends in RTL), which is used to get the BG Map16 page during level loading, and a 48 bytes table at $0EFD50, read from in the routine.
Extra Bytes 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.
$0F8000 28753 bytes Data Modified by AddmusicK.
This is where AMK's custom SPC engine (main.bin) is inserted in the ROM, to then be uploaded to the SPC700 ram. The remaining bytes are cleared out by filling them with "$55" bytes ("REP $7051 : db $55" done before inserting the custom data). The space is cleared out until $0FF050, since $0FF051-$0FFFFF is used by Lunar Magic.
$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 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy