31 users online: Amine Retro, AnasMario130, bersi, blaze800000, Boshi,  BTD6_maker, Darolac, ForthRightMC, Hayashi Neru, Infinity,  JamesD28, KaidenThelens, kamekku14,  KevinM, lx5, Mad Lad, MDBattleFrog, princess1234, qantuum, Rilla Roo, Rykon-V73, Sancles, Sariel, slakkmichael,  Tahixham, TheBiob,  Tob, TomatoPhalanges, Vaporaze, WhiteYoshiEgg, Zidan3 - Guests: 49 - Bots: 58 Users: 45,660 (3,292 active)
Latest user: DantendoStyle
Not logged in.
SMW Memory Map
Displaying 50 out of 1100 addresses. Show Waiting Addresses (28)
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 319 20 21 22 » Per Page: 25 50 75 100 150 500 All
Hijack Address Length Type Description Details
$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.
$05D7B9 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D7CE 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$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.
$05D842 4 bytes Jump (JML/JSL) The main jump of Kaijyuu's Multi Midway Points 1.7 Patch.
$05D8B1 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$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.
$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.
$05D8F5 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$05D8FB 2 bytes Opcode Modified by Lunar Magic. Changes "AND.b #$3F" to "AND.b #$1F".
$05D979 4 bytes Code Modified by Lunar Magic.
$05D97D 4 bytes Jump (JML/JSL) Modified by Lunar Magic.
$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.
$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.
$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.
$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.
$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.
$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.
$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.
$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+.
$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.
$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 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.
$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 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 Hex Edit Used by Lunar Magic. This area allows you to insert custom Map16 interactions if Mario touches a tile horizontally.
Pages: « 1 2 319 20 21 22 » Per Page: 25 50 75 100 150 500 All