Banner
The Overworld Design Contest ends in
5 DAYS, 23 HOURS, 38 MINUTES AND 14 SECONDS
Views: 905,623,318
Time:
19 users online: codfish1002, djEnby, Friday_D0nat, Giftshaven, GRIMMKIN, Julintendo,  K.T.B.,  KevinM, lx5, Malloc, Mega, microwave_brother, mjdxp, Nao, OEO6, Samuel Zuccati, ScatmanJones49, Sparkysie, StayAtHomeStegosaurus - Guests: 79 - Bots: 68 Users: 50,763 (2,068 active)
Latest: mjdxp
Tip: Take advantage of easy to install Patches in your hack. The No More Sprite Tile Limits or SA-1 patches should be considered if you're encountering glitches where Mario and/or sprites are turning invisible.
Not logged in.
SMW Memory Map
Displaying 194 out of 1694 addresses. Show Waiting Addresses (27)
Filter
Link
Address
Hexadecimal number for a partial address. 6-digit number for a full address. Use - to denote a range. Use , to list more than one address.
Length
Type
Enable JavaScript to use multiple regions.
Region
Hold control to select multiple. Check "All" to select all at once.

Type
Description
Separate each individual keyword with spaces. Surround a phrase with quotes to look for the exact phrase, or with / to use a PCRE regular expression. Prepend with - to exclude a keyword or phrase, with + to require a whole word or phrase, or with -+ to exclude a whole word or phrase. ? matches any character, * matches any amount of characters.
 
Pages: « 1 2 3 4 » Per Page: 25 50 75 100 150 500 All
Hijack Address Length Type Description Details
$05C4B0 2 bytes Hex Edit Hijacked by the Customizable "High and Low" Tides UberASM, by KevinM.
Hex Edit, hijacks the tide Y speed RAM address to be set via UberASM rather than fixed values.
$05C4B6 2 bytes Hex Edit Hijacked by the Customizable "High and Low" Tides UberASM, by KevinM.
Hex Edit, hijacks the tide Y acceleration RAM address to be set via UberASM rather than fixed values.
$05C4BB 4 bytes Jump (JML/JSL) Hijacked by the Customizable "High and Low" Tides UberASM, by KevinM.
JML, hijacks the wait timer code to be set via UberASM rather than a fixed value.
$05C4C3 2 bytes Hex Edit Hijacked by the Customizable "High and Low" Tides UberASM, by KevinM.
Hex Edit, hijacks the tide Y position RAM address to be set via UberASM rather than fixed values.
$05C4F2 4 bytes Jump (JML/JSL) Hijacked by Tide Fix by allowiscous.

JML, fixes tide animation when freeze flag is set.
$05C727 5 bytes Jump (JML/JSL) Modified by On/Off Layer 2 Generator Fix, by GreenHammerBro.

JML : NOP, modifies the on/off Layer 2 scroll command to reset the "hit ground" flag when rising.
$05C75D 6 bytes Jump (JML/JSL) Modified by On/Off Layer 2 Generator Fix, by GreenHammerBro.

JML : NOP #2, modifies the on/off Layer 2 scroll command to set a "hit ground" flag, shaking the screen and playing a sound only once.
$05C7BC 4 bytes Jump (JML/JSL) Modified by the Platform-Dependent Fast BG Scroll patch, by JamesD28.

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

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

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

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

Allows to edit "x50=" part of score tally.
$05CC66 2 bytes Hex Edit Modified by Course Clear Coins, by MarioFanGamer.

BRA $1C, disables awarding a 1-up if the tens and ones digit of the timer are both equal to the tens digit of bonus stars received. Optionally enabled.
$05CC66 2 bytes Hex Edit Hijacked by the Yoshi Coin Counter Patch, by Darolac.

BRA $1C, disables awarding a 1-up if the tens and ones digit of the timer are both equal to the tens digit of bonus stars received.
$05CC84 5 bytes Jump (JML/JSL) Hijacked by NSMB Star Coins: This one saves all collected coins through beating a level with a goal post/sphere.
$05CD43 14 bytes Hex Edit Modified by "Course Clear" Modifier by adakkusu-san.

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

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

