SMW Memory Map
Displaying 75 out of 2431 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 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 | 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. | |
$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. |
|
$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). | |