Banner
Views: 943,075,468
Time:
15 users online: Big T_332, CalHal, Chondontore, codfish1002, gaofrisk,  icrawfish, Link13, MeNe, Neuromancer, RenkoV2, RichardDS90, SJandCharlieTheCat,  Slash Man, Stivi, WhiteYoshiEgg - Guests: 84 - Bots: 183 Users: 52,440 (2,009 active)
Latest: valsillios
Tip: $5.27
Not logged in.
SMW Memory Map
Displaying 41 out of 841 addresses. Show Waiting Addresses (13)
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 314 15 16 17 » Per Page: 25 50 75 100 150 500 All
RAM Address Length Type Description Details
$7EAD00 3072 bytes Graphics GFX file decompression buffer. Decompressed as 3bpp (3kb) for unexpanded GFX and as 4bpp for expanded.
Also used for Lunar Magic's extra animated tile space.
$7E:B900 is also used as additional buffer kilobyte.
$7EB900 1024 bytes Blocks Layer 2 tilemap, low byte. Format: First two 16x27 rectangles, then 160 25s that are never read.

Also used on the overworld during the switch block events for various purposes:
$7EB900-$7EB927 = Switch block X position, high byte
$7EB928-$7EB94F = Switch block Y position, high byte
$7EB950-$7EB977 = Switch block Z position, high byte
$7EB978-$7EB99F = Switch block X position, low byte
$7EB9A0-$7EB9C7 = Switch block Y position, low byte
$7EB9C8-$7EB9EF = Switch block Z position, low byte
$7EB9F0-$7EBA17 = Switch block X speed
$7EBA18-$7EBA3F = Switch block Y speed
$7EBA40-$7EBA67 = Switch block Z speed
$7EBA68-$7EBA8F = Accumulating fraction bits for fixed point switch block X speed
$7EBA90-$7EBAB7 = Accumulating fraction bits for fixed point switch block Y speed
$7EBAB8-$7EBADF = Accumulating fraction bits for fixed point switch block Z speed
$7EBD00 1024 bytes Blocks Layer 2 tilemap, high byte; same format as $7E:B900. Writing to this area with the gfx+2 patch installed generates BG garbage and should never be done.
$7EC100 1408 bytes Empty Empty, untouched RAM on an unhacked ROM. Lunar Magic uses it to store ExAnimation graphics data if the ExAnimation file is larger than 0x1400 bytes. Maximum size is 0x1B00, or enough for 0xD8 4bpp 8x8 tiles, in which case all of $7E:AD00-$7E:C7FF is used.
$7EC680 96 bytes Misc. Tilemap of Mode 7 bosses (Ludwig, Roy, Morton and Bowser).
$7EC6E0 288 bytes Empty Empty, untouched RAM on an unhacked ROM. In a hacked ROM, it may be occupied by ExAnimation data (see $7E:C100).
$7EC800 14336 bytes Blocks Map16 Low Byte Table.
For horizontal levels, $1B0 tiles per screen, where each screen can be indexed using the format ------y yyyyxxxx. $7E:FE00-$7E:FFFF are unused.
For vertical levels, $200 bytes per screen, with the format --sssssx yyyyxxxx. All bytes are used.
If layer 2 or 3 is interactive in the level, it uses screens 10-1F (0E-1B in vertical levels).

On Lunar Magic version 3+, refer to this document for the blocks format for other level dimensions.


On the overworld:
$7E:C800-$7E:CFFF (2048 ($800) bytes) is used as the Layer 1 tilemap for the overworld.
To index this table, use $7E:1F11, $7E:1F1F, and $7E:1F21 to find Mario, or use $7E:1F12, $7E:1F23, and $7E:1F25 to find Luigi.
X position / 16: %---- ---- ---X xxxx
Y position / 16: %---- ---- ---Y yyyy
Index to this table: %---- -SYX yyyy xxxx
* If Mario is on a submap, the S bit is set.

$7ED000-$7ED7FF (2048 bytes) is used as a table that contains the translevel numbers for every Layer 1 tile, in the format of $7E13BF.
$7ED800-$7EDFFF (2048 bytes) is used as a table that contains the path direction settings for every Layer 1 tile, in the format of $04D678.
$7EE400-$7EEBFF (2048 bytes) is used for uploading the Layer 1 tile map to VRAM in 2KB chunks. One chunk is uploaded per frame for four frames during transitions between the main overworld and submaps. Data is refreshed after each DMA.
$7F0000 16384 bytes Overworld Layer 2 event tilemap of the overworld. $7F:0D00-$7F:3FFF is empty (untouched) RAM on a vanilla ROM, but LM uses it to hold the expanded layer 2 event tilemap on a hacked ROM.
LM also uses $7F:0000 and upwards to store title screen movement (three bytes every time a key is pressed or released, or if the same keys are held for #$FF frames), and $7F:0B44-$7F:1343 are also used as buffer for dynamic sprite graphics because of them being uploaded during V-Blank.
$7F4000 16384 bytes Overworld The Layer 2 tilemap of the whole overworld (including submaps, starting at $7F:6000). It does NOT affect the event tiles. The tiles are also 8x8. The tilemap starts from the top left corner of the main overworld. Format is as following:
[Tile number], [Tile properties]
This table is also used for a RAM buffer for the credit cutscene backgrounds.
$7F8000 387 bytes Sprites Unrolled loop which, executed once per each frame, writes to OAM to put all sprites outside the screen (this clears the OAM slots by setting their Y positions to #$F0). Note: Not executed during pause.
$7F8183 504 bytes Empty Empty, untouched RAM.
~420 bytes used in LM 1.70+ for VRAM modification (see details).
RAM Map
$7F837B 2 bytes Misc. Current length of the $7F837D stripe image, excluding the FF terminator. Used to allow two subroutines to write to $7F837D in the same frame.
$7F837D 5118 bytes Misc. VRAM upload table, as a stripe image. Used for things that change in the middle of the screen, such as ? blocks. Uploaded and reset every frame; most frames, it's empty.

Not all of it is used during normal gameplay, so $7F:8600+ shouldn't be dangerous to use.

See here for more info.
$7F977B 768 bytes Misc. Mario/Luigi Start, Game Over, Time Up etc. messages Graphics, decompressed.
$7F9A7B 512 bytes Sprites Position of Wiggler's segments.
$7F9C7B 11141 bytes Empty Empty RAM which is entirely untouched.
This area is used by many SMW hacking tools and patches, so hacked ROMs are likely to use some of the addresses found here.
$7FAB10 12 bytes Sprites Custom sprite table used by Pixi.
It holds the extra bits of a sprite.
Usage
$7FAB1C 12 bytes Sprites Custom sprite table used by Pixi.
Using during sprite loading to signal that the sprite being loaded is custom. Used for custom generators, shooters and normal sprites.
$7FAB28 12 bytes Sprites Custom sprite table used by Pixi.
It holds the first extra property byte of the sprite.
$7FAB34 12 bytes Sprites Custom sprite table used by Pixi.
It holds the second extra property byte of the sprite.
The highest two bits are used by Pixi to determine if the sprite should execute the original code for sprite states other than 8 (main): if the highest bit is set, the original code will be skipped, while if the second highest bit is set, the original code will be executed and then the custom code.
$7FAB40 12 bytes Sprites Custom sprite table used by Pixi.
It holds the first extra (extension) byte of the sprite.
$7FAB4C 12 bytes Sprites Custom sprite table used by Pixi.
It holds the second extra (extension) byte of the sprite.
$7FAB58 12 bytes Sprites Custom sprite table used by Pixi.
It holds the third extra (extension) byte of the sprite.
$7FAB64 12 bytes Sprites Custom sprite table used by Pixi.
It holds the fourth extra (extension) byte of the sprite.
$7FAB9E 12 bytes Sprites Custom sprite table used by Pixi.
It holds the custom sprite number, as defined in the list.txt file, and is a copy of $9E for vanilla sprites. To get the act as of a custom sprite, use $9E instead.
$7FAC00 8 bytes Sprites Custom shooter sprite table used by Pixi.
It holds the first extra byte of the shooter.
$7FAC08 8 bytes Sprites Custom shooter sprite table used by Pixi.
It holds the second extra byte of the shooter.
$7FAC10 8 bytes Sprites Custom shooter sprite table used by Pixi.
It holds the third extra byte of the shooter.
$7FAF00 256 bytes Sprites Custom sprite table used by Pixi.
This serves the same purpose as $1938, but it supports up to 255 sprites per level. Not used if !Disable255SpritesPerLevel is set. In custom sprites it's recommended to use the !1938 define, since it'll be mapped to either $1938 or $7FAF00 depending on the Pixi configuration (pay attention that in one case it's absolute, in the other it's long!).
$7FB000 1034 bytes Misc. RAM used by AddmusicK for various purposes. RAM Map
$7FBC00 1024 bytes Misc. Used by Lunar Magic's VRAM patch.
$7FC000 32 bytes Misc. Used by Lunar Magic for various purposes. See details for an incomplete list. RAM Map
$7FC020 14 bytes Misc. Used by Lunar Magic 2.20+ for LZ2/LZ3/ExAnimation code execution, on SA-1 roms only.
$7FC060 16 bytes Flag Conditional Direct Map16 flag. It's a table of bits, ordered from low to high. Used since Lunar Magic 1.80.
$7FC070 16 bytes Misc. Manual ExAnimation triggers. Each manual trigger slot corresponds to 1 byte in this table. Note that this address is not initialized unless you use the "Trigger Init" button in the ExAnimation dialog.
Used since Lunar Magic 1.70.
$7FC080 32 bytes Counter Level ExAnimations frame counter, one byte for each slot.
$7FC0A0 32 bytes Counter Global ExAnimations frame counter, one byte for each slot.
$7FC0F8 4 bytes Misc. One Shot ExAnimation triggers. Each trigger corresponds to 1 bit, ordered from lower to higher.
Used since Lunar Magic 1.70.
$7FC0FC 2 bytes Misc. Custom ExAnimation triggers. Each trigger corresponds to 1 bit, where a bit set means the trigger is enabled. Note that this address isn't initialized unless you use the "Trigger Init" button in the ExAnimation dialog.
Used since Lunar Magic 1.70.
$7FC300 1024 bytes Misc. Map16 high byte buffer. Used since Lunar Magic 1.70 for VRAM modifications.
$7FC800 14336 bytes Blocks Map16 high byte table. Same format as $7E:C800.
$7F:FFF8 through $7F:FFFD are also used by Lunar Magic's title screen recording ASM.
Pages: « 1 2 314 15 16 17 » 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