Replaces the red "★" on the "COURSE CLEAR!" text with a yellow coin icon.
$05CEC6 4 bytes Table Modified by the 8 Digits Score patch by Isikoro.
Modifies the table used to increment the score at the level end to adapt to the new score system.
Changes from [$0001,$000A] to [$0010,$0100], since the patch uses the decimal flag (so $0010 = 10, not 16) and it doesn't store the score as "actual score"/10 (so to add 10, you have to increase the score address by 10 rather than 1).
$05CEF6 16 bytes Code Modified by the 8 Digits Score patch by Isikoro.
Modifies the code that adds score at the level end to account for the new score system.
$05CF12 12 bytes Hex Edit Modified by Course Clear Coins, by MarioFanGamer.

INC $13CC : BRA $07 : NOP #7, modifies the "COURSE CLEAR!" bonus star awarding routine to award coins instead.
$05CF15 9 bytes Jump (JML/JSL) Modified by the Trust Fund patch. Loads Yoshi Coin count then jumps to the main code with a JML : NOP #2.
$05D79B 6 bytes Code Modified by Lunar Magic.
$05D7AB 5 bytes Jump (JML/JSL) Hijacked by the Individual Dragon Coin Save patch by worldpeace, JackTheSpades and LX5.
JML : NOP, it jumps to a routine that computes the value of $13BF for the level currently being entered, and sets the number of Dragon Coins collected in the level based on how many they were collected before.
$05D7B9 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D7BD 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it jumps to an initialization routine.
$05D7CE 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
JSL, it jumps to the routine at $05DC50.
$05D7D4 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it jumps to an initialization routine.
$05D7E2 5 bytes Jump (JML/JSL) Modified by Lunar Magic. Transfers Y into X, then JSLs to a routine that uses long addressing to index secondary entrance table $05F800 or its expanded version.
$05D7EA 5 bytes Jump (JML/JSL) Modified by Lunar Magic. Transfers Y into X, then JSLs to a routine that uses long addressing to index secondary entrance table $05FA00 or its expanded version.
$05D81C 5 bytes Jump (JMP/JSR) Modified by Lunar Magic. Transfers Y into X, then JSLs to a routine that uses long addressing to index secondary entrance table $05FC00 or its expanded version.
$05D836 5 bytes Code Modified by Lunar Magic.
TYX : JSL, it copies the Y register into X and then jumps to the routine at $03BCE0.
$05D842 4 bytes Jump (JML/JSL) The main jump of Kaijyuu's Multi Midway Points 1.7 Patch.
$05D842 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's the main entry point for the multiple midway points patch included in retry.
$05D8AC 5 bytes Code Hijacked by the Individual Dragon Coin Save patch by worldpeace, JackTheSpades and LX5.
It writes the original code (STA $0E : LDA $1F11,y) to restore it in case you patch the new version over an old one (which used this location as a jump point).
$05D8B1 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
JSL, it jumps to the routine at $05DCD0.
$05D8B7 39 bytes Code Modified by UberASMTool.
Inserts code that sets the current sublevel number in $010B, in a way that's compatible with older versions of the LevelNum patch.
$05D8B7 39 bytes Code Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
It's the LevelNum patch, which sets the current sublevel number in $010B.
$05D8B7 39 bytes Code Modified by UberASM and other patches and tools.

Stores the current level number to $010B. Differs from the levelnum.ips patch in that this one uses no freespace.
$05D8B9 3 bytes Jump (JMP/JSR) Modified by the Message Box Expansion patch. Jumps to the LevelNum code at $05DC46.
$05D8B9 3 bytes Jump (JMP/JSR) Modified by the Boss ExGFX patch, by Alcaro.
JSR. Jumps to the LevelNum code at $05DC46.
$05D8B9 3 bytes Jump (JMP/JSR) Hijacked by Pixi.
Inserts a JSR to the LevelNum routine inserted at $05DC46.
$05D8E2 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

Stores the current level number plus one to $FE, address used to load custom palettes.
$05D8E6 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it jumps to an initialization routine. This is run between the objects and sprites initialization codes.
$05D8F5 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

