Language…
11 users online: 1919ilith,  AmperSam,  cardboardcell, Firstnamebutt, Heitor Porfirio, MiamidropzSMM2, NewPointless, signature_steve, TCgamerboy2002, timothy726, XGAMER 2009 - Guests: 196 - Bots: 108
Users: 70,829 (2,359 active)
Latest user: Hackmantheorigi

SMW Memory Map

Displaying 2446 out of 2446 addresses.

View: moderated | waiting (26)

Filter

Link
  • Pages:
  • 1
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 UberASM Tool.
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 UberASM Tool 1.x.
JML, jumps to the routine that executes global main code.

This hijack has been removed as of v2.0.
$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.
$008072 3 bytes Jump (JMP/JSR) Hijacked by the Lunar Magic's "VRAM Patch" Optimization patch, by Kevin.

JSR, replaces the main game loop call with a call to a custom routine in bank 0 freespace, which allows the stripe image modifications to take place outside of NMI after the game loop has run.
$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 UberASM Tool.
JML : NOP #2, jumps to the routine that executes all possible "nmi" labels: global (removed as of v2.0), level, gamemode, and overworld. New to v2.0, if no resources use the "nmi" label, this hijack is removed and the original game code is restored.
$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).
$0081AA 5 bytes Jump (JML/JSL) Hijacked by the HDMA Bugfixes patch, by Ice Man.

JML : NOP, clears the HDMA enable mirror on specific game modes.
$0081AF 3 bytes Code Modified by Fix HDMA Flickering patch by anonimzwx.

BRA $01 : NOP, removes the line [STZ $420C] from NMI.
$0081C6 5 bytes Jump (JML/JSL) Modified by the Easy Mode 7 Patch by ExE Boss, HuFlungDu, and mathie.

JML : NOP, makes SMW use the Mode 7 mirrors in any Mode 7 level instead of just boss levels.
$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 as part of its VRAM modification patch.
$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.
$0081F4 2 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

BRA $01, skips the vanilla status bar NMI routine.
$008209 4 bytes Jump (JML/JSL) Modified by Lunar Magic as part of its VRAM modification patch.
$00820D 4 bytes Jump (JML/JSL) Hijacked by the Inline Layer 3 Messages v1.0.1 patch, by MarioFanGamer.

JML, jumps to code that handles VRAM reads/writes during NMI (if !HijackNmi = 1).
$00820D 5 bytes Code Modified by the Inline Layer 3 Messages v1.0.1 patch, by MarioFanGamer.

Code, restores the original NMI code so that the custom code can be inserted via UberASM (if !HijackNmi = 0).
$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).
$008243 2 bytes Code Modified by Controller Read Optimization by spooonsss.

Changed to BRA $01 to skip the JSR to the controller update routine.
$008275 4 bytes Jump (JML/JSL) Modified by the Move Layer 3 to Subscreen Fix patch, by Kevin and Lui.

JML, modifies the NMI routine to back up the original main screen/subscreen settings to free RAM, disable Layer 3 on the main screen, and enable Layer 3 on the subscreen if the "Move Layer 3 to Subscreen" option is checked in Lunar Magic.
$008275 4 bytes Jump (JML/JSL) Hijacked by Lui37's 'Move Layer 3 to Subscreen Fix' patch. It changes part of NMI. [JML]
$008275 3 bytes Jump (JMP/JSR) Modified by "Remove Status Bar" patch. Jump to code that disables IRQ.
$008282 1 byte Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

db $11, repoints the branch destination to jump to $00828F instead of $0082A1 when not in the credits.
$008283 12 bytes Code Modified by Fix HDMA Flickering patch by anonimzwx.

Flips the order the game writes to the screen display register ($2100) and the HDMA enable register ($420C) in NMI, making the game first write to the HDMA enable register.
Code
$008292 24 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

See details, handles the NMI code of the status bar.
Hijacked Code
$008292 4 bytes Jump (JML/JSL) Hijacked by the Timer Sprite Status Bar patch, by CircleFriendo.

JML, sets the game modes where IRQ will be fired normally and where it is disabled.
$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.
$008294 4 bytes Jump (JML/JSL) Hijacked by the RAM Toggled Status Bar (& IRQ) Patch, by Kevin.
JML, hijacks the status bar IRQ setup.
$0082B0 6 bytes Jump (JML/JSL) Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

JML : NOP #2, changes NMI settings to set up message box IRQ.
$0082B0 12 bytes Code Modified by Fix HDMA Flickering patch by anonimzwx.

Flips the order the game writes to the screen display register ($2100) and the HDMA enable register ($420C) in NMI, making the game first write to the HDMA enable register.
Code
$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.
$0082F4 2 bytes Code Modified by Controller Read Optimization by spooonsss.

Changed to BRA $01 to skip the JSR to the controller update routine.
$00834B 12 bytes Code Modified by Fix HDMA Flickering patch by anonimzwx.

Flips the order the game writes to the screen display register ($2100) and the HDMA enable register ($420C) in NMI, making the game first write to the HDMA enable register.
Code
$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.
$00835C 4 bytes Jump (JML/JSL) Hijacked by the Timer Sprite Status Bar patch, by CircleFriendo.

JML, sets the game modes where IRQ will be fired normally and where it is disabled inside Mode 7 rooms.
$008385 5 bytes Jump (JML/JSL) Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

JML : NOP, changes IRQ settings to set up BG4 settings on message box region.
$008385 7 bytes Jump (JML/JSL) Modified by the Easy Mode 7 Patch by ExE Boss, HuFlungDu, and mathie.

JML : NOP : BMI, compatability code for SA-1 Pack v1.32+ due to changes in IRQ code. Not hijacked on LoROM.
$00838F 5 bytes Jump (JML/JSL) Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

JML : NOP, handles the IRQ code of the status bar.
$00838F 2 bytes Hex Edit Modified by the Move Layer 3 to Subscreen Fix patch, by Kevin and Lui.

LDY #$1E, adjusts the H-blank wait timing of the IRQ routine to suit a separate hijack made by the patch.
$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]
$008394 4 bytes Jump (JML/JSL) Modified by the Move Layer 3 to Subscreen Fix patch, by Kevin and Lui.

Applied on LoROM only. JML, modifies the tail end of the IRQ routine to preserve the original Layer 3 main screen/subscreen settings for the status bar region.
$0083ED 2 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

BRA $04, disables the fixed position of layer 3 during the goal march.
$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.
$0085A2 3 bytes 24-bit Pointer Modified by Title Screen Fade by Erik.

A pointer for title screen layer 3 border removal so that only file selection appears on screen.
$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.
$0086A8 25 bytes Code Hijacked by No Button Aliases by mszegedy.
The patch's single hijack that changes the connections between $0da2-$0da8 and $15-$18.
Hijack size is 25 bytes if either alias is re-enabled, otherwise size is 21 bytes.
$0086C1 4 bytes Jump (JML/JSL) Hijacked by DMA Queue and Block Change Optimize by imamelia, mario90 and spooonsss.
JML, A hijack in late NMI (right at the end of the controller update routine) to upload data from the DMA queue.
$0086C6 1 byte Opcode Modified by Controller Read Optimization by spooonsss.

Changes the return from the controller update routine to an RTL instead of RTS.
$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.
$008751 4 bytes Code Modified by the Lunar Magic's "VRAM Patch" Optimization patch, by Kevin.

REP #$20 : LDA $03, removes a hijack inserted by Lunar Magic that runs the stripe image modifications in NMI.
$008A4E 5 bytes Code Modified by Lunar Magic for cleaning up some ExAnimation data on reset.
$008A71 5 bytes Jump (JML/JSL) Not modified itself, but read by the Move Layer 3 to Subscreen Fix patch, by Kevin and Lui, and only on SA-1 ROMs. Reads the location of the "snes_init" label as applied by the SA-1 pack, and offsets from it to modify the SA-1 pack's code in engine/snes_irq.asm.

JSL : NOP, modifies the IRQ routine as implemented by the SA-1 pack to preserve the original Layer 3 main screen/subscreen settings for the status bar region.
$008C81 964 bytes Hex Edit Modified by Remove Status Bar patch by Lui.

Removes status bar functionality, including initialization, drawing, timer, score, coins, lives, stars (partially) and dragon coins, marking it as freespace. This freespace can be used by other patches (including Remove Status Bar itself).
$008C81 126 bytes Table Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

See details, removes the vanilla status bar tilemap and puts the player name and minimum dash meter values for each arrow into the free area.
Hijack
$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.
$008C89 108 bytes Table Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Table that rearranges the status bar to show the health bar appropriately.
$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
$008CBE 6 bytes Jump (JML/JSL) Modified by the "ForNoStatusBar" version of the 1-Up Score Sprite on 100 Coins patch, by RussianMan. SA-1 only.

JSL : BRA $00, swaps the direct life increment upon collecting 100 coins with a score sprite spawn. Hijack positioned to modify code inserted by the Remove Status Bar patch.
$008CC1 6 bytes Jump (JML/JSL) Modified by the "ForNoStatusBar" version of the 1-Up Score Sprite on 100 Coins patch, by RussianMan. LoROM only.

JSL : BRA $00, swaps the direct life increment upon collecting 100 coins with a score sprite spawn. Hijack positioned to modify code inserted by the Remove Status Bar patch.
$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.
$008CDF 2 bytes Hex Edit Hijacked by the Bigger Timer Patch, by nnj.

A hex edit responsible for the small clock tile (tile number and yxpccctt properties).
$008CF5 1 byte Hex Edit Modified by GHB Disable Score by HammerBrother and wye.

Removes score's first zero from status bar display.
$008CFF 172 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

Replaces the vanilla status bar upload routine with its own upload routine as well as handling the player name, Dragon Coin counter, dash meter and star coins.
$008CFF 4 bytes Jump (JML/JSL) Hijacked by the RAM Toggled Status Bar (& IRQ) Patch, by Kevin.
JML, hijacks the status bar tilemap transfer from ROM.
$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.
$008DAC 5 bytes Jump (JML/JSL) Hijacked by the Timer Sprite Status Bar patch, by CircleFriendo.

JML : RTS, uploads the numbers and the clock symbol to VRAM whenever the clock ticks down.
$008DAC 4 bytes Jump (JML/JSL) Hijacked by the RAM Toggled Status Bar (& IRQ) Patch, by Kevin.
JML, hijacks the status bar tilemap transfer from RAM.
$008DB0 1 byte Hex Edit Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

db $40, sets the VRAM destination of the status bar to $5040 instead of $5042
$008DB1 50 bytes Code Modified by Status Bar NMI Optimizer by Kevin.
Replaces the vanilla status bar NMI routine to use constant values and set to addresses directly instead of a table and loop.
leaves 18 unused bytes at $008DE3.
$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.
$008DCD 1 byte Hex Edit Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

db $60, sets the VRAM destination of the status bar to $5060 instead of $5063
$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.
$008DE9 4 bytes Hex Edit Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

db !status_tile,!status_tile>>8,$00,$20, changes the status bar DMA code to upload from !status_tile instead of $0EF9.
$008DF0 4 bytes Hex Edit Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

db !status_tile_bottom,!status_tile_bottom>>8,$00,$20, changes the status bar DMA code to upload from !status_tile instead of $0EF9. Note that !status_tile_bottom is !status_tile+$20.
$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.
$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) Modified by the SMB3 P-Meter Patch, by Ersanio.

A JML that jumps to the main routine of creating the P-meter.
$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.
$008E6B 4 bytes Jump (JML/JSL) Modified by Time Up Flag patch by DiscoTheBat.

JML, Modifies time up to execute custom code depending on a freeRAM flag.
$008E6B 4 bytes Jump (JML/JSL) Modified by the No Life - No Time patch, by Nitrocell Inc..

JSL, replaces the TIME UP death routine call to deduct a life and refill some time, only killing the player on their last life.
$008E6F 18 bytes Code Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Sets the timer in its new position in the status bar.
$008E6F 40 bytes Code Hijacked by the Bigger Timer Patch, by nnj.

A JSL + code for writing the big time numbers. Also takes care of the leading zeros option.
$008E6F 38 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

Replaces the vanilla time display with its own time display.
$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.
$008E95 3 bytes Jump (JMP/JSR) Modified by GHB Disable Score by HammerBrother and wye.

Disables score display on the status bar.
$008E95 113 bytes Code Modified by Optimize Score Display by Fernap.

Modifies status bar score display.
$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.
$008ED7 2 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

LDX #$00, handles the index for the score tiles.
$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.
$008EDE 2 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

BRA $0F or LDX #$00, either handles the index for the score tiles or skip the code to remove leading zeroes in the score.
$008EE0 3 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

LDA !score,x, loads the score from the given tile instead of $0F29.
$008EE5 2 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

LDA #!NULL, loads the empty tile for the status bar.
$008EE7 3 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

STA !score,x or NOP #3, either stores the score to the given tile instead of $0F29 or disables the score.
$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.
$008F05 2 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

LDX #$00, handles the index for the score tiles.
$008F0C 2 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

BRA $0F or LDX #$00, either handles the index for the score tiles or skip the code to remove leading zeroes in the score.
$008F0E 3 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

LDA !score,x, loads the score from the given tile instead of $0F29.
$008F13 2 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

LDA #!NULL, loads the empty tile for the status bar.
$008F15 3 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

STA !score,x or NOP #3, either stores the score to the given tile instead of $0F29 or disables the score.
$008F2F 6 bytes Jump (JML/JSL) Modified by the primary 1-Up Score Sprite on 100 Coins patch, by RussianMan.

JSL : BRA $00, swaps the direct life increment upon collecting 100 coins with a score sprite spawn.
$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 6 bytes Jump (JML/JSL) Hijack for the left aligned life counter.

Modified also by the "Press R to switch characters" patch (4 bytes). It jumps to the main patch code.
$008F49 4 bytes Jump (JML/JSL) Hijacked by Play as Yoshi: Runs the main code every frame.
$008F49 4 bytes Jump (JML/JSL) Hijacked by the Speed Testing Patch by Pseudonym.
It jumps to the main code of the patch.
$008F49 4 bytes Jump (JML/JSL) Modified by the Duck Walking patch, by Pseudonym.
Allows moving left or right when ducking.
$008F51 10 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

Replaces the vanilla lives display with its own lives display.
$008F55 6 bytes Jump (JML/JSL) Modified by the Invisible Powerup Patch, by wiiqwertyuiop.

Jumps to the main code, which handles the invisibility power-up.
$008F55 6 bytes Code Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Writes the lives counter in its new position in the status bar.
$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.
$008F7A 10 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

Replaces the vanilla coin display with its own coin display.
$008F86 111 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

Replaces the end of the status bar routine with its own to handle the item box, dashmeter and bonus stars.
$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.
$008FC8 4 bytes Jump (JML/JSL) Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Jumps to a routine that changes the Mario/Luigi text in the status bar to the health bar.
$008FD8 5 bytes Jump (JML/JSL) Hijacked by the Per Level Yoshi Coins Amount patch by Kevin.
JSL : NOP, changes how many Dragon Coins are displayed on the status bar in total for the current level.
$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.
$008FEF 3 bytes Code Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Writes the dragon coin counter in its new position in the status bar.
$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.
$009012 44 bytes Code Modified by Optimize Score Display by Fernap.

Changes a part of 24-bit hex-to-dec into a score addition routine, using BCD format.
$009014 3 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

STA !score,x or NOP #3, either stores the score to the given tile instead of $0F29 or disables the score.
$009034 3 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

STA !score,x or NOP #3, either stores the score to the given tile instead of $0F29 or disables the score.
$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.
$00907A 1 byte Data Modified by More Extended Sprites, by Isikoro.

$CC, changes the reserve item OAM index.
$00907A 1 byte Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Moves the item box OAM index to $02FC outside of Reznor, Morton, Roy, Ludwig and Bowser's battles.
$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.
$00925B 2 bytes Opcode Hijacked by the patch Free $7E04A0 by spooonsss.
LDA #$00 changed to LDA #!FreeRAM>>16. (hdma bank value)
$009263 19 bytes Code Hijacked by the patch Free $7E04A0 by spooonsss.
Changes the window RAM clear routine to clear the newly designated free RAM area instead of the original.
$00927C 7 bytes Data Hijacked by the patch Free $7E04A0 by spooonsss.
Changes to window pointers.
$00928C 2 bytes Opcode Hijacked by the patch Free $7E04A0 by spooonsss.
REP #$10 changed to REP #$30.
$009291 23 bytes Code Hijacked by the patch Free $7E04A0 by spooonsss.
Changes full screen window code to use !Freeram.
$0092AB 2 bytes Opcode Hijacked by the patch Free $7E04A0 by spooonsss.
REP #$10 changed to REP #$30.
$009322 4 bytes Jump (JML/JSL) Hijacked by UberASM Tool.
JML, jumps to the routine that calls the "main", "init", and "end" (in v2.0+) labels for game mode code.
$009326 3 bytes Code Hijacked by UberASM Tool.
RTS : NOP #2. Facilitate returning from the main game mode hijack. This is new as of version 2.0.
$009391 3 bytes Code Hijacked by "No Title, No Intro, No Problems" by Kevin.

STZ, Sets to screen brightness.
$009394 4 bytes Jump (JML/JSL) Hijacked by the Intro Logo Patch, by Roy.

JML, handles the Nintendo Logo drawing via DMA.
$009397 26 bytes Code Hijacked by "No Title, No Intro, No Problems" by Kevin.

STZ : BRA, Sets the screen to dark, skips drawing the nintendo presents logo and layer 3 clean.

The skipped code is used as freespace to load overworld-related stuff such as SRAM and the player's OW position.
$00939A 36 bytes Jump (JML/JSL) Hijacked by the 128x128 Nintendo Presents Logo patch, by Kevin.

See details, draws the tiles of the Nintendo Presents (top left position and object tiles size in bank $00, the rest in freespace).
Code
$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).
$0093C5 2 bytes Opcode Hijacked by "No Title, No Intro, No Problems" by Kevin.

BRA, Skips a bunch of code and heads straight to loading gamemode $02.
$0093C6 1 byte Hex Edit Hijacked by the 128x128 Nintendo Presents Logo patch, by Kevin.

db !intro_time, sets the time for how long Nintendo Presents stays active.
$0093D4 6 bytes Jump (JML/JSL) Hijacked by the 128x128 Nintendo Presents Logo patch, by Kevin.

See details, uploads a custom palette for the Nintendo Presents screen if a custom palette is enabled.
!custom_palette = 0 !custom_palette = 1
$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 to fix an issue with re-enabling NMI.
$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.
$009417 2 bytes Opcode Hijacked by "No Title, No Intro, No Problems" by Kevin.

BRA, Branch to the hijacked code at $009397.
$009428 6 bytes Jump (JML/JSL) Modified by Title Screen Fade by Erik.

Handle title screen fade in during its circle in phase.
$00942B 1 byte Opcode Modified by the Playable Title Screen patch by Kevin.

RTS. Makes pressing A/B/X/Y during fade-in load the level instead of the file select.
$009471 5 bytes Code Modified by Lunar Magic for uploading Layer 3 during the credits.
$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.
$0094DA 6 bytes Jump (JML/JSL) Modified by the Castle Destruction Cutscene Custom Palettes patch, by Kevin.

JSL : BRA $00, modifies the call to the palette loading routine during castle cutscene init in order to load a custom palette.
$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, to handle ExAnimation during the Yoshi's House portion of the credits.
$0095E9 13 bytes Code Modified by Lunar Magic, to fix an issue during the credits stemming from LM's 4bpp update.
$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 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.
$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 the Per Level "Mario Start!" Enable/Disable patch, by Kevin.

JML, modifies the display "MARIO START!" routine to bypass showing text based on a user-settable table, instead of deferring to the level tile being entered.
$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]
$0096BE 5 bytes Code Modified by the Playable Title Screen patch by Kevin.

If SkipDeath is disabled, restarts the current song when reloading the title screen. Otherwise restores original code.
$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 with a JSL to a routine for loading a few additional settings from the primary level header.
$009712 4 bytes Jump (JML/JSL) Modified by Horizontal Scroll Fix v1.1. Jumps to the main code.
$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.
$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) 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.
$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.
$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.
$00988C 4 bytes Jump (JML/JSL) Modified by the Easy Mode 7 Patch by ExE Boss, HuFlungDu, and mathie.

JSL, fixes the Iggy/Larry battle mode. Hijacked even if !FixIggyLarry = 0.
$0098D1 1 byte Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the bank byte of GFX33 for the animated lava in mode 7 boss rooms.
$009A6A 4 bytes Jump (JML/JSL) Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

JSL, clears the background in Morton, Roy and Ludwig's boss battles during the level end.
$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.
$009AA4 4 bytes Jump (JML/JSL) Modified by the Separate Luigi Graphics patch, by Bensalot, DiscoTheBat, and Smallhacker.
JSL, loads player graphics for the appropriate character during Game Mode 04 (Prepare Title Screen).
$009AB9 4 bytes Jump (JML/JSL) Hijacked by SMA2 Yoshi blocks: Unlocks all colours of Yoshi for the title screen.
$009AC2 4 bytes Jump (JML/JSL) Hijacked by the Sprite Title Screen Menus patch by Kevin.

Initializes a tile buffer to empty.
$009AD3 3 bytes Jump (JMP/JSR) Hijacked by File Select Sprite Cursor by MarioFanGamer.
Original JSR is redirected to new code.
$009B1C 3 bytes Code Modified by Lunar Magic to fix an issue with the background color of the title screen level when the File Erase menu is loaded.
$009B1C 5 bytes Code Modified by Title Screen Fade by Erik.

Used to disable Layer 1 and Layer 2 and changes background color when erasing save files.
$009B38 2 bytes Opcode Hijacked by File Select Sprite Cursor by MarioFanGamer.
[LDY #$04], halves the original index to read from an 8-bit table instead of a 16-bit table.
$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]
$009B43 5 bytes Jump (JML/JSL) Modified by Title Screen Fade by Erik.

Restores music after backing out of save file deletion.
$009B9A 2 bytes Opcode Hijacked by File Select Sprite Cursor by MarioFanGamer.
[LDY #$00], halves the original index to read from an 8-bit table instead of a 16-bit table.
$009BB0 2 bytes Opcode Hijacked by File Select Sprite Cursor by MarioFanGamer.
[LDY #$03], halves the original index to read from an 8-bit table instead of a 16-bit table.
$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.
$009C67 32 bytes Code Modified by the Playable Title Screen patch by Kevin.

Skips over title screen movement code and allows the level to restart on player death. If !SkipDeath != 0, only 26 bytes are modified.
$009C67 5 bytes Jump (JML/JSL) Modified by Title Screen Fade by Erik.

Handle title screen fade in during title movie.
$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.
$009C9F 4 bytes Jump (JML/JSL) Optionally hijacked by the Level Death Flag patch by MarioFanGamer.
JSL to code that clears the death flag for all levels when a save file is loaded.
$009CA4 1 byte Hex Edit Changed from $04 to $14 by the Sprite Title Screen Menus patch by Kevin.

Moves sprites from subscreen to mainscreen to prevent them from being darkened.
$009CA4 1 byte Hex Edit Hijacked by File Select Sprite Cursor by MarioFanGamer.
db $14, alters TM setting ($212C) on the file select menu to place the object layer on the main screen to avoid half-color sprites.
$009CA9 1 byte Hex Edit Hijacked by File Select Sprite Cursor by MarioFanGamer.
db $03, alters TS setting ($212D) on the file select menu to avoid placing the object layer on the subscreen to avoid half-color sprites.
$009CA9 1 byte Hex Edit Changed from $13 to $03 by the Sprite Title Screen Menus patch by Kevin.

Moves sprites from subscreen to mainscreen to prevent them from being darkened.
$009CAD 5 bytes Jump (JML/JSL) Modified by Title Screen Fade by Erik.

Fade in code for the title screen before bringing up save file selection.
$009CAD 3 bytes Hex Edit Hijacked by the HDMA Bugfixes patch, by Ice Man.

NOP : NOP : NOP, removes the code which disables HDMA on the title screen.
$009CB8 3 bytes Jump (JMP/JSR) Hijacked by the One File, One Player patch, by Kevin.

JMP, starts the game immediately on the title screen if the player presses ABXY or Start/Select on the title screen with a new save or open up the continue / new game menu (formerly the Player 1 / Player 2 menu) if a save exists.
$009CD1 5 bytes Jump (JML/JSL) Modified by Title Screen Fade by Erik.

Removes Layer 3 border and resets brightness, so only file select options appear on screen.
$009CD3 3 bytes Code Modified by Lunar Magic to fix an issue with the background color of the title screen level when the File Select menu is loaded.
$009CD7 1 byte Hex Edit Modified by Title Screen Fade by Erik.

Used to disable Layer 1 and Layer 2 when the screen fully fades in.
$009CDB 2 bytes Opcode Hijacked by File Select Sprite Cursor by MarioFanGamer.
[LDY #$01], halves the original index to read from an 8-bit table instead of a 16-bit table.
$009CEF 6 bytes Jump (JMP/JSR) Hijacked by the One File, One Player patch, by Kevin.

STZ : JSR, forces one player mode and always use save file 1 when loading a game.
$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
$009D22 4 bytes Jump (JML/JSL) Hijacked by the Sprite Title Screen Menus patch by Kevin.

Clears the stripe image table and sets up a sprite tile buffer for the player select menu instead.
$009D25 1 byte Opcode Hijacked by the One File, One Player patch, by Kevin.

db $00, doesn't draw the Player 1 / Player 2 menu if the player selects the file.
$009D38 46 bytes Code Hijacked by the One File, One Player patch, by Kevin.

Replaces the original file select with a custom one which only draws "CONTINUE" (or "CONTINUE GAME" if set by the user) and "NEW GAME".
$009D3C 4 bytes Jump (JML/JSL) Hijacked by the Sprite Title Screen Menus patch by Kevin.

Clears the stripe image table and sets up a sprite tile buffer for the file select menu instead.
$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.
$009D6C 4 bytes Jump (JML/JSL) Hijacked by the Exit Percentage on File Select Patch, by KevinM.
JML, hijacks the exit number loader in order to compute a percentage instead.
$009D7C 4 bytes Code Hijacked by the Exit Percentage on File Select Patch, by KevinM.
Code, hijacks the stripe image loader to load a decimal percentage instead of an integer.
$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.
$009D85 4 bytes Jump (JML/JSL) Hijacked by the Exit Percentage on File Select Patch, by KevinM.
JML, hijacks the stripe image loader on the file select screen.
$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.
$009D96 2 bytes Code Hijacked by the Exit Percentage on File Select Patch, by KevinM.
Code, hijacks the stripe image loader to load a decimal percentage instead of an integer.
$009D9B 4 bytes Code Hijacked by the Exit Percentage on File Select Patch, by KevinM.
Code, hijacks the stripe image loader on the file select screen.
$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.
$009DA8 12 bytes Code Hijacked by the One File, One Player patch, by Kevin.

RTS : <code>, loads the exit count for only one save file and also used as freespace for the subroutine to load save file one.
$009DFA 2 bytes Opcode Hijacked by the One File, One Player patch, by Kevin.

BRA, prevents the player from going back to the file select in the Player 1 / Player 2 menu (which acts as the continue / new file menu in this patch).
$009E08 2 bytes Opcode Hijacked by File Select Sprite Cursor by MarioFanGamer.
[LDY #$02], halves the original index to read from an 8-bit table instead of a 16-bit table.
$009E0D 3 bytes Jump (JMP/JSR) Hijacked by the One File, One Player patch, by Kevin.

JSR, loads the save file instead of selecting the player for the two options menu of the title screen.
$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.
$009E2C 6 bytes Jump (JML/JSL) Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Jumps to a routine that initialize the player's health in a new game.
$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).
$009E51 5 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JML : NOP, initialises the health bar on file select.
$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.
$009E62 2 bytes Opcode Hijacked by "No Title, No Intro, No Problems" by Kevin.

BRA $01, Skips a routine related to gamemode $0B.
$009E66 1 byte Hex Edit Hijacked by "No Title, No Intro, No Problems" by Kevin.

Changed from $0B to $0C. Skips the "fade to overworld" gamemode and heads directly to "load overworld"
$009E6A 118 bytes Code Hijacked by File Select Sprite Cursor by MarioFanGamer.
Replaces the original cursor code with the sprite's one.
$009E78 2 bytes 16-bit Pointer Hijacked by the One File, One Player patch, by Kevin.

Repositions the cursor position for the continue / new file menu (formerly the Player 1 / Player 2 menu).
$009EDB 4 bytes Jump (JML/JSL) Hijacked by the Sprite Title Screen Menus patch by Kevin.

Clears the stripe image table and sets up a sprite tile buffer for the cursor instead.
$009F19 4 bytes Jump (JML/JSL) Modified by Lunar Magic for a jump to the routine at $05DD80, which sets up the initial level flags during file creation.
$009F1D 4 bytes Jump (JML/JSL) Modified by the Restore and Customize Overworld Intro March patch by Kevin.

Moves the player's initial overworld position by a specified offset.
$009F37 5 bytes Jump (JML/JSL) Modified by the Windowing Fadeout/In v1.1.1 patch, by Ersanio.

JML : RTS, replaces the shared mosaic fade out/fade in routine with a custom transition effect that uses windowing.
$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.
$00A08A 5 bytes Jump (JML/JSL) Modified by Save Dragon Coins on Level End by MarioFanGamer.

JML : NOP, checks if the level has been beaten and all Dragon/Yoshi Coins have been collected, and saves them if so.
$00A08A 6 bytes Jump (JML/JSL) Hijacked by the patch Level Death Flag by MarioFanGamer.
JML : BRA $00, Clears the level flags when beating a level.
$00A0A0 3 bytes Code Potentially modified by Lunar Magic for its old Display Message 1 fix. No longer necessary as of v3.20, though can be re-applied with Shift+F8.
$00A0A3 5 bytes Hex Edit Modified by the Windowing Fadeout/In v1.1.1 patch, by Ersanio.

BRA $03 : NOP #3, disables setting mosaic size on overworld load.
$00A0B3 3 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP : +, skips over the JSR to the vanilla routine that uploads the overworld music data.
$00A0B9 4 bytes Jump (JML/JSL) Modified by the Separate Luigi Graphics patch, by Bensalot, DiscoTheBat, and Smallhacker.
JML, loads player graphics for the appropriate character during Game Mode 0C (Load Overworld).
$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.
$00A0E6 4 bytes Jump (JML/JSL) Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Jumps to a routine that deals with the player's health when ending a level and going back to the map.
$00A0EB 1 byte Code Modified by Lunar Magic (v3.30+).
Changes the CGADSUB settings on the overworld when using the "Disable path fade effect" option. Writes $20 or $30 depending on the "Enable translucency for palettes C-F in sprites" option being unchecked or checked.
$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 for a jump to $0FFAB0.
$00A149 4 bytes Code Modified by Lunar Magic to NOP out an unnecessary JSL.
$00A153 4 bytes Jump (JML/JSL) Modified by Lunar Magic to prevent the vanilla overworld border from being loaded if an LT3 tilemap is in use.
$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.
$00A17E 11 bytes Code Hijacked by the patch Free $7E04A0 by spooonsss.
Changes the overworld's circle effect clear routine.
$00A18F 6 bytes Jump (JML/JSL) Hijacked by UberASM Tool.
JML : NOP #2, jumps to the routine that executes the "init" label for overworld specific codes.
$00A1C3 4 bytes Jump (JML/JSL) Hijacked by UberASM Tool.
JML, jumps to the routine that calls the "main" and "end" (in v2.0+) labels in overworld code.
$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.
$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 for its title screen moves recording hijack.
$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.
$00A1DA 4 bytes Jump (JML/JSL) Modified by the Separate Luigi Graphics patch, by Bensalot, DiscoTheBat, and Smallhacker.
JML, checks every frame at the start of Game Mode 14 (Level) if the active player has changed, and uploads the appropriate graphics if so.
$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).
$00A1F9 5 bytes Jump (JML/JSL) Hijacked by "Better Bonus Game" by Sonikku.
Jumps to code that adds a lose pose if the player loses the bonus game. (Optional)
$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 for its "Allow using Start+Select to exit passed levels" overworld option.
$00A269 11 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This one saves all collected coins through Start+Select.
$00A269 4 bytes Jump (JML/JSL) Hijacked by the patch Level Death Flag by MarioFanGamer.
JML to the code that handles the anti-cheat option for this patch which can optionally count leaving a level with start+select as a death.
$00A284 5 bytes Jump (JML/JSL) Hijacked by the Lower Volume When Pausing v1.1 patch, by Kevin.

JML : NOP, plays unpause sound when Start+Select exiting the level to restore sound volume.
$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.
$00A286 3 bytes Jump (JMP/JSR) Hijacked by AddmusicK (1.0.8).
JMP to code in freespace freed at $00A635 to play a SFX when exiting a level with start+select.
$00A28A 5 bytes Jump (JML/JSL) Modified by the Easy Mode 7 Patch by ExE Boss, HuFlungDu, and mathie.

JML : NOP, handles rotation and scaling.
$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 UberASM Tool.
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 the Offscreen Indicator Patch, by Thomas.

JSL, jumps to the main code, drawing a single '!' sprite tile whenever Mario gets above or below the visible screen.
$00A299 4 bytes Jump (JML/JSL) Hijacked by No running patch. Adds speed limit.
$00A29D 4 bytes Jump (JML/JSL) Modified by BG Candle Flames Priority Fix (for SA-1 MaxTile) by Kevin.
A JSL (Located at around the beginning of gamemode 14) to $02FA16, which is also hijacked by this patch.
$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]
$00A2A5 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
Replaces the original JSL to $05BB39 to a JSL to code in freespace to handle LM's ExAnimations (along with the original game animations). You can JSL to that routine in cases where animations don't usually run to have them run like normal (for example, during the file select gamemode). To do so, use "JSL read3($00A2A6)" (if the animations still don't run, add a "INC $14" before the JSL).
$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 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.
$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 Alternative + Vertical L/R Scrolling patch, by Burning Loaf.

JSL, implements and manages custom camera panning controls and behavior.
$00A2D8 4 bytes Jump (JML/JSL) Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

JSL, displays the stars the player gains during the goal march when (for !GetStar_Sprite = 0).
$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).
$00A2E6 4 bytes Jump (JML/JSL) Hijacked by the Timer Sprite Status Bar patch, by CircleFriendo.

JML, runs the main code i.e. decrements the timer, plays the time is running out SFX and kills the player as well as draw it onscreen.
$00A2EE 5 bytes Jump (JML/JSL) Modified by SMA2 Slide Kill Chain patch by HammerBrother.

Reset consecutive kill counter if player stops sliding.
$00A2EE 5 bytes Jump (JML/JSL) Hijacked by UberASM Tool.
JML : NOP, jumps to the routine that calls the "end" label for level code. This is new as of v2.0.
$00A300 4 bytes Jump (JML/JSL) Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

JML, it hijacks the MarioGFXDMA routine to transfer the goal 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.
$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 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 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)).
$00A304 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML, uploads the custom player graphics and palette depending on the current character.
$00A308 1 byte Opcode Modified by the Remove Overworld Border Mario patch by Kevin.

