Language…
7 users online: BeancityMakes, Foxy_9000_, KarlsGB, Masaya Murakami, pakkie, UTF, Zavok - Guests: 46 - Bots: 99
Users: 70,181 (2,548 active)
Latest user: LuzakIsHere

SMW Memory Map

Displaying 500 out of 2441 addresses.

View: moderated | waiting (16)

Filter

Link
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.