JSL, jumps to a subroutine at $0EF300 that gets the bank byte of the pointer to the level's sprite data from a table at $0EF100.
$05D8FB 2 bytes Opcode Modified by Lunar Magic. Changes "AND.b #$3F" to "AND.b #$1F".
$05D971 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's part of the code that fixes the bug where sprites always face left when loading a level.
$05D979 4 bytes Code Modified by Lunar Magic.
$05D97D 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
JSL, it jumps to the routine at $05DD30.
$05D984 4 bytes Jump (JML/JSL) Modified by Sprite Initial Facing Fix, by Alcaro.

JSL, modifies a portion of the level load player position init routine to set $94 - $97 and $D1 - $D4 equivalently.
$05D9A1 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Main hijack of the Dynamic Levels patch. It builds a lookup table though $7E:0BF6, $7E:0C56, $7E:0CB6 and $7E:0CD6 for indexing the map16 tables, sets $7E:13D7 (level height) value, $7E:1936 (level height - #$0010), $7E:0BF4 (sprite loader settings) and $7E:0BF5 (dynamic level settings).
$05D9C3 1 byte Opcode Modified by Lunar Magic.
$05D9D7 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it modifies the level loading routine to set Mario's entrance depending on the current checkpoint.
$05D9DE 4 bytes Jump (JML/JSL) Jumps to secondary exit handling code so Kaijyuu's Multi Midway Point 1.7 Patch can use them as midway points without messing with the original midway entrance.
$05D9DE 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, jumps to the code that handles secondary exits for the multiple midway points patch included in retry.
$05D9E3 4 bytes Jump (JML/JSL) Modified by Lunar Magic.

Used to handle LM's seperate midway point entrance functionality. The three 512-byte tables associated with it can be found in order at read3(read3($05D9E4)+$0A).
$05D9E8 4 bytes Code Modified by Lunar Magic.
$05D9EC 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, fixes vanilla midway entrances when using the patch.
$05D9FC 4 bytes Jump (JML/JSL) Modified by Sprite Initial Facing Fix, by Alcaro.

JML, modifies a portion of the level load player position init routine to set $94 - $97 and $D1 - $D4 equivalently.
$05D9FC 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's part of the code that fixes the bug where sprites always face left when loading a level.
$05DA03 4 bytes Jump (JML/JSL) Modified by Sprite Initial Facing Fix, by Alcaro.

JSL, modifies a portion of the level load player position init routine to set $94 - $97 and $D1 - $D4 equivalently.
$05DA03 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's part of the code that fixes the bug where sprites always face left when loading a level.
$05DA17 5 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05DA7F 1 byte Code Modified by Lunar Magic.
$05DA83 1 byte Code Modified by Lunar Magic.
$05DA8A 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Rebuilds the level height table for chocolate island special levels.
$05DAA3 4 bytes Jump (JML/JSL) A hijack from Kaijyuu's Multi Midway Points 1.7 Patch that makes secondary exits compatible with 'No Yoshi' intros.
$05DAA3 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it's the code that makes secondary exits compatible with "No Yoshi" intros in the multiple midway points patch included in retry.
$05DAB2 4 bytes Jump (JML/JSL) Hijacked by the Level Entrance Repointer Patch, by JamesD28 and Smallhacker.
JML, hijacks the level entrance routine to load data from a level between 0 and 1FF, then jumps back.
$05DAE6 1 byte Opcode Modified by Lunar Magic.
$05DB5F 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Rebuilds the level height table for chocolate island special levels.
$05DBC2 6 bytes Code Modified by Lunar Magic.
$05DBC9 2 bytes Data Modified by the Extended "Extended OW Level Names" patch. It changes the position of the life counter on the overworld to the bottom right corner.
$05DBF2 4 bytes Jump (JML/JSL) Modified by 999 lives, handles the lives' code during the overworld and when exchanging them.
$05DBF2 5 bytes Jump (JML/JSL) Modified by the Death Counter Version 1.2 patch by Thomas.

JSL, jumps to a custom routine that erases Mario's lives from the overworld border, and draws the death counter tiles on to the overworld border. Immediately returns again (RTL) after exiting from this custom routine.
$05DC46 7 bytes Code Modified by the Message Box Expansion patch. LevelNum, stores the current level number to $010B.
$05DC46 7 bytes Code Modified by the Boss ExGFX patch, by Alcaro.
LevelNum routine, stores the current level number to $010B.
$05DC46 7 bytes Code Hijacked by Pixi.
Small routine that stores the current sublevel number in $010B.
$05DC50 45 bytes Code Modified by Lunar Magic.
It's a routine that handles screen exits, by checking if the "u" bit in $7E19D8,x (x = screen number where Mario is) is set: if not, the vanilla exit system is used, otherwise LM's modified system is used.
$05DC81 3 bytes 24-bit Pointer Modified by Lunar Magic. The location of secondary entrance table $05FE00 or its expanded version in ROMs modified with Lunar Magic 2.50+.
$05DCB0 14 bytes Code Modified by Lunar Magic.
$05DCD0 30 bytes Code Modified by Lunar Magic.
It's a small routine inserted the first time the overworld is saved.
$05DCDD 5 bytes Jump (JML/JSL) Modified by the Level Depending On Event patch, by Deflaktor.

JSL, hijacks the level loading routine to change the level number if a certain event has been passed. A remaining byte is NOP'd out.
$05DCE2 4 bytes Jump (JML/JSL) Modified by the Level Depending On RAM Address patch, by Deflaktor.

JML, hijacks the level loading routine to change the level number if a certain RAM address is not 0.
$05DD00 29 bytes Code Modified by Lunar Magic.
$05DD30 70 bytes Code Modified by Lunar Magic.
$05DD80 20 bytes Code Modified by Lunar Magic.
$05DDA0 96 bytes Data Used by LM for the initial flags of each level (as stored to $1EA2).

If the overworld expansion hijack from LM v2.53 is applied, the table is instead moved to $03BE80, while these bytes are left unused.
$05DE00 512 bytes Data Added by Lunar Magic as a fifth byte of each level's secondary level header. Format: LWPYX---
L - Slippery flag
W - Water flag
P - Flag to use X/Y position method 2
Y - Bit 5 of the entrance Y position for method 2
X - Bit 4 of the entrance X position for method 2
(X/Y are switched in vertical levels)
$06F540 182 bytes Jump (JML/JSL) Used by Lunar Magic as a routine to get a particular Map16 tile's VRAM data (tile number/YXPPCCCT for each of its four tiles). To use, A/X/Y must be 16-bit, and A must contain the tile number multiplied by 2. It returns the lower two bytes of the pointer in A and the bank byte in both the high byte of Y and in $0C (for usages as a 24-bit pointer at $0A).
Alternative entries to the routine are at $06F5D0 (which returns the bank byte in $06 for a pointer at $04 instead of $0A), and $06F5E4 (which directly stores the full pointer into $65).

Pages 0/1 are handled via the original system (a pointer table to data at $0FBE).
Pages 2-7F are then handled by directly indexing their data tables. Each set of 0x10 pages uses a different table; they can each be found with the following calculations:
02-0F: read1($06F557)<<16|(read2($06F553)+$1000&$FFFF)
10-1F: read1($06F560)<<16|(read2($06F55C)+$8000&$FFFF)
20-2F: read1($06F56B)<<16|read2($06F567)+1
30-3F: read1($06F574)<<16|(read2($06F570)+$8000&$FFFF)+1
40-4F: read1($06F598)<<16|read2($06F594)
50-5F: read1($06F5A1)<<16|(read2($06F59D)+$8000&$FFFF)
60-6F: read1($06F5AC)<<16|read2($06F5A8)+1
70-7F: read1($06F5B5)<<16|(read2($06F5B1)+$8000&$FFFF)+1


In addition, if page 2 is set to use tileset-specific Map16 (which can be determined by checking if $06F547 is non-zero), then its data can be found at (read1($06F58A)<<16|read2($06F586))+$1000. In that table, each tileset receives 0x800 bytes, so you can find a particular tile's data by indexing as 0ttttbbb bbbbb000, where tttt is the FG/BG tileset and bbbbbbbb is the low byte of the tile number.
$06F608 60 bytes Jump (JMP/JSR) Used by Lunar Magic as a routine to get a Map16 tile's true acts-like (act as) setting (i.e. a value less than 0x200). It returns the 16-bit result in $03, as well as the low byte in $1693 and high byte in Y.

Additionally, the tables used to hold the Map16 tile acts-like settings can be found at the following locations:
Pages 00-3F: read3($06F624)
Pages 40-7F: read3($06F63A)

Each block in these tables receives two bytes, as its 16-bit acts-like setting. To find the true acts-like setting (i.e. a value less than 0x200), simply perform repeated lookups on these tables until a valid value is returned.
$06F624 3 bytes 24-bit Pointer Hijacked by GPS.
It inserts a long pointer to the table of acts like settings for block in the range $0000-$3FFF.
$06F63A 3 bytes 24-bit Pointer Hijacked by GPS.
It inserts a long pointer to the table of acts like settings for block in the range $4000-$7FFF. Only inserted if !__insert_pages_40_plus == 1.
$06F67B 4 bytes Jump (JML/JSL) Hijacked by GPS.
JML, jumps to code that checks for the new "WallFeet" and "WallBody" offsets.
$06F690 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioBelow" offset for custom blocks. The code then jumps back to $06F602.
$06F690 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario hits a tile from below.
$06F6A0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioAbove" offset for custom blocks. The code then jumps back to $06F602.
$06F6A0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile from above.
$06F6B0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioSide" offset for custom blocks. The code then jumps back to $06F602.
$06F6B0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile horizontally.
$06F6C0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "TopCorner" offset for custom blocks. The code then jumps back to $06F602.
$06F6C0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile on the top corners (which corner doesn't matter als long as they are from the top side).
$06F6D0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioBody" offset for custom blocks. The code then jumps back to $06F602.
$06F6D0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile with the lower half of his body (i.e. excluding his head).
$06F6E0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioHead" offset for custom blocks. The code then jumps back to $06F602.
$06F6E0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile with the upper half of his body (i.e. the head but not the rest of the body).
$06F717 4 bytes Jump (JML/JSL) Hijacked by GPS.
JML, jumps to code that fixes a bug regarding the "SpriteH" offset.
$06F720 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "SpriteV" offset for custom blocks. The code then jumps back to $06F602.
$06F720 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if a sprite touches a tile vertically (which side doesn't matter)
$06F730 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "SpriteH" offset for custom blocks. The code then jumps back to $06F602.
$06F730 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if a sprite touches a tile horizontally (which side doesn't matter)
$06F780 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioCape" offset for custom blocks. The code then jumps back to $06F602.
$06F780 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile with his cape.
$06F7C0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "MarioFireball" offset for custom blocks. The code then jumps back to $06F602.
$06F7C0 16 bytes Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario's fireball touches a tile.
$06F7D0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "WallFeet" offset for custom blocks. The code then jumps back to $06F602.
$06F7E0 16 bytes Jump (JML/JSL) Hijacked by GPS.
Hijacks part of Lunar Magic's map16 code to run the "WallBody" offset for custom blocks. The code then jumps back to $06F602.
$07F0C8 30 bytes Data Modified by Custom End Level Stars Text, by KevinM.

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

The new data for Y displacement of the giant bonus stars letters. This data can be up to 108 bytes big.
$07F1AA 32 bytes Data Modified by Goal Tape Gives Score patch. Changes bonus star reward table into a score reward table.
$07F1CF 21 bytes Code Modified by Custom End Level Stars Text, by KevinM.

Modifies the routine that draws the star text when the player catches a goal tape. Its size may vary, though; the limit address is $071FFF (included).
$07F208 1 byte Hex Edit Modified by Custom End Level Stars Text, by KevinM.

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

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

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

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

The same as $07F21A, but deals with the letters fade-out effect.
$07F25D 5 bytes Code Modified by Goal Tape Gives Score patch. Makes goal always give score on hit.
$07F26C 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $1656 value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F26C + ($85) = $07F2F1).
$07F335 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $1662 value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F3BA + ($85) = $07F43F).
$07F3FE 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $166E value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F3FE + ($85) = $07F483).
$07F43C 1 byte Data Modified by Item Box Sprite Fix, by Davros/Romi.

db $36, modifies P-Switch sprite tweaker info 166E to ensure proper palette in custom state.
$07F451 1 byte Data Modified by Item Box Sprite Fix, by Davros/Romi.

db $36, modifies Throw Block sprite tweaker info 166E to ensure proper palette in custom state.
$07F4C7 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $167A value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F4C7 + ($85) = $07F54C).
$07F590 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $1686 value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F590 + ($85) = $07F615).
$07F59D 1 byte Hex Edit Modified by the Yoshi InMouth Spit Expansion patch, by Isikoro.

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

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

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

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

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