Repoints the branch destination of the upload player GFX code to skip the code entirely instead of just the palette when no graphics are to be uploaded to VRAM.
$00A31A 4 bytes Jump (JML/JSL) Modified by the Custom Mario Palettes patch, by Erik, Roy, underway.

JML, jumps to a routine that makes the bank used in a DMA transfer to depend on a FreeRAM.
$00A339 4 bytes Jump (JML/JSL) Hijacked by the Alternate Mario ExGFX patch, by Alcaro, MarioFanGamer, and Thomas.

JML, jumps to code that handles swapping out the bank byte of the ExGFX depending on the value of a freeRAM address. It's stored to scratch RAM, which is later used to write the bank byte of the DMA source address.
$00A340 1 byte Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the bank byte of GFX32 for Mario's cape tile.
$00A355 4 bytes Jump (JML/JSL) Hijacked by the Alternate Mario ExGFX patch, by Alcaro, MarioFanGamer, and Thomas.

JML, jumps to code that handles DMA'ing the top half of Mario's tiles.
$00A367 4 bytes Jump (JML/JSL) Modified by the Free up RAM $7E2000 patch by p4plus2.
JML, used to change the bank byte of GFX32 and GFX33 for the Mario/Yoshi/Podoboo GFX DMA routine.
$00A375 4 bytes Jump (JML/JSL) Hijacked by the Alternate Mario ExGFX patch, by Alcaro, MarioFanGamer, and Thomas.

JML, jumps to code that handles DMA'ing the bottom half of Mario's tiles.
$00A387 4 bytes Jump (JML/JSL) Modified by the Free up RAM $7E2000 patch by p4plus2.
JML, used to change the bank byte of GFX32 and GFX33 for the Mario/Yoshi/Podoboo GFX DMA routine.
$00A390 5 bytes Code Modified by Lunar Magic for uploading ExAnimated tiles to VRAM.
$00A391 3 bytes Miscellaneous Not modified, but read by the Free up RAM $7E2000 patch by p4plus2 to change Lunar Magic's code.
Changes the bank byte of GFX33 for Lunar Magic's ExAnimations.
$00A39E 1 byte Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the bank byte of GFX33 for the original animations.
$00A3F0 6 bytes Jump (JML/JSL) Modified by the Free up RAM $7E2000 patch by p4plus2.
JSL : NOP #2, used to change the bank byte of GFX32 for the berries animation.
$00A418 4 bytes Jump (JML/JSL) Previously hijacked by Lunar Magic for its ExAnimation routine, though no longer used as of v1.70.
$00A439 1 byte Opcode Changed from a BEQ to a BRA by Lunar Magic, effectively disabling the routine.
$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 for a JSL to its overworld ExAnimation upload routine.
$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.).
$00A5AB 4 bytes Jump (JML/JSL) Hijacked by the Timer Sprite Status Bar patch, by CircleFriendo.

JML, initialises the timer by settings the clock speed and resets !StatusBarDisable.
$00A5AB 4 bytes Jump (JML/JSL) Modified by the Alternative + Vertical L/R Scrolling patch, by Burning Loaf.

JSL, resets the camera controller flags on level load and backs up the level's vertical scroll settings.
$00A5AF 5 bytes Jump (JML/JSL) Modified by the Easy Mode 7 Patch by ExE Boss, HuFlungDu, and mathie.

JML : NOP, turns off ExAnimation in Mode 7 levels.
$00A5BF 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

Loads the custom palette of a level depending on the value of $FE. If a custom palette should be loaded, $FE = level number + 1. Otherwise $FE = 0, and no custom palette is loaded. To load the palette, $0EF600 is indexed by ($FE-1)*3 to get a 24-bit pointer. If the low and high bytes of the pointer are both zero, no custom palette will be loaded. If a pointer exists, however, the first 2 bytes from it are stored to $0701 and the following 512 bytes are written directly to $0703.

$FE is cleared after it is read, possibly to avoid a custom palette from being uploaded twice.
$00A5D5 5 bytes Jump (JML/JSL) Modified by "Mario + Animated Tile ExGFX" patch. Load Mario and Animation graphics on per-level basis.
$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).
$00A5E1 6 bytes Code Modified by Lunar Magic for a hijack to extend $0905 to include the entirety of the palette.
$00A5EE 5 bytes Jump (JML/JSL) Hijacked by UberASM Tool.
JML : NOP, jumps to the routine that executes the "init" label for level code.

Note, the NOP is new as of v2.0.
$00A5FE 3 bytes Jump (JML/JSL) Modified by Lunar Magic for a jump to its ExAnimation routine.
$00A635 31 bytes Code Modified by AddmusicK.
BRA + : NOP #29 : +, skips over code that manipulates $0DDA.
Since AMK 1.0.8, it adds a small piece of code at $00A638 jumped from $00A286 to play a SFX when exiting a level with start+select.
$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.
$00A683 6 bytes Jump (JML/JSL) Modified by the Activate Unused Starman Mechanic v1.1 patch by JamesD28.
JML : NOP #2. Jumps to the routine for incrementing the star power flag at $13CB.
$00A686 7 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the code that prepares cluster sprites. After it there's a pointer to custom cluster sprite data.
$00A6B8 4 bytes Jump (JML/JSL) Modified by Lunar Magic to jump to a handler that initializes some internal RAM for No-Yoshi entrances.
$00A6CC 4 bytes Jump (JML/JSL) Modified by Lunar Magic to jump to the water/slippery flag initialization at $05DD00.
$00A6DE 2 bytes Opcode Modified by Yoshi Wings Entrance Type by Zeldara109.

Disable "Do Nothing - Slippery Level (Cannot Bring Item)" entrance from making the level slippery.
$00A6ED 8 bytes Hex Edit Modified by AddmusicK.
BRA + : NOP #6 +, skips over code that manipulates $0DDA.
$00A704 4 bytes Jump (JML/JSL) Modified by Yoshi Wings Entrance Type by Zeldara109.

Change a check for yoshi wings entrance to check for entrance type instead of a flag.
$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 to disable an unnecessary backup of some SP1 tiles.
$00A99B 4 bytes Jump (JML/JSL) Modified by the Separate Luigi Graphics patch, by Bensalot, DiscoTheBat, and Smallhacker.
JSL, forces a graphics upload during Game Modes 00 (Load Nintendo Presents) and 1D (Ending: Load Yoshi's House).
$00A9C7 4 bytes Jump (JML/JSL) Hijacked by the 128x128 Nintendo Presents Logo patch, by Kevin.

JML, uploads custom graphics for the Nintendo Presents screen.
$00A9DF 4 bytes Jump (JML/JSL) Modified by the Castle Destruction Cutscene ExGFX patch, by Kevin.

JML, modifies the level GFX file upload routine to load a custom set of sprite graphics during a castle cutscene.
$00A9F0 4 bytes Jump (JML/JSL) Modified by the Boss ExGFX patch, by Alcaro.
JSL. Jumps to a routine that checks the current sprite set, and switches it out for the new graphics that have been specified in the given tables.
$00AA06 2 bytes Code Modified by Lunar Magic in order to have sprite GFX files always be reloaded on level load.
$00AA20 4 bytes Jump (JML/JSL) Modified by the Castle Destruction Cutscene ExGFX patch, by Kevin.

JML, modifies the level GFX file upload routine to load a custom set of FG/BG graphics during a castle cutscene.
$00AA47 2 bytes Code Modified by Lunar Magic in order to have object GFX files always be reloaded on level load.
$00AA50 5 bytes Jump (JML/JSL) Modified by Lunar Magic to call the Layer 3/AN2 upload routine at $0FF780 and then return.
$00AA6B 4 bytes Jump (JML/JSL) Modified by the Separate Luigi Graphics patch, by Bensalot, DiscoTheBat, and Smallhacker.
JSL, replaces uploads of GFX00, GFX22, and GFX24 to VRAM with their alternate-character counterparts if appropriate.
$00AA6B 4 bytes Jump (JML/JSL) Modified by Lunar Magic for a call to the GFX file decompression routine at $0FF160.
$00AA74 2 bytes Code Modified by Lunar Magic to the $1EA2 address that corresponds to the special world passed level for sprite graphics.
$00AA8D 1 byte Code Modified by Lunar Magic's 4bpp GFX conversion, to disable shifting GFX08's colors on the overworld.
$00AA91 1 byte Code Modified by Lunar Magic's 4bpp GFX conversion, to disable shifting GFX1E's colors on the overworld.
$00AACD 21 bytes Code Modified by Lunar Magic's 4bpp GFX conversion.
$00AB02 64 bytes Code Modified by Lunar Magic's 4bpp GFX conversion, although this particular routine is no longer actually used.
$00AD2B 2 bytes Code Modified by Lunar Magic to the $1EA2 address that corresponds to the special world passed level for overworld palettes.
$00AD32 5 bytes Jump (JML/JSL) Modified by Lunar Magic for its custom overworld palette hijack. You can call this to force loading the normal or special palette for the current submap (see example code). Example code
$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's custom palette hijack to include colors 8-F of each palette in the end-level palette fade effect.
$00AF4F 1 byte Code Modified by Lunar Magic's custom palette hijack to include colors 8-F of each palette in the end-level palette fade effect.
$00AF6C 1 byte Code Modified by Lunar Magic's custom palette hijack to include colors 8-F of each palette in the end-level palette fade effect.
$00AF71 6 bytes Code Modified by Lunar Magic's custom palette hijack, to exclude colors 09-0B, 19-1B, and 1D-1F from the end-level palette fade effect.
$00B041 5 bytes Jump (JML/JSL) Modified by the Sprites Become Coins by Goal Sphere patch, by Isikoro.

JSL : NOP, modifies the end level palette fade routine to always fade to black in non-Mode-7 levels.
$00B048 4 bytes Jump (JML/JSL) Modified by the Custom Mario Palettes patch, by Erik, Roy, underway.

JSL, sets the bank of the pointer to the palette to write to the CGRAM mirror.
$00B888 1 byte Code Modified by the Free up RAM $7E2000 patch by p4plus2.
Inserts an RTS to skip the whole GFX32/33 decompression routine.
$00B88B 2 bytes Code Modified by Lunar Magic for the lower two bytes of GFX33's pointer.
$00B890 1 byte Code Modified by Lunar Magic for the bank byte of GFX32 and GFX33's pointers.
$00B893 22 bytes Code Modified by Lunar Magic's 4bpp GFX conversion to have GFX33 decompress directly into $7E7D00, instead of using $7E2000 as a temporary buffer for 3bpp conversion.
$00B8A4 5 bytes Jump (JML/JSL) Modified by the Separate Luigi Graphics patch, by Bensalot, DiscoTheBat, and Smallhacker.
JSL : RTS, modifies the player graphics decompression routine to load the (uncompressed) player graphics during Game Mode 01 (Nintendo Presents Logo). Note that this hijack overwrites code applied by Lunar Magic.
$00B8D8 2 bytes Code Modified by Lunar Magic for the lower two bytes of GFX32's pointer.
$00B8DE 5 bytes Code Modified by Lunar Magic when locking a ROM, for a jump to $0DF1A0.
$00B8E3 5 bytes Code Modified by Lunar Magic for a jump to its optimized LC_LZ2/LC_LZ3 routine.
$00BA4E 8 bytes Code Modified by Lunar Magic for its FastROM patch.
$00BA56 8 bytes Code Default freespace in bank 0 to be modified by the Lunar Magic's "VRAM Patch" Optimization patch, by Kevin.

JSR : JSL : RTS, calls the main game loop, jumps to freespace to run the stripe image modifications, then returns.
$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
$00C005 83 bytes Code Hijacked by the Item Memory Table Expansion patch, by Isikoro.

Replaces the write to item memory routine with its own version.
$00C058 5 bytes Code Modified by Lunar Magic.
$00C05D 6 bytes Opcode Hijacked by the Item Memory Table Expansion patch, by Isikoro.

RTS, the return opcode of write item memory.
$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.
$00C13E 60 bytes Code Hijacked by DMA Queue and Block Change Optimize by imamelia, mario90 and spooonsss.
Rewrites part of the block change routine to use the "small upload" version of the DMA queue system instead.
$00C17A 5 bytes Jump (JML/JSL) Modified by Lunar Magic for a JSL to $06F5D0.
$00C17F 44 bytes Code Hijacked by DMA Queue and Block Change Optimize by imamelia, mario90 and spooonsss.
Rewrites part of the block change routine to use the "small upload" version of the DMA queue system instead. This is a continuation of this patch's hijack at $00C13E which is interrupted by a 5 byte LM modification at $00C17A.
$00C1B3 3 bytes Opcode Modified by Lunar Magic. Changes "AND.W #$01F0" to "AND.W #$3FF0".
$00C25C 5 bytes Jump (JML/JSL) Modified by Lunar Magic for a JSL to $06F5D0.
$00C35D 66 bytes Jump (JML/JSL) Hijacked by the Climbing Net Door on Subscreen Boundary Fix patch, by Kevin.

Changes the code so that nets check, whether they horizontally cross a subscreen boundary, gets the stripe image index, set the row counter, jumps to freespace to handle the rest of the code, ends the stripe image and updates the index.
At the end of the code, there is the table which contains how many tiles to upload per side depending on how much the net crosses a subscreen boundary.
$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.
$00C4AE 4 bytes Jump (JML/JSL) Hijacked by the Keyhole Exit Chooser patch by simon.caio.

Sets the exit to use based on a free ram address when the keyhole is triggered.
$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.
$00C52E 4 bytes Jump (JML/JSL) Hijacked by "Better Bonus Game" by Sonikku.
This changes the bonus game end routine to trigger the overworld's events. (Optional)
$00C533 6 bytes Jump (JML/JSL) Hijacked by Super Mario Advance 4 !-Switch, by Burning Loaf

JML : NOP #2, adds a check for the !-Switch timer to resume the level music when a P-Switch is pressed.
$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) Modified by the Item Box Disabled on Death patch, by Final Theory.

JSL, skips over the Select button check for dropping the reserve item when the player is in the death state.
$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).
$00C5CE 3 bytes Hex Edit Hijacked by the HDMA Bugfixes patch, by Ice Man.

NOP : NOP : NOP, removes the code which disables HDMA for player animation 0B.
$00C82A 4 bytes Jump (JML/JSL) Modified by Yoshi Wings Entrance Type by Zeldara109.

Check for entrance type and use "yoshi wing" entrance if said entrance is set to "Do Nothing - Slippery Level (Cannot Bring Item)".
$00C921 5 bytes Code Modified by the Sprites Become Coins by Goal Sphere patch, by Isikoro.

LDA $13C6|!addr : BNE $08, modifies the goal walk routine to always use the "frozen" or "walking" level end modes when the Goal Sphere is touched, as configured.
$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 to change a BNE to a BRA, in order to disable an unused feature of the original game that would cause Secret Exit 2 to teleport the player to the Yoshi's Island submap.
$00C9DF 2 bytes Opcode Modified by Minimalist Course Clear to make the screen after beating a level fade out, THEN load overworld.
$00C9EB 5 bytes Hex Edit Modified by the Windowing Fadeout/In v1.1.1 patch, by Ersanio.

BRA $03 : NOP #3, disables setting mosaic size after finishing the 100 bonus star game.
$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. Set to the translevel number configured for the "Boss uses Secret Exit 1 (Big Boo)" option in the overworld editor.
$00CA13 1 byte Code Modified by Lunar Magic. Set to the translevel number configured for the "End Game Sequence (Back Door)" option in the overworld editor.
$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.
$00CA91 4 bytes Jump (JML/JSL) Hijacked by the patch Free $7E04A0 by spooonsss.
JML to another scratch RAM setup for later use, this time for the keyhole's windowing code.
$00CA9B 111 bytes Code Hijacked by the patch Free $7E04A0 by spooonsss.
Rewrites title screen circle code to use !FreeRAM.
$00CB0C 3 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

TSB $0D9F, changes the HDMA enable code for the level end circle so it doesn't disable every other channel.
$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.
$00CD5E 4 bytes Jump (JML/JSL) Modified by the Velocity-Based Climb Patch by BreadWheatmann.

JML, adds a check for the player velocity when the player tries to climb a block.
$00CD74 5 bytes Jump (JML/JSL) Hijacked by Disable 1-UP Chain when Free Up-Down patch by Isikoro.

JML : NOP, clears the consecutive enemies stomped counter when the player is climbing a vine or net.
$00CDA0 5 bytes Jump (JML/JSL) Hijacked by Reset Mario's Some Flags on P-Balloon by Isikoro.
JML to freespace, clears certain flags when mario is in P-Balloon form.
$00CDDD 156 bytes Jump (JML/JSL) Modified by the Alternative + Vertical L/R Scrolling patch, by Burning Loaf.

JSL : RTS : pad to 00CE79, replaces the L/R scroll & horizontal camera aligning routine with a version that allows alternative horizontal scrolling controls and scroll speed options.
$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.
$00CF3D 4 bytes Jump (JML/JSL) Hijacked by Capespin During Flight Fix by betalogic.
JSL, it jumps to a routine which stores the direction backed up to a free RAM address to Mario's direction, if the cape spin timer ended. This ensures that the final direction is always the opposite of before starting to spin.
$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.
$00CF62 4 bytes Jump (JML/JSL) Hijacked by the Expanded Carrying v0.15 patch, by Sonikku.

JML, jumps to code that handles Mario's animation frames while crouching.
$00CF8F 4 bytes Jump (JML/JSL) Hijacked by the Expanded Carrying v0.15 patch, by Sonikku.

JML, jumps to code that handles Mario's animation frames while turning around.
$00CFA6 4 bytes Jump (JML/JSL) Hijacked by the Expanded Carrying v0.15 patch, by Sonikku.

JML, jumps to code that handles Mario's animation frames while jumping with an item.
$00CFC7 4 bytes Jump (JML/JSL) Modified by the NSMB Styled Carry System patch, by Francium and Isikoro.

JML, modifies the routine that sets the "looking up" flag to never set the flag if carrying an item.
$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.
$00D00A 4 bytes Jump (JML/JSL) Hijacked by the Expanded Carrying v0.15 patch, by Sonikku.

JML, jumps to code that handles Mario's animation frames while walking.
$00D014 6 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : ADC, uses the vanilla p-speed threshhold to set the running pose when the player rides Yoshi, otherwise uses a value set in RAM.
$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.
$00D06C 5 bytes Jump (JML/JSL) Hijacked by the Cape Wall and Spin Fly Fix patch by Alcaro and HammerBrother.

JSL : NOP, disables cape spin while flying, wallrunning, or both, depending on configuration.
$00D074 4 bytes Jump (JML/JSL) Hijacked by the Cape Spin Cooldown patch, by Kevin.

JML, jumps to code that adds a check to the cape spin, to prevent spinning if a freeRAM timer is nonzero.
$00D076 5 bytes Jump (JML/JSL) Hijacked by Capespin During Flight Fix by betalogic.
JSL, jumps to a routine which stores the opposite direction that Mario is facing to a free RAM address to be later retrieved. This routine is reached when pressing X/Y to cape spin.
$00D076 5 bytes Jump (JML/JSL) Modified by the No Capespin In Water patch, by Ersanio.
Disables capespinning when in water.
$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.
$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.
$00D08C 4 bytes Jump (JML/JSL) Modified by Yoshi Fireball Ability Patch. It jumps to the main function of the patch.
$00D08C 4 bytes Jump (JML/JSL) Modified by the Disable Fireball Shooting on Flag patch, by RussianMan.

JML, modifies the fire shooting routine to never spawn a fireball if the chosen flag is set.
$00D090 5 bytes Jump (JML/JSL) Hijacked by the patch RAM-Toggled Spin Jump Fireballs by AmperSam.
JML, changes the fireball code while spinjumping to depend on a RAM flag.
$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 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.
$00D0E6 4 bytes Jump (JML/JSL) Hijacked by the Time-Up + SFX Patch.
JML, jumps to the main code.
$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.
$00D140 5 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the time to remain invincible after being hit based on a value in RAM.
$00D147 5 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JML : NOP, increments the player's health when the mushroom grow up animation finishes.
$00D16F 5 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JML : NOP, turns the player invisible during the hurt animation (only when !PowerdownFreeze is active).
$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.
$00D1B2 4 bytes Jump (JML/JSL) Modified by Ultimate Screen Teleporter by mario90.

If !RemovePipeCenter = 1, makes it so the player's y-position isn't altered when entering a side teleport.
$00D1DB 4 bytes Jump (JML/JSL) Modified by Ultimate Screen Teleporter by mario90.

Fixes pipe exits.
$00D231 5 bytes Jump (JML/JSL) Modified by Ultimate Screen Teleporter by mario90.

If !RemovePipePriority = 1, makes it so the player retains priority when entering side teleport.
$00D23A 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML, clears the player's Y speed during the vertical pipe exiting animation to fix some bugs.
$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 for handling a level entrance set to use the "shoot from slanted pipe right" entrance action combined the "face left direction" option.
$00D2B6 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML, uses the vanilla vertical speed when the player gets shot out of a pipe cannon when the player rides Yoshi, otherwise loads a value set in RAM.
$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.
$00D600 4 bytes Jump (JML/JSL) Modified by the NSMB Styled Carry System patch, by Francium and Isikoro.

JML, modifies the routine that sets the ducking flag to never set the flag if carrying an item.
$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.
$00D640 9 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP #3 : BRA $15, only enables spin jump for Mario, when jumping on land.
$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 Expensive Jump. Jumps to the main code.
$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) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP, uses the vanilla jump table when the player rides Yoshi, otherwise uses a table from a pointer set in RAM.
$00D676 5 bytes Jump (JML/JSL) Hijacked by the Best Raccoon+Cape Patch patch, by Chdata.

JML : NOP, gives Raccoon and Cape Mario separate flight timers.
$00D6B9 2 bytes Hex Edit Modified by the Replace Cape with Double Jump patch. It disables part of the cape's gliding physics.
$00D6F8 5 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP, uses the vanilla acceleration table when the player rides Yoshi, otherwise uses a table from a pointer set in RAM.
$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.
$00D71C 9 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP #5, uses the vanilla minimum speed to charge the p-meter when the player rides Yoshi, otherwise uses a value set in RAM.
$00D742 6 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP #2, uses the vanilla horizontal max speed and acceleration tables when the player rides Yoshi, otherwise uses tables from a pointer set in RAM.
$00D742 4 bytes Jump (JML/JSL) Modified by GreenHammerBro's 'Player X Speed Fix' patch. Jumps to the main acceleration fix routine. [JML]
$00D77C 5 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP, uses the vanilla deceleration table when the player rides Yoshi, otherwise uses a table from a pointer set in RAM.
$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.
$00D80C 5 bytes Jump (JML/JSL) Hijacked by the Best Raccoon+Cape Patch patch, by Chdata.

JML : NOP, prevents Mario from flying with the cape if Raccoon Mario is enabled.
$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.
$00D892 5 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP, uses the vanilla gravity table for cape flight when the player rides Yoshi, otherwise loads a table from a pointer set in RAM.
$00D8A8 5 bytes Jump (JML/JSL) Modified by the Cape-Lift Limit patch, by JamesD28.

JML : NOP, modifies the cape aircatch routine to impose a limit on the number of upward lifts possible per airtime.
$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.
$00D904 4 bytes Jump (JML/JSL) Hijacked by the Best Raccoon+Cape Patch patch, by Chdata.

