Views: 813,944,331
19 users online: Anorakun, brickblock369, chickaDEE Magazine, Correa, Dark Prince,  Gloomy, Invincibility,  lion, MMKC, MrBread,  musicalman, S3TH0s, Samantha, Sarsath, ShanghaiAlice, StackDino, Teows, Ultima, YourLocalBanktoad - Guests: 67 - Bots: 183 Users: 42,972 (2,123 active)
Latest: Correa
Tip: Bad things to do in the title demo: Enter a door or a pipe, activate a P-switch or a star, complete the level, hit a message block, or die. These will either glitch the music, or force the player into an endlessly looping title level until they reset the game.Not logged in.
SMW Memory Map
Displaying 50 out of 820 addresses. Show Waiting Addresses (12)
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.
Enable JavaScript to use multiple regions.
Hold control to select multiple. Check "All" to select all at once.

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 5 6 7 8 916 17 » Per Page: 25 50 75 100 150 500 All
RAM Address Length Type Description Details
$7E1404 1 byte Flag If "vertical scroll at will" is enabled, then this flag controls if the screen should scroll up to the player. If you set this to a non-zero value every frame, it can be seen as a temporary alternative to setting $00:F878/0x7A78 to #$80, since the latter is permanent.
$7E1405 1 byte Flag Indicates that the player is just about to warp to another level via a pipe, and whether or not Yoshi should be drawn at that point. It is set as soon as $7E:0088 reaches zero, and if Yoshi is inside the warp pipe too, his graphics will be hidden.
$7E1406 1 byte Camera This is set to #$80 if you bounce off of a springboard or a purple triangle (while on Yoshi, that is), and is cleared when touching the ground.
The game uses this, along with some other RAM addresses, to determine if the screen should scroll up with the player or not.
$7E1407 1 byte Player Player flying with cape phase.

#$00 = Not gliding.
#$01 = Gliding, rising.
#$02 = Gliding, staying on level.
#$03 = Gliding, sinking a little.
#$04 = Gliding, sinking more.
#$05 = Swooping down, initial phase.
#$06 = Swooping down, fast.

Controls player pose as well (table at $00:CE79).
$7E1408 1 byte Player Used to index the cape gliding table at $00:D7D4 to see what the next step should be in the cape gliding phase. That value is (eventually) stored in $7E:1407.
#$00 = Make player rise.
#$01 = Make player sink (eventually swoop down).
#$02 = Holding off left/right button, make player sink, but not swoop down.
#$03 = Holding off left/right button, swooping down, make player sink less.
#$04 = Holding off left/right and X/Y buttons, terminate cape gliding.
$7E1409 1 byte Player Keeps track of the furthest stage the player has been diving during flight. Possible values are:
#$F8: the stage when not holding the right or left button
#$F4: Partially aiming towards floor
#$F0: Almost completely diving
#$C8: Diving completely, the stage where you cause an earthquake where you land.