Sets the "stay in Yoshi's mouth" Tweaker bit for the Reflecting Fireball sprite.
$07F659 1 byte Data Modified by PIXI's poison mushroom patch.
Sprite's $190F value. Note that the actual hijack location depends on the sprite slot chosen. For example, if the sprite is inserted in slot $85, then the hijack location is ($07F659 + ($85) = $07F6DE).
$07F77F 6 bytes Jump (JML/JSL) Modified by the "Takes 5 fireballs to kill" Work-around Patch.

This hijack extends the sprite tables reset routine to also reset the new "fireball hit counter" sprite table, defined by the freeRAM provided.
$07F785 5 bytes Jump (JML/JSL) Hijacked by Pixi.
Jumps to a routine that clears the init bit when changing sprites, works with $018151.
$0C9436 4 bytes Jump (JML/JSL) Hijacked by Lunar Magic. Rebuilds the level height table for credits. The credits still uses the level layout like a normal level.
$0C9447 1 byte Hex Edit Modified by AddmusicK.
Changes the "Staff roll" song number.
$0C9EEB 96 bytes Code Modified by Lunar Magic.
$0CA40C 1 byte Hex Edit Modified by AddmusicK.
Changes the "Yoshis are home" song number.
$0CA5C2 1 byte Hex Edit Modified by AddmusicK.
Changes the "Cast list" song number.
$0CAE0F 2 bytes Code Modified by Lunar Magic.
$0CB66E 300 bytes 24-bit Pointer GPS pointer table for shared routine. Tool caps at 100 routines with the pointers being 3 bytes long each (taking 300 bytes in total if you hit the cap).
$0CC94E 4 bytes Jump (JML/JSL) Modified by Skippable Castle Cutscenes: Adds a check which allows the player to skip the cutscene.
$0CD5D4 1 byte Hex Edit Modified by AddmusicK (1.0.8).
Changes the number of the second castle destruction sequence song.
$0DA106 4 bytes Jump (JML/JSL) Modified by ObjecTool 0.5, by 0x400 and imamelia.
JML, It adds support for new extended objects ($98+).
$0DA415 5 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML : NOP, it runs the custom midway object code. (only if !use_custom_midway_bar = 1)
$0DA415 5 bytes Jump (JML/JSL) Modified by ObjecTool 0.5, by 0x400 and imamelia.
JML : NOP, it allows the user to place object 2D into the level and therefore adds support for custom normal objects.
$0DA532 1 byte Code Modified by Lunar Magic.
$0DA536 2 bytes Code Modified by Lunar Magic.
$0DA62B 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0DA691 4 bytes Jump (JML/JSL) Hijacked by the Retry System (+ Multiple Checkpoints) v2.06b patch by worldpeace and LX5.
JML, it modifies the midway bar object code to spawn the midway when another one in the level has been collected.
$0DA916 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0DA924 4 bytes Jump (JML/JSL) Modified by the "Beat level by collecting all of the coins" patch. Jumps to a routine which counts how many coin objects are in the level.
$0DA963 17 bytes Code Modified by Lunar Magic. Increments $6B-$6C/$6E-$6F by the current level height ($13D7) instead of constant #$01B0. Implementation
$0DA9D6 25 bytes Code Modified by Lunar Magic. Decrements $6B-$6C/$6E-$6F/$04-$05 by the current level height ($13D7) instead of constant #$01B0. Also decrements $1BA1. Implementation
$0DA9EF 22 bytes Code Modified by Lunar Magic. Increments $6B-$6C/$6E-$6F/$04-$05 by the current level height ($13D7) instead of constant #$01B0. Also increments $1BA1. Implementation
$0DB2D7 4 bytes Jump (JML/JSL) Hijacked by the Individual Dragon Coin Save patch by worldpeace, JackTheSpades and LX5.
JML, it modifies the Dragon Coin object code to not generate the coin in case it's been collected already.
$0DB318 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0DB384 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$0DBADC 39 bytes Code Modified by Forest Treetop Fix. Makes forest treetops able to be positioned at any Y position inside a level.
$0DBB16 13 bytes Code Modified by Lunar Magic.
$0DE190 7 bytes Code Used by Lunar Magic. Routine that indexes secondary entrance table $05F800 or its expanded version with long addressing. $0DE191 is the 24-bit pointer to the location of secondary entrance table $05F800 or its expanded version in ROMs modified with Lunar Magic 2.50+.
$0DE197 7 bytes Code Used by Lunar Magic. Routine that indexes secondary entrance table $05FA00 or its expanded version with long addressing. $0DE198 is the 24-bit pointer to the location of secondary entrance table $05FA00 or its expanded version in ROMs modified with Lunar Magic 2.50+.
$0DE19E 7 bytes Code Used by Lunar Magic. Routine that indexes secondary entrance table $05FC00 or its expanded version with long addressing. $0DE19F is the 24-bit pointer to the location of secondary entrance table $05FC00 or its expanded version in ROMs modified with Lunar Magic 2.50+.
$0DF08A 79 bytes Code Modified by Lunar Magic.
It's a subroutine (which ends in RTS) inserted the first time a level is saved in LM.
$0DF150 13 bytes Code Modified by Lunar Magic.
Small piece of code inserted the first time a level is saved in LM.
$0DF160 35 bytes Code Modified by Lunar Magic.
It's a subroutine (which ends in RTS) inserted the first time the time limit setting is bypassed in LM.
$0DF17D 4 bytes Jump (JML/JSL) Hijacked by the Midway Point Timer Reset patch by WhiteYoshiEgg.
JML, it hijacks Lunar Magic's custom routine that sets the level timer to backup its initial value.
$0DF1C0 178 bytes Code Modified by Lunar Magic.
It's a subroutine (which ends in RTS) inserted the first time a level is saved in LM.
$0DF290 59 bytes Code Modified by Lunar Magic.
It's a subroutine (which ends in RTS) inserted the first time a level is saved in LM.
$0DF2CB 8 bytes Table Modified by Lunar Magic.
It's an AND table (which goes from $01 to $80) inserted the first time a level is saved in LM. It's used by the code at $0DF290.
$0E8000 28928 bytes Code Modified by AddmusicK.
First, an header is inserted, containing the following:
- The identifier characters "@AMK".
- Version number (which seems to be kept at $00 in all versions of the program).
- Long pointer to the table of sample groups pointers.
- Long pointer to the table of music data pointers.
- 21 "$00" bytes, probably meant for future expansions.