JML, forces the player to press instead of hold jump in order to fly with Raccoon Mario.
$00D908 5 bytes Jump (JML/JSL) Hijacked by the Best Raccoon+Cape Patch patch, by Chdata.

JML : NOP, gives Raccoon and Cape Mario different floating cooldown timers and plays a sound effect when floating with Raccoon Mario.
$00D908 5 bytes Jump (JML/JSL) Hijacked by the Cape float sound routine. It jumps to the routine's main code.
$00D911 5 bytes Jump (JML/JSL) Hijacked by the Best Raccoon+Cape Patch patch, by Chdata.

JML, gives Raccoon and Cape Mario different hover and takeoff speeds.
$00D948 4 bytes Jump (JML/JSL) Hijacked by the Best Raccoon+Cape Patch patch, by Chdata.

JML, sets up separate gravity tables for Raccoon and Cape Mario.
$00D948 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML, uses the vanilla gravity table when the player rides Yoshi, otherwise uses a table from a pointer set in RAM.
$00D958 7 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : LDA, uses a speed to cape state table from a pointer set in RAM.
$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.
$00DA42 4 bytes Jump (JML/JSL) Modified by the Swim Faster When Holding X/Y patch, by Kevin.

JML, adjusts the base index to the player's maximum swimming speeds to use the faster "item held" values if the X and/or Y button is held.
$00DA58 5 bytes Jump (JML/JSL) Modified by the Tide Current Fix patch, by Koopster.

JML : NOP, modifies the D-pad-held water movement speeds to use tide speeds only if the player is below the Layer 3 tide surface.
$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.
$00DA71 4 bytes Jump (JML/JSL) Modified by the Tide Current Fix patch, by Koopster.

JML, causes automatic tide movement to occur only when the player is below the Layer 3 tide surface.
$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.
$00DB17 4 bytes Jump (JML/JSL) Hijacked by the Layer 2 Climb Fix patch by Isikoro.
Moves Mario along with layer 2 when climbing on a layer 2 net/vine.
$00DB9C 7 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : LDA, loads the jump speed when the player jumps when climbing from values set in RAM.
$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".
$00DBA5 5 bytes Jump (JML/JSL) Modified by the Velocity-Based Climb Patch by BreadWheatmann.

JML : NOP, plays a different sound effect depending on whether the player jumps out of climbing underwater or in the air.
$00DBCA 6 bytes Jump (JML/JSL) Modified by the No 1-UPS While Climbing patch, by wiiqwertyuiop.
Resets the consecutive kill counter when climbing.
$00DC11 5 bytes Jump (JML/JSL) Hijacked by the Faster Climbing with X/Y patch, by Francium.

JSL : NOP, adds a second climbing speed when the player is holding X/Y on a vine.
$00DC22 4 bytes Jump (JML/JSL) Hijacked by the Faster Climbing with X/Y patch, by Francium.

JML, cycles through the climbing animation faster when the player is holding X/Y on a vine.
$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.
$00E2B9 4 bytes Table Hijacked by the HDMA Bugfixes patch, by Ice Man.

Changes Mario's priority so he doesn't go behind the foreground during the pipe entering animation.
$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 the Custom Mario Palettes patch, by Erik, Roy, underway.

JML, gets the player's palette of the current level / submap and store its pointer the player palette pointer as well as to freeRAM which acts as the pointers bank.
$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
$00E3B6 5 bytes Jump (JML/JSL) Hijacked by the Best Raccoon+Cape Patch patch, by Chdata.

JML : NOP, gives Raccoon and Cape Mario a different head image.
$00E3CA 4 bytes Jump (JML/JSL) Hijacked by the Player Death Priority patch, by MarioFanGamer.

JML, jumps to code that gives Mario top priority against layers when dying.
$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.
$00E412 5 bytes Jump (JML/JSL) Hijacked by the Best Raccoon+Cape Patch patch, by Chdata.

JML : NOP, gives Raccoon and Cape Mario a different dynamic 8x8 image.
$00E428 5 bytes Jump (JML/JSL) Hijacked by the Best Raccoon+Cape Patch patch, by Chdata.

JML : NOP, gives Raccoon and Cape Mario different tail/cape images.
$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.
$00E942 4 bytes Jump (JML/JSL) Hijacked by the Layer 2 Climb Fix patch by Isikoro.
Resets a layer 2 climbing flag at the start of object interaction.
$00E966 4 bytes Jump (JML/JSL) Modified by Lunar Magic for a JML to a routine used to fix a scroll sync issue with sprites on Layer 2.
$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.
$00EA18 6 bytes Code Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
Restores the original code in case !Setting_SSP_Hijack_00EA18 is changed to 0. Only applied if the Walljump/Note Block Glitch Fix patch is not applied in the rom.
$00EA18 4 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JML, hijacks the position offset for the player exiting a vertical pipe. Only applied if the Walljump/Note Block Glitch Fix patch is not applied in the rom and !Setting_SSP_Hijack_00EA18 == 1.
$00EA5E 4 bytes Jump (JML/JSL) Hijacked by the Underwater 1-UP Chain Fix patch, by Thomas.

JSL, clears the "enemies stomped" counter when the player enters water.
$00EA5E 4 bytes Jump (JML/JSL) Hijacked by Disable 1-UP Chain when Free Up-Down patch by Isikoro.

JML, clears the consecutive enemies stomped counter when the player enters water.
$00EA82 1 byte Hex Edit Modified by Yoshi Player Patch: Yoshi can't perform a spin jump out of water.
$00EA84 5 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP, only enables spin jump for Mario, when jumping 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.
$00EA9B 6 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : LDA, uses the vanilla jump speeds when the player jumps out of water while riding Yoshi, otherwise uses values set in RAM.
$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.
$00EB6B 6 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : LDA, uses a value set in RAM to set the speed should the player run up a wall.
$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.
$00EC0A 4 bytes Jump (JML/JSL) Modified by the NSMB Styled Carry System patch, by Francium and Isikoro.

JML, modifies the door block to never allow entry if carrying an item.
$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.
$00ECAB 4 bytes Jump (JML/JSL) Modified by the Bounce Block Underwater Push patch, by MarioFanGamer.

JSL, plays a sound and bumps the player downward if hitting an invisible block from below while carrying something underwater.
$00ED02 4 bytes Jump (JML/JSL) Modified by the Bounce Block Underwater Push patch, by MarioFanGamer.

JSL, plays a sound and bumps the player downward if hitting a bounce-sprite-spawning block from below while carrying something underwater.
$00ED02 4 bytes Hex Edit Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML, clears the freeRAM byte to mark the quake sprite as being owned by the player when the player hits a bounce block from below.
$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.
$00ED52 4 bytes Jump (JML/JSL) Modified by Solid Slope Assist Tile by MarioFanGamer.

JML, modifies Mario Above collision for tile 131 to act like a slope assist tile.
$00EDF3 4 bytes Jump (JML/JSL) Modified by Solid Slope Assist Tile by MarioFanGamer.

JML, modifies Top Corner collision for tile 131 to act like a non-solid tile.
$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.
$00EE35 4 bytes Jump (JML/JSL) Hijacked by the Layer 2 Ledge Drop Fix patch, by mario90.

JSL, jumps to code that resets Mario's Y speed for the first frame he's in the air after being on layer 2.
$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.
$00EE7A 5 bytes Jump (JML/JSL) Hijacked by the Eating Blocks Freeze Fix patch, by Kevin.

JSL : NOP, jumps to code that activates (by storing 0) the newly-implemented sprite table flag for Creating/Eating Blocks if the player has stepped on a brown block.
$00EEAE 4 bytes Jump (JML/JSL) Modified by the patch Switch Palace RAM Optimizer by Sonikku.
JML, changes the switch palace trigger code to set a single bit to $1F27 instead of a byte.
$00EEC2 5 bytes Jump (JML/JSL) Hijacked by the Per-Level Goal Songs patch, by Kevin.

JSL : NOP, modifies the Palace Switch routine to play a song number indexed by the translevel number, rather than a fixed value.
$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.
$00EF60 4 bytes Jump (JML/JSL) Hijacked by the Layer 2 Ledge Drop Fix patch, by mario90.

JML, jumps to code that sets a freeRAM flag if Mario is standing on layer 2, to reset his Y speed when he steps off it.
$00EF6B 4 bytes Jump (JML/JSL) Modified by the Cape-Lift Limit patch, by JamesD28.

JML, modifies the "touched the ground" routine to reset the cape lifts counter.
$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.
$00EF90 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, clears the freeRAM byte if a yellow Yoshi performs a ground stomp.
$00F048 4 bytes Jump (JML/JSL) Modified by Layer 2+3 Wallrun Triangle Fix patch. Saves layer information for triangle check.
$00F177 4 bytes Jump (JML/JSL) Modified by Switch Blocks with Yoshi by  MarioFanGamer.

Makes colored switch blocks spawn colored yoshis.
$00F182 4 bytes Jump (JML/JSL) Hijacked by the Bounce Blocks Death Fix patch, by Kevin.

JML, jumps to a check that prevents bounce blocks from being triggered if Mario is dying.
$00F18D 6 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes bounce sprites.
$00F294 28 bytes Code Modified by Out of Order 1-Up Checkpoints by MarioFanGamer.
Modifies the 1-up checkpoint objects' code to ignore the order of interaction.
$00F2C9 4 bytes Jump (JML/JSL) Modified by Save Dragon Coins on Level End by MarioFanGamer.

JML, saves Dragon/Yoshi Coins on checkpoint, if the player has collected all of them beforehand.
$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 Hex Edit Modified by Lunar Magic.
NOPs out the original code (BEQ $F2E0) which disables the (unused) effect that $7E13CD has in the original game.
$00F2E0 8 bytes Jump (JML/JSL) Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

A JML to a routine that deals with adding up to the player's health if the midway point is crossed.
$00F2E2 6 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

See table, either increments the health count or skips the powerup code.
Hijacks
$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 6 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This one transfers the currently collected coins into the midway point buffer.
$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 5 bytes Jump (JML/JSL) Modified by Save at Midway Point patch by MarioFanGamer.

Makes midway point save the game when crossed.
$00F304 4 bytes Jump (JML/JSL) Hijacked by the Layer 2 Climb Fix patch by Isikoro.
Sets a climbing layer 2 flag when interacting with net/vine tiles on layer 2.
$00F315 6 bytes Jump (JML/JSL) Modified by 3-Up Moon Time Limit by RussianMan.
Hijacks the routine that handles interaction with map16 tile $06E (3-up moon).
$00F317 4 bytes Jump (JML/JSL) Modified by Achievement Doors by cthulhu.
This keeps track of 3-up moons you have by using RAM that's transferred to SRAM.
$00F332 53 bytes Code Modified by Yoshi Coin Fix, by imamelia.

Restructures the Yoshi coin collection routine. Ends with a JML to custom code.
$00F338 7 bytes Jump (JML/JSL) Hijacked by the Individual Dragon Coin Save patch, by JackTheSpades, lx5 and worldpeace.

[REP : CLC : JSL], fixes Dragon Coins from breaking at subscreen boundaries when collected.
$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.
$00F346 5 bytes Jump (JML/JSL) Hijacked by the Per Level Yoshi Coins Amount patch by Kevin.
JSL : NOP, changes how many Dragon Coins are needed in the current level to mark them as all collected.
$00F34D 7 bytes Code Modified by Save Dragon Coins on Level End by MarioFanGamer.

Sets a flag to tell the game that all Dragon/Yoshi coins have been collected and may be saved on checkpoint or level end.

(Note: Size is 7 with default freeRAM address, which is 2 bytes long.)
$00F351 6 bytes Jump (JML/JSL) Modified by Achievement Doors by cthulhu.
This keeps track of dragon coins you have by using RAM that's transferred to SRAM.
$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.
$00F367 4 bytes Jump (JML/JSL) Modified by Coins Give Points by Blind Devil.

Modifies coins to give score upon collection.
$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.
$00F37E 4 bytes Jump (JML/JSL) Hijacked by the Per Level Yoshi Coins Amount patch by Kevin.
JSL, changes how many points Dragon Coins give you depending on how many have been collected and the current level.
$00F40C 5 bytes Jump (JML/JSL) Modified by the NSMB Styled Carry System patch, by Francium and Isikoro.

JML : NOP, modifies exit-enabled pipes to never allow entry if carrying an item.
$00F431 5 bytes Jump (JML/JSL) Modified by the Death Animation Cancel Fix patch, by HammerBrother.

JML, adds a check for the pipe entry code to check whether the player animation state is non-zero (player is controllable).
$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 the Level Constrain v3.4 patch by HammerBrother: 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 to change the branch destination, for fixing an issue with tile interaction outside of the level.
$00F488 1 byte Code Modified by Lunar Magic to change the branch destination, for fixing an issue with tile interaction outside of the level.
$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 to "STY $1693", for fixing an issue with tile interaction outside of the level.
$00F4DD 4 bytes Jump (JML/JSL) Modified by Lunar Magic to change the JSL to LM's custom Map16 interaction handler for Mario at $06F660.
$00F4EB 1 byte Code Modified by Lunar Magic to change the branch destination, for fixing an issue with tile interaction outside of the level.
$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.
$00F5A3 4 bytes Jump (JML/JSL) Modified by Ultimate Screen Teleporter by mario90.

Allows for side and upward teleport on secondary exit.
$00F5B2 4 bytes Jump (JML/JSL) Modified by Ultimate Screen Teleporter by mario90.

Allows for pits to teleport on secondary exit.
$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.
$00F5B9 2 bytes Opcode Hijacked by the Free $188A patch, by meatloaf.

BNE, repoints the branch destination to the RTL at the end of the kill routine for the animation check of the hurt routine.
$00F5C4 2 bytes Opcode Hijacked by the Free $188A patch, by meatloaf.

BNE, repoints the branch destination to the RTL at the end of the kill routine for the flashing, star and goal march check of the hurt routine.
$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.
$00F5D5 4 bytes Jump (JML/JSL) Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Modifies the hurt routine to take the player's health down if applicable.
$00F5D5 4 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JML, modifies the hurt routine to check for the health count instead of powerup whether to kill the player or not.
$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.
$00F5F1 2 bytes Opcode Hijacked by the Free $188A patch, by meatloaf.

BRA, repoints the branch destination at the end of the cancel soaring code to clear cape flight.
$00F5F3 5 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JML : NOP, modifies the hurt routine to decrement health instead of setting Mario's powerup state to small. It also adds a separate powerdown animation for caped and Fire Mario.
$00F5F3 5 bytes Jump (JML/JSL) Hijacked by Better Powerdown to change the powerdown animation.
(It also puts an RTL behind the JSL, therefore turning the rest of the hurt code obsolete.)
$00F5F8 2 bytes Code Modified by the Instant Item Box v1.4 patch. BRA $02, branches ahead to skip over code that triggers reserve item auto-dropping when hurt.
$00F5F8 4 bytes Hex Edit Modified by "Remove Status Bar" patch. Disables item box drop on hurt.
$00F5F8 4 bytes Code Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Disables the item box auto-drop if the player is hurt.
$00F5F8 4 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

See table, modifies the item box to either drop the item box item at never, at the last HP or always.
Hijacks
$00F5F8 4 bytes Hex Edit Modified by Item Box to Player Position by HammerBrother.

NOP #4. Disable dropping item from the item box when taking damage.
$00F5F9 3 bytes 24-bit Pointer Modified when GPS is used to insert the One-Shot Fire Flower Block, by JamesD28.

Modifies the JSL to the "drop reserve item" call in the damage routine to clear all banked fireball shots when taking damage.
$00F600 2 bytes Code Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Disables powerup taking when the player is hurt.
$00F604 2 bytes Opcode Hijacked by the Free $188A patch, by meatloaf.

BRA, repoints the branch destination of the powerdown code to the set animation and frozen flag at the end of the hurt routine.
$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 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.
$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 when GPS is used to insert the One-Shot Fire Flower Block, by JamesD28.

JML : NOP, handles clearing all banked fireball shots upon dying.
$00F60A 5 bytes Jump (JML/JSL) Hijacked by the Coin Penalty at Death Patch, by K.T.B..

JML, overwrites the death sound routine by adding the decreasing coins effect.
$00F60B 1 byte Hex Edit Modified by AddmusicK.
Changes the death song number.
$00F60F 5 bytes Jump (JMP/JSR) Modified by the Playable Title Screen patch by Kevin.

JSR : BRA $00. If SkipDeath is enabled, jump to routine that prevents the death song from being played on the title screen. Otherwise restores original code.
$00F614 4 bytes Jump (JML/JSL) Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Modifies the death routine so the player's health is zeroed when dying.
$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.
$00F614 4 bytes Jump (JML/JSL) Hijacked by the patch Level Death Flag by MarioFanGamer.
JSL to code that updates the death flag when the player dies.
$00F618 5 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JML : NOP, hijacks the death routine to set the current player's HP to zero.
$00F61B 14 bytes Code Hijacked by the Free $188A patch, by meatloaf.

Rearranges the kill code to not clear $188A anymore. Also clears a configurable word of RAM if !stz_extra = 1; if !stz_extra = 0, hijack size is only 11 bytes.
$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 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).
$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.
$00F649 3 bytes Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the pointer to Mario's head GFX (or body if he's small).
$00F667 3 bytes Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the pointer to Mario's body GFX.
$00F67C 3 bytes Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the pointer to Mario's cape GFX.
$00F691 3 bytes Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the pointer to Mario's misc cape tile GFX.
$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.
$00F6BF 12 bytes Hex Edit Modified by the Alternative + Vertical L/R Scrolling patch, by Burning Loaf.

Overwrites the vanilla horizontal L/R and normal scroll speeds with customizable values.
$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.
$00F6E5 3 bytes Miscellaneous Not modified, but read by Center Scroll, by HammerBrother and Thomas.
org read3($00F6E5), NOPs out 6 bytes of Lunar Magic code in freespace.
$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
$00F713 5 bytes Jump (JML/JSL) Modified by the Sprite Scroll Fix patch. JML : NOP, this makes it properly detect which direction the screen is moving (left or right).
$00F728 4 bytes Hex Edit Modified by the Sprite Scroll Fix patch. Nops out the code that writes $55 (vertical levels), so that instead of checking of Mario's position relative to screen border, checks the direction where the screen moves.
$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 for a JML to a routine related to scrolling in vertical levels.
$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 for a JML to its Layer 2 scrolling handler.
$00F7E8 4 bytes Jump (JML/JSL) Modified by Lunar Magic's VRAM optimization.
$00F7F4 5 bytes Jump (JML/JSL) Modified by the Sprite Scroll Fix patch. JML : NOP, this makes it properly detect which direction the screen is moving (up or down).
$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.
$00F805 3 bytes Code Modified by the Alternative + Vertical L/R Scrolling patch, by Burning Loaf.

Replaces the constant vertical scroll boundary with a RAM version that may be altered.
$00F80C 4 bytes Hex Edit Modified by the Sprite Scroll Fix patch. Nops out the code that writes $55 (horizontal levels), so that instead of checking of Mario's position relative to screen border, checks the direction where the screen moves.
$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.
$00F85E 4 bytes Jump (JML/JSL) Modified by the Top-of-Screen Camera Scroll Enable patch, by Katrina.

JML, effectively adds "player approaches the top of the screen" to the list of triggers that cause the screen to scroll up when set to Vertical Scroll at Will.
$00F871 4 bytes Jump (JML/JSL) Modified by Lunar Magic for a JML to a routine used to account for the new screen sizes when stopping the screen at the bottom of the level.
$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.
$00F875 5 bytes Jump (JML/JSL) Modified by the Flag-Controlled Free Vertical Scroll patch, by  Telinc1.

JML : NOP, modifies the camera scroll init routine to always scroll if a free RAM flag is set regardless of player airborne status.
$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.
$00F8AB 52 bytes Jump (JML/JSL) Modified by the Alternative + Vertical L/R Scrolling patch, by Burning Loaf.

JSL : RTS : pad to $00F8DF, corrects minor pixel offset and double-scroll bugs.
$00F8B0 7 bytes Jump (JML/JSL) Modified by Horizontal Scroll Snap Fix by Kevin.

Modifies camera code to catch up with the player if they're far enough off center as opposed to immediately snapping in place.
$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.
$00FAD6 4 bytes Jump (JML/JSL) Hijacked by the RAM Controlled Mario's Fireballs Limit v1.1 patch, by Kevin.

JML, modifies the level end routine to not remove any fireballs at level end.
$00FB58 4 bytes Jump (JML/JSL) Modified by the Activate Unused Starman Mechanic v1.1 patch by JamesD28.
Jumps to a routine for checking the flag at $13CB.
$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.
$00FEA8 4 bytes Jump (JML/JSL) Hijacked by the RAM Controlled Mario's Fireballs Limit v1.1 patch, by Kevin.

JML, modifies the shoot fireball to prevent the player from shooting anymore fireballs should there be too many onscreen (with a user-defined limit).
$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.
$00FEB5 5 bytes Jump (JML/JSL) Modified when GPS is used to insert the One-Shot Fire Flower Block, by JamesD28.

JML : NOP, handles clearing fire state when shooting the last stored fireball shot.
$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.
$00FFBF 1 byte Miscellaneous It's normally unused (equal to $FF on a clean ROM), but Lunar Magic writes $42 to it when locking the ROM with the ChibiMoon method.
$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
$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).
$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.
$018057 4 bytes Jump (JML/JSL) Modified by Perfect Slippery Blocks, by HammerBrother.

JML, modifies the "spawn dust from sprites" routine to use a per-sprite slippery flag.
$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.
$018127 4 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to routine to handle custom sprite states that are not 8.
$018151 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to a routine that clears the init bit when changing sprites, works with $07F785.
$018172 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to custom sprite initialization routine.
$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.
$0181BD 2 bytes 16-bit Pointer Hijacked by the Magic Limit UberASM, by spooonsss.

Repoints the Magikoopa Magic init code to freespace.
$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.
$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.
$0182B3 2 bytes Hex Edit Hijacked by Pixi.
Changes the pointer of the init Hammer Bro routine, in case it's the original one ($87A7), to $85C2 (which points to an RTS).
$0182C1 2 bytes 16-bit Pointer Modified by the Spawn Carryable Sprites With Extra Bit patch, by JamesD28.

Repoints the Mechakoopa sprite init pointer to the Bob-omb sprite init pointer.
$0182D3 2 bytes 16-bit Pointer Modified by the Rexes With Extra Bit Set Are Squished patch, by Supermario1313.

(if !hijack = 1) Repoints the Rex's init code to that of the Clappin' Chuck, where a hijack is placed.

(if !hijack = 0) Repoints the Rex's init code to 16 bytes of freespace in bank 1, where custom code is inserted. The default address is $01FFBF.
$018309 2 bytes 16-bit Pointer Hijacked by the On/Off switch-triggered Dark Room w/ Spotlight patch, by Sonikku.

Redirects the spotlight's init routine into bank $01 freeRAM.
$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.
$018356 5 bytes Jump (JML/JSL) Modified by the Boo Stream Unused Minor Extended Sprites patch by Isikoro.

Modifies init code for boo stream to disallow more than 4 to be on screen.
$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.
$0184D2 4 bytes Jump (JML/JSL) Hijacked by the Hiding Monty Mole Fix by Isikoro.
JML, hijacks the Monty Mole's init routine to disable interaction with sprites, cape, fireballs, etc. through the tweaker bytes.
$0184D6 5 bytes Jump (JML/JSL) Modified by Creating Block Sprite Path Expander. Jump to Creating Block Sprite's init routine.
$0184D8 3 bytes Code Modified by the Eating Blocks Freeze Fix patch, by Kevin.

STA !1510,x, Replaces the Creating/Eating Block's global flag ($1909) with a previously-unused sprite table.
$0184E3 5 bytes Jump (JML/JSL) JML : NOP

Hijacked by Bullet Bill Sound Effect on Extra Bit by AmperSam. Adds a check to the Bullet Bill's init routine to play a sound effect if its extra bit is set.
$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.
$0184E9 4 bytes Jump (JML/JSL) Hijacked by the Rexes With Extra Bit Set Are Squished patch, by Supermario1313.

JML, checks if the sprite is a Clappin' Chuck or Rex (Rex's init is repointed to here), then checks the Rex's extra bit and makes it spawn squished if set (if !hijack = 1).
$018528 4 bytes Jump (JML/JSL) Modified by the Super Koopa Sound Effect When Spawning patch, by Brakkie.

JML, modifies the swooping Super Koopa init routine (shared between sprites 71 and 72, red cape and yellow cape) to play a sound effect as the sprite spawns.
$018531 4 bytes Jump (JML/JSL) Modified by the Super Koopa Sound Effect When Spawning patch, by Brakkie.

JML, modifies the ground Super Koopa init routine to play a sound effect as the sprite spawns.
$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.
$01855D 5 bytes Jump (JML/JSL) Modified by the Spawn Carryable Sprites With Extra Bit patch, by JamesD28.

JML : NOP, modifies the Bob-omb sprite init routine (and Mechakoopa, see hijack $0182C1) to stun the sprite if the extra bit is set.
$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.
$018576 3 bytes Jump (JML/JSL) Modified by the Spawn Carryable Sprites With Extra Bit patch, by JamesD28.

Repoints the call to the RNG routine in the sprite 00 - 13 init routine to first stun the Goomba and Buzzy Beetle sprites if the extra bit is set.
$0185C3 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the call for custom sprite code.
$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.
$018766 4 bytes Jump (JML/JSL) Modified by the Goal Point Question Sphere Tile Remap patch by Erik.

JSL. Overwrites the sprite tile for the goal sphere (and optionally the properties, too) with whatever is configured.
$01876A 6 bytes Code Modified by the Goal Point Question Sphere Tile Remap patch by Erik.

Rearranges some of the clobbered code (omitting a redundant $9D check) from the immediately preceding JSL hijack.
$018778 5 bytes Jump (JML/JSL) Hijacked by Goal Sphere Triggers Secret Exit on Extra Bit, by  RussianMan.

JSL, sets the alternative exit if the Goal Sphere's extra bit has been set.
$018778 5 bytes Jump (JML/JSL) Modified by the Sprites Become Coins by Goal Sphere patch, by Isikoro.

JSL : NOP, modifies the "Goal Sphere collected" routine to turn sprites into coins and enable/disable the goal walk as configured.
$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 Pixi.
Jumps to the code that sets the sprite tables for normal and custom sprites.
$0187A7 4 bytes Jump (JML/JSL) Hijacked by sprite tool. This then jumps to freespace to initalize custom sprite tables.
$0188F0 4 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Modifies the shellless Koopa's sprite properties to use a two tile GFX routine.
$018922 5 bytes Jump (JML/JSL) Modified by the Freeze/Lock Fix patch, by HammerBrother and Isikoro.

JSL : NOP, prevents the Shelless Koopa sprites from updating their positions when the "sprites locked" flag $9D is set.
$018998 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, blue shelless Koopas set themselves as the owner of a kicked shell, preventing the player to score with said shell.
$0189AF 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, blue shelless Koopas set themselves as the owner of a kicked non-shell sprite, preventing the player to score with said sprite.
$0189C5 4 bytes Jump (JML/JSL) Modified by Perfect Slippery Blocks, by HammerBrother.

JSL, modifies the sliding Koopa (when kicked out of a shell) to use a per-sprite slippery flag.
$0189F9 1 byte Opcode Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

RTS, modifies the shellless Koopa sliding routine to not display the sliding image.
$018A3D 4 bytes Jump (JML/JSL) Modified by Perfect Slippery Blocks, by HammerBrother.

JSL, modifies blue shelless Koopa who catch a shell to use a per-sprite slippery flag.
$018A73 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, blue shelless Koopas set themselves as the owner of a kicked sprite which they caught, prevent the player to score with said sprite.
$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.
$018AFC 4 bytes Jump (JML/JSL) Hijacked by the Placeable Kicked Shell v1.1 patch, by Kevin.

JML, turns the normal Koopas (sprite 4-7) and the Buzzy Beetle into their kicked shell form if the extra bit is set.
$018BEF 2 bytes Opcode Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

BRA, skips the position shifting and preserving of original positions of the two tiles GFX routine of sprites 0 to 13.
$018C00 3 bytes Jump (JMP/JSR) Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

JSR, causes the GFX routine of 2 tiles high sprites 0 to 13 to use the routine at $019D67.
$018C03 2 bytes Opcode Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

BRA, skips the restoring of positions of the two tiles GFX routine of sprites 0 to 13.
$018C4D 4 bytes Jump (JML/JSL) Hijacked by the Placeable Kicked Shell v1.1 patch, by Kevin.

JML, turns the Green Parakoopa into the kicked "special" shell form if the extra bit is set.
$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.
$018E83 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$20, prevents classic Piranha Plants from going behind the foreground.
$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.
$018FE7 5 bytes Jump (JML/JSL) Modified by Bullet Bill Object Interaction by JamesD28.

Enables object interaction and flipping for bullet bills.
$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.
$019049 8 bytes Jump (JML/JSL) Modified by the Freeze/Lock Fix patch, by HammerBrother and Isikoro.

