Banner
Views: 625,716,565
Time:
8 users online: AntiDuck, chickaDEE Magazine, Fierce Deity Manuz OW Hacker, GreenLightningx6, Matthewsmwhacking, Meirdent, PaperWario, PokerFace - Guests: 39 - Bots: 169Users: 34,580 (1,444 active)
Latest: EdTasq
Tip: ExAnimation also works on sprites!Not logged in.
SMW Hijack Map
Displaying 19 addresses. Show moderated addresses - Submit address
Address Length Type Description Submitter
$00C977 1 byte Opcode Modified by Lunar Magic.

Lunar Magic 2.53+ changes this to 0x38 in non-SA-1 ROMs to fix the timing on the victory animation during the goal walk so it matches up with the original goal music.
yoshifanatic
$018221 2 bytes 16-bit Pointer Modified by Lunar Magic.

Lunar Magic 2.53+ changes sprite 52's (moving ledge hole) init pointer to $85B7 (part of the piranha plant's init routine) to fix an issue in the original SMW where this sprite would spawn in the wrong position if placed at the top of a subscreen.
yoshifanatic
$03BB20 52 bytes Code Modified by Lunar Magic.
Writes the level name data into the stripe table ($7F837D) to be uploaded during NMI. The table that contains this data can be found using read3($03BB57).
Erik
$03BC7F 16 bytes Table Used by Lunar Magic as a table of stripe headers (at least, the first two bytes of them) for each line of the message box. Thomas
$03BE80 384 bytes Table Used by Lunar Magic for its level names system. Specifically, this table contains 16-bit indices to the message data table at read3($03BC0B) for each message. This table is indexed as ((translevel number * 2) + message number) * 2.

If the overworld expansion hijack from LM v2.53 is applied, this table is moved to read3($03BBD9) and modified to contain direct 24-bit pointers for every message, while the index table at read3($03BC0B) is scrapped.
In its place, the first 256 bytes are used as the initial level flags (moved from $05DDA0), with the remaining bytes left unused.
Thomas
$03FE00 512 bytes Table Lunar Magic uses this as a table of the level animation settings for each level. Format: PTLG----
P = disable original game's palette animations
T = disable original game's tile animations
L = disable LM's level animations
G = disable LM's global animations
---- = unused
Thomas
$0583B8 5 bytes Jump (JML/JSL) Modified by Lunar Magic.

Used to process ExGFX files during level load. The pointer table for the file data can be found with read3(read3($0583B9)+$0F).
Thomas
$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).
Thomas
$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.
Thomas
$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)
Thomas
$05DE00 200 bytes Table Used by LM as an expansion of the secondary level header. Format: LWPYX---
L = slippery flag
W = water flag
P = use X/Y position method 2
Y = bit 5 of Y position for method 2
X = bit 4 of X position for method 2
--- = currently unused
Thomas
$0EF100 512 bytes Table Modified by LM.

This table contains the bank bytes of every level's sprite data pointer.
Thomas
$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
Thomas
$0EF55D 3 bytes 24-bit Pointer Used by Lunar Magic. Contains a 24-bit pointer to the custom overworld sprite data table. Is $FFFFFF if no custom sprites are used on the overworld. yoshifanatic
$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.
Thomas
$0EFD50 24 bytes Table Used by Lunar Magic. This is a table of 8 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 unused. yoshifanatic
$0FF0A0 160 bytes Miscellaneous 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 http://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.
Thomas
$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. Thomas
$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.
Thomas

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

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


Total queries: 22

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented