Banner
Views: 844,583,675
Time:
11 users online:  1UPdudes, 7 up, Alex_X8, Bernardo, h.carrell, King Mayro, MetaJohnZilla, MightyNeko, Sonck's entertainment, Spulg, Tyrantosaur - Guests: 48 - Bots: 73 Users: 46,438 (2,766 active)
Latest: wat_newby3
Tip: Make sure you can beat your own levels without savestates, slowdown, or rewinding.Not logged in.
SMW Memory Map
Displaying 75 out of 3043 addresses. Show Waiting Addresses
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 328 29 30 31 3240 41 » Per Page: 25 50 75 100 150 500 All
ROM Address Length Type Description Details
$05A580 16 bytes Layer 3 VRAM positions for the different lines of the message boxes. Actually the first half of stripe images; the second half is the same for all of those. It's at $05B1F7.
$05A590 23 bytes Misc. Which levels have message boxes. Different values here corresponds to $13BF. If the highest bit (#$80) is set, it tells that message 2 is used for that level; if clear, message 1 is used.
Most likely not used when LM is done with the ROM.
$05A5D9 2854 bytes Layer 3 All the message box texts.
They're almost raw tilemaps (doesn't contain YXPCCCTT data) to be uploaded to VRAM, but setting the highest bit makes it add a newline too.
$05B106 2 bytes Misc. Time when to show text after expanding/shrinking the Message Box window.

1st byte determines when to show the message.
2nd byte determines how fast to hide the message.

Edited values can't be higher than the default hex values.
$05B108 2 bytes Misc. Expanding/Shrinking size of Message Box window.

Second digit of both bytes can't be other numbers than 0.
$05B10A 2 bytes Misc. Expanding/Shrinking speed of Message Box window.
$05B10C 399 bytes Subroutine (JSL) The subroutine that displays the message from a message box. It handles the windowing HDMA, the stripe image upload, and things such as teleporting to the overworld after the intro screen.