Then, the main code of the tool is inserted, which handles uploading music to the SPC700 and playing it, and the rest of the space is cleared out by filling it with "$55" bytes ("rep $7100 : db $55" done before inserting the custom code). The space is cleared out until $0EF0FF, since $0EF100-$0EFFFF is used by Lunar Magic.
$0EF0F0 3856 bytes Miscellaneous Modified by Lunar Magic.

- $0EF100-$0EF2FF (512 bytes): Table that holds the bank byte of the pointer to each level's sprite data, modified the first time any level is saved in LM. If a level hasn't been altered, the entry into the table for that level will be the vanilla bank byte of the sprite data pointer ($07).

- $0EF300-$0EF30B (12 bytes): Routine that gets the bank byte of the pointer to the level's sprite data from the table at $0EF100, and stores it to $D0. Read from [$CE] during the level load routine.

If $0EF30C-$0EF30E contains an address to a sprite extra byte table and $0EF30F holds a value of $42, Lunar magic will enable extra bit customization for placing sprites.

Additionally, Lunar Magic inserts a 55 bytes routine at $0EFD00 (ends in RTL), which is used to get the BG Map16 page during level loading, and a 48 bytes table at $0EFD50, read from in the routine.
Extra Bytes Data
$0EF100 512 bytes Table Modified by LM.