When set to #$C8, the player will gain the large upwards boost (instead of the little normal boost) when cathing air.
$7E140A 1 byte Empty Empty. Cleared on reset, titlescreen load, overworld load and during part of the cape flight routine.
$7E140B 2 bytes Empty Empty. Cleared on reset, titlescreen load, overworld load, cutscene load and level load.
$7E140D 1 byte Flag Spin Jump flag. #$00 = normal jump (or on ground); any other value = spinjumping.
$7E140E 1 byte Sprites Layer 2 is touched flag, which is used in the Layer 2 sinking/rising upon touch scroll sprite. #$00 = Layer 2 not touched; #$01 = Layer 2 touched.
$7E140F 1 byte Flag Keeps incrementing in the Reznor battle room. It is used as a flag to determine that a different OAM index needs to be used for a smoke sprite or a puff of smoke, to make sure there's no conflict with the platform tiles.
However, since this keeps incrementing and thus sometimes hits #$00 again, it can occur that a platform tile disappears for one frame when a smoke sprite is shown.
$7E1410 1 byte Flag Yoshi has wings flag #1 (the other is $7E:141E). #$01 would mean that the player with a fire flower powerup can shoot fireballs while on Yoshi (never occurs in the game), whereas #$02 indicates Yoshi has wings.
Note that this one only handles graphics of the wings (value #$02), and that it disables the Yoshi tongue action (value #$01).
The value from $7E:141E is stored here each frame.
$7E1411 1 byte Flag Horizontal scroll settings from header flag. #$00 = Disable; #$01 = Enable.
$7E1412 1 byte Misc. Vertical scroll settings from header. #$00 = Disable; #$01 = Enable; #$02 = Enable if flying/climbing/etc.
$7E1413 1 byte Misc. Horizontal scroll setting for Layer 2. #$00 = none; #$01 = constant; #$02 = variable.
$7E1414 1 byte Misc. Vertical scroll setting for Layer 2.
Lunar Magic v3.00 and above add values 04-07; the original game and older versions only allow 00-03.
Valid Values
$7E1415 2 bytes Empty Empty. Cleared on reset, titlescreen load, overworld load and cutscene load.
$7E1417 2 bytes Camera The base vertical offset of Layer 2 from Layer 1, when vertical scrolling is enabled for it. This is calculated based on the type of vertical scrolling set in $1414, using the initial FG/BG positions stored to $1C and $20:

If $1414 is #$01 (constant), then this is: $20 - $1C
If $1414 is #$02 (variable), then this is: $20 - ($1C / 2)
If $1414 is #$03 (slow), then this is: $20 - ($1C / 8)
$7E1417 2 bytes Camera The distance to scroll layer 2 vertically if that kind of scrolling is enabled. This is calculated based on the type of vertical scrolling set in $7E:1414. The scrolling is calculated as follows:

If $7E:1414 is #$01 (constant), then $7E:1417 is: $7E:0020-$7E:001C
If $7E:1414 is #$02 (variable), then $7E:1417 is: $7E:001C >> 1 ^ #$FFFF + 1 + $7E:0020
If $7E:1414 is #$03 (slow), then $7E:1417 is: $7E:001C >> 3 ^ #$FFFF + 1 + $7E:0020
$7E1419 1 byte Yoshi How Yoshi should go inside a pipe.
#$01 = Duck a little (horizontal pipe).
#$02 = Face the screen (vertical pipe).
#$FF = Don't change image, only go behind layer (shooting out of slanted pipe). Note that this will probably work with all values #$03-#$FF.

An immediate effect of this is that Yoshi goes beyond layer 1 with any non-zero value. Also, Yoshi's tongue isn't shown either. This is still set even if the player isn't mounted on Yoshi, it also affects the position of carrying sprites through pipes.
$7E141A 1 byte Counter Counter that increments every time a new level is entered (with a door or pipe) - this enables you to distinguish the 'mother'-level from sublevels, as this always is zero at the start of a level. Note: Don't enter a sublevel within a level 256 times, or a glitch will occur.
$7E141B 1 byte Flag Determines if you have played the bonus game before in the same level before. If it is non-zero (meaning you've played the game before), all blocks in the coin game will always be incorrect.
Note that if you don't hit a single block the first time playing the game, then this will be zero, and you can play the game again.
$7E141C 1 byte Flag What type of goal tape has just been hit, for deciding which event to activate after the goal walk is finished.
Although this value will still be written in vertical levels, it has no effect due to the goal walk not occurring.
Valid Values
$7E141D 1 byte Flag Whether "Mario/Luigi Start!" should be shown or not. Used for castle entrances and the likes.
#$00 = enable; #$01 = disable.
$7E141E 1 byte Yoshi Yoshi has wings flag. The only possible value for this address in the original is #$02, but setting to #$01 will allow the player to throw fireballs if on Yoshi, even if he is not fiery. This will, however, disable flight as well as Yoshi's tongue attack.
It's recalculated each frame.
$7E141F 1 byte Flag Disable No Yoshi Intro flag.
#$00 = regular behavior (depending on the tileset, the No Yoshi Intro is either shown or not).
#$80 = the No Yoshi Intro is disabled, regardless of tileset.
$7E1420 1 byte Counter Yoshi Coins collected. Does not affect amount of Yoshi Coins on status bar.
$7E1421 1 byte Counter Counter used by the invisible 1-Up checkpoints. Starts at zero, and increments with one every time the next checkpoint has been touched. Resets to zero when a checkpoint has been touched that can't be checked yet, for example checkpoint #2 when #1 hasn't been touched yet.
$7E1422 1 byte Counter Amount of Yoshi Coins to display on the status bar. Values #$01 through #$04 are the values where it will display that number of Yoshi Coins, otherwise none are displayed.
$7E1423 1 byte Misc. Indicates which switch palace switch is being pressed.
Its value also varies depending on which side of the switch was pressed. (Left side -> it uses the first value, right side -> it uses the second.)
01/02 = green, 05/06 = yellow, 09/0A = blue, 0D/0E = red.
The bottom halves also set this, but this doesn't trigger anything.
$7E1424 1 byte Timer Used to determine whether or not the victory walk should display the number of collected bonus stars. If it is zero (see also $7E:1900), the amount of collected bonus stars is not displayed. Otherwise, it is. $7E:1900 is stored to it, causing this address to decrement as well. Also note that this value does NOT have any effect on the rest of the bonus text.
$7E1425 1 byte Flag Bonus game flag. If anything non-zero, the bonus game will commence after the level has been cleared.
$7E1426 1 byte Misc. Message box trigger. #$00 = none; #$01 = message 1; #$02 = message 2; #$03 = Yoshi thanks message.
$7E1427 1 byte Misc. Bowser clown car image.
03-Angry face
Higher values makes it cycle through the above ones.
$7E1428 1 byte Sprites Used as an index for the frames of the Bowser propeller. Valid frames range from #$00-#$03.
$7E1429 1 byte Sprites Used to calculate which palette to use for Bowser. Valid values range from #$00-#$07. This value is calculated based on the Mode 7 scale factor, with the table at $03:A265.
$7E142A 2 bytes Player Where the player has to be on the screen in order to justify moving the screen. If the player X position relative to the screen is less than $142A - #$000C, then the screen will move left. If the player X position relative to the screen is greater than or equal to $142A + #$000C, the screen will move right.
$7E142C 4 bytes Camera Two 16-bit addresses, $142C and $142E, are set to $142A - #$000C and $142A + #$000C respectively during the screen-scrolling routine, read from to determine whether or not to scroll the screen.
$7E1430 1 byte Blocks Lowest tile that's solid for sprites from below (in addition to 111 through 16D). It's on page 1.
$7E1431 1 byte Blocks Highest tile that's solid for sprites from below (in addition to 111 through 16D) plus 1. It's on page 1.
$7E1432 1 byte Flag Directional coin activation flag. This is set to #$01 when the sprite changes the music, and it is used to prevent the player being able to spawn any more than one instance of the sprite in an entire level, as it carries across sublevels.
$7E1433 1 byte Timer Scaling factor of the circle for the windowing HDMA effects used with the titlescreen, level ending and keyhole.
The closer to zero, the smaller the circle.
Loads titlescreen when value becomes #$F0 or higher.
$7E1434 1 byte Timer Set to #$30 to end level via keyhole. Works as a timer of some sorts, to indicate how long the keyhole sequence should last - but in SMW, this value is never set to anything other than #$00 or #$30. Also, this address freezes player and sprites by storing its value to $7E:13FB, resp. $7E:009D.
$7E1435 1 byte Flag Keyhole growing/shrinking flag. #$00 = growing; #$01 = shrinking.
$7E1436 2 bytes Misc. Used for multiple purposes.
Keyholes use it as the X position of the keyhole animation.
The Iggy/Larry boss fight uses it to control the player's X position when on the ground.

The overworld also uses it when spawning switch palace blocks.
$1436 is used as the current base index to the tables at $7EB900; it increments by 0x08 with each set of blocks up to 0x28, at which point it resets to 0x00.
$1437 is used as a timer for waiting between spawning each set of switch blocks.
$7E1438 2 bytes Misc. Used for multiple purposes.
Keyholes use it as the Y position of the keyhole animation.
The Iggy/Larry boss fight uses it to control the player's Y position when on the ground.

The overworld also uses it when spawning switch palace blocks.
$1438 is the base OAM index of the current block set. Increments by 0x20 with each set of blocks, then resets to 0x00 once it reaches 0xA0.
$1439 is a counter for how many sets of blocks have been spawned. It stops spawning at 0x08, but keeps counting up to 0x0C, at which point the spawn routine ends.
$7E143A 1 byte Flag When set to a value that is not zero, this will make the game overwrite tiles #$00 through #$05, #$10 through #$15, #$4A through #$4F and #$5A through #$5F with data it gets from $7F:977B-$7F:9A7A. These are uploaded during V-blank (NMI).
Is used to write the graphics for "MARIO START!", "LUIGI START!", "TIME UP!", "GAME OVER" and "BONUS GAME".
$7E143B 1 byte Misc. Which death message must be displayed. #$14 = "GAME OVER"; #$1D = "TIME UP!".
$7E143C 1 byte Timer Death message animation timer. Amount of time until the two segments come together, such as with "GAME OVER", where the animation goes like this: GAME --> <-- OVER.
Is set to #$C0, decrements by four at a time.
$7E143D 1 byte Timer Timer for the "TIME UP!"/"GAME OVER" death message - how long it should stay active after the two words have come together. Is set to #$FF, decrements by one at a time.
Pages: « 1 2 3 4 5 6 7 8 916 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 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us

Total queries: 22


Follow Us On

  • YouTube
  • Twitch
  • Twitter


  • Super Mario Bros. X Community
  • Mario Fan Games Galaxy