$05B129: [9C 9F 0D] Change to [EA EA EA] to prevent HDMA from getting disabled AFTER a message box has been displayed. Use with $05B296.
$05B15C: [8E] The Y position on which to start the march to Yoshi's House after the intro screen. To be used with $048F08.
$05B15D: [8D 19 1F] ASM code that stores the player's starting Y position to its RAM address, $1F19. Lunar Magic changes this to [EA EA EA] if you move the Mario OW sprite around, thus disabling the intro march (and its effects, such as storing '0' to the amount of levels cleared). If you want to undo this effect, change it back to [8D 19 1F].
$05B160: Side exit subroutine. It can be JSL'd to.
$05B189: [D0 CF] Change to [EA EA] to prevent the message that pops up in the intro screen from exiting the level. (It will act exactly the same as a message in any other level.)
$05B21D: [39] Tile properties of the Layer 3 tiles in message box messages in YXPCCCTT format. (Note: Lunar Magic ASM hacks render this address unused.)
$05B296: [8D] Change to [0C] to prevent HDMA from getting disabled WHILE a message box is being displayed. Use with $05B129.
$05B29B 64 bytes Sprite tilemap related This is the 8x8 tilemap data for the sprites used on the switch palace messages (dotted and '!' block). The first byte in each in the tile, the second byte is the YXPPCCCT data.
$05B329 33 bytes Subroutine (JSL) "Give coins" subroutine. If you JSL to it, it will give the player the number of coins equal to the value in A.
$05B34A 17 bytes Subroutine (JSL) Subroutine that gives the player a single coin. It handles the green star block as well.
$05B34E is the sound this generates.
$05B375 488 bytes Layer 3 Title screen stripe image data (the part that appears right as the title screen loads up).
$05B6FE 203 bytes Layer 3 Tilemap of the erase file select dialog. ("ERASE MARIO A . . . EMPTY", etc.)
$05B7C9 169 bytes Layer 3 Tilemap of the file select dialog. ("MARIO A . . . EMPTY", etc.)
$05B872 85 bytes Misc. 1 / 2 player game stripe image data.
$05B93B 48 bytes Misc. Destination VRAM addresses for animated tiles. There are 6 bytes, 3 16-bit addresses, for each of the 8 possible animation frames (index = (frame & 7) * 6), and their values get stored to $0D7C, $0D7E, and $0D80 during the animation handling routine. (The last 6 bytes are actually unused, since SMW never uses animation frame 7 for anything.)
$05B96B 24 bytes Misc. This table determines how a certain tile should vary its animation. 00 = always the same, 01 = change depending on $14AD, $14AE, or $14AF (P-switch timers and on/off switch), 02 = change depending on $1931 (FG/BG tileset number). It is indexed by the animation frame times 3, or (($14 & #$07) * 3), and each of the 8 possible animation frames uses one group of 3 bytes. Note that the last 6 bytes overlap with the table at $05B97D.
$05B97D 15 bytes Misc. Table that determines, for tile animations that can have one of two states, which address to use to determine the state (i.e. any animation for which its corresponding value in the table at $05B96B is 01). The address used is $14AD plus this value, so 00 = blue P-switch, 01 = gray P-switch, 02 = on/off switch. This table is only 15 bytes long rather than 24 because all of the 2-state animations are updated on animation frame 0, 1, 2, 3, or 4, never 5, 6, or 7. Note also that the last byte overlaps with the table at $05B98B.
$05B98B 14 bytes Misc. Table, indexed by FG/BG tileset. Determines which group of animated tiles to use for a certain tileset, such as conveyor belts, stars, lava, etc.
$05B999 416 bytes Misc. Frame data for animated tiles. Each group of 8 bytes is one set of tile animation, and each pair of bytes is one frame. The numbers are offsets forming the lower two bytes of pointers to the table data at $7E7D00. (For instance, the first two bytes = 00 95 -> data at $7E9500.) There seems to be no discernable pattern to which tiles are uploaded where in VRAM, though.
$05BB39 109 bytes Subroutine (JSL) The routine that handles tile animation. It reads the animation data from the table at $05B999 and, based on that and a few other factors (such as tileset and blue P-switch status), sets the pointers to the tile data in the table at RAM $7E0D76.
$05BBA6 90 bytes Empty Unused data.
$05BC87 30 bytes Pointer Pointers to the scroll sprite main routines for Layer 1 scrolling.
$05BCB8 30 bytes Pointer Pointers to the scroll sprite main routines for Layer 2 scrolling.
$05BCF0 30 bytes Pointer Pointers to the scroll sprite init routines for Layer 1 scrolling.
$05BD17 30 bytes Pointer Pointers to the scroll sprite init routines for Layer 2 scrolling.
$05BEA6 3 bytes ASM [9C 11 14] Change this to EA EA EA to make Layer 2 Sideways Scroll not disable horizontal scroll.
$05C4F2 6 bytes ASM Change from [85 22 A9 01 85 23] to [38 69 02 85 22 EA] in order to make the Layer 3 tides scroll to the right instead of the left. (Nothing is stored to the high byte of Layer 3 X position, however, so if you adjusted the tide to be asymmetrical, this may not give the wanted result.)

Only applies to the graphical part of the Layer 3 tide.
$05C71B 1 byte Misc. Layer 2 on/off switch lower limit. The lower this number, the further down the screen layer 2 will go before stopping.
$05C71D 1 byte Misc. Layer 2 on/off switch upper limit. The higher this number, the further up layer 2 will go before it will start descending again.
$05C7BC 3 bytes Misc. Change to A9 08 EA and the background will start scrolling fast with generator F4 without having to touch platform C1
$05C7CB 2 bytes Misc. Maximum speed of layer 2 scrolling during "Fast BG Scroll" (sprite F4).
$05CA5C 5 bytes Sprite Misc. What direction Layer 2 will start out moving when each variant of the Layer 2 Scroll sprite (sprite EA) is used. In order: Range 12, Range 08, Range 05, Range 06, Range 05 (alternate). 00 -> down, 01 -> up.
$05CBF5 10 bytes Timer Determines the distance for Layer 2 to scroll when using each variant of the Layer 2 Scroll sprite (sprite EA), outside of the acceleration/deceleration period. In order: Range 12, Range 08, Range 05, Range 06, Range 05 (alternate); each type corresponds to a pair of bytes here. The first byte of each pair is for the first movement, and the second is for every time it moves after that. The data is roughly how much time will be spent scrolling at full speed, not the actual distance, so the scroll speed and acceleration affect this.
$05CBFF 8 bytes Subroutine (JSL) Jumps to Level End Scorecard Subroutine
$05CC16 75 bytes Layer 3 Start of course clear message tilemap.
$05CC1A (10 bytes) is 'MARIO' tiles and attributes used in the end-of-level scorecard
$05CC28 (12 bytes) is "COURSE" and attributes at end of level scorecard.
$05CC36 (10 bytes) is "CLEAR" and attributes at end of level scorecard.
$05CC61 5 bytes Misc. 'LUIGI' letters used in the end-of-level scorecard (uses the same attributes as the MARIO letters)
$05CC66 2 bytes Misc. Change to 80 1C to prevent the player from getting a free 1UP at the goal if the tens digit of your bonus star counter and the tens and ones digits of your time are all the same
$05CC85 1 byte Misc. Change to 00 to disable "Course Clear" from appearing.
$05CCC4 1 byte Misc. Number of LUIGI tiles to use in the end-of-level scorecard
$05CD2C 1 byte Timer Time it takes for Bonus! to appear after hitting the goal tape.
$05CD3F 35 bytes Layer 3 Stripe image for the bonus star counter in end of level scorecard.
$05CD3F is the main "BONUS! ★x__" text, with the __ being blank tiles reserved for the bottom of the number of stars.
A second header starting at $05CD5A handles two additional blank tiles, used for the top of the numbers.
$05CD62 20 bytes Layer 3 Table of tiles used to display the amount of bonus stars received in the end level routine.
Starts with top tile of 0, bottom tile of 0, top tile of 1, bottom tile of 1, etc. Notably, there's no header OR end byte.
$05CD79 1 byte ASM Changing this byte to [80] will disable the bonus counter in the 'Course Clear' screen.
$05CDD8 1 byte ASM Changing this byte to [80] will disable the drumroll sound effect, and the Timer and score tallying at the 'Course Clear' screen.
$05CDE4 1 byte Sound effect Drum Roll (tallying points) Sound Effect.
$05CE7A 1 byte Misc. Time Multiplier for every second (use with $05CE92) must be a multiple of 10.
$05CE92 1 byte Misc. Time Multiplier for every second (use with $05CE7A) must be a multiple of 10.
$05CF1B 3 bytes ASM Change to EA EA EA and the player will receive no bonus stars at the end of the level.
$05CF49 1 byte Sound effect Drum Roll Finishing Sound Effect.
$05CFEA 22 bytes Empty Empty.
$05D000 1536 bytes Misc. Tile data for all Layer 1 overworld tiles, #$00-#$BF (but BF doesn't show up in LM no matter what you set it to). 8 bytes per 16x16 tile = 2 bytes per 8x8 tile. (TTTTTTTT YXPCCCTT.)
Order in which the pairs of bytes go inside a 16x16 tile: upper-left, bottom-left, upper-right, bottom-right.
$05D608 96 bytes Overworld Which events are triggered by which level. Indexed by level ID, aka $13BF.
$05D668 160 bytes Empty Unused data.
$05D708 8 bytes Level data Layer 1, 2 (FG,BG) Initial Position. FG values (4 bytes) are first. BG values (4 values) are last.
$05D710 16 bytes Level data Vertical scroll settings for layer 2 background. The values in this table are for RAM $7E:1414. The index to this table is the %ssss from the %ssssyyyy in table ROM $05:F000.
$05D720 16 bytes Level data Horizontal scroll settings for layer 2 background. The values in this table are for RAM $7E:1413. The index to this table is the %ssss from the %ssssyyyy in table ROM $05:F000.

The maximum %ssss in SMW is %0111, thus indexes %1000 through %1111 are unused and are available if you want to invent more scroll settings for layer 2.
$05D730 16 bytes Level data Mario Y-Position (main and midway entrances)
$05D740 16 bytes Level data Mario Y-Subscreen Positions (main and midway entrances)
$05D750 8 bytes Level data Mario X-Positions (main and midway entrances). 8th byte unused?
$05D758 8 bytes Level data Mario X-Subscreen Positions (main and midway entrances). 8th byte unused?
$05D760 6 bytes Misc. The tileset that each no-Yoshi intro intro is used with. Same order as $05D766 (0x2D966). The last one seems to be unused.
$05D766 18 bytes Pointer List of 6 pointers to the "Get off Yoshi" level intros. In order: Ghost House, Castle Entrance 1, No Yoshi Sign 1, No Yoshi Sign 2, No Yoshi Sign 3, Castle Entrance 2.
$05D778 18 bytes Pointer List of pointers to the Layer 2's for the "Get off Yoshi" intro levels. Same order as for 2D966
$05D796 857 bytes Subroutine (JSL) The main level data loading routine.
$05DAE5 is which level has the variable exits that changes depending on coins, timer, and yoshi coins. To disable the variable properties of this level, change $05DAE6 to 80.
$05DA19 is the start of the code for checking whether or not the level should use a No-Yoshi intro. Change to [4C D7 DA] to disable all No-Yoshi intros, including those for ghost houses and castles.
$05DA1D 1 byte Level number Any level with a translevel number greater than or equal to this will use the "No Yoshi Sign 2" intro if the no-Yoshi intro is not disabled, regardless of tileset.
$05DA4B 1 byte Level number One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 31 (Front Door) by default.
$05DA4F 1 byte Level number One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 32 (Back Door) by default.
$05DA53 1 byte Level number One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 34 (#7 Larry's Castle) by default.
$05DA57 1 byte Level number One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 35 (Valley Fortress) by default.
$05DA5B 1 byte Level number One of five translevels that will use a dark-background castle intro if the level is set to tileset 1 and a no-Yoshi intro is enabled. This one is 40 (#3 Lemmy's Castle) by default.
$05DAEF 186 bytes Subroutine (JSR) The routine that loads level data for the sublevels of the level with the variable screen exits (i.e. level 24, or Chocolate Island 2, in the original SMW).
$05DBA9 1 byte Level number Level number for bonus game after gaining 100 bonus stars from a goal tape.
$05DBAA 1 byte Level number Level number for yoshi wings bonus stage.
$05DBAC 29 bytes Subroutine (JSR) The routine that handles setting the level to warp to when Yoshi gets the wings. (Level xC8.)
$05DBB3 1 byte Misc. Change to 60 (RTS) to make it so Yoshi wings use the normal screen exit instead of forcing a warp to level C8/1C8. This allows you to use pipes/doors in Yoshi wings levels. However, bonus games still remain incompatible. (Make sure to add a screen exit on every screen a player could possibly collect Yoshi wings if you use this.)
Pages: « 1 2 328 29 30 31 3240 41 » 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 - 2020 - 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