JSL : NOP #4, prevents the Shelless Koopa sprites from updating their speeds when the "sprites locked" flag $9D is set.
$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.
$019288 4 bytes Jump (JML/JSL) Modified by Bullet Bill Object Interaction by JamesD28.

Make bullet bill interact with objects every other frame horizontally.
$0192CB 4 bytes Jump (JML/JSL) Modified by Bullet Bill Object Interaction by JamesD28.

Make bullet bill interact with objects every other frame vertically.
$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.
$01933F 4 bytes Jump (JML/JSL) Modified by Solid Slope Assist Tile by MarioFanGamer.

JML, modifies Sprite Vertical collision for tile 131 to act like a slope assist tile.
$01939D 4 bytes Jump (JML/JSL) Hijacked by the Optimize 1F0 patch by Fernap.
JML to freecode then returns to $0192C9. This moves the sprite up by the amount into the block it is, and then calls the interaction routine a second time, rather than moving up one pixel at a time as in the original game.
$01940A 4 bytes Jump (JML/JSL) Modified by Bullet Bill Object Interaction by JamesD28.

Fix clipping issues with slopes for bullet bills.
$019466 4 bytes Hex Edit Hijacked by the Level Constrain v3.4 patch by HammerBrother: Writes 4 NOPs so sprites still interact with the level if outside of the level vertically (vertical levels only).
$01946C 4 bytes Jump (JML/JSL) Hijacked by the Level Constrain v3.4 patch by HammerBrother: This constrains SpriteV and 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 the Level Constrain v3.4 patch by HammerBrother: 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 the Level Constrain v3.4 patch by HammerBrother: 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.
$019533 4 bytes Jump (JML/JSL) Modified by Lunar Magic to change the JSL to LM's Map16 interaction handler for sprites at $06F700.
$01953C 4 bytes Jump (JML/JSL) Modified by Shell-Collectable Coins and Yoshi/Dragon Coins by Erik.
Allows for sprites that were thrown without being kicked, to collect coins and Yoshi/dragon coins.
$0195D2 4 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML, marks a quake sprite as being owned by a sprite if the freeRAM byte is set when a sprite hits a bounce block from below.
$01963C 1 byte Hex Edit Modified by the Better Bob-Omb Explosion patch, by Sonikku.

Modifies the duration of the Bob-omb's explosion.
$01964E 4 bytes Jump (JML/JSL) Hijacked by the Stunned Bob-Omb SFX patch by JamesD28.
JML, hijacks Bob-Omb's code to play a sound effect every so often when its stun timer goes down a certain threshold.
$01964E 5 bytes Jump (JML/JSL) Modified by the Customizable Bob-omb and Wiggler Palette Flashing patch, by Kevin and yoshifanatic.

JSL : RTS, modifies the Bob-omb pre-explosion palette flash routine to flash between two custom palettes at a specified rate.
$019687 4 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML, yellow shelless Koopas set themselves as the owner of a shell they just hopped into, preventing the player from getting any score by an enemy which got killed by a Rainbow Shell.
$01968B 13 bytes Jump (JML/JSL) Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Modifies disco shell Tweaker settings to make them inedible when !Shell_Ability = 0.
$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.
$0196A1 4 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JML, hijacks the sprite stun to prevent it from decrementing when being carried through a pipe.
$01981B 6 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JSL, hijacks the shells to turn invisible when being carried through pipes.
$019821 4 bytes Jump (JML/JSL) Modified by the Special World Passed Shell Fix patch by JamesD28.

Skip over special world passed check so the shells shake regardless.
$019826 2 bytes Code Modified by Lunar Magic to the $1EA2 address that corresponds to the special world passed level for sprite graphics.
$01984D 5 bytes Jump (JML/JSL) Modified by the Special World Passed Shell Fix patch by JamesD28.

Draw eyes for stunned shell if it's not a buzzy beetle and if the special world level passed flag isn't set.
$01989D 5 bytes Jump (JML/JSL) Modified by the Koopa Eyes Offscreen Fix, by Kevin.

JML + RTS, points to the new routine that draws the eyes inside an Invincible Koopa Shell so it doesn't "wrap" when the shell is almost off-screen.
$019949 4 bytes Jump (JML/JSL) Modified by Shell-Collectable Coins and Yoshi/Dragon Coins by Erik.
Allows for kicked sprites to collect coins and Yoshi/dragon coins.
$01999E 5 bytes Jump (JML/JSL) Hijacked by the Kicked sprites regain interaction when bounced off the wall Patch, by HammerBrother.
JSL : NOP, hijacks the interaction routine that shells and p-switches have with walls in order to reset their intangibility timer.
$0199A3 6 bytes Jump (JML/JSL) Hijacked by the Shell Stops On Wall Contact patch, by RussianMan.

JML : NOP #2, jumps to code that stops a kicked shell and makes it carryable if it comes into contact with a wall.
$0199C9 4 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML, marks a quake sprite as being owned by a sprite if the freeRAM byte is set when a sprite hits a bounce block from the sides.
$019A5D 26 bytes Code Hijacked by the Smoke Image Consistency-ifier patch by Sonikku.
It changes what type of smoke animation the sprites in the "killed with a spin jump" state use.
$019B44 5 bytes Jump (JML/JSL) Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

JML : NOP, adds a separate graphics code for shellless Koopas for when they're killed and fall down the screen.
$019D39 6 bytes Jump (JML/JSL) Hijacked by the Sprite Tile Remap patch by p4plus2.
LDA #$00 : JSL, it allows to remap sprite tiles based on the freeram for sprites that use the shared GFX routine at $019CF3.
$019D7B 4 bytes Jump (JML/JSL) Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

JML, adds separate graphics code for Koopas for the generic sprite graphics routine at $019D5F.
$019D8F 6 bytes Jump (JML/JSL) Hijacked by the Sprite Tile Remap patch by p4plus2.
LDA #$00 : JSL, it allows to remap sprite tiles based on the freeram for sprites that use the shared GFX routine at $019D70 (for the first tile).
$019D95 6 bytes Jump (JML/JSL) Hijacked by the Sprite Tile Remap patch by p4plus2.
LDA #$03 : JSL, it allows to remap sprite tiles based on the freeram for sprites that use the shared GFX routine at $019D70 (for the second tile).
$019DF3 6 bytes Jump (JML/JSL) Hijacked by the Sprite Tile Remap patch by p4plus2.
LDA #$01 : JSL, it allows to remap sprite tiles based on the freeram for sprites that use the shared GFX routine at $019DD9 (for the first tile).
$019DF9 6 bytes Jump (JML/JSL) Hijacked by the Sprite Tile Remap patch by p4plus2.
LDA #$02 : JSL, it allows to remap sprite tiles based on the freeram for sprites that use the shared GFX routine at $019DD9 (for the second tile).
$019F24 6 bytes Jump (JML/JSL) Hijacked by the Sprite Tile Remap patch by p4plus2.
LDA #$00 : JSL, it allows to remap sprite tiles based on the freeram for sprites that use the shared GFX routine at $019F0D.
$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.
$019FA1 4 bytes Jump (JML/JSL) Hijacked by Disable 1-UP Chain when Free Up-Down patch by Isikoro.

JML, clears the consecutive enemies stomped counter when the player's in the P-Balloon state.
$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.
$019FF4 9 bytes Jump (JML/JSL) Hijacked by the Expanded Carrying v0.15 patch, by Sonikku.

JML, jumps to code that enables a SMB2-style carrying mechanic, and puts the carried sprite's slot index + 1 into $148F. If the sprite is carried SMB2 style, bit 7 of $148F is also set.

Also inserts a return label and RTS, and a subroutine that is accessed by JSL from within the freespace code, that handles stunned sprites.
$01A00D 4 bytes Jump (JML/JSL) Hijacked by the SMB2 Holding patch: This one controls how sprites a released.
$01A028 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, the player sets themself as the owner of a dropped sprite, allowing the player to get any score from said sprite.
$01A02D 2 bytes Hex Edit Modified by the NSMB Styled Carry System patch, by Francium and Isikoro.

BRA $04, disables kicking a carried sprite upwards.
$01A039 2 bytes Hex Edit Modified by the NSMB Styled Carry System patch, by Francium and Isikoro.

BRA $3E, disables the ability to set down shells, Bob-ombs, and Goombas without kicking them.
$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.
$01A14D 6 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JML, hijacks the galoomba to turn invisible when being carried through pipes.
$01A162 4 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JSL, hijacks the mechakoopa to turn invisible when being carried through pipes.
$01A1D4 4 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JML, hijacks the throw block to turn invisible when being carried through pipes.
$01A1EC 5 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JSL, hijacks the bob-omb to turn invisible when being carried through pipes.
$01A1F3 6 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JSL, hijacks the key to turn invisible when being carried through pipes.
$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.
$01A21D 5 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JSL, hijacks the p-switch to turn invisible when being carried through pipes.
$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.
$01A352 7 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JSL, hijacks the baby yoshi to turn invisible when being carried through pipes.
$01A417 4 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JML, hijacks the sprite interaction routine so the carried sprite in the pipe doesn't interact with stuff.
$01A600 29 bytes Code Modified by the No Consecutive Awards Patch, by  Koopster.

Makes shell kills give only one score value (this is for sprite in slot A vs. shell in slot B interaction, as apposed to shell in slot A vs. sprite in slot B, that's hijacked at $01A64A).
$01A600 4 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML, only gives the player some score from an enemy killed by a dropped / kicked non-shell sprite if said sprite is owned by the player.
$01A64A 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, only gives the player some score from an enemy killed by a dropped / kicked non-shell sprite if said sprite is owned by the player.
$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.
$01A6BF 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, only gives the player some score when two dropped / kicked sprites collide with each other if at least one of the sprites is owned by the player.
$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.
$01A83B 2 bytes Opcode Modified by Stomp w/ Star by aroohwahoou.
[BRA $41] Branches to $01A87E, which is also hijacked by the patch's modified interaction routine.
$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 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.
$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 6 bytes Jump (JML/JSL) Modified by Stomp w/ Star by aroohwahoou.
JML : NOP #2, hijacks part of the default interaction routine to change how invincible mario reacts to sprite contact.
$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.
$01AA24 4 bytes Jump (JML/JSL) Hijacked by the Bob-omb Kicked Palette Fix patch, by Koopster.

JML, jumps to code that resets the Bob-omb's palette when kicked, so that it doesn't get stuck on it's flashing cycle palette if kicked on one of those flashing frames.
$01AA2D 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, the player sets themself as the owner of a kicked sprite which got stopped by a stomp, allowing the player to score with said sprite.
$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).
$01AA37 8 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : BPL : LDA, uses the vanilla bounce speeds when the player jumps on an enemy while riding Yoshi, otherwise loads a value set in RAM.
$01AA42 6 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP : NOP, the player sets themself as as the owner of a sprite they touched, allowing the player to score with said sprite.
$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) 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 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) 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.
$01AB1A 5 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the initial P-switch timer based on a value in RAM.
$01AB31 4 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JML, hijacks the player position offset so that sprites cannot modify it when entering horizontal pipes.
$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
$01AC89 5 bytes Jump (JML/JSL) Hijacked by the No Magikoopa Respawn patch, by Kevin.

JSL : NOP, jumps to code that prevents a Magikoopa from respawning if killed by Mario.
$01AC9C 5 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$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.
$01AF1C 5 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the Thwomp stall timer based on a value in RAM.
$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).
$01B001 5 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the Thwimp stall timer based on a value in RAM.
$01B017 5 bytes Jump (JML/JSL) Modified by the Jumping Cheep-Cheep Sound Effect patch, by MarioFanGamer.

JSL : RTS, modifies the shared fish sprite init routine to separately initialize the surface jumping fish.
$01B059 3 bytes Opcode Modified by Wet Time (for) Fish patch by Sonikku.

Changes [LDA $190E] to [LDA $163E,x]; basically replaces the sprite buoyancy check with a check for sprite table $163E that the patch uses as the wet time for fish.
$01B0AD 6 bytes Jump (JML/JSL) Hijacked by Wet Time (for) Fish patch by Sonikku.

JML : NOP #2, sets $163E (what the patch uses as the wet time) when the fish is in water.
$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.
$01B1CE 4 bytes Jump (JML/JSL) Modified by the Jumping Cheep-Cheep Sound Effect patch, by MarioFanGamer.

JSL, modifies the surface jumping fish sprite to play a sound on all jumps after the first in its jump sequence.
$01B1F5 5 bytes Jump (JML/JSL) Modified by the Jumping Cheep-Cheep Sound Effect patch, by MarioFanGamer.

JSL : NOP, modifies the surface jumping fish sprite to play a sound on the first jump in its jump sequence.
$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 touching them while he's inside a pipe.
$01B498 4 bytes Jump (JML/JSL) Optionally hijacked by Freeze Sprites with L/R UberASM by JamesD28 for better platform handling.
$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).
$01B4DE 4 bytes Jump (JML/JSL) Modified by Solid Sprite Hit From Below Fix by  JamesD28.

Add sprite checks for Boo Block, Bowser Statue and Grey Moving Castle Block so hitting them from below won't cause their state ($C2) to change.
$01B54D 4 bytes Jump (JML/JSL) Modified by the Platform-Dependent Fast BG Scroll patch, by JamesD28.

JML, modifies the Orange Platform (sprite 5E) to set arbitrary horizontal movement speed, and to interact with a custom fast BG scroll routine.
$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.
$01B8D5 4 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JML, hijacks the turn block bridge so it doesn't block the player when going through a horizontal pipe.
$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.
$01B97F 5 bytes Jump (JML/JSL) Modified by the Red Net Koopa Turning Fix patch, by Ice Man.

JML : NOP, differentiates the green and red Net Koopas' turnaround timers such that the red Koopas turn around at the net boundary proper.
$01B9CD 2 bytes Code Modified by Lunar Magic to the $1EA2 address that corresponds to the special world passed level for sprite graphics.
$01B9EF 4 bytes Jump (JML/JSL) Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

JML, modifies the graphics code of Net Koopas to offset their head.
$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.
$01BDB3 1 byte Hex Edit Modified by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the smoke from Magikoopa's magic hitting an object lasts.
$01BEE7 4 bytes Jump (JML/JSL) Hijacked by the Magikoopa Wand Fix patch by HammerBrother.

Checks to make sure the wand tile is onscreen before setting the Y coordinate of the OAM table entry.
$01BF2D 2 bytes Opcode Hijacked by the Magic Limit UberASM, by spooonsss.

LDA, Magikoopa spawn their magic in the init and not alive state.
$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.
$01C089 11 bytes Code Hijacked by Pixi.
Code run in the goal tape init to get the extra bit in $187B,x.
$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).
$01C0EF 5 bytes Jump (JML/JSL) Hijacked by the Per-Level Goal Songs patch, by Kevin.

JSL : NOP, modifies the Goal Tape routine to play a song number indexed by the translevel number, rather than a fixed value.
$01C0F0 1 byte Hex Edit Modified by AddmusicK.
Changes the "Stage clear" song number.
$01C0FE 2 bytes Hex Edit Modified by the Activate Unused Starman Mechanic v1.1 patch by JamesD28.
BRA $01. Prevents the star timer from zeroing out so soon on level end.
$01C107 2 bytes Code Modified by Custom End Level Stars Text, by KevinM.

Modifies a branch opcode to show the end level stars text to only appear after getting a tape or always appear, depending on a define.
$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.
$01C128 4 bytes Jump (JML/JSL) Modified by the Activate Unused Starman Mechanic v1.1 patch by JamesD28.
Jumps to a routine that runs the normal goal tape routine and zeroes out the star timer.
$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.
$01C18D 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$20, prevents the growing vine from going behind the foreground.
$01C1A3 4 bytes Jump (JML/JSL) Modified by Item from Layer 2 block Fix by Isikoro.

Move growing vine with layer 2 when it has been spawned from a layer 2 block.
$01C1E9 4 bytes Jump (JML/JSL) Modified by Item from Layer 2 block Fix by Isikoro.

Make growing vine spawn vine tiles on a correct layer, depending on spawn block's layer of origin.
$01C206 2 bytes Opcode Modified by the Stationary P-Balloon patch, by Kevin.

Modifies a jump in the P-Balloon sprite main routine to bypass the speed update routine, in order to make the balloon stationary.
$01C216 1 byte Hex Edit Modified by the Stationary P-Balloon patch, by Kevin.

Changes the P-Balloon "rise out of block" speed to a user-defined value.
$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.
$01C304 5 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the initial P-balloon timer based on a value in RAM.
$01C30F 4 bytes Jump (JML/JSL) Modified by the Runaway Wing Patch. Hijacks' the "golden 1-up mushroom collected" routine.
$01C321 6 bytes Jump (JML/JSL) Modified by the Freeze/Lock Fix patch, by HammerBrother and Isikoro.

JML : NOP #2, prevents the Changing Item Sprite's item change timer from incrementing when the "sprites locked" flag $9D is set.
$01C330 5 bytes Jump (JML/JSL) Modified by the Freeze/Lock Fix patch, by HammerBrother and Isikoro.

JSL : NOP, modifies the Changing Item Sprite to play a sound when switching between powerups.
$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.
$01C39C 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$20, prevents powerups rising from a block from going behind the foreground.
$01C4A1 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$20, prevents stationary powerups from going behind the foreground.
$01C4A8 4 bytes Jump (JML/JSL) Modified by Item from Layer 2 block Fix by Isikoro.

Move power-ups with layer 2 when they're spawned from a layer 2 block.
$01C4B0 1 byte Hex Edit Modified by Item from Layer 2 block Fix by Isikoro.

Changes the branch's destination for power-up interaction routine to a different RTS, since the original one gets overwritten by a different hijack.
$01C510 4 bytes Data Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Disables the mushroom giving an item box if applicable.
$01C511 3 bytes Table Modified by the Sprite Health Bar patch, by Koopster.

db $00,$00,$00, doesn't put a mushroom into the item box.
$01C515 1 byte Hex Edit Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Disables the Fire Flower giving a mushroom item box if applicable.
$01C515 1 byte Table Modified by the Sprite Health Bar patch, by Koopster.

db $00, doesn't put a mushroom into the item box.
$01C51D 1 byte Hex Edit Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Disables the Feather giving a mushroom item box if applicable.
$01C51D 1 byte Table Modified by the Sprite Health Bar patch, by Koopster.

db $00, doesn't put a mushroom into the item box.
$01C524 4 bytes Hex Edit Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Makes the mushroom always try to make the player big.
$01C524 4 bytes Table Modified by the Sprite Health Bar patch, by Koopster.

db $00,$00,$00,$00, mushrooms will always run the mushroom collected code regardless of the current powerup.
$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.
$01C540 13 bytes Code Modified by the Sprite Health Bar patch, by Koopster.

See details, either disables the item box or enables the item box and potentially give the player one HP in case the item box is already full.
!ItemBox = 0 !ItemBox = 1
$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.
$01C561 4 bytes Jump (JML/JSL) Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Jumps to the modified Mushroom picking up routine - the mushroom now adds to the player's health.
$01C561 4 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JML, modifies the code to increment the health when collecting a mushroom and adds a check to play the grow up animation in case the player is small.
$01C561 4 bytes Jump (JML/JSL) Modified by the Death Animation Cancel Fix patch, by HammerBrother.

JML, adds a check for the get mushroom code to check whether the player animation state is non-zero (player is controllable).
$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.
$01C580 5 bytes Jump (JML/JSL) Modified by the Activate Unused Starman Mechanic v1.1 patch by JamesD28.
JML : NOP. Jumps to the routine for awarding the player the star power.
$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.
$01C598 4 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JSL, makes feathers increment the health count when the player isn't at a tier two powerup.
$01C598 4 bytes Jump (JML/JSL) Modified by the Death Animation Cancel Fix patch, by HammerBrother.

JML, adds a check for the get feather code to check whether the player animation state is non-zero (player is controllable).
$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.
$01C5DA 1 byte Hex Edit Hijacked by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the smoke's animation when Mario gets a cape lasts.
$01C5EC 5 bytes Jump (JML/JSL) Modified by the Death Animation Cancel Fix patch, by HammerBrother.

JML : NOP, adds a check for the get flower code to check whether the player animation state is non-zero (player is controllable).
$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.
$01C5EC 5 bytes Jump (JML/JSL) Modified by Fire Power Timer patch. Modifies fireflower to set timer for fire power.
$01C5F3 4 bytes Jump (JML/JSL) Modified by Invulnerability on power-up. Makes fireflower give invulnerability on contact.
$01C5F3 4 bytes Jump (JML/JSL) Modified by Enhanced Powerup Grab by Maxx.

Give fire flower unique effect upon collection.
$01C5F7 4 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JSL, makes flowers increment the health count when the player isn't at a tier two powerup.
$01C604 4 bytes Jump (JML/JSL) Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Only applied if !1Up_Refill is 1. Hijacks 1-Up mushroom code to make it max out the player's health, and it makes the player go big if he was small (only if !AlwaysSmall is 0).
$01C604 4 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

See table, fills the player's HP count when a 1-up shroom is collected (if enabled).
New Table
$01C636 4 bytes Jump (JML/JSL) Modified by the Runaway Wing Patch. Hijacks the "powerup graphics" routine.
$01C6A6 1 byte Hex Edit Modified by the Freeze/Lock Fix patch, by HammerBrother and Isikoro.

db $14, modifies the Star sprite's palette flash to change based on the effective frame counter $14, in order to implicitly acknowledge the "sprites locked" flag $9D.
$01C6B2 5 bytes Jump (JML/JSL) Modified by the Fire Flower Palette Cycle patch, by aroohwahoou.

JSL : NOP, modifies the powerup sprites' graphics routine to make the fire flower sprite cycle through different palettes.
$01C6C1 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$20, prevents powerups from going behind the foreground in general when not horizontally flipped.
$01C6C5 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

ORA #$60, prevents powerups from going behind the foreground in general when horizontally flipped.
$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.
$01CA56 4 bytes Jump (JML/JSL) Optionally hijacked by Freeze Sprites with L/R UberASM by JamesD28 for better platform handling.
$01CA75 4 bytes Code Modified by Yoshi Player Patch: This one prevents hiding Yoshi when standing on a Brown Chained Platform.
$01CC28 108 bytes Code Modified by the Unsigned 16x16 Multiplication Optimisation patch, by MarioFanGamer.

Replaces the 16-bit cos/sin multiplication routine used by the Iggy/Larry and brown chain platforms with a version better optimized for speed and space.
$01CCBF 3 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

LDA, loads interaction of Iggy and Larry's platform from $1BE6 instead of $0AF6.
$01CD1E 12 bytes Data Hijacked by UberASM Tool (new to v2.0)

The first 4 bytes contain the string "UBER" to identify ROMs with the tool installed. The 5th and 6th bytes are the major and minor version numbers, respectively. The final 6 bytes are set to 0, but reserved for future use.
$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.
$01D3EF 1 byte Hex Edit Modified by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the smoke animation from a fireball hitting a sprite lasts.
$01D43E 4 bytes Code Hijacked by Pixi.
JSR $8133 : RTL, jumps to the routine that executes code based on the current sprite status.
You can JSL to this in a custom sprite to execute the original code for a certain sprite status (just make sure A contains the status you want before calling it).
$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.
$01D6C4 6 bytes Jump (JML/JSL) Hijacked by the Sprite Properties Depending on the Extra Bit v1.1 patch, by Kevin.

JSL : BRA $01, modifies the Line-Guided Rope's clipping to use the extra bit instead of the X position and sprite slot/sprite memory settings.
$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.
$01DA33 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML, loads the jump speed when the player jumps out of a rope from a value set in RAM.
$01DB70 5 bytes Code Hijacked by AddmusicK.
Changes the grinder SFX number (here used by the ground grinder), and remaps it to $1DF9.
$01DB9E 4 bytes Table Hijacked by the HDMA Bugfixes patch, by Ice Man.

Prevents Grinders from going behind the foreground.
$01DC71 10 bytes Jump (JML/JSL) Hijacked by the Sprite Properties Depending on the Extra Bit v1.1 patch, by Kevin.

JSL : BNE + : LDA #$05 : BRA ++, modifies the Line-Guided Rope's graphics loop index to use the extra bit instead of the X position and sprite slot/sprite memory settings.
+ is inserted at $01DC7C.
++ is inserted at $01DC7E.
$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.
$01DCC1 10 bytes Jump (JML/JSL) Hijacked by the Sprite Properties Depending on the Extra Bit v1.1 patch, by Kevin.

JSL : BNE + : LDA #$04 : BRA ++, modifies the Line-Guided Rope's FinishOAMWrite value in A (number of tiles to draw) to use the extra bit instead of the X position and sprite slot/sprite memory settings.
+ is inserted at $01DCCC.
++ is inserted at $01DCCE.
$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.
$01DDAC 4 bytes Jump (JML/JSL) Hijacked by "Better Bonus Game" by Sonikku.
Jumps to the custom bonus game's init code.
$01E046 5 bytes Jump (JML/JSL) Hijacked by "Better Bonus Game" by Sonikku.
Modifies failing the bonus game. (Optional)
$01E05B 32 bytes Code Hijacked by the Podoboo in Layer 2 Lava Fix patch, by Isikoro.

Inserts code that, along with a JSL to freespace, shifts the Podoboo's position downwards until it is in lava.
$01E05B 5 bytes Jump (JML/JSL) Hijacked by the Podoboo Buoyancy Fix patch by  JamesD28.

JML, modifies the init routine to check for any Map16 tile instead of just water tiles if sprite buoyancy is disabled.
$01E09F 7 bytes Jump (JML/JSL) Hijacked by the Podoboo in Layer 2 Lava Fix patch, by Isikoro.

JML : NOP #3, jumps to code that moves the Podoboo's initial jump position based on how much layer 2's Y position has changed. Also inserts a label to jump to at $01E0A6.
$01E0A1 5 bytes Jump (JML/JSL) Hijacked by the Podoboo Buoyancy Fix patch by  JamesD28.

JML, displays lava splashes when a Podoboo submerges into a block when desired.
$01E0CB 6 bytes Jump (JML/JSL) Hijacked by the Podoboo Buoyancy Fix patch by  JamesD28.

JML, causes Podoboos to check for any Map16 tile or the bottom of the screen in the main routine if sprite buoyancy isn't enabled.
$01E0E2 36 bytes Code Hijacked by the Podoboo in Layer 2 Lava Fix patch, by Isikoro.

Inserts code that, along with a JML to freespace, keeps the Y speed of the Podoboo consistent when it jumps out of lava.
$01E1A8 3 bytes Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the pointer to the Podoboo's GFX.
$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.
$01E210 5 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the time that the keyhole remains at maximum size based on a value in RAM.
$01E216 1 byte Hex Edit Modified by AddmusicK.
Changes the keyhole song number.
$01E291 5 bytes Jump (JML/JSL) Hijacked by "Better Bonus Game" by Sonikku.
Replaces the vanilla bonus 1-up mushroom routine with a custom one. (Optional)
$01E2B0 16 bytes Code Hijacked by the On/Off switch-triggered Dark Room w/ Spotlight patch, by Sonikku.

The new init routine, kills itself when it finds another disco ball and sets the On/Off status to off.
$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.
$01E2F3 6 bytes Code Modified by Monty Mole, Hammer Bro and Dry Bone Behavior on Extra Bit by Kevin.

Makes monty mole emerge from ground speed depend on extra bit.
$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.
$01E313 4 bytes Jump (JML/JSL) Hijacked by the Hiding Monty Mole Fix by Isikoro.
JML, hijacks the Monty Mole's main routine to restore the original tweaker bytes once it pops out of the ground.
$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.
$01E44E 5 bytes Hex Edit Modified by the Bony Beetle/Dry Bones Turn Fix patch by Ice Man. Skips a call to face the player.
$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.
$01E47C 4 bytes Jump (JML/JSL) Modified by the Bony Beetle/Dry Bones Turn Fix patch by Ice Man. Delays the turn to face the player for one frame so that it displays correctly.
$01E526 5 bytes Jump (JML/JSL) Modified by Monty Mole, Hammer Bro and Dry Bone Behavior on Extra Bit by Kevin.

Makes Dry Bones (sprite 32) throw a bone depending on extra bit (part 1).
$01E5A0 5 bytes Jump (JML/JSL) Modified by Monty Mole, Hammer Bro and Dry Bone Behavior on Extra Bit by Kevin.

Makes Dry Bones (sprite 32) throw a bone depending on extra bit (part 2).
$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.
$01E655 4 bytes Jump (JML/JSL) Hijacked by the Killed Springboard Fix patch, by Kevin.

JML, causes springboards to check for their sprite state and thus only catch the player when they aren't in state 4 (smoke / killed with a spin jump) when the miscellaneous sprite timer is set.
$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.
$01E669 21 bytes Jump (JML/JSL) Modified by Yoshi-Springboard Clipping Fix by lolcats439.

Check if springboard is being eaten to prevent zipping upwards.
$01E68D 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML, uses the vanilla spring board jump speeds when the player rides Yoshi, otherwise uses values set in RAM. It also only enables spin jump for Mario.
$01E691 1 byte Hex Edit Modified by Yoshi Player Patch: Prevents spin jumping from a springboard.
$01E695 5 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP, only enables spin jump for Mario, when jumping on a spring board.
$01E6A4 3 bytes Opcode Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

