SMW Memory Map
Displaying 100 out of 2244 addresses.
View: moderated | waiting (14)
Hijack Address | Length | Type | Description | Details |
---|---|---|---|---|
$008023 | 4 bytes | Jump (JML/JSL) | Modified by ZSNES incompatibility notice. Jumps to the main code. | |
$008027 | 4 bytes | Code | Hijacked by the Free up RAM $7F:8000 patch by DiscoTheBat and Ersanio. Inserts a SEP #$30, to set the processor status to 8-bit A and X/Y, and a BRA to skip the code that uploads the OAM clear routine to $7F8000. The BRA jumps to $008052 if !UberASMTool = 0, and to $00804E if !UberASMTool = 1. |
|
$00804D | 1 byte | Opcode | Not modified, however is used by Lunar Magic as an RTL for calling routines that end in RTS in bank 0 with a JSL via stack magic. So don't modify it. | |
$00804E | 4 bytes | Jump (JML/JSL) | Hijacked by UberASMTool. JML, jumps to the routine that initializes the freeram used by the tool and executes the global init code. |
|
$008052 | 3 bytes | Jump (JMP/JSR) | Hijacked by AddmusicK. Inserts a JSR to the custom UploadSPCEngine routine inserted in the $008079 area, replacing the original JSR. |
|
$00805E | 3 bytes | Hex Edit | Modified by AddmusicK. Inserts 3 NOPs to skip a JSR to a routine that uploads samples to the SPC700. |
|
$00806B | 4 bytes | Jump (JML/JSL) | Hijacked by UberASMTool. JML, jumps to the routine that executes global main code. |
|
$008070 | 4 bytes | Jump (JML/JSL) | Modified by 16-bit frame counter. Jump to code that increases both $13 and 16-bit frame counters. | |
$008072 | 3 bytes | Jump (JMP/JSR) | Modified by the CPU Usage Meter patch. Jumps to the main code of the patch in a free area at $00FF9C. | |
$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 UberASMTool. JML : NOP #2, jumps to the routine that executes all possible NMI codes inserted in the tool (global, level, gamemode, overworld). For efficiency, certain parts of the code are only inserted if needed. |
|
$008179 | 49 bytes | Hex Edit | Modified by AddmusicK. BRA + : NOP #47 : +, skips over original NMI audio code that's already handled in AMK's routines. This is inserted in case neither $008179 == $5C nor $008176 == $5C. |
|
$00817C | 46 bytes | Hex Edit | Modified by AddmusicK. BRA + : NOP #44 : +, skips over original NMI audio code that's already handled in AMK's routines. This is inserted in case $008176 is $5C (JML), to make it compatible with a LevelNMI (UberASM) hijack. |
|
$00817D | 45 bytes | Hex Edit | Modified by AddmusicK. BRA + : NOP #43 : +, skips over original NMI audio code that's already handled in AMK's routines. This is inserted in case $008179 is $5C (JML), to make it compatible with PowerTool. |
|
$00818F | 18 bytes | Code | Hijacked by the No Title SFX patch. A piece of code that mutes every SFX in the title screen. |
|
$0081AA | 8 bytes | Jump (JML/JSL) | Modified by Ice Man's 'HDMA v3.5' patch. Hijacks NMI and calls the main routine. [JSL : BRA : NOP #2] | |
$0081AA | 4 bytes | Jump (JML/JSL) | Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5. JML, it jumps to the code that turns off HDMA during level transitions (including room respawning). |
|
$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. |
|
$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. | |
$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. Part of Lunar Magic's 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. |
|
$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 | Code | Modified by [url=https://www.smwcentral.net/?p=section&a=details&id=26810]b4vwf to change NMI settings to set up message box IRQ. | |
$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. |
|
$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. |
|
$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. | |
$008385 | 5 bytes | Jump (JML/JSL) | Modified by b4vwf to change 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. |
|
$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. | |
$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 | |
$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). |
|
$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) | 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. |
|
$008E1A | 5 bytes | Jump (JML/JSL) | Hijacked by UberASMTool. JML : NOP, jumps to the code that executes custom status bar code inserted by the tool. |
|
$008E1F | 4 bytes | Jump (JML/JSL) | Modified by the Advanced version of the Super Status Bar patch by GreenHammerBro and Kaijyuu. Repoints the status bar update routine to freespace. | |
$008E21 | 4 bytes | Jump (JML/JSL) | Modified by Time Up Fix, by Alcaro. JML, prevents the timer frame counter from ticking down if set to a special "death from time up" value. |
|
$008E4F | 2 bytes | Code | Modified by Time Up Fix, by Alcaro. BNE $1E, skips past the "check if timer ran out" routine if the timer hundreds digit is nonzero. |
|
$008E5B | 5 bytes | Jump (JML/JSL) | Modified by Speed up Music Fix. Jumps to the main code. | |
$008E5B | 4 bytes | Jump (JML/JSL) | Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5. JML, it sets a flag when the music is sped up because the timer dropped under 100 seconds. |
|