Language…
16 users online: aore gfhgft, Digital Entertainment, DoubleCakes, Got_Breaded, h.carrell, HammerBrother, Hammerer, hoagie, Israelcv12cv, Mapsking, MM102,  Sayuri, Sheilal14, steelsburg, stormitive, Yairobot - Guests: 121 - Bots: 197
Users: 64,663 (2,406 active)
Latest user: NightSpark

SMW Memory Map

Displaying 50 out of 2304 addresses.

View: moderated | waiting (35)

Filter

Link
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 46
  • 47
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.
$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.
$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.
$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.
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 46
  • 47