STY, allows the camera to scroll when the player jumps on a spring board without spin jump (note that this hijack uses the same opcode and address as the vanilla game).
$01E6A9 5 bytes Jump (JML/JSL) Hijacked by the Portable Springboard Multiple-Frame SFX Fix patch, by HammerBrother.

JSL : NOP, adds a check which frame to play the bounce sound effect.
$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.
$01E6F7 5 bytes Jump (JML/JSL) Hijacked by the SMB3 Screen Scrolling Pipes 4.0.0, by HammerBrother.
JSL, hijacks the springboard to turn invisible when being carried through pipes.
$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 for its sprite 19 fix, with a JSL to $03BCA0.
$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.
$01E7C1 1 byte Hex Edit Modified by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the smoke animation from the Lakitu Cloud disappearing lasts.
$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.
$01E8D2 4 bytes Jump (JML/JSL) Hijacked by the Smoke Image Consistency-ifier patch by Sonikku.
JML, it changes what type of animation the Lakitu Cloud's evaporation effect uses.
$01E8E1 1 byte Hex Edit Modified by the No More Sprite Tile Limits patch, by Arujus, MathOnNapkins, Tattletale, 22460, Vitor Vilela and edit1754.

Moves the Lakitu Cloud's reserved slots to $28,$2C so that it's original slots ($30,$34) can be searched.
$01E91E 28 bytes Code Hijacked by the Smoke Image Consistency-ifier patch by Sonikku.
It changes what type of animation the Lakitu Cloud's evaporation effect uses.
$01EA9A 4 bytes Jump (JML/JSL) Hijacked by the Yoshi Keyhole Fix patch, by HammerBrother.

JML, adds a keyhole check so Mario can't unduck with Yoshi while a keyhole is active.
$01EB16 4 bytes Jump (JML/JSL) Hijacked by the Yoshi Keyhole Fix patch, by HammerBrother.

JML, adds a keyhole check so Mario can't duck with Yoshi while a keyhole is active.
$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.
$01EB16 4 bytes Jump (JML/JSL) Modified by Perfect Disable Ducking. Fix ducking on yoshi.
$01EB33 4 bytes Jump (JML/JSL) Modified by Ultimate Screen Teleporter by mario90.

JML, modifies Yoshi's graphics routine to allow for a walking animation when entering a side teleport.
$01EBA9 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$20, prevents Yoshi from going behind the foreground during the pipe entering animation.
$01EBD6 6 bytes Jump (JML/JSL) Hijacked by the Standalone Yoshi Abilities patch, by RussianMan.

JSL : BRA $00, jumps to code that saves Yoshi's blue shell and yellow shell flags to freeRAM, so Yoshi can keep those abilities when dismounted. The original code is also restored, and leftover bytes are overwritten with the BRA $00.
$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.
$01EC3B 2 bytes Opcode Modified by Level Dependent Yoshi Message by Alcaro.

Change default message value for hatched Yoshi to execute new code.
$01ECED 4 bytes Jump (JML/JSL) Hijacked by the Standalone Yoshi Abilities patch, by RussianMan.

JML, jumps to code that handles Yoshi's stomping and flying abilities when dismounted.
$01ED44 4 bytes Jump (JML/JSL) Hijacked by the Super Mario Bros & SMW Themed Flag/Flagpole Sprite, by JamesD28.
JML, hijacks the Yoshi dismount code to prevent instant remounting of Yoshi while on the flagpole.
$01ED44 4 bytes Jump (JML/JSL) Modified by the Force Yoshi Dismount Block, by JamesD28.

A JML hijack inside the block to prevent Yoshi from being mounted if $154C,x is set, thus preventing him from passing through the block.
$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.
$01EDB1 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML, uses a value set in RAM to set the horizontal speed when the player dismounts from Yoshi.
$01EE73 4 bytes Jump (JML/JSL) Hijacked by the Player Direction Fix After Losing Yoshi patch by Ice Man.

Adds a check to make sure Yoshi is being ridden before flipping Mario's direction along with Yoshi's.
$01EE7D 4 bytes Jump (JML/JSL) Modified by Yoshi Pipe Animation Fix by Kevin.

JML, ensures that the player is riding Yoshi before displaying Yoshi's entering vertical pipe animation.
$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.
$01EEB4 3 bytes Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the pointer to Yoshi's head GFX.
$01EEC9 3 bytes Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the pointer to Yoshi's body GFX.
$01EF13 4 bytes Jump (JML/JSL) Hijacked by Disable 1-UP Chain when Free Up-Down patch by Isikoro.

JSL, clears the consecutive enemies stomped counter when the player rides Yoshi with wings.
$01F000 5 bytes Jump (JML/JSL) Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

JML : NOP, manages animations for the new "continuous fire" ability.
$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.
$01F15D 4 bytes Jump (JML/JSL) Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

JML, handles the behavior of normal and custom sprites when carried in Yoshi's mouth.
$01F1A2 4 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Changed the frequency that the Yoshi swallow timer decrements based on a value in RAM.
$01F1B7 4 bytes Jump (JML/JSL) Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

JML, resets a counter for the new "continuous fire" ability when swallowing the carried sprite.
$01F1E5 4 bytes Jump (JML/JSL) Hijacked by the Yoshi Keyhole Fix patch, by HammerBrother.

JML, adds a keyhole check so Yoshi can't spit out an item in a keyhole as well as trying to pull out his tongue.
$01F229 5 bytes Jump (JML/JSL) Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

JML : NOP, handles the behavior of normal and custom sprites when spat out by Yoshi.
$01F22E 9 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

LDA : STA : JML, Yoshi sets the player as the owner of a spit sprite, allowing the player to score from said sprite.
$01F243 6 bytes Jump (JML/JSL) Modified by the NSMB Styled Carry System patch, by Francium and Isikoro.

JML : NOP #2, forces Yoshi to always spit out shells at full speed and in kicked state even if ducking.
$01F263 1 byte Hex Edit Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Disables the normal "spit fire from Koopa shells" behavior for all Yoshis if !Shell_Ability = 0.
$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.
$01F466 4 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JML, Loads up a dynamic OAM index for Yoshi's tongue.
$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.
$01F729 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JSL, uses a value set in RAM to set the vertical speed should the player get knocked out of Yoshi.
$01F764 5 bytes Jump (JML/JSL) Modified by the Baby Yoshi & Yoshi Egg Fix patch, by Davros.

JML : NOP, modifies the main Yoshi egg sprite routine to execute several fixes.
$01F76E 12 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Yoshi Egg's horizontal proximity check with 16-bit one.
$01F83D 5 bytes Jump (JML/JSL) Modified by the Yoshi Egg Block Fix patch, by yoshifanatic. Jumps to the main routine of the patch.
$01F86C 7 bytes Jump (JML/JSL) Hijacked by SMA2 Yoshi blocks: Preserves the colour when a Yoshi is spawned from an egg from a block.
$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 (JMP/JSR) Modified by Switch Blocks with Yoshi by  MarioFanGamer.

Makes colored yoshis preserve their color from their egg.
$01F884 4 bytes Jump (JML/JSL) Hijacked by Limited Boo Range by Isikoro.

JSL, Saves the original position for the Big Boo and Boo sprites before jumping back to $01ACF9, the rest of the routine which ends with an RTL.
$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).
$01F995 7 bytes Jump (JML/JSL) Hijacked by Limited Boo Range by Isikoro.

[LDA $F8CF,y] then JML to the routine that limits the horizontal range of the Boo and Big Boo sprites.
$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.
$01F9BB 7 bytes Jump (JML/JSL) Hijacked by Limited Boo Range by Isikoro.

[LDA $F8CF,y] then JML to the routine that limits the vertical range of the Boo and Big Boo sprites.
$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.
$01FA7D 4 bytes Jump (JML/JSL) Hijacked by the Star/Slide Kill GFX Fix patch, by Kevin.

JML, modifies Iggy's Ball to still run its code during the death animation.
$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.
$01FD3C 1 byte Hex Edit Modified by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the smoke animation from a fireball hitting a Koopa Kid lasts.
$01FFBF 16 bytes Code Default freespace to be modified by the Rexes With Extra Bit Set Are Squished patch, by Supermario1313.

Inserts code that checks the Rex's extra bit, and makes it spawn squished if set (if !hijack = 0).
$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.
$01FFFC 4 bytes Jump (JML/JSL) Hijacked by the Magic Limit UberASM, by spooonsss.

JML, default freespace for the custom init code for the Magikoopa Magic init code.
$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.
$028009 5 bytes Jump (JML/JSL) Modified by Item Box to Player Position by HammerBrother.

Disable the ability to drop an item from the item box during certain animations, like taking damage and dying.
$028051 14 bytes Jump (JML/JSL) Modified by Item Box to Player Position by HammerBrother.

Modify item from item box drop location, horizontal.
$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.
$028052 1 byte Data Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

db $78, sets the horizontal item box drop position.
$02805F 14 bytes Jump (JML/JSL) Modified by Item Box to Player Position by HammerBrother.

Modify item from item box drop location, vertical.
$028060 1 byte Data Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

db $09, sets the vertical item box drop position.
$02808A 8 bytes Jump (JML/JSL) Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

JML : NOP #4, modifies the Bob-omb explosion to prevent it from being "killed".
$02808D 4 bytes Jump (JML/JSL) Modified by Bob-omb Cape Fix. Jumps to the main code.
$028095 4 bytes Jump (JML/JSL) Hijacked by the Star/Slide Kill GFX Fix patch, by Kevin.

JML, modifies the exploding Bob-omb to turn into smoke when killed.
$0280A5 4 bytes Jump (JML/JSL) Hijacked by the Better Bob-Omb Explosion patch, by Sonikku.

JML, hijacks the Bob-omb explosion's graphics routine to run the code for the new explosion features.
$0280BC 4 bytes Jump (JML/JSL) Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Modifies the Bob-omb explosion/Mario contact routine.
$0280C4 3 bytes Code Modified by the Better Bob-Omb Explosion patch, by Sonikku.

NOP : LDA $0C, the patch's code either copies $1540 to $0C, or inverts $1540's value then writes it to $0C - this allows the explosion's stars to animate outwards or inwards.
$028114 1 byte Hex Edit Modified by the Better Bob-Omb Explosion patch, by Sonikku.

Modifies the tile number used for the Bob-omb explosion's star effect.
$028118 8 bytes Code Modified by the Better Bob-Omb Explosion patch, by Sonikku.

BRA $04 : NOP #4 : LDA $0D, replaces the explosion's vanilla palette cycle with a custom cycle calculated in the patch's code (palette value returned in $0D).
$028139 63 bytes Code Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Modifies the Bob-omb explosion/sprite contact routine.
$028528 103 bytes Code Modified by More Extended Sprites, by Isikoro.

Modifies the spawn lava splash routine to spawn Podobo flames instead.
$0285EF 64 bytes Code Modified by More Extended Sprites, by Isikoro.

Rewrites the spawn Podoboo flames routine.
$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.
$028634 1 byte Hex Edit Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

Modifies the branch destination to $02862E.
$028655 5 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the initial throw block expiration timer based on a value in RAM.
$02865F 4 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML, sets the player as the owner of a Throw Block the player just picked up.
$028734 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, stores the quake sprite index to freeRAM to mark it being generated by a sprite.
$028758 11 bytes Code Modified by Optimize Score Display by Fernap.

Modify breaking a turn block's score addition to use the new score addition routine.
$028758 27 bytes Code Hijacked by the Tallying Score UberASM by JamesD28.

Breaking a turn block adds 50 points to the score, this changes that so that it updates the tally buffer instead.
$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.
$028773 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML, uses the vanilla bounce speed when the player breaks a turn block when the player rides Yoshi, otherwise uses a value set in RAM.
$028810 4 bytes Jump (JML/JSL) Modified by Switch Blocks with Yoshi by  MarioFanGamer.

Allows custom colors for bounce sprites for colored switch blocks.
$028830 5 bytes Jump (JML/JSL) Modified by Reverse Gravity. Fixes bounce sprites.
$02885E 6 bytes Jump (JML/JSL) Modified by Bounce Sprites Boost Player by  JamesD28.
JML to freecode then back to $028864. Hijacks part of global vanilla bounce block code to jump to additional code that makes mario bounce upwards.
$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.
$0289C9 4 bytes Jump (JML/JSL) Modified by the Stationary P-Balloon patch, by Kevin.

JML, modifies the "spawn P-Balloon from block" routine to set a timer, enabling the P-Balloon's otherwise unused "rising out of block" state.
$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).
$028A11 5 bytes Jump (JML/JSL) Modified by Item from Layer 2 block Fix by Isikoro.

Places Power-ups/Vine on a correct layer, depending on the wether the block it spawned from was on layer 1 or 2.
$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).
$028A1A 5 bytes Jump (JML/JSL) Hijacked by the Question Block Item Collision Fix patch, by Kevin.

JSL : NOP, modifies the Shell from ?-block spawn code to set a timer that temporarily disables interaction with other sprites.
$028B05 3 bytes Jump (JMP/JSR) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JSR, Replaces the current minor extended sprite loop with its own loop to get an OAM slot before running the code for minor extended sprites while also maintaining PIXI v1.40 compatibility.
$028B11 3 bytes Jump (JMP/JSR) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JSR, Replaces the current spinning coin sprite loop with its own loop to get an OAM slot before running the code for spinning coin sprites while also maintaining PIXI v1.40 compatibility.
$028B1D 3 bytes Jump (JMP/JSR) Hijacked by Pixi.
(LoROM only) Jumps to the routine that loads the 16-bit sprite data pointer during the level.
$028B20 4 bytes Jump (JML/JSL) Hijacked by the Sprite Item Box patch, by Kevin.

JML, jumps to the routine to draw the item box including the item (if enabled in the patch).
$028B20 5 bytes Jump (JML/JSL) Hijacked by the Sprite Health Bar patch, by Koopster.

JML : NOP, draws the hearts in a level.
$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.
$028B6C 4 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JML, Loads up a dynamic OAM index for minor extended sprites.
$028B74 3 bytes Jump (JMP/JSR) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JMP, Modifies the minor extended sprite loop to load the next free OAM slot while also maintaining PIXI v1.40 compatibility.
$028B78 12 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the minor extended sprites.
$028BAA 2 bytes 16-bit Pointer Modified by More Extended Sprites, by Isikoro.

$9E86, replaces the pointer of the unused note sprite to the spin jump star.
$028C6E 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for the unused Yoshi smoke.
$028CFF 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for the Boo Stream trail.
$028D8B 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for the water splash.
$028DDD 153 bytes Code Modified by More Extended Sprites, by Isikoro.

Rewrites the Rip Van Fish Z particles routine to make space for the particle's spawn code ($028E71 for the direction and ID, $028E69 for the finish code).
$028E20 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for the Rip van Fish Z effect.
$028E94 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for cracked shell pieces.
$028EE1 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for star sparkles.
$028F47 6 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, jumps to the custom apply minor extended sprite speed routine for the Podoboo flames.
$028F4D 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for lava splash.
$028FDD 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for pieces of brick blocks.
$02902D 4 bytes Jump (JML/JSL) Modified by Cape Swing Combo by Sonikku.

This resets the cape swing combo counter and the tracked sprite's index once it touches the ground.
$029032 4 bytes Jump (JML/JSL) Hijacked by the More Turn Blocks patch by Koopster.

Processes the list of turnblocks each frame.
$029046 3 bytes Jump (JMP/JSR) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JSR, Replaces the current smoke sprite loop with its own loop to get an OAM slot before running the code for smoke sprites while also maintaining PIXI compatibility.
$02904D 5 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JML : NOP, finds an empty dynamic OAM slot for the current bounce sprite.
$0290A6 2 bytes Code Hijacked by the More Turn Blocks patch by Koopster.

BRA $nn. Branches ahead to the hijack at $0290C4.
$0290C4 6 bytes Jump (JML/JSL) Hijacked by the More Turn Blocks patch by Koopster.

JML : NOP #2. Ends the bounce sprite and crates a spinning block in its place.
$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.
$02916C 4 bytes Jump (JML/JSL) Modified by the Note Block Spin Jump Fix patch, by Kevin.

JSL, modifies the "bounce on note block" routine to clear spin jump state.
$02916C 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML, uses the vanilla note block bounce speed when the player rides Yoshi, otherwise uses a value set in RAM.
$0291ED 4 bytes Table Modified by More Extended Sprites, by Isikoro.

$0C,$08,$04,$00, changes the bounce sprite OAM indices.
$0291ED 4 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the block bounce sprites.
$02922D 3 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, KevinM, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for bounce sprites.
$0292D7 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$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.
$029347 3 bytes Jump (JMP/JSR) Modified by the Bounce Block Coin Collection Fix patch, by MarioFanGamer.

JSR, jumps to some Bank 02 freespace to alter which tile a coin spawns when collected by a bounce block.
$02939D 8 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : AND : BEQ, modifies the quake interaction timer to check if a bounce sprite timer is either 0x00 or 0x80.
$0293A9 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, sets the freeRAM byte if a quake sprite is owned by a sprite.
$029455 4 bytes Jump (JML/JSL) Modified by Cape Swing Combo by Sonikku.

This hijack resets the combo if the player cape swings another sprite.
$029457 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JML : NOP, sets the owner of a sprite which got thrown up by a quake sprite to the same as that of the quake sprite.

This hijack is only installed if Cape Swing Combo hasn't been installed.
$029480 5 bytes Jump (JML/JSL) Hijacked by the No Score by Shell Kicked by Enemy, by Isikoro

JSL, only grants the player some score for an enemy which got killed by a quake sprite if the player owns said quake sprite.

This hijack is only installed if Cape Swing Combo hasn't been installed.
$029480 4 bytes Jump (JML/JSL) Modified by Cape Swing Combo by Sonikku.

Hijacks part of a sprite routine for getting flung up by a cape swing to add score and keep track of the hit sprite.
$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.
$02961A 4 bytes Jump (JML/JSL) Modified by Lunar Magic to change the JSL to LM's Map16 interaction handler for Mario's cape at $06F760.
$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).
$029633 7 bytes Jump (JML/JSL) Hijacked by Pixi (since v1.3).
Jumps to the code that fixes interaction between cape and custom extended sprites. After it there's a pointer to custom extended sprite data.
$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).
$02964C 4 bytes Jump (JML/JSL) Hijacked by the RAM Controlled Mario's Fireballs Limit v1.1 patch, by Kevin.

JML, modifies the cape interaction to not destroy any fireball.
$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).
$0296C3 4 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JML, finds an empty dynamic OAM slot for smoke sprites.
$02971E 43 bytes Code Hijacked by the Smoke Image Consistency-ifier patch by Sonikku.
It changes what type of animation the puff of smoke uses while in Reznor's rooms.
$02974A 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for puff of smokes outside of Reznor, Morton, Roy, Ludwig and Bowser's battle.
$029767 43 bytes Code Hijacked by the Smoke Image Consistency-ifier patch by Sonikku.
It changes what type of animation the Bullet Bill's puff of smoke uses while in normal levels.
$0297B2 4 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
[JML] Loads the previously found dynamic OAM index for contact graphics.
$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.
$02996C 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for turn around smokes outside of Reznor, Morton, Roy, Ludwig and Bowser's battle.
$0299D7 5 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JML : NOP, finds an empty dynamic OAM slot for the current spinning coins from blocks.
$0299DF 3 bytes Jump (JMP/JSR) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JMP, Modifies the spinning coin sprite loop to load the next free OAM slot while also maintaining PIXI compatibility.
$0299E9 4 bytes Table Modified by $02xx OAM Remapper. Remaps coin sprites from blocks' OAM slots.
$029A3D 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for spinning coins from blocks.
$029B16 5 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JML : NOP, finds an empty dynamic OAM slot for the current 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.
$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.
$029B1B 7 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the code that executes custom extended sprites main code. After it there's a pointer to custom extended sprite data.
$029B2D 2 bytes 16-bit Pointer Modified by More Extended Sprites, by Isikoro.

$A356, repoints the code of the smoke puff.
$029B39 2 bytes 16-bit Pointer Modified by More Extended Sprites, by Isikoro.

$0000, removes the lava splash as an extended sprite.
$029B4B 2 bytes 16-bit Pointer Modified by More Extended Sprites, by Isikoro.

$0000, removes the spin jump star as an extended sprite.
$029B4F 2 bytes 16-bit Pointer Modified by More Extended Sprites, by Isikoro.

$9EF3, repoints the code of water bubbles.
$029B51 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for the Volcano Lotus pollen.
$029B51 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for Volcano Lotus pollen.
$029B54 4 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JML, modifies the Volcano Lotus pollen to despawn at a user defined range as well as only draw them when they're onscreen and to set their OAM X position high byte
$029BA0 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the Volcano Lotus pollen to not clear their OAM X position high byte.
$029C2E 1 byte Hex Edit Modified by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the smoke animation from Yoshi's stomp lasts.
$029C3E 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, calls the GFX routine of the fireballs for Yellow Yoshi's trail of smoke.
$029C41 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for Yellow Yoshi's trail of smoke.
$029C41 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for Yellow Yoshi's trail of smoke.
$029C44 35 bytes Code Hijacked by the Smoke Image Consistency-ifier patch by Sonikku.
It changes what type of animation the Yoshi stomp's puff of smoke uses.
$029C61 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the earth quake smoke to not clear their OAM X position high byte.
$029C83 45 bytes Code Modified by More Extended Sprites, by Isikoro.

Replaces the spin jump star code with an apply minor extended sprite speed routine.
$029C8B 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for spin jump stars.
$029CF8 4 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JML, modifies the Bonus Game Cloud coin and Wiggler flower to despawn at a user defined range as well as only draw them when they're onscreen and to set their OAM X position high byte.
$029D10 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for the Cloud Game coin.
$029D10 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for Cloud Game coin and Wiggler's flower.
$029D27 4 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JML, modifies the Wiggler flower to abort OAM setup if vertically offscreen.
$029D3F 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the Wiggler flower to not clear its OAM X position high byte.
$029D45 5 bytes Miscellaneous Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

NOP #5, prevents the Bonus Game Cloud coin from setting its OAM Y position.
$029D54 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the Bonus Game Cloud coin to not clear its OAM X position high byte.
$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).
$029DDF 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for an unused extended sprite.
$029DDF 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for an unused extended sprite.
$029E5C 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, calls the GFX routine of the fireballs for the Torpedo Ted launcher's arm.
$029E5F 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for the Torpedo Ted launcher's arm.
$029E5F 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for the Torpedo Ted launcher's arm.
$029E73 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

ORA #$23, prevents the Torpedo Ted's arm from going behind the foreground.
$029E7C 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the Torpedo Launcher arm to not clear its OAM X position high byte.
$029E86 96 bytes Code Modified by More Extended Sprites, by Isikoro.

Replaces the lava splash code for the spin jump star code.
$029E9D 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for lava splashes.
$029EA0 4 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JML, modifies the lava spashes to despawn at a user defined range as well as only draw them when they're onscreen and to set their OAM X position high byte.
$029EDD 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the lava splash to not clear its OAM X position high byte.
$029EEE 14 bytes Code Modified by More Extended Sprites, by Isikoro.

Rewrites the water bubble code to make space for the code to delete spin jump stars.
$029F2A 4 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JML, modifies the air bubbles to despawn at a user defined range as well as only draw them when they're onscreen and to set their OAM X position high byte.
$029F36 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, calls the GFX routine of the fireballs for water bubbles.
$029F46 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for water bubbles.
$029F46 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for water bubbles.
$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.
$029F6E 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, calls the GFX routine of the fireballs for Red Yoshi's fireballs.
$029F71 8 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for Red Yoshi's fireballs.
$029F76 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for Red Yoshi's fireballs.
$029F93 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the Yoshi fire to not clear their OAM X position high byte.
$029FAB 2 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for the player's fireballs.
$029FB3 4 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JML, modifies Mario's fireball to despawn at a user defined range.
$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.
$02A03B 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for Mario's fireball.
$02A03B 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for Mario's fireball.
$02A03B 4 bytes Jump (JML/JSL) Hijacked by the RAM Controlled Mario's Fireballs Limit v1.1 patch, by Kevin.

JML, modifies the fireball graphics to use all extended sprite OAM slots (this is only applied when Extended NMSTL has not been installed).
$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.
$02A04B 1 byte Hex Edit Modified by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the smoke animation from a fireball hitting a solid block lasts.
$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.
$02A124 4 bytes Jump (JML/JSL) Hijacked by the Spinning Coin on Fireball Kill Patch, by RussianMan.

JML, jumps to the routine that changes sprites hit with a fireball to the Question Block Spinning Coin.
$02A129 4 bytes Jump (JML/JSL) Hijacked by Random Sprite From Fireballs by DiscoTheBat and Iceguy.

JSL, modifies fireball interaction to spawn random sprites.
$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.
$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
$02A132 4 bytes Jump (JML/JSL) Hijacked by Random Sprite From Fireballs by DiscoTheBat and Iceguy (!CustSprFire only).

JSL, initializes custom sprite tables from fireball hit.
$02A153 8 bytes Table Modified by $02xx OAM Remapper. This is the table with the OAM indexes for extended sprites.
$02A153 8 bytes Code Modified by More Extended Sprites, by Isikoro.

Writes to the OAM X position for the spin jump stars and draws the sprite.
$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.
$02A17D 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, calls the GFX routine of the fireballs for Reznor and Piranha Plant fireballs in Reznor battles.
$02A180 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for aimed fireballs in Reznor battles.
$02A180 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for aimed fireballs in Reznor battles.
$02A19D 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the Reznor fireball to not clear its OAM X position high byte.
$02A1A4 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for aimed fireballs in regular levels.
$02A1A4 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for aimed fireballs in regular levels.
$02A1B1 4 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JML, modifies most extended sprites to despawn at a user defined range as well as only draw them when they're onscreen as well as to set their OAM X position high byte.
$02A208 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies most expended sprites to not clear their OAM X position high byte.
$02A217 2 bytes Hex Edit Modified by the 16x16 Hopping Flame Trail patch. Stores new tile data.
$02A232 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, calls the GFX routine of the fireballs for the Hopping Flame trail.
$02A235 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for the Hopping Flame trail.
$02A235 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for the Hopping Flame trail.
$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.
$02A271 4 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JML, modifies Pitchin' Chuck baseballs to despawn at a user defined range as well as only draw them when they're onscreen and to set their OAM X position high byte.
$02A287 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for Pitchin' Chuck's baseballs.
$02A287 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for Pitchin' Chuck's baseballs.
$02A2B9 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the Pitchin' Chuck baseball to not clear its OAM X position high byte.
$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.
$02A317 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, calls the GFX routine of hammers and thrown bones.
$02A31A 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, gets the OAM index for hammers and thrown bones.
$02A31A 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for hammers.
$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.
$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.
$02A33D 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the hammer to not clear its OAM X position high byte.
$02A34F 29 bytes Code Modified by More Extended Sprites, by Isikoro.