This table contains the bank bytes of every level's sprite data pointer.
$0EF30C 4 bytes Data Hijacked by Pixi.
Writes the pointer to sprite size table, and then a $42 byte, so that Lunar Magic will enable extra bit customization for placing sprites.
$0EF310 512 bytes Table Used by LM as a table of Layer 2-related data for each level. Format: bbBB-LD-
D = What type of data the layer 2 is: object (0) or tilemap (1)
L = Flag to indicate the usage of the high nibble
BB = When L bit is set: Map16 bank to use for the BG
bbBB = When L bit is clear: used as the high byte for all BG Map16 tiles (deprecated?)
-- = Unused
$0EF55D 3 bytes 24-bit Pointer Used by Lunar Magic as a 24-bit pointer to the custom overworld sprite data table. Will be $FFFFFF if no custom sprites are being used.
$0EF600 1536 bytes 24-bit Pointer Used by LM for a pointer table to each level's custom palette.

If a level's pointer is $000000, that means it has no custom palette and the data should be interpreted from the level header instead.
$0EFD50 24 bytes Table Used by Lunar Magic. This is a table of eight 24-bit pointers to the BG Map16 data in ascending order, where each pointer corresponds to a set of 0x10 pages. If a pointer is $000000, then that set of BG Map16 pages is currently unused.
$0F8000 28753 bytes Data Modified by AddmusicK.
This is where AMK's custom SPC engine (main.bin) is inserted in the ROM, to then be uploaded to the SPC700 ram. The remaining bytes are cleared out by filling them with "$55" bytes ("REP $7051 : db $55" done before inserting the custom data). The space is cleared out until $0FF050, since $0FF051-$0FFFFF is used by Lunar Magic.
$0FF0A0 160 bytes Hex Edit Not actually "used" for anything, but Lunar Magic writes the following string here:
Code
Lunar Magic Version X.XX Public 
©YYYY FuSoYa, Defender of Relm h
ttp://fusoya.eludevisibility.org
                                