Rewrites part of the puff of smoke code to make space for the get minor sprite OAM index ($02A34F) routine.
$02A362 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for smoke puffs (not from Mario's fireballs).
$02A369 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for smoke puffs (from Mario's fireballs).
$02A36C 4 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JML, modifies the smoke puff to despawn at a user defined range as well as only draw them when they're onscreen and to set their OAM X position high byte outside of Reznor battles.
$02A386 36 bytes Code Hijacked by the Smoke Image Consistency-ifier patch by Sonikku.
It changes what type of animation the fireball's puff of smoke uses.
$02A3A5 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the puff of smoke to not clear its OAM X position high byte outside of Reznor battles.
$02A3F0 5 bytes Jump (JML/JSL) Hijacked by the Extended Sprite Despawn Range Fix patch, by HammerBrother.

JSL : NOP, modifies the puff of smoke to not clear its OAM X position high byte inside Reznor battles.
$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.
$02A490 4 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JSL, uses a value set in RAM to set the vertical speed should the player get knocked out of Yoshi.
$02A4DF 1 byte Hex Edit Modified by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the smoke animation from the Cape killing an extended sprite lasts.
$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.
$02A519 4 bytes Jump (JML/JSL) Modified by Reznor Fireball Flag. Gives the big (Reznor's) fireball proper clipping.
$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.
$02A6EB 4 bytes Miscellaneous Modified by Lunar Magic to change the JSL to LM's Map16 interaction handler for Mario's fireballs at $06F7A0.
$02A763 16 bytes Jump (JML/JSL) Hijacked by AMK 1.0.9.

Handles disabling and enabling Yoshi drums when entering levels.
The jump instruction is follwed by 12 NOP insutrctions, overwriting a PLB : RTL that some existing resources were using for a jsl-to-rts, likely resulting in a crash. This was introduced in 1.0.9 and should be already fixed in upcoming versions.
$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.
$02A846 5 bytes Jump (JML/JSL) Hijacked by Pixi.
$02A84C 2 bytes Code Modified by Lunar Magic. Changes branch from "BNE Return02A84B" to "BNE CODE_02A834", which points to JML.
$02A856 10 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$02A866 4 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the custom generator sprites loading routine.
$02A8BB 5 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$02A8D8 3 bytes Jump (JMP/JSR) Hijacked by Pixi.
Replaces a JSR with a JMP to fix a softlock related to shooters.
$02A8D8 1 byte Opcode Modified by Lunar Magic, changing the JSR opcode into a JMP.
$02A936 5 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$02A94B 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the second Pixi sprite data loading routine.
$02A95B 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Sets upper bits of Y position for normal sprites.
$02A963 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the Pixi sprite data loading routine.
$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 to the $1EA2 address that corresponds to the special world passed level for Koopa colors.
$02A9A6 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the routine that makes the silver coin tweaker bit work for custom sprites.
$02A9C9 4 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the routine that keeps the extra bits around when setting sprite tables during level loading.
$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.
$02A9D7 3 bytes Jump (JMP/JSR) Hijacked by Pixi.
(SA-1 only) Jumps to another hijack at $02B5EC.
$02A9DB 3 bytes Jump (JMP/JSR) Hijacked by Pixi.
(LoROM only) Jumps to a routine that displaces the sprite offset index for loading.
$02AA35 6 bytes Jump (JML/JSL) Modified by the Ghosts and Bat Flock Init Fix patch, by Isikoro.

JML : NOP #2, modifies the Swooper Death Bat Ceiling cluster sprite init routine to abort if a ceiling swooper cluster sprite already exists (prevent re-initializing if already active).
$02AA61 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Sets upper bits of Y position for cluster sprites.
$02AA8D 5 bytes Jump (JML/JSL) Modified by the Ghosts and Bat Flock Init Fix patch, by Isikoro.

JML : NOP, modifies the Reappearing Ghosts cluster sprite init routine to abort if a reappearing ghost cluster sprite already exists (prevent re-initializing if already active).
$02AAD7 6 bytes Jump (JML/JSL) Modified by the Ghosts and Bat Flock Init Fix patch, by Isikoro.

JML : NOP #2, modifies the Boo Ceiling cluster sprite init routine to abort if a ceiling boo cluster sprite already exists (prevent re-initializing if already active).
$02AB54 5 bytes Jump (JML/JSL) Hijacked by Lunar Magic (JML : NOP). Sets upper bits of Y position for boo ring.
$02AB99 5 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$02ABA0 5 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only) Jumps to custom shooter sprites loading routine.
$02ABA2 6 bytes Jump (JML/JSL) Hijacked by Pixi.
(SA-1 only) Jumps to custom shooter sprites loading routine.
$02ABD0 5 bytes Jump (JML/JSL) Hijacked by Lunar Magic (JML : NOP). Sets upper bits of Y position for shooters.
$02ABEF 3 bytes Jump (JMP/JSR) Hijacked by Pixi.
(LoROM only) Jumps to a routine that displaces the sprite offset index for loading.
$02ABF2 4 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that clears the $7FAF00-$7FAFFF range.
$02ABF3 1 byte Hex Edit Hijacked by Pixi.
(LoROM only, for roms that use Lunar Magic prior to v3.0) Writes $7F to fix the bug where half of the sprite load status indexes aren't reset on level transition.
$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.
$02AC7A 6 bytes Jump (JMP/JSR) Hijacked by Pixi.
(LoROM only) Jumps to the routine that loads the 16-bit sprite data pointer during initialization.
$02ACA4 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Calls the Sprite Cacher/Accelerator while loading a horizontal level.
$02ACBA 6 bytes Jump (JMP/JSR) Hijacked by Pixi.
(LoROM only) Jumps to the routine that loads the 16-bit sprite data pointer during initialization.
$02AD34 24 bytes Code Modified by Shell-Collectable Coins and Yoshi/Dragon Coins by Erik.
Fixes some inconsistencies with the score sprite generation routine.
$02AD78 34 bytes Table Modified by Optimize Score Display by Fernap.

Convert score sprite score values into BCD format.
$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.
$02AD9E 6 bytes Table Modified by More Extended Sprites, by Isikoro.

$D0,$D8,$E0,$E8,$F0,$F8, changes the score sprite OAM indices.
$02ADA4 19 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JML, Moves part of the score sprite loop into freespace to make space to load the next OAM flot while maintaining PIXI v1.40 compatibility.
$02ADBD 4 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JML, finds an empty dynamic OAM slot 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.
$02ADC5 3 bytes Code Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
DEX : BPL, Repoints the start of the score sprite loop.
$02ADC9 4 bytes Jump (JML/JSL) Modified by GHB Disable Score by HammerBrother and wye.

Disables score sprite functionality with exception of lives, coins and custom score sprites.
$02AE01 2 bytes Hex Edit Modified by Optimize Score Display by Fernap.

Prevent unused coin score sprites from giving score.
$02AE12 13 bytes Code Modified by Optimize Score Display by Fernap.

Modify score sprite score addition to use the new score addition routine.
$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.
$02AE12 35 bytes Code Hijacked by the Tallying Score UberASM by JamesD28.

This replaces the vanilla code for updating the score counter with new code that updates the tally instead.
$02AE9B 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for score sprites.
$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) 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.
$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.
$02AFA7 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Sets upper bits of Y position for run-once sprites.
$02AFFE 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the custom generator sprites main routine.
$02B07C 4 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the Bullet Bill generator timer based on a value in RAM.
$02B395 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the custom shooter sprites main routine.
$02B39C 1 byte Hex Edit Modified by the Freeze/Lock Fix patch, by HammerBrother and Isikoro.

db $14, modifies shooters to shoot sprites based on the effective frame counter $14, in order to more accurately acknowledge the "sprites locked" flag $9D.
$02B46B 5 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the Bullet Bill shooter timer based on a value in RAM.
$02B4F7 1 byte Hex Edit Modified by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the Bullet Bill shooter smoke animation lasts.
$02B5EC 33 bytes Code Hijacked by Pixi.
(LoROM only) Jumped to by $028B1D, $02AC7A, $02ACBA, $02ABEF and $02A9DB. Contains routines to load the 16-bit sprite data pointer during init and main and a routine to displace the sprite offset index.
$02B5EC 15 bytes Code Hijacked by Pixi.
(SA-1 only) Contains a routine that fixes a displacement in the sprite index.
$02B60E 24 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JML wrappers to get OAM slot for cluster, minor extended, spinning coin and smoke 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.
$02B892 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$20, prevents Torpedo Teds from going behind the foreground during the launch animation.
$02B98B 4 bytes Jump (JML/JSL) Hijacked by the Torpedo Ted Offscreen Smoke Fix patch, by Kevin.

JML, modifies the Torpedo Ted's smoke-spawning routine to skip spawning any smoke if the Ted is offscreen vertically.
$02B99F 1 byte Hex Edit Modified by the Smoke Image Consistency-ifier patch by Sonikku.
It changes how long the Torpedo Ted smoke animation lasts.
$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.
$02BDCF 5 bytes Jump (JML/JSL) Hijacked by the Wall-Following Sprites Go Off Level Fix patch, by Isikoro.

JML : NOP, jumps to code that causes wall-following sprites to continue travelling off the end of the level boundaries, instead of getting trapped in a loop. Also inserts a label at $02BDD4 to jump to.
$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.
$02C0CF 10 bytes Code Modified by More Extended Sprites, by Isikoro.

Rewrites the unusued spawn note particle routine to always spawn the same particle but keep the spawner's facing direction in A.
$02C0D9 12 bytes Code Modified by More Extended Sprites, by Isikoro.

Rewrites the spawn Rip Van Fish Z particle routine.
$02C0EA 1 byte Opcode Modified by More Extended Sprites, by Isikoro.

PHY, preserves the minor extended sprite ID to spawn (which originally was in A).
$02C122 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JMP, jumps to the remaining portion of the note / Z particle spawn code.
$02C1F8 4 bytes Jump (JML/JSL) Modified by Chargin' Chuck Jumpover Shell by Isikoro.

Makes chucks jump over shells and other thrown sprites when charging or looking around.
$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.
$02C3F5 4 bytes Jump (JML/JSL) Modified by the Pitchin' Chuck Won't Turn On Extra Bit patch, by JamesD28.

JML, modifies the Pitchin' Chuck baseball throwing routine to skip turning to face the player if the extra bit is set.
$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.
$02C5F7 5 bytes Jump (JML/JSL) Optionally modified by Chargin' Chuck Jumpover Shell by Isikoro.

Transfers extra bit for split chucks from splittin' chuck, which determines if the chuck should jump over a shell or other thrown sprite.
$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.
$02C77D 4 bytes Jump (JML/JSL) Modified by the Chucks With Extra Bit Retain Type When Hurt patch, by JamesD28.

JML, modifies the shared "Chuck recovers from being stomped" routine to preserve the Chuck's original type if the extra bit is set, instead of always changing to act like the normal Chargin' Chuck.
$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).
$02CDE7 5 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP, uses the vanilla pea bouncer jump speed table (when A/B are held) when the player rides Yoshi, otherwise uses a table from a pointer set in RAM.
$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.
$02CFE5 5 bytes Jump (JML/JSL) Hijacked by the Mario & Friends Character Switching patch, by CircleFriendo.

JML : NOP, uses the vanilla pea bouncer jump speed table (when A/B are not held) when the player rides Yoshi, otherwise uses a table from a pointer set in RAM.
$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.
$02D088 5 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$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.
$02D214 4 bytes Jump (JML/JSL) Hijacked by the P-Balloon and Cloud Clipping Fix patch by lolcats439.
JSL, jumps to the code that checks if LR are pressed at the same time and makes the game treat it as a single R input instead.
$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.
$02D51E 5 bytes Code Modified by the Bounce Block Coin Collection Fix patch, by MarioFanGamer.

Changes the block spawned by a coin collected with a bounce block from "invisible solid block (152)" to "empty (025), sets item memory". This hijack is configurable via define, set to this address by default.
$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.
$02D8C9 4 bytes Jump (JML/JSL) Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

JML, sets the "stay in Yoshi's mouth" Tweaker bit for Bubble sprite if it contains a Bob-omb.
$02D985 4 bytes Jump (JML/JSL) Hijacked by Wet Time (for) Fish patch by Sonikku.

JML, optionally sets $163E (what the patch uses as the wet time) for fish when being spawned from a bubble.
$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.
$02DA79 6 bytes Code Modified by Monty Mole, Hammer Bro and Dry Bone Behavior on Extra Bit by Kevin.

Makes hammer bro hammer throw frequency depend on extra bit.
$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.
$02DEB0 5 bytes Jump (JML/JSL) Modified by the Freeze/Lock Fix patch, by HammerBrother and Isikoro.

JML : NOP, modifies the Sumo Bros. lightning sprite to acknowledge the "sprites locked" flag $9D.
$02DF6E 1 byte Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
[NOP] Removes the SEC so Sumo Flames work properly on vertical subscreen boundaries.
$02DF6E 1 byte Opcode Modified by More Extended Sprites, by Isikoro.

NOP, fixes the Sumo Lightning flames on subscreen boundaries.
$02E0D4 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$20, prevents Jumping Piranha Plants from going behind the foreground.
$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.
$02E266 4 bytes Jump (JML/JSL) Hijacked by the P-Switch Solid Directional Coins path by  JamesD28.

Runs the solid sprite routine for the directional coin sprite if the blue P-switch is active.
$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.
$02E277 6 bytes Jump (JML/JSL) Hijacked by Super Mario Advance 4 !-Switch, by Burning Loaf

JSL : NOP #2, adds a check for the !-Switch timer to resume the level music when a Directional Coin terminates.
$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.
$02E46B 4 bytes Jump (JML/JSL) Hijacked by Wet Time (for) Fish patch by Sonikku.

JML, optionally sets $163E (what the patch uses as the wet time) for fish when being spawned from an exploding block.
$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.
$02E7C5 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$20, prevents Diggin' Chuck's rocks from going behind the foreground during the digging animation.
$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.
$02EA1A 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

EOR #$6B, prevents Pipe Lakitus from going behind the foreground.
$02EA3E 3 bytes Hex Edit Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the pointer to Baby Yoshi's GFX.
$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.
$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.
$02EC06 36 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Modifies the horizontal tile offsets (left facing) of the Super Koopas.
$02EC2A 36 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Modifies the horizontal tile offsets (right facing) of the Super Koopas.
$02EC4E 36 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Modifies the vertical tile offsets of the Super Koopas.
$02EC72 36 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Modifies the tile numbers of the Super Koopas.
$02EC96 36 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Modifies the YXPPCCCT properties of the Super Koopas.
$02ECBA 36 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Modifies the tile size of the Super Koopas.
$02ECE1 4 bytes Jump (JML/JSL) Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

JML, sets the frame counter for the fluttering animation and marks whether the Super Koopa has a red cape or yellow cape.
$02ED20 85 bytes Code Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Modifies the Super Koopa's graphics routine to be compatible with the new Koopa graphics.
$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.
$02F048 4 bytes Jump (JML/JSL) Modified by the Customizable Bob-omb and Wiggler Palette Flashing patch, by Kevin and yoshifanatic.

JML, modifies the "Wiggler stomped" palette flashing routine to flash between two custom palettes at a specified rate.
$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 6 bytes Jump (JML/JSL) Wiggler Score Glitch Fix hijack
$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.
$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 65 bytes Jump (JML/JSL) Modified by the Yoshi's House Birds Offscreen "Fix" patch, by JamesD28.

JSR $D378 : JML, pads all remaining space up to but not including $02F42B with #$FF. Replaces the entire graphics routine for the birds on Yoshi's house with a version that respects proper offscreen handling.
$02F4B6 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

EOR #$6B, prevents the smoke from Yoshi's House from going behind the foreground.
$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.
$02F594 99 bytes Code Modified by the Better Ghost House Exit Sprite patch, by Kevin.

Inserts a routine that draws the Ghost House Exit's tiles based on sprite position, rather than hardcoded values. Also inserts tables for the tile X/Y offsets, tile numbers, and YXPPCCCT properties.
$02F812 3 bytes Jump (JMP/JSR) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
[JMP] A wrapper to an empty dynamic OAM slot for cluster sprites.
$02F815 4 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to the code that executes custom cluster sprites main code.
$02F82F 2 bytes 16-bit Pointer Modified by BG Candle Flames Priority Fix (for SA-1 MaxTile) by Kevin.
The pointer for the original candle flame sprite code is replaced by a pointer to an RTS.
$02F846 5 bytes Jump (JML/JSL) Modified by the Freeze/Lock Fix patch, by HammerBrother and Isikoro.

JML : NOP, freezes the Reappearing Boo fade in/out timer when the "sprites locked" flag $9D is set.
$02F933 3 bytes Jump (JMP/JSR) Modified by More Extended Sprites, by Isikoro.

JSR, jumps to a modified interaction code of the Sumo Lightning fires.
$02F937 4 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
[JML] Replaces the Sumo Brother flame's graphics routine with a new one.
$02F9AC 45 bytes Code Modified by More Extended Sprites, by Isikoro.

Modifies the interaction code of Sumo Lightning fire to be slightly more efficient in space.
$02F9CF 4 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
[JML] Fixes the Sumo Brother flame's hitbox by limiting the flame height index to #$03.
$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.
$02FA16 21 bytes Code Modified by BG Candle Flames Priority Fix (for SA-1 MaxTile) by Kevin.
What would be the original candle flame sprite code is now code that JSLs to a cluster sprite loop to exclusively execute new candle flame code earlier than other sprites. It's followed by a JML $05BC00, restoring the original code.
$02FA2B 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for background castle flames.
$02FA35 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for background castle flames (X position).
$02FA3E 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for background castle flames (Y position).
$02FA4C 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for background castle flames (tile number).
$02FA52 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for background castle flames (tile properties).
$02FA5C 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for background castle flames (tile size).
$02FA60 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for background castle flames (check for X position).
$02FAE9 4 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$02FCCD 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for Ceiling Boos and Swooper Death Bat Ceiling's tile size (when onscreen).
$02FCD6 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for Ceiling Boos and Swooper Death Bat Ceiling's tile size (when onscreen).
$02FCD9 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for Ceiling Boos and Swooper Death Bat Ceiling to move their tiles offscreen.
$02FCDF 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for Ceiling Boos and Swooper Death Bat Ceiling to move their tiles offscreen.
$02FD4A 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for Ceiling Boos and Swooper Death Bat Ceiling (main graphics routine).
$02FD54 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for Ceiling Boos and Swooper Death Bat Ceiling (main graphics routine, X position).
$02FD5D 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for Ceiling Boos and Swooper Death Bat Ceiling (main graphics routine, Y position).
$02FD74 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for Ceiling Boos and Swooper Death Bat Ceiling (main graphics routine, tile number).
$02FD86 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for Ceiling Boos and Swooper Death Bat Ceiling (main graphics routine, tile properties).
$02FD8F 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for Ceiling Boos and Swooper Death Bat Ceiling (main graphics routine, tile size).
$02FD98 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for Swooper Death Bat Ceiling (main graphics routine).
$02FDAF 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for Swooper Death Bat Ceiling (main graphics routine, tile number).
$02FDB4 2 bytes Hex Edit Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Fixes the OAM address for Swooper Death Bat Ceiling (main graphics routine, tile properties).
$02FDBF 5 bytes Jump (JML/JSL) Hijacked by "Better Bonus Game" by Sonikku.
Jumps to a custom code for the bonus game 1-ups that gives them better interaction. (Optional)
$02FE48 3 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Loads the previously found dynamic OAM index for 1ups from bonus games.
$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.
$02FF15 5 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$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 Hijacked by Pixi.
The first 8 bytes are used to store Pixi's header, with the following format:
- The string "STSD".
- Version number (1.XX).
- 1 byte for flags (currently only LSB used to signal per-level sprites being used in the rom).
- 2 bytes, currently unused.

The next 22 bytes are used to store pointers to custom 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).
$0385FD 3 bytes Code Modified by the Platform-Dependent Fast BG Scroll patch, by JamesD28.

LDA $C2,x : NOP (or LDA $D8,x : NOP if SA-1), casts a new RAM address as the "touched Flying Grey Turnblocks" flag to prevent conflict with other code.
$03863D 2 bytes Opcode Modified by the Platform-Dependent Fast BG Scroll patch, by JamesD28.

BRA $0A, bypasses the Flying Grey Turnblocks' vanilla speed routine, which is moved into a custom routine.
$03864D 4 bytes Jump (JML/JSL) Modified by the Platform-Dependent Fast BG Scroll patch, by JamesD28.

JML, modifies the Flying Grey Turnblocks (sprite C1) to set arbitrary horizontal movement speed, and to interact with a custom fast BG scroll routine.
$038712 5 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$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.
$038964 4 bytes Jump (JML/JSL) Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

JSL, causes sliding blue Koopas to call the generic graphics routine at $019D5F.
$038970 2 bytes Opcode Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

BNE, skips the code which sets the sprite tile number for sliding Koopas when the branch is taken.
$038982 2 bytes Opcode Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

BNE, skips the code which sets the sprite tile number for sliding Koopas when the sprite turns into a blue shellless Koopa.
$038A3F 4 bytes Jump (JML/JSL) Hijacked by the Star/Slide Kill GFX Fix patch, by Kevin.

JML, modifies the Bowser Statue to still run its code during the death animation.
$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 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.
$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.
$038E9A 9 bytes Code Modified by Moving Castle Block Offscreen Handling Fix. Calls SubOffScreen and then jumps to the main code.
$038EEF 4 bytes Jump (JML/JSL) Hijacked by the Star/Slide Kill GFX Fix patch, by Kevin.

JML, modifies the Bowser Statue Fireball to still run its code during the death animation.
$038F78 2 bytes Opcode Modified by the Boo Stream Unused Minor Extended Sprites patch by Isikoro.

Changes branch for reflecting podoboo to jump into shared code with boo stream.
$038F84 59 bytes Jump (JML/JSL) Modified by the Boo Stream Unused Minor Extended Sprites patch by Isikoro.

First goes autoclean JML, which handles reflecting boo graphics, after which it checks for boo stream limit and for podoboo later on.
$038FEA 8 bytes Jump (JML/JSL) Modified by the Boo Stream Unused Minor Extended Sprites patch by Isikoro.

Handle collision for reflecting podoboo and boo stream.
$039020 61 bytes Jump (JML/JSL) Modified by the Boo Stream Unused Minor Extended Sprites patch by Isikoro.

Changes the way boo stream's boo spawns (not using minor extended sprites anymore).
$039037 2 bytes Hex Edit Optionally modified by the Boo Stream Tail disassembly by spooonsss.

Changes the minor extended sprite spawned by the boo stream sprite to use a user-supplied value instead.
$039068 4 bytes Jump (JML/JSL) Hijacked by the Star/Slide Kill GFX Fix patch, by Kevin.

JML, modifies Fishin' Boo to still run its code during the death animation.
$039237 4 bytes Jump (JML/JSL) Hijacked by the Star/Slide Kill GFX Fix patch, by Kevin.

JML, modifies the Falling Spike to still run its code during the death animation.
$03924E 12 bytes Jump (JML/JSL) Modified by Proximity Wraparound fix. Replaces Falling Spike's horizontal proximity check with 16-bit one.
$03925C 5 bytes Jump (JML/JSL) Hijacked by Modify Timers by cthulhu

Sets the initial Falling Spike timer based on a value in RAM.
$03926F 16 bytes Table Modified by the patch Eating Block Fix for SA-1 and FastROM by spooonsss.
The original X and Y speed tables for the creating/eating block sprites are overwritten in favor of a new condition index table with 16 bytes, enough to account for all 16 blocked cases a creating/eating block sprite would face.
$0392A9 3 bytes Code Modified by the Eating Blocks Freeze Fix patch, by Kevin.

LDA !1510,x, Replaces the Creating/Eating Block's global flag ($1909) with a previously-unused sprite table.
$0392B8 5 bytes Code Hijacked by AddmusicK.
Changes the grinder SFX number (here used by the creating/eating block), and remaps it to $1DF9.
$0392C4 2 bytes Opcode Modified by the patch Eating Block Fix for SA-1 and FastROM by spooonsss.
Redirected a BRA to another hijack.
$0392CE 4 bytes Jump (JML/JSL) Modified by the patch Eating Block Fix for SA-1 and FastROM by spooonsss.
JSL to code that loads the X and Y speed values of the creating/eating block from tables in freecode.
$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.
$0392DD 3 bytes Code Modified by the Eating Blocks Freeze Fix patch, by Kevin.

LDA !1510,x, Replaces the Creating/Eating Block's global flag ($1909) with a previously-unused sprite table.
$0392F8 3 bytes Jump (JMP/JSR) Modified by Creating Block Sprite Path Expander. Jump to Creating Block Sprite's main routine.
$039380 3 bytes Opcode Modified by the patch Eating Block Fix for SA-1 and FastROM by spooonsss.
The address for the direction index table has been changed to a new one.
$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.
$0394C5 10 bytes Table Hijacked by the HDMA Bugfixes patch, by Ice Man.

Prevents wooden spikes from going behind the foreground.
$03958B 10 bytes Jump (JML/JSL) Modified by Stomp w/ Star by aroohwahoou.
Slightly alters the original code for Rex to check for the sprite contact flag then JML accordingly to custom star contact code for Rex.
$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.
$039629 4 bytes Jump (JML/JSL) Modified by the Rex Stomp Sound Effect Fix patch, by MarioFanGamer.

JSL, modifies the bounce on Rex routine to always play the "contact" sound effect, which is then overwritten in all cases except for when getting a 1-up from consecutive stomps.
$039784 4 bytes Table Hijacked by the HDMA Bugfixes patch, by Ice Man.

Prevents Fish Bones' tail from going behind the foreground.
$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) Used by the Reznor Fireball Fix patch to make the fireballs fired by Reznor use the new flag.
$039B03 4 bytes Jump (JML/JSL) Modified by Reznor Fireball Flag. Initializes it to be big according to the changes made by the patch.
$039C34 12 bytes Code Modified by Offscreen Invisible Solid Block Fix by  Thomas.

Adds suboffscreen routine for the invisible solid block sprite so it can despawn offscreen.
$03A09B 2 bytes Table Hijacked by the HDMA Bugfixes patch, by Ice Man.

Prevents Blarggs from going behind the foreground.
$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.
$03B166 4 bytes Jump (JML/JSL) Hijacked by the Star/Slide Kill GFX Fix patch, by Kevin.

JML, modifies Bowser's Bowling Ball to still run its code during the death animation.
$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.
$03B8BA 5 bytes Jump (JML/JSL) Hijacked by Pixi.
(LoROM only, and if !Disable255SpritesPerLevel == 0) Jumps to a routine that remaps from $1938 to $7FAF00 to allow for 255 sprite per level instead of 128.
$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.
$03BA50 150 bytes Code Modified by Lunar Magic for a routine to implement the "no entry if level beaten" flag for overworld levels.
$03BB00 13 bytes Code Modified by Lunar Magic for a routine to fix the screen exits for the bonus game and Yoshi Wings teleportation.
$03BB1F 1 byte Miscellaneous One of the bytes used by Lunar Magic to detect if a ROM has been been locked. If so, this is set to $FE.
$03BB20 8 bytes Jump (JML/JSL) Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

PHB : JSL : JMP, patches a section responsible for overworld level name loading. Jumps to $03BB6E in the end.
$03BB20 52 bytes Code Modified by Lunar Magic for its level name hijack. The actual name data can be found in a large table at read3($03BB57), with each level getting 19 bytes.
$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.
$03BB4F 2 bytes Hex Edit Part of Lunar Magic's level name hijack that can be edited to modify the position of name. Increase/decrease by #$01 to make it move up to the right/left, increase/decrease by #$20 to make it move down/upwards.
Note that #$8B should be considered the low byte for the address, not #$50.
$03BB90 5 bytes Code Modified by Level Dependent Yoshi Message by Alcaro.

Change yoshi message check to run new code to display level-dependent messages.

This is a modification of Lunar Magic's hijack.
$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 for its Message Box text hijack. A couple of notable points in this routine include:
  • $03BC0B: 24-bit pointer to the message data. Not used if LM's overworld level expansion hijack is applied.
  • $03BC7F: Table containing 2 bytes for each of the 8 rows of the message box's text, as the first two bytes of the line's stripe header.
    Note that this table may be moved slightly earlier to $03BC79 instead if LM's overworld level expansion hijack is applied.

A table of 16-bit offsets to each individual message's data can also be found at $03BE80.
$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.
$03BBBB 4 bytes Jump (JML/JSL) Modified by Level Dependent Yoshi Message by Alcaro.

Display Yoshi's message depending on current overworld level.
$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
$03BCA0 11 bytes Code Modified by Lunar Magic for its "display level message 1" fix. Called from $01E762.
$03BCC0 12 bytes Table Used by Lunar Magic for a table of 24-bit pointers to the uncompressed alternate ExAnimation files (ExGFX60-63).
$03BCDC 4 bytes Jump (JML/JSL) Used by Lunar Magic v3.00+ as a public routine for computing the screen number that Mario is on, returned in X.
Note that this routine does not preserve Y.
$03BCE0 182 bytes Code Modified by Lunar Magic for a routine to implement the additional secondary entrance bytes.
$03BE80 384 bytes Table Modified by Lunar Magic for its Message Box text hijack. Specifically, this table contains 16-bit indices to the message data (a 24-bit pointer to which can be found at $03BC0B) for each message. This table is indexed as ($13BF*2+($1426-1))*2.

If LM's overworld level expansion hijack is applied, this table is instead positioned dynamically with a 24-bit pointer (found at $03BBD9). Its format is also changed to instead use direct 24-bit pointers to each message's data, using the same indexing system except with *3 instead of *2. The first 256 bytes of this space are then instead used for the initial level flags (moved from $05DDA0).
$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.
$03C0C8 5 bytes Jump (JML/JSL) Modified by the Easy Mode 7 Patch by ExE Boss, HuFlungDu, and mathie.

JML : NOP, fixes the Iggy/Larry battle mode. Hijacked even if !FixIggyLarry = 0.
$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.
$03C4BC 1 byte Hex Edit Modified by the Freeze/Lock Fix patch, by HammerBrother and Isikoro.

db $14, modifies the dark room spotlight sprite's palette flash to change based on the effective frame counter $14, in order to implicitly acknowledge the "sprites locked" flag $9D.
$03C4DC 36 bytes Code Hijacked by the On/Off switch-triggered Dark Room w/ Spotlight patch, by Sonikku.

Loads the On/Off state into the activated disco ball state and search for a different spotlight (note that both codes are actually separate and the latter is only accessed by the init routine and skipped in the main code).
$03C511 3 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

TSB $0D9F, changes the HDMA enable code for the disco ball spotlight so it doesn't disable every other channel.
$03C514 274 bytes Miscellaneous Modified by the Optimized Spotlight patch, by yoshifanatic.

Rewrites the entire spotlight with an optimised code as well as modifies it to use interlacing as well as possibly to be dependent on the On/Off Switch should the user desire that.
$03C527 2 bytes Opcode Hijacked by the On/Off switch-triggered Dark Room w/ Spotlight patch, by Sonikku.

BNE, repoints the branch destination to the return pointer which has been moved by the new main code.
$03C576 2 bytes Opcode Hijacked by the On/Off switch-triggered Dark Room w/ Spotlight patch, by Sonikku.

BNE, repoints the branch destination to the return pointer which has been moved by the new main code.
$03C598 3 bytes Opcode Hijacked by the patch Free $7E04A0 by spooonsss.
STA $14C7 changed to STA $000E|!dp.
$03C5BB 2 bytes Opcode Hijacked by the patch Free $7E04A0 by spooonsss.
BCC redirected.
$03C5EE 2 bytes Opcode Hijacked by the patch Free $7E04A0 by spooonsss.
BCC redirected.
$03C5F5 3 bytes Opcode Hijacked by the patch Free $7E04A0 by spooonsss.
INC $14C7 to INC $000E|!dp.
$03C5FB 32 bytes Code Hijacked by the patch Free $7E04A0 by spooonsss.
Changes to the spotlight's code to use !FreeRAM instead and make use of the previous sets to scratch RAM.
$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.
$03D7B1 4 bytes Jump (JML/JSL) Modified by the Reznor Bridge Fix patch, by MarioFanGamer.

JSL, selects the correct transparent tile data and VRAM location to write based on regular or Mode 7 level.
$03D7CE 3 bytes Code Modified by the Reznor Bridge Fix patch, by MarioFanGamer.

TYA : BRA $00, loads previously set transparent tile data based on regular or Mode 7 level.
$03D9AE 3 bytes Opcode Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

STA, stores the interaction of Iggy and Larry's platform to $1BE6 instead of $0AF6.
$03E05C 300 bytes Table Hijacked by Pixi.
This is where the pointers to the shared subroutines are stored (3 bytes per pointer). The total space used is 3*<number of routines>, with the limit being 300 bytes (since 100 routines is the maximum allowed).
$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 for its overworld ExAnimation hijack.
$0480BD 1 byte Code Modified by Lunar Magic for its 4bpp hijack, to fix the overworld's animated water.
$0480D0 1 byte Opcode Modified by Lunar Magic for its 4bpp hijack, to fix the overworld's animated water.
$0480E0 5 bytes Code Modified by Lunar Magic for its overworld ExAnimation hijack.
$048102 1 byte Code Modified by Lunar Magic for its overworld ExAnimation hijack, to use $14 for the animation frame counter instead of $13.
$04810D 1 byte Code Modified by Lunar Magic for its overworld ExAnimation hijack, to use $14 for the animation frame counter instead of $13.
$04813B 1 byte Code Modified by Lunar Magic for its overworld ExAnimation hijack, to use $14 for the animation frame counter instead of $13.
$04828D 1 byte Opcode Modified by Lunar Magic to change the BEQ to a BRA if the "allow players to exchange lives (at game over, etc.)" overworld option is disabled.
$048359 4 bytes Jump (JML/JSL) Modified by the Bring Up Save Prompt by Pressing Select patch, by Koopster.

JML, modifies the "standing still on level tile" OW state to prepare and bring up the save prompt if Select is pressed.
$04836E 1 byte Opcode Modified by Lunar Magic to change the BEQ to a BRA if the "allow using L/R for life exchange" overworld option is disabled.
$048380 1 byte Opcode Modified by Lunar Magic to change an AND #$10 to AND #$00 if the "allow using Start to scroll on main overworld map" overworld option is disabled.
$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 for a jump to its routine for handling overworld stars/pipes, to check if the player is currently on a valid warp tile.
$048566 4 bytes Jump (JML/JSL) Modified by Lunar Magic for a jump to its routine for handling overworld stars/pipes, to get the destination of a warp.
$0485A7 5 bytes Code Modified by the Remove Overworld Border Mario patch by Kevin.

STZ : RTS, sets the amount of tiles to be uploaded to zero and skips the rest of the overworld boarder player GFX.
$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.
$0485CA 5 bytes Jump (JML/JSL) Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

JSL : NOP, runs the main routine responsible for rendering and updating the overworld level name.
$0485CF 4 bytes Hex Edit Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

BRA $02 : NOP #2, bypasses the player from getting rendered next to the overworld level name, so you can have more room for text. It's a feature toggle disabled by default.
$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.
$048602 4 bytes Jump (JML/JSL) Hijacked by "Custom Overworld Border Player Background" by Kevin.

JML to freespace code that loads the custom 8x8 tiles and their properties.
$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 for its overworld level names hijack, specifically on initial overworld load. Jumps to $03BB20.
$048EF6 4 bytes Jump (JML/JSL) Modified by the Restore and Customize Overworld Intro March patch by Kevin.

Checks to see if the intro march needs to run.
$048F6D 2 bytes Code Modified by Lunar Magic.
$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 to check whether a save prompt should be shown after a level. Jumps to $03BA10.
$049002 1 byte Code Modified by Lunar Magic to change the branch location slightly.
$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
$049141 6 bytes Jump (JML/JSL) Hijacked by Change Castle Re-Entry Input by Thomas.
JSL to freecode, changes inputs needed to replay a castle level.
$04914E 2 bytes Opcode Modified by Lunar Magic to change the BEQ to NOP #2 if the "allow using L/R to enter destroyed castles and fortresses" overworld option is disabled.
$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 for a jump to $03BA50 to handle checking a level's "no entry if level beaten" flag.
$049199 4 bytes Jump (JML/JSL) Hijacked by the Overworld Event Debugger patch, by Koopster.

JML, pressing ABXY on a level will activate an event instead of entering a level unless enabled for the current level.
$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 4 bytes Jump (JML/JSL) Modified by Per-Level Overworld Music Fadeout Disable by Kevin.

Adds a handler for music fade-out disabling on a per-overworld level basis.
$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.
$0491DB 5 bytes Jump (JML/JSL) Modified by SMB2-Styled Health Bar, by Demonsul and KilloZappit.

Jumps to a routine that handlers the player health at level start.
$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.
$049312 4 bytes Jump (JML/JSL) Hijacked by the Custom Overworld Hardcoded Paths, by Kevin

JML, expands the original hardcoded path init code to load from expanded tables which are defined in the patch.
$04945D 5 bytes Jump (JML/JSL) Modified by the Overworld Speed Changer patch, by ASMagician Maks, carol, and wye.

JML : NOP, modifies the overworld movement routine to run multiple times per frame as configured, to change the apparent movement speed when walking around the map.
$04952D 4 bytes Jump (JML/JSL) Hijacked by the Custom Overworld Hardcoded Paths, by Kevin

JML, sets both the player's overworld tile position and the current level tile the player is on, neither of which is set in the original code.
$049549 10 bytes Code Modified by Lunar Magic for its overworld level names hijack, specifically when stepping onto a new level tile. Jumps to $03BB20.
$0495B6 2 bytes Opcode Modified by the Custom Overworld Hardcoded Paths, by Kevin

BRA $08, skips the code which checks for the player's facing direction in the hardcoded path to always increment the hardcoded path index.
$0495C3 6 bytes Jump (JML/JSL) Hijacked by the Custom Overworld Hardcoded Paths, by Kevin

JSL : NOP #2, prepares the animation for the path the player is currently on and load the paths from the expanded path table which is defined in the patch.
$049625 2 bytes Hex Edit Modified by Different Submap Switching Transition by  Kevin.

Makes it so HDMA isn't disabled during red path transition.
$049798 5 bytes Jump (JML/JSL) Hijacked by the Custom Overworld Hardcoded Paths, by Kevin

JSL : NOP, sets the player's animation for the hardcoded path.
$0497FE 3 bytes Jump (JMP/JSR) Modified by the Overworld Speed Changer patch, by ASMagician Maks, carol, and wye.

JMP, repoints a jump to the overworld movement routine to skip over the primary hijack address.
$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.
$0498C6 4 bytes Jump (JML/JSL) Modified by the Restore and Customize Overworld Intro March patch by Kevin.

Handles the player's movement for the modified march.
$049A35 5 bytes Code Modified by Lunar Magic for a jump to its routine for handling red exit paths on the overworld.
$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.
$049DD6 4 bytes Jump (JML/JSL) Modified by the Separate Luigi Graphics patch, by Bensalot, DiscoTheBat, and Smallhacker.
JSL, loads player graphics for the appropriate character when switching between characters on the overworld.
$049DFE 3 bytes Jump (JML/JSL) Modified by Lunar Magic for a jump to $0FFAF0, which checks whether the overworld needs to be reloaded when swapping players.
$04A1FC 4 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
Freespace in bank 04, is the default hijack to find a free OAM slot for non-regular sprites.
$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 to have the overworld load level numbers and the high bytes of the Layer 1 tilemap from compressed data.

The compressed level number data can be found at (read1($04D808)<<16)|read2($04D803) while the Layer 1 high bytes can be found at (read1($04D827)<<16)|read2($04D821), both compressed with LC_LZ2 (or LC_LZ3, if the ROM uses it).
$04D859 1 byte Hex Edit Modified by Lunar Magic to increase the overworld's event count from 0x6E to 0x78 (or 0xFF with the overworld event expansion patch).
$04DA74 3 bytes 24-bit Pointer Modified by Lunar Magic to update the Layer 1 event location pointer (originally at $04D85D).
$04DA98 1 byte Opcode Modified by Lunar Magic to disable an unused feature from the original game when revealing overworld tile 54.
$04DB14 4 bytes Table Modified by Different Submap Switching Transition by  Kevin.

Tables used for brightness red path transition (brightness modifiers and max and min brightness values).
$04DB18 37 bytes Code Modified by Different Submap Switching Transition by  Kevin.

Changes red path transition to brightness fadein/fadeout.
$04DB76 4 bytes Jump (JML/JSL) Hijacked by the patch Free $7E04A0 by spooonsss.
JML to a routine that sets up scratch RAM for later use for the overworld's submap fade.
$04DB81 6 bytes Code Hijacked by the patch Free $7E04A0 by spooonsss.
Sets to [$0A],Y which was set up by a previous JML, as well as another remap to !FreeRAM.
$04DB91 1 byte Opcode Hijacked by the Dark Overworld UberASM, by Kevin.
Opcode, changes a STA to a TSB.
$04DB95 1 byte Opcode Hijacked by the Dark Overworld UberASM, by Kevin.
Opcode, changes a STA to a TSB.
$04DB99 1 byte Opcode Hijacked by the Dark Overworld UberASM, by Kevin.
Opcode, changes a STA to a TSB.
$04DB99 3 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

TSB $0D9F, changes the HDMA enable code for the save prompt so it doesn't disable every other channel.
$04DBB9 6 bytes Code Modified by Lunar Magic for a JSL to its overworld ExGFX upload routine at $0FFB20.
$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.
$04DBF7 4 bytes Jump (JML/JSL) Hijacked by the Continue Music patch by MarioFanGamer.
JSL to freedata. The continue music is played instead of the submap's if the continue menu flag ($13C9) is on.
$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 24-bit Pointer Modified by Lunar Magic for moving the overworld's Layer 2 tilemap to a new location. This specifically serves as the lower 16 bits of the pointer for the tile number table (originally at $04A533). The bank byte can be found at $04DC79.
$04DC79 1 byte 24-bit Pointer Modified by Lunar Magic for moving the overworld's Layer 2 tilemap to a new location. This specifically serves as the bank byte, with the lower two bytes at either $04DC72 (tile numbers) or $04DC8D (YXPCCCTT).
$04DC8D 2 bytes Code Modified by Lunar Magic for moving the overworld's Layer 2 tilemap to a new location. This specifically serves as the lower 16 bits of the pointer for the YXPCCCTT table (originally at $04C02B). The bank byte can be found at $04DC79.
$04DCA5 4 bytes Jump (JML/JSL) Modified by Lunar Magic for a JSL to its routine to load activated silent event tiles on save file load.
$04DCAA 1 byte Code Modified by Lunar Magic for the overworld event count. Lunar Magic normally increases this from its original value of #$6F to #$78, though it may increase it further to #$FF if the overworld expansion hijack is installed.
$04DCBC 2 bytes 24-bit Pointer Modified by Lunar Magic to the lower 16 bits of a pointer to the overworld Layer 1 tile data (bank byte is at $04DCC1). The actual data is based on $05D000.
$04DCC1 1 byte 24-bit Pointer Modified by Lunar Magic to the bank byte of a pointer to the overworld Layer 1 tile data (rest of the address is at $04DCBC). The actual data is based on $05D000.
$04DCFA 4 bytes Jump (JML/JSL) Modified by Lunar Magic for a JSL to $06F5E4.
$04DD45 2 bytes 24-bit Pointer Modified by Lunar Magic to the lower 16 bits of a pointer to the overworld Layer 2 event tilemap's YXPCCCTT properties (bank byte is at $04DD4A). The actual data is compressed with LC_RLE1 and based on $0C8D00.
$04DD4A 1 byte 24-bit Pointer Modified by Lunar Magic to the bank byte of a pointer to the overworld Layer 2 event tilemap's YXPCCCTT properties (rest of the address is at $04DD45). The actual data is compressed with LC_RLE1 and based on $0C8D00.
$04DD56 1 byte Opcode Modified by the Free $7F0000 patch. Changes an RTS to an RTL.
$04E471 3 bytes 24-bit Pointer Modified by Lunar Magic for a pointer to the Layer 2 event divider data (originally at $04E359), if moved by its overworld event expansion hijack.
$04E478 3 bytes 24-bit Pointer Modified by Lunar Magic for a pointer to the Layer 2 event divider data (originally at $04E359), plus 2, if moved by its overworld event expansion hijack.
$04E49F 3 bytes 24-bit Pointer Modified by Lunar Magic for a pointer to the overworld Layer 2 event data (originally at $04DD8D).
$04E4A4 3 bytes 24-bit Pointer Modified by Lunar Magic for a pointer to the overworld Layer 2 event data (originally at $04DD8D), plus 2.
$04E4B0 1 byte 24-bit Pointer Modified by Lunar Magic to the bank byte of the Layer 2 event tilemap pointer (originally at $0C8000). The lower 16-bits are at $04E4BB.
$04E4BB 2 bytes 24-bit Pointer Modified by Lunar Magic to the bank byte of the Layer 2 event tilemap pointer (originally at $0C8000). The bank byte is at $04E4B0.
$04E4C0 2 bytes Hex Edit Modified by Lunar Magic to the number of 8x8 tiles allocated on the overworld for 6x6 Layer 2 event tiles.
$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 to change a BNE to a BRA if the "bring up a save prompt when the player passes a Castle, Fortress, Ghost House, Switch Palace, level tile 0x80, or level tile 0x7E" overworld option is disabled.
$04E640 4 bytes Jump (JML/JSL) Hijacked by the Event Camera Scroll patch, by Kevin.

JML, sets the return position of the camera.
$04E65C 4 bytes Jump (JML/JSL) Modified by the Multiple Overworld Earthquakes Patch, by Ersanio.

JML, hijacks the OW earthquake event routine so it accepts a list of pre-set levels as triggers.
$04E660 1 byte Hex Edit Modified by Lunar Magic. Set to the translevel number configured for the "Earthquake Sequence Level" option in the overworld editor (normally level 18, Sunken Ghost Ship).
$04E67C 3 bytes 24-bit Pointer Modified by Lunar Magic for a 24-bit pointer to its expanded destruction event table, originally at $04E5D6.
$04E69C 3 bytes 24-bit Pointer Modified by Lunar Magic for a 24-bit pointer to its expanded destruction event location table, originally at $04E5B6.
$04E6C5 4 bytes Jump (JML/JSL) Modified by Lunar Magic for its overworld castle destruction fix.
$04E6D3 4 bytes Jump (JML/JSL) Hijacked by the Event Camera Scroll patch, by Kevin.

JML, moves the camera to a spot determined by the event number.
$04E6DE 3 bytes 24-bit Pointer Modified by Lunar Magic for a pointer to the Layer 2 event divider data (originally at $04E359), if moved by its overworld event expansion hijack.
$04E6E5 3 bytes 24-bit Pointer Modified by Lunar Magic for a pointer to the Layer 2 event divider data (originally at $04E359), plus 2, if moved by its overworld event expansion hijack.
$04E6FA 2 bytes 16-bit Pointer Modified by Lunar Magic for its "disable event path fade effect" overworld option. If the effect is disabled, it changes the JSR here from $04EA62 to $04E496.
$04E709 3 bytes 24-bit Pointer Modified by Lunar Magic for a pointer to the overworld Layer 2 event data (originally at $04DD8D).
$04E710 3 bytes Code Modified by Lunar Magic for a pointer to the overworld Layer 2 event data (originally at $04DD8D), plus 2.
$04E73E 1 byte Hex Edit Modified by Lunar Magic for its "disable event path fade effect" overworld option. Changes the byte from #$EF to #$FF to disable the effect from using palettes 0-3 for the fading tile.
$04E73F 5 bytes Jump (JML/JSL) Modified by Disable Overworld Event Path Fade Per Event, by Kevin

JSL : NOP, sets the YXPCCCTT TTTTTTTT mask for the tiles for the reveal animation (0xEFFF if enabled which corresponds to moving colours 4-7 to 0-3, and 0xFFFF if disabled which correspondgs to leaving the tile untouched).
$04E745 2 bytes Hex Edit Modified by Lunar Magic to the number of 8x8 tiles allocated on the overworld for 6x6 Layer 2 event tiles.
$04E75A 4 bytes Jump (JML/JSL) Modified by Disable Overworld Event Path Fade Per Event, by Kevin

JML, prevents the game to write to the overworld tilemap if the path fade is disabled because that's handled by the would-be fade part of the animation.
$04E75E 3 bytes Code Modified by Lunar Magic.
$04E763 5 bytes Jump (JML/JSL) Hijacked by the Event/Step Specific Tile Reveal SFX patch, by Kevin.

JSL : NOP, replaces the sound effect with a list of sound effects per event/step.
$04E9F2 1 byte Hex Edit Potentially modified by older versions of Lunar Magic for the number of silent events in the ROM. Deprecated by the hijack at $04E9F7.
$04E9F4 3 bytes 24-bit Pointer Potentially modified by older versions of Lunar Magic for a pointer to the silent event table in the ROM. Deprecated by the hijack at $04E9F7.
$04E9F7 5 bytes Jump (JML/JSL) Modified by Lunar Magic for a JSL to its new overworld silent event system. In contrast to the original game's system that uses a simple event lookup table, the new system uses a "divider" system similar to $04E359.

Notable tables for the hijack include:
  • read3(read3($04E9F8)+$0D) - The divider table, consisting of 16-bit indices for each event.
  • read3(read3($04E9F8)+$34) - Table indicating whether a tile is Layer 1 (00) or Layer 2 (01). Based on the table at $04E910.
  • read3(read3($04E9F8)+$28) - 16-bit locations of each tile in either $7EC800 (Layer 1) or $7F4000 (Layer 2). Based on the table at $04E93C.
  • read3(read3($04E9F8)+$22) - 16-bit tile number to use. Based on the table at $04E994.
$04EA01 4 bytes Jump (JML/JSL) Hijacked by the Event Camera Scroll patch, by Kevin.

JML, moves the camera to the backed up position.
$04EA27 3 bytes Code Modified by Lunar Magic.
$04EA32 3 bytes Code Modified by Lunar Magic.
$04EA38 3 bytes Code Modified by Lunar Magic.
$04EA62 4 bytes Jump (JML/JSL) Modified by Disable Overworld Event Path Fade Per Event, by Kevin

JML, skips the palette code in favour of writing the tile directly if the path fade animation is disabled for the corresponding event.
$04EAA4 7 bytes Jump (JML/JSL) Modified by Disable Overworld Event Path Fade Per Event, by Kevin

JML : JMP, skips the sprite tile code if the path fade animation is disabled for the corresponding event and also writes a jump to the get reveal tile position for when the animation is disabled.
$04EAAE 2 bytes Code Modified by Lunar Magic.
$04EACC 11 bytes Code Modified by Lunar Magic.

Applied when the "Disable event path fade effect" option is enabled.
$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 Hex Edit Modified by Lunar Magic to the number of 8x8 tiles allocated on the overworld for 6x6 Layer 2 event tiles.
$04EAF5 3 bytes 24-bit Pointer Modified by Lunar Magic to update the Layer 2 event tilemap pointer (originally at $0C8000).
$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 24-bit Pointer Modified by Lunar Magic to update the Layer 1 event location pointer (originally at $04D85D).
$04ECBA 3 bytes 24-bit Pointer Modified by Lunar Magic to update the Layer 1 event location pointer (originally at $04D85D).
$04ECC5 3 bytes 24-bit Pointer Modified by Lunar Magic to update the Layer 1 event location pointer (originally at $04D85D).
$04ED97 3 bytes 24-bit Pointer Modified by Lunar Magic to update the Layer 1 event location pointer (originally at $04D85D).
$04EDB8 3 bytes 24-bit Pointer Modified by Lunar Magic to update the Layer 1 event VRAM address pointer (originally at $04D93D).
$04EDBE 3 bytes 24-bit Pointer Modified by Lunar Magic to update the Layer 1 event location pointer (originally at $04D85D).
$04EDDD 4 bytes Jump (JML/JSL) Modified by Lunar Magic for a JSL to its routine to get a pointer to the VRAM data for a Layer 1 overworld event tile.
$04EE3F 3 bytes Code Modified by Lunar Magic for a pointer to the overworld Layer 2 event data (originally at $04DD8D), plus 2.
$04EE5A 3 bytes Code Modified by Lunar Magic for a pointer to the overworld Layer 2 event data (originally at $04DD8D).
$04EE5E 2 bytes Hex Edit Modified by Lunar Magic to the number of 8x8 tiles allocated on the overworld for 6x6 Layer 2 event tiles.
$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 for its overworld castle destruction fix.
$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.
$04F407 4 bytes Jump (JML/JSL) Hijacked by the Dark Overworld UberASM, by Kevin.
JML, hijacks the overworld windowing to not disable window 2.
$04F40D 3 bytes Hex Edit Hijacked by the HDMA Bugfixes patch, by Ice Man.

NOP : NOP : NOP, removes the code which disables HDMA when closing the save prompt.
$04F456 4 bytes Jump (JML/JSL) Hijacked by the patch Free $7E04A0 by spooonsss.
JML to a scratch RAM setup for the save prompt's windowing code.
$04F47F 6 bytes Code Hijacked by the patch Free $7E04A0 by spooonsss.
Remap to !FreeRAM.
$04F492 1 byte Opcode Hijacked by the Dark Overworld UberASM, by Kevin.
Opcode, changes a STA to a TSB.
$04F494 2 bytes Opcode Hijacked by File Select Sprite Cursor by MarioFanGamer.
[LDA #$00], prevents the overworld menu window from hiding sprites.
$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 to the $1F02 address for checking the two events set for the "hide second ghost of sprite slot C until event passed" overworld option, in conjunction with the AND value set at $04FD89.
$04FD89 1 byte Code Modified by Lunar Magic to an AND value used to check the bits for the two events set for the "hide second ghost of sprite slot C until event passed" overworld option, in conjunction with the RAM address set at $04FD86.
$04FD8A 1 byte Opcode Modified by Lunar Magic to change the BNE to a BRA if the "hide second ghost of sprite slot C until event passed" overworld option is disabled.
$04FDAC 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$74, prevents ghosts on the overworld from going behind the foreground.
$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 UberASM Tool.
JML : NOP, jumps to the routine that executes level-specific "load" code (and global "load" code in versions 1.x).
$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 when locking a ROM, for a jump to $0DF100.
$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 for a JSL to $06F540.
$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 for a JSL to $06F540.
$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 for a JSL to $06F540.
$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 for a JSL to $06F540.
$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.
$05A5D9 2851 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

Inserts code which handles HDMA, writing and loading the message, graphics and status bar controllers.
$05B0FC 4 bytes Jump (JML/JSL) Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

JML, loads the next character of the currently active message.
$05B10C 4 bytes Jump (JML/JSL) Hijacked by the Inline Layer 3 Messages v1.0.1 patch, by MarioFanGamer.

JML, hijacks the message box routine to use the new inline system so that they are compatible with layer 3 backgrounds.
$05B10C 5 bytes Jump (JML/JSL) Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

JSL : RTL, it replaces SMW's message system with its own.
$05B10D 8 bytes Jump (JML/JSL) Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

JML : JML, runs the main routine and stores the message pointers through JML.
$05B111 76 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

Adds code to handle the status bar in mode 7 rooms as well as codes to handle the tilemap and layer 3 position for the top status bar.
$05B111 76 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

NMI routine, sets BG3's position to (0, 0) or sets the IRQ position depending on whether the current level is a Mode 7 boss or not.
$05B11B 2 bytes Code Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

PHK : PLB, manages the data bank.
$05B129 3 bytes Code Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

BRA $01 : NOP, prevents HDMA from getting disabled during message box transition.
$05B129 3 bytes Hex Edit Hijacked by the HDMA Bugfixes patch, by Ice Man.

NOP : NOP : NOP, removes the code which disables HDMA for closing a message box.
$05B138 2 bytes Hex Edit Modified by Slow Message Box by Lui and Medic.

Makes intro message and switch palace messages use standard message handling.
$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.
$05B16E 32 bytes Jump (JML/JSL) Modified by Slow Message Box by Lui and Medic.

Handle slow messages.
$05B16E 2 bytes Code Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

PLB : RTL, prematurely restores the data bank and returns immediately.
$05B16E 33 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

Sets various flags of the message system when loading a message.
$05B16E 32 bytes Table Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

A list of tables which contains the pointers to all subroutines to write a message.
$05B18F 20 bytes Table Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

It adds pointers for message commands for its own message system.
$05B198 1 byte Hex Edit Modified by Slow Message Box by Lui and Medic.

Change branch destination over dummied code.
$05B1A3 4 bytes Miscellaneous Modified by Slow Message Box by Lui and Medic.

NOPs out Lunar Magic's code.
$05B1A3 7 bytes Code Modified by Lunar Magic.
$05B1AA 240 bytes Code Hijacked by the MessageBox in Minimalist Status Bar + Goal Customizer patch, by Isikoro and Ladida.

Inserts code which writes the message and status bar to the layer 3 tilemap as well as code which closes the message.
$05B269 4 bytes Jump (JML/JSL) Hijacked by the patch Free $7E04A0 by spooonsss.
JML to a scratch RAM setup for later use.
$05B275 6 bytes Code Hijacked by the patch Free $7E04A0 by spooonsss.
Another remap to !FreeRAM.
$05B296 3 bytes Hex Edit Modified by the b4vwf - BG4 Variable-Width-Font Text Boxes patch, by Katrina.

TSB $0D9F|!addr, prevents HDMA from getting wrongly disabled during message box creation.
$05B296 3 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

TSB $0D9F, changes the HDMA enable code for the message box so it doesn't disable every other channel.
$05B2DB 16 bytes Table Modified by the Inline Layer 3 Messages v1.0.1 patch, by MarioFanGamer.

Changes the Palace !-blocks X and Y position data to use offsets instead of hardcoded values, so that the blocks are always aligned with messages using the new system.
$05B2EB 1 byte Hex Edit Modified by Slow Message Box by Lui and Medic.

Disable switch palace block sprite display in switch palace messages.
$05B872 57 bytes Data Hijacked by the One File, One Player patch, by Kevin.

Replaces the PLAYER 1 / PLAYER 2 menu text with the CONTINUE (or CONTINUE GAME if set so in the patch) / NEW GAME menu text.
$05B999 416 bytes Table Modified by the Free up RAM $7E2000 patch by p4plus2.
Changes the animations pointers table to point to the new GFX33 location.
$05BCA5 4 bytes Jump (JML/JSL) Modified by Lunar Magic for a JML to its handler for moving Mario with an autoscrolling Layer 2.
$05BEEC 5 bytes Code Modified by Lunar Magic (v3.30+).
JSL : NOP, fixes a bug that occurs with scroll sprite EF (Layer 2 Scroll S/L) in tall horizontal levels.
$05C40C 5 bytes Code Modified by Lunar Magic.
$05C4B0 2 bytes Hex Edit Hijacked by the Customizable "High and Low" Tides UberASM, by Kevin.
Hex Edit, hijacks the tide Y speed RAM address to be set via UberASM rather than fixed values.
$05C4B6 2 bytes Hex Edit Hijacked by the Customizable "High and Low" Tides UberASM, by Kevin.
Hex Edit, hijacks the tide Y acceleration RAM address to be set via UberASM rather than fixed values.
$05C4BB 4 bytes Jump (JML/JSL) Hijacked by the Customizable "High and Low" Tides UberASM, by Kevin.
JML, hijacks the wait timer code to be set via UberASM rather than a fixed value.
$05C4C3 2 bytes Hex Edit Hijacked by the Customizable "High and Low" Tides UberASM, by Kevin.
Hex Edit, hijacks the tide Y position RAM address to be set via UberASM rather than fixed values.
$05C4F2 4 bytes Jump (JML/JSL) Hijacked by Tide Fix by allowiscous.

JML, fixes tide animation when freeze flag is set.
$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.
$05C7BC 4 bytes Jump (JML/JSL) Modified by the Platform-Dependent Fast BG Scroll patch, by JamesD28.

JML, modifies the fast BG scroll sprite to run a custom speed up/slow down routine.
$05CC28 14 bytes Hex Edit Modified by "Course Clear" Modifier by adakkusu-san.

Allows to edit COURSE word in "COURSE CLEAR!" string.
$05CC36 12 bytes Hex Edit Modified by "Course Clear" Modifier by adakkusu-san.

Allows to edit CLEAR! word in "COURSE CLEAR!" string.
$05CC42 31 bytes Table Modified by GHB Disable Score by HammerBrother and wye.

Removes level end score tally display.
$05CC46 2 bytes Hex Edit Modified by "Course Clear" Modifier by adakkusu-san.

Allows to edit timer symbol for score tally.
$05CC4E 8 bytes Hex Edit Modified by "Course Clear" Modifier by adakkusu-san.

Allows to edit "x50=" part of score tally.
$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.
$05CC77 13 bytes Code Modified by GHB Disable Score by HammerBrother and wye.

Disables the hidden mechanic where an extra life is given if tens digit of bonus star counter matches the ones and tens of the timer.
$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.
$05CCAA 78 bytes Code Modified by GHB Disable Score by HammerBrother and wye.

Disables timer display on end level score tally.
$05CCFB 43 bytes Code Modified by GHB Disable Score by HammerBrother and wye.

Disables score calculation based on timer during level end.
$05CD43 14 bytes Hex Edit Modified by "Course Clear" Modifier by adakkusu-san.

Allows to edit BONUS! string for bonus star tally.
$05CD51 6 bytes Hex Edit Modified by "Course Clear" Modifier by adakkusu-san.

Allows to edit (Star)(Multiplying symbol) and empty space part of bonus star tally.
$05CD51 2 bytes Data Modified by Course Clear Coins, by MarioFanGamer.

Replaces the red "★" on the "COURSE CLEAR!" text with a yellow coin icon.
$05CDE4 1 byte Hex Edit Modified by GHB Disable Score by HammerBrother and wye.

If !drumroll = 0, disables drum roll SFX during score/bonus star tally for level end.
$05CDFD 60 bytes Code Modified by GHB Disable Score by HammerBrother and wye.

Dummies out the hex to dec routine used to write time bonus to the score card.
$05CE4C 86 bytes Code Modified by GHB Disable Score by HammerBrother and wye.

Dummies out the routine responsible for the Timer * 50 bonus score calculation.
$05CEAF 1 byte Hex Edit Modified by GHB Disable Score by HammerBrother and wye.

Removes score's first zero from the display during level end.
$05CEC6 4 bytes Table Modified by Optimize Score Display by Fernap.

Converted course clear score addition values to BCD format.
$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).
$05CECF 54 bytes Code Modified by GHB Disable Score by HammerBrother and wye.