I am Naaall, and I love fiiiish!

where X.XX is the version number and YYYY is the publication year of the LM version used.
$0FF600 384 bytes 24-bit Pointer Used by Lunar Magic for a table of 24-bit pointers to ExGFX80-FF (pointers for 100-FFF can be found at $read3($0FF937)). A pointer of 000000 indicates the file isn't inserted.
$0FF7F0 67 bytes Jump (JML/JSL) Used by Lunar Magic as a routine to handle processing ExGFX files during level load.
A table of every level's ExGFX files can be found at read3($0FF7FF). Each level receives 32 bytes, with two bytes per ExGFX file; some additional data is also stored in the high byte of certain files. More information can be found here.
$0FF900 110 bytes Jump (JML/JSL) Used by Lunar Magic as a routine to decompress a 4bpp GFX file to a specified location in RAM. To use it, load the 16-bit GFX file number into A and 24-bit destination RAM address in $00.
Note that it won't work on GFX32/33.
$0FFB9C 4 bytes Jump (JML/JSL) Modified by 32x32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

JML, overwrites Lunar Magic code to skip uploading player graphics during overworld path transitions, preventing graphical bugs.
$0FFC94 4 bytes Jump (JML/JSL) Modified by 32x32 Player Tilemap Patch, by ExE Boss and Ladida. Edit applied by the main patch.

JML, overwrites Lunar Magic code to correct player palette mirrors prior to palette upload, preventing graphical bugs.
Pages: « 1 2 3 4 » Per Page: 25 50 75 100 150 500 All

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2021 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy
  • sm64romhacks