Disables bonus score addition during level end.
$05CEF5 6 bytes Code Modified by Optimize Score Display by Fernap.

Modify course clear score addition to use the new score addition routine.
$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.
$05CF36 3 bytes Hex Edit Modified by GHB Disable Score by HammerBrother and wye.

Disables amount of score to add up to the score total count at level end check for drumroll end SFX.
$05CF49 1 byte Hex Edit Modified by GHB Disable Score by HammerBrother and wye.

If !drumroll = 0, disables drum roll end SFX during score/bonus star tally for level end.
$05CF78 40 bytes Code Modified by GHB Disable Score by HammerBrother and wye.

Disables bonus score during level end display.
$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.
$05D7BD 6 bytes Jump (JML/JSL) Hijacked by the Item Memory Table Expansion patch, by Isikoro.

JSL, preserves the high byte of the level number or the secondary exist number.
$05D7BD 6 bytes Jump (JML/JSL) Modified by Ultimate Screen Teleporter by mario90.

Corrects exit index before secondary entrance teleport.
$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.
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.
JSL, it jumps to the routine at $05DCD0.
$05D8B7 39 bytes Code Modified by UberASM and other patches and tools.

Inserts code that sets the current sublevel number in $010B, in a way that's compatible with older versions of the LevelNum patch.
Differs from the levelnum.ips patch in that this one uses no freespace.
$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 Ultimate Screen Teleporter by mario90.

The LevelNum patch, which sets the current sublevel number in $010B.
$05D8B9 3 bytes Jump (JMP/JSR) Hijacked by Pixi.
Inserts a JSR to the LevelNum routine inserted at $05DC46.
$05D8B9 3 bytes Jump (JMP/JSR) Modified by the Boss ExGFX patch, by Alcaro.
JSR. Jumps to the LevelNum code at $05DC46.
$05D8B9 3 bytes Jump (JMP/JSR) Hijacked by the Item Memory Table Expansion patch, by Isikoro.

JSR, jumps to the routine at $05DC46 to preserve the current level number into $010B.
$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.

JSL, jumps to a subroutine at $0EF300 that gets the bank byte of the pointer to the level's sprite data from a table at $0EF100.
$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.
$05D971 4 bytes Code Hijacked by the Retry System (+ Multiple Checkpoints) v2.06c Patch, by Kevin, lx5, and worldpeace.
Code, hijacks the sprite init facing fix and allows for compatibility with other patches that also insert it.
$05D979 4 bytes Code Modified by Lunar Magic.
$05D97D 4 bytes Jump (JML/JSL) Modified by Lunar Magic for its additional secondary level header bytes. Jumps to $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.
$05D984 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06c Patch, by Kevin, lx5, and worldpeace.
JML, hijacks the sprite init routine to face the player upon level load.
$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 with a JSL to a routine for loading a few additional settings from the secondary level header.
$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.
$05DA91 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$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.
$05DB5B 4 bytes Jump (JML/JSL) Modified by Lunar Magic to implement bank bytes for Chocolate Island 2's data pointers. Jumps to $0DE210.
$05DB5F 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Rebuilds the level height table for chocolate island special levels.
$05DBAC 29 bytes Jump (JML/JSL) Modified by the Bonus Game Destination Expander patch, by Sonikku.

JML : RTS : NOP #24, modifies the 100-star bonus game and Yoshi wings level destination selection routine to allow for more destinations, as well as a more in-depth means of selecting destinations.
$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.
$05DC46 7 bytes Code Hijacked by Pixi.
Small routine that stores the current sublevel number in $010B.
$05DC46 7 bytes Code Modified by the Boss ExGFX patch, by Alcaro.
LevelNum routine, stores the current level number to $010B.
$05DC46 7 bytes Jump (JMP/JSR) Hijacked by the Item Memory Table Expansion patch, by Isikoro.

See details, stores the level number into $010B.
Hijack
$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.
$05DC80 19 bytes Code Used by Lunar Magic v2.50+ for a set of three routines (RTL-ended) to access the secondary entrance tables, in addition to the ones at $0DE190. Call these with the secondary exit ID in X to get the corresponding table:
  • $05DC80: $05FE00
  • $05DC85: Dynamic 5th byte (EFYYYYYY) added in LM v3.00+
  • $05DC8A: Dynamic 6th byte (RLW-----) added in LM v3.00+

The bits for the two additional bytes added by LM v3.00+ are as follows:
  • E - "Exit to Overworld" flag. If set, the rest of these two bytes are unused.
  • F - Bit 4 of the FG/BG offset
  • YYYYYY - Bits 4-9 of the Y position
  • R - Flag to set FG/BG setting relative to player
  • L - Flag to face entrance left
  • W - Water level flag
$05DCB0 32 bytes Code Modified by Lunar Magic for implementing secret exits 2 and 3.
$05DCD0 30 bytes Code Modified by Lunar Magic for a routine to get the high bit of the level number when entering a level from the overworld.
$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 for a routine to handle the slippery and water flags on level load.
$05DD30 70 bytes Code Modified by Lunar Magic for implementing the extra bytes of the secondary level header ($05DE00, $06DC00, and $06DE00). Jumped to from $05D97D.
$05DD80 20 bytes Code Modified by Lunar Magic for setting up initial level flags upon creation of a new save file. JSLed to by the hijack at $009F19.
$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 Code 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.
$06F600 496 bytes Code Used by Lunar Magic to implement Map16 interaction. $06F608 in particular is a JSR routine used to get a tile's Acts-Like setting.

At $06F660, Lunar Magic provides a framework for various interaction point handlers intended to be implemented by a third-party tool (e.g. GPS) for custom blocks. Contains four primary entry points at $06F660 (Mario), $06F700 (sprites), $06F760 (cape), and $06F7A0 (fireballs), which then break off into individual 16-byte handlers for each of the interaction points; see details. When not implemented, these handlers just jump to vanilla interaction.

GPS also adds two additional interaction points for WallFeet and WallBody.
Handler Details
$06F608 60 bytes Code Used by Lunar Magic as a routine to get a Map16 tile's true acts-like (act as) 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.
$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.
$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.
$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.
$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.
$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.
$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.
$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.
$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.
$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.
$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.
$06FA00 512 bytes Data Used by Lunar Magic v3.40+ for an additional secondary level header table. Format: SHAVVVVV
S - "Use separate settings for Layer 2 H/V scroll" flag
H - Bit 4 of the level's Layer 2 horizontal scroll setting, if S bit is set (combined with bits 0-3 from $05F000)
A - Auto-set number of screens
VVVVV - Layer 2 vertical scroll setting, if S bit is set
$06FC00 512 bytes Data Used by Lunar Magic v3.00+ for an additional secondary level header table. Format: OFYYYYYY
O - Flag to set the initial BG position relative to the FG
F - Bit 4 of the main entrance's FG/BG offset, if set to be relative to the player
YYYYYY - Bits 4-9 of the main level entrance's Y position
$06FE00 512 bytes Data Used by Lunar Magic v3.00+ for an additional secondary level header table. Format: RL-HHHHH
R - Flag to set the main entrance's FG/BG setting relative to the player
L - Flag to face the main entrance left
HHHHH - BG height (-1), or relative BG offset if the BG is set to be relative to the FG
$07F0C8 30 bytes Data Modified by Custom End Level Stars Text, by KevinM.

The new data for X displacement of the giant bonus stars letters. This data can be up to 108 bytes big.
$07F134 30 bytes Data Modified by Custom End Level Stars Text, by KevinM.

The new data for Y displacement of the giant bonus stars letters. This data can be up to 108 bytes big.
$07F1AA 32 bytes Data Modified by Goal Tape Gives Score patch. Changes bonus star reward table into a score reward table.
$07F1CD 4 bytes Jump (JML/JSL) Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
JSL, Finds an empty slot for the goal tape stars.
$07F1CF 21 bytes Code Modified by Custom End Level Stars Text, by KevinM.

Modifies the routine that draws the star text when the player catches a goal tape. Its size may vary, though; the limit address is $071FFF (included).
$07F1E8 2 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
NOP : NOP, Prevents the game from using a hardcoded OAM index for the tens digits of the goal tape stars.
$07F1FA 2 bytes Opcode Hijacked by the Extended No More Sprite Tile Limits patch, by DiscoTheBat, Kevin, Roy, imamelia and worldpeace.
NOP : NOP, Prevents the game from using a hardcoded OAM index for the unit digits of the goal tape stars.
$07F208 1 byte Hex Edit Modified by Custom End Level Stars Text, by KevinM.

Modifies the X position of the first star text letter.
$07F215 1 byte Hex Edit Modified by Custom End Level Stars Text, by KevinM.

Modifies the Y position of the star text letters.
$07F21A 1 byte Hex Edit Modified by Custom End Level Stars Text, by KevinM.

Modifies the tile used to draw the star text letters.
$07F234 1 byte Hex Edit Modified by Custom End Level Stars Text, by KevinM.

Modifies the GFX Page of the star text letter tiles.
$07F24E 4 bytes Hex Edit Modified by Custom End Level Stars Text, by KevinM.

The same as $07F21A, but deals with the letters fade-out effect.
$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).
$07F314 1 byte Data Modified by the Star/Slide Kill GFX Fix patch, by Kevin.

Modifies Blarggs to turn into a smoke when killed.
$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).
$07F37A 1 byte Data Modified by the P-Switch Solid Directional Coins path by  JamesD28.

Changes the default value of $1662 for the directional coin sprite to $0C (for 16x16 clipping)
$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.
$07F473 1 byte Hex Edit Modified by the Fire Flower Palette Cycle patch, by aroohwahoou.

db $00, changes the fire flower sprite's default palette to Palette 8. This change has no practical effect.
$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).
$07F50C 1 byte Data Modified by the P-Switch Solid Directional Coins path by  JamesD28.

Changes the default value of $166E for the directional coin sprite to $A2 (enables "Don't use default interaction" and "Process interaction every frame").
$07F568 1 byte Data Modified by the Star/Slide Kill GFX Fix patch, by Kevin.

Modifies Bowser's Bowling Ball to still run its main code during the death animation.
$07F56E 1 byte Data Modified by the Star/Slide Kill GFX Fix patch, by Kevin.

Modifies Iggy's Ball to still run its main code during the death animation.
$07F575 1 byte Data Modified by the Star/Slide Kill GFX Fix patch, by Kevin.

Modifies Fishin' Boo to still run its main code during the death animation.
$07F579 1 byte Data Modified by the Star/Slide Kill GFX Fix patch, by Kevin.

Modifies the Falling Spike to still run its main code during the death animation.
$07F57A 1 byte Data Modified by the Star/Slide Kill GFX Fix patch, by Kevin.

Modifies the Bowser Statue Fireball to still run its main code during the death animation.
$07F57B 1 byte Data Modified by the Star/Slide Kill GFX Fix patch, by Kevin.

Modifies Grinder to still run its main code during the death animation.
$07F57D 1 byte Data Modified by the Star/Slide Kill GFX Fix patch, by Kevin.

Modifies the Reflecting Fireball to still run its main code during the death animation.
$07F583 1 byte Data Modified by the Star/Slide Kill GFX Fix patch, by Kevin.

Modifies the Bowser Statue to still run its main code during the death animation.
$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).
$07F59D 1 byte Hex Edit Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Sets the "stay in Yoshi's mouth" Tweaker bit for the Bob-omb sprite.
$07F5AD 1 byte Hex Edit Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Sets the "stay in Yoshi's mouth" Tweaker bit for the Hopping Flame sprite.
$07F5C3 1 byte Hex Edit Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Sets the "stay in Yoshi's mouth" Tweaker bit and clears the "inedible" Tweaker bit for the Podoboo sprite.
$07F5D0 1 byte Hex Edit Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Sets the "stay in Yoshi's mouth" Tweaker bit for the Para-Bomb sprite.
$07F643 1 byte Hex Edit Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Sets the "stay in Yoshi's mouth" Tweaker bit and clears the "inedible" Tweaker bit for the Bowser Statue Flame sprite.
$07F646 1 byte Hex Edit Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

Sets the "stay in Yoshi's mouth" Tweaker bit for the Reflecting Fireball sprite.
$07F659 4 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Sets the 2 tile death frame / bit 5 of $190F for the shellless Koopas.
$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.
$07F785 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to a routine that clears the init bit when changing sprites, works with $018151.
$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.
$0CA8D8 7 bytes Table Hijacked by the Cutscene BabyYoshis/Eggs Palette Change patch, by Francium and yoshifanatic.

Changes the colours for every baby Yoshi in the Yoshi House cutscene of the credits. By default, the values are the same as in vanilla SMW.
$0CA90A 5 bytes Jump (JML/JSL) Hijacked by the Cutscene BabyYoshis/Eggs Palette Change patch, by Francium and yoshifanatic.

JSL : NOP, hijacks the eggs' properties in the credits to be individualised for each egg.
$0CAB6B 4 bytes Jump (JML/JSL) Hijacked by the patch Free $7E04A0 by spooonsss.
JML to another scratch RAM setup for the credits windowing code.
$0CAB7C 6 bytes Code Hijacked by the patch Free $7E04A0 by spooonsss.
Remap to !FreeRAM.
$0CAB92 2 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

LDA #$A2, sets $44 to affect mainscreen and not just subscreen.
$0CAB98 3 bytes Opcode Hijacked by the HDMA Bugfixes patch, by Ice Man.

TSB $0D9F, changes the HDMA enable code for player animation 0B so it doesn't disable every other channel.
$0CAD93 1 byte Code Modified by Lunar Magic.
$0CAD9C 1 byte Code Modified by Lunar Magic.
$0CAE0F 2 bytes Code Modified by Lunar Magic to the $1EA2 address that corresponds to the special world passed level for sprite graphics.
$0CAF35 2 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Shifts the head of the Yellow Koopa in the enemy credits roll.
$0CAF41 2 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Shifts the head of the Blue Koopa in the enemy credits roll.
$0CAF45 2 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Shifts the head of the Green Koopa in the enemy credits roll.
$0CAF51 2 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Shifts the head of the Red Koopa in the enemy credits roll.
$0CB091 64 bytes Table Hijacked by Koopa Head Shifter + 2Tiles ShellLess Koopa patch by Isikoro.

Changes the sprite tilemap of the Super Koopas in the enemy credits roll.
$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.
$0CD5D4 1 byte Hex Edit Modified by AddmusicK (1.0.8).
Changes the number of the second castle destruction sequence song.
$0CD864 5 bytes Jump (JML/JSL) Hijacked by the Cutscene BabyYoshis/Eggs Palette Change patch, by Francium and yoshifanatic.

JSL : NOP, hijacks the eggs' properties in the castle destruction cutscenes to be individualised on a per-cutscene basis.
$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.
$0DA57B 210 bytes Code Hijacked by the Item Memory Table Expansion patch, by Isikoro.

Handles extended objects 10 - 40.
$0DA62B 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic.

JML, adds a check for item memory index 3 for green star blocks, invisible 1-up blocks, and question mark blocks with Yoshi which causes these blocks to always be placed if the sublevel uses said item memory index.
$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.
$0DA8C3 83 bytes Code Hijacked by the Item Memory Table Expansion patch, by Isikoro.

Modifies the get item memory routine. Do note that this is the first half only. The second half is located at $0DA91A because of Lunar Magic's hijacks.
$0DA916 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic.

JML, adds a check for item memory index 3 for coin objects which causes coins to always be placed if the sublevel uses said item memory index.
$0DA91A 65 bytes Code Hijacked by the Item Memory Table Expansion patch, by Isikoro.

Modifies the get item memory routine. Do note that this is the first half only. The second half is located at $0DA8C3 because of Lunar Magic's hijacks.
$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
$0DB2C9 73 bytes Code Hijacked by the Item Memory Table Expansion patch, by Isikoro.

Modifies the Dragon Coin object routine. Do note that this is the first half only. The second half is located at $0DB31C due to Lunar Magic's hijacks as well as to write pointers of two subroutines of the patch.
$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.
$0DB312 6 bytes 24-bit Pointer Hijacked by the Item Memory Table Expansion patch, by Isikoro.

Writes the pointers to the subroutines Math_MemoryRAMIndex and Load_ItemMemorySpace of Item Memory Expansion which can be retrieved with read3($0DB312) and read3($0DB315), respectively.
Hijack
$0DB318 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic.

JML, adds a check for item memory index 3 for Dragon Coin objects which causes Dragon Coins to always be placed if the sublevel uses said item memory index.
$0DB31C 26 bytes Code Hijacked by the Item Memory Table Expansion patch, by Isikoro.

Modifies the Dragon Coin object routine. Do note that this is the second half only. The first half is located at $0DB312 due to Lunar Magic's hijacks as well as to write pointers for two subroutines of the patch.
$0DB336 78 bytes Code Hijacked by the Item Memory Table Expansion patch, by Isikoro.

Modifies the blue coin object routine. Do note that this is the first half only. The second half is located at $0DB388 because of Lunar Magic's hijacks.
$0DB384 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic.

JML, adds a check for item memory index 3 for blue coin objects which causes blue coins to always be placed if the sublevel uses said item memory index.
$0DB388 51 bytes Code Hijacked by the Item Memory Table Expansion patch, by Isikoro.

Modifies the blue coin object routine. Do note that this is the second half only. The first half is located at $0DB336 because of Lunar Magic's hijacks.
$0DB58F 4 bytes Jump (JML/JSL) Modified by the patch Switch Palace RAM Optimizer by Sonikku.
JML, changes the green and yellow switch blocks' object load code to check a bit instead of a byte.
$0DB940 4 bytes Jump (JML/JSL) Modified by the patch Switch Palace RAM Optimizer by Sonikku.
JML, changes the red and blue switch blocks' object load code to check a bit instead of a byte.
$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.
$0DC4C9 4 bytes Jump (JML/JSL) Modified by the Castle Intro Ledge Fix patch, by Kevin.

JSL, stores the Map16 data pointer in $04/$05.
$0DC4DE 5 bytes Jump (JML/JSL) Modified by the Castle Intro Ledge Fix patch, by Kevin.

JSL : NOP, retrieves the stored Map16 pointer before loading the second row of blocks to ensure correct positioning about screen boundaries.
$0DE18C 4 bytes 24-bit Pointer Optionally used by Lunar Magic to allow third-party tools to implement variable byte sizes for custom overworld sprites. To enable, set $0DE18F to 0x42, then write a 24-bit pointer to $0DE18C for your sprite size table.

The actual table should be 0x80 bytes long, with each sprite getting one byte. The default size should be 4 (1 extra byte), with the minimum being 3 and maximum being 0xF.
$0DE190 21 bytes Code Used by Lunar Magic v2.50+ for a set of three routines (RTL-ended) to access the secondary entrance tables, in addition to the ones at $05DC80. Call these with the secondary exit ID in X to get the corresponding table:
  • $0DE190: $05F800 (also writes to $0E)
  • $0DE197: $05FA00 (also writes to $00)
  • $0DE19E: $05FC00 (also writes to $01)

These are mainly intended for use when Lunar Magic's secondary exit expansion is applied, which moves these tables dynamically.
$0DE210 64 bytes Code Used by Lunar Magic as a routine to implement bank bytes for Chocolate Island 2's data pointers. Jumped to from $05DB5B. The bank bytes specifically can be found in the same order as CI2's original pointers at $0DE231 (Layer 1), $0DE23A (Layer 2), and $0DE243 (sprites).
$0DEC96 4 bytes Jump (JML/JSL) Modified by the patch Switch Palace RAM Optimizer by Sonikku.
Changes the switch palace switch object code to check a bit instead of a byte.
$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.
$0DF100 20 bytes Code Used by Lunar Magic for a routine to decrypt level data in a locked ROM.
$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.
$0DF1A0 17 bytes Code Used by Lunar Magic for a routine to decrypt a GFX file's pointer in a locked ROM.
$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.
$0EF100 3176 bytes Miscellaneous Modified by Lunar Magic for various purposes.

  • $0EF100-$0EF2FF (512 bytes): Table that holds the bank byte of the pointer to each level's sprite data. If a level hasn't been altered, the entry into the table for that level will be the vanilla bank byte of the sprite data pointer ($07).
  • $0EF300-$0EF30B (12 bytes): Routine that gets the bank byte of the pointer to the level's sprite data from the table at $0EF100, and stores it to $D0.
  • $0EF30C-$0EF30F (4 bytes): If $0EF30F is set to 0x42, Lunar Magic will use $0EF30C as a 24-bit pointer to a table for sprite extension byte counts. Must be implemented by a third-party tool.
  • $0EF310-$0EF50F (512 bytes): Table that holds various settings related to the Layer 2 tilemap. Format: bbBBVFCT. V indicates a vanilla BG tilemap is in use, while C indicates a custom BG tilemap; neither being set indicates Layer 2 is composed of objects instead. The F bit indicates the usage of the bbBB bits; if set, BB is the Map16 bank to use for the background, while if clear, bbBB is used as the high byte of all the background's Map16 tiles (only used for the vanilla tilemaps). The T bit meanwhile is a deprecated feature that would use the LT3 ExGFX slot as a Layer 2 tilemap instead (treating it as an "LT2" slot). However, this bit is no longer supported as of v3.31.
  • $0EF510-$0EF54F (64 bytes): Used as a routine to get the level's Layer 2 tilemap settings from the above table. Stores the value to $7FC00B.
  • $0EF550-$0EF55C (13 bytes): Used as a routine to set up the level numbers in $010B and $FE.
  • $0EF55D-$0EF55F (3 bytes): Used as a 24-bit pointer to the custom overworld sprite data.
  • $0EF570-$0EF5C7 (87 bytes): Used for a routine to load the current level's custom palette, if applicable.
  • $0EF600-$0EFBFF (1536 bytes): Used as a table of 24-bit pointers to each level's custom palette. If a pointer is 000000, the level has no custom palette; if FFFFFF, then the level has not inserted any custom palettes at all.
  • $0EFC00-$0EFC4F (80 bytes): Used as a routine to fix a 3bpp->4bpp conversion issue with the level transition messages (MARIO START / GAME OVER / etc.).
  • $0EFC50-$0EFCAF (96 bytes): Used for a pair of routines for backing up/restoring the BG tilemap during the enemy scenes of the credits. Necessary because of the increased size of the decompression region for GFX files, due to them now being 4bpp instead of 3bpp.
  • $0EFD00-$0EFD4F (80 bytes): Used for a routine to get the BG Map16 page pointer.
  • $0EFD50-$0EFD67 (24 bytes): Table of eight 24-bit pointers to the BG Map16 pages, with each pointer corresponding to a set of 0x10 pages. If a pointer is 000000, then that set of pages isn't currently being used.
  • $0EFD68-$0EFD7F (24 bytes): Table of additional 24-bit pointers, although these ones aren't used.
Extra Bytes Data
$0EF100 512 bytes Table Modified by LM.

This table contains the bank bytes of every level's sprite data pointer.
$0EF30C 4 bytes Data Hijacked by Pixi.
Writes the pointer to sprite size table, and then a $42 byte, so that Lunar Magic will enable extra bit customization for placing sprites.
$0EF310 512 bytes Table Used by LM as a table of Layer 2-related data for each level. Format: bbBBVFDT
  • V = Flag to indicate whether a tilemap BG is vanilla (1) or custom (0)
  • D = Data type; object (0) or tilemap (1)
  • F = Flag to indicate the usage of the high nibble, when using a tilemap BG
  • BB = F bit set: Map16 bank to use for the BG
  • bbBB = F bit clear: high byte for all BG Map16 tiles (only used for compatability with the original system)
  • T = Deprecated bit used to enable a feature that would allow the ExGFX file defined for the LT3 slot to be loaded as a Layer 2 background (effectively, turning it into an "LT2" slot). As of v3.31, this feature is no longer supported and should not be used.
$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 A list of 24-bit pointers to each level's palette data, inserted by Lunar Magic. Indexed by level number * 3. If an entry's low and high bytes are both zero, the default palette is loaded instead (the bank byte is not checked in this case).
$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.
$0FF160 135 bytes Code Used by Lunar Magic for a routine to decompress a file for an ExGFX slot during level load.
$0FF200 1024 bytes Table Used by Lunar Magic for the "old" graphics bypass using lists. In that system, an index of $00 is used to mark that no list bypass is used, and indices $01-$FF will point into this table (However, Lunar Magic's UI will instead display $00 as the first list and $FE as the last list). To calculate the direct offset, take ((index-1)*4). Note that both FG/BG list bypass and sprite list bypass share the same range of indices.

For each offset, contains four bytes for the four (Ex)GFX files that are used for this index. This system is only capable of addressing (Ex)GFX files numbered $00 through $FF.
$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.
$0FF780 40 bytes Code Used by Lunar Magic for a routine called during level load to initialize Layer 3 and AN2.
$0FF7D0 15 bytes Code Used by Lunar Magic for a routine for a deprecated feature that would treat the LT3 ExGFX slot as an Layer 2 tilemap (i.e. LT2).
$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.
$0FF840 54 bytes Code Used by Lunar Magic for a routine to check if an ExGFX slot has been bypassed and, if so, decompress it into RAM.

The last 7 bytes of this routine appear to be unused.
$0FF8A0 70 bytes Code Used by Lunar Magic for a few different support routines for decompressing GFX files:
  • $0FF8A0 - Retrieves an ExGFX file from LM's old list-based GFX bypass system.
  • $0FF8B8 - Decompresses an ExGFX file to $7EAD00.
  • $0FF8CB - Decompresses an ExGFX file for a specified slot. Includes some special handling for a deprecated LT2 ExGFX file feature that would send it to $7E2000 instead.
$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.
$0FF9C0 10 bytes Code Used by Lunar Magic for a routine to get Layer 3 GFX files for the credits and castle cutscenes.
$0FF9E0 175 bytes Code Used by Lunar Magic for a routine to upload Layer 3 ExGFX files.
$0FFAB0 36 bytes Code Used by Lunar Magic for a routine to retrieve the ExGFX list for an overworld submap.
$0FFAF0 17 bytes Code Modified by Lunar Magic for a routine that checks whether the overworld needs to be reloaded when swapping players.
$0FFB20 523 bytes Code Used by Lunar Magic for a routine to upload submap ExGFX.
$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.
$0FFD80 332 bytes Code Modified by Lunar Magic.
Routine called from $0FF780 during level load to store some level-specific variables in the $7FC000 area and to upload some graphics data to VRAM.
$0FFFE0 1 byte Miscellaneous Not directly modified by Lunar Magic, but used as a byte containing a few different flags that let the editor know about changes in restrictions the editor should have. As the byte normally has a value of FF, the flags are reversed, with a bit being clear indicating its effect should be applied.

Format: -----TOS
T = If clear, indicates that text strings in the overworld editor should be able to be directly saved instead of saved as part of the overworld.
O = If clear, indicates the overworld has been overridden and the user should be warned when trying to save it.
S = If clear, indicates that the restriction in levels of a maximum of 128 sprites has been increased to 256 (see: $7E1938).

PIXI manages the S flag as part of its !Disable255SpritesPerLevel define.
  • Pages:
  • 1