AddressDescriptionTypeSize
$7E0014"Effective" frame counter. Stops when, for example, RAM addresses such as $7E:009D are not zero (lock sprite flag, usually indicates the player is dying, grabbing a powerup, or something similar). Inside sprite code, this address is often preferred over $7E:0013, especially in graphics routines, as graphics will not be updated when the player dies if this address is used as an index to the tilemap.Counter1
$7E0019Current player powerup status.Player1
$7E0080Player Y position (16-bit), within the borders of the screen. Note that this value may be displaced by $1888 (the screen shake), in addition to small one-pixel displacements based on Mario's powerup status and walking animation frame.Player2
$7E0096Player Y position (16-bit) within the level, next frame (calculates player position one frame ahead, as opposed to $D3). It's also used as a player Y position on-screen on the overworld border. NOTE: the player's Y position is not affected by their powerup, nor whether they are crouching; the point will always be 32 pixels above their feet. However, if riding on Yoshi, their Y position does get offset 16 pixels upwards. Additionally, during player interaction with blocks on Layer 2, this value is modified to be relative to Layer 2's position rather than Layer 1. This can be checked via $1933, and can be offset back to Layer 1 by subtracting $28.Player2
$7E0DB8Mario's powerup/status. Note that this is only used in two player games, you'll want $7E:0019 in 99% of the cases.Player1
$7E0DB9Luigi's powerup/status. Note that this is only used in two player games, you'll want $7E:0019 in 99% of the cases.Player1
$7E0DDABack-up of the music register. Gets its value from the level music table at $05:84DB. Bit 7 of this address is set when the player has a star powerup or presses a P-switch; when this is cleared again, the music ends. This address is also set to #$FF when the level ends, either by beating it or by dying. Bit 6 is similar but is used to not reupload all music. This is used when changing from the Mario start screen to the level game mode.Misc.1
$7E13D4The pause flag for levels, and the "look around the map" flag on the overworld.
  • In a level: #$00 = off, #$01 = Paused
  • On the overworld: #$00 = off, #$01 = Look around, #$02 = Return to Mario
Note that this does not cover instances of temporary pauses during gameplay, though (e.g. L/R scrolling, powerup animations, pipes, etc.), which can instead by checked via [url=https://smwc.me/m/smw/ram/7E009D]$9D[/url].
Flag1
$7E13DBPlayer walking/running frame. As the player runs, this will cycle between 0 and the maximum defined by the table at [url=https://smwc.me/m/smw/rom/00DC78]$00DC78[/url] (indexed by the player's powerup). By default, small Mario cycles between 0 and 1, while other powerups cycle 0-2-1-0. The speed at which it cycles is managed by [url=https://smwc.me/m/smw/ram/7E1496]$1496[/url], which obtains its rate from the table at [url=https://smwc.me/m/smw/rom/00DC7C]$00DC7C[/url].Player1
$7E13E0This address controls the pose of Mario and Luigi. Writing to it will draw the player with the corresponding image. Notably:
  • Poses 40 and 41 are blank; the player is "invisible". These are indicated with a large red cross in the diagram.
  • Poses 2A-2F (flying) require the player to have a cape powerup, or they won't display properly.
  • Pose 42 (inflated, small) can be shown regardless of powerup. It is obviously not recommended to be used as such. The same can be said about pose 43 (inflated, big).
  • Poses 00, 3D and 46 are all used in the powerup animation.
  • Poses 14, 20, 21, 27, 28 and 29 are all used when riding Yoshi.
  • Poses 00-3C may differ in appearance between small, big/fire, and cape powerups. Poses 3D onwards do not.
  • Poses beyond 45 are not properly defined and are generally not recommended to use.
Player1
$7E1410Yoshi 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.Flag1
$7E1534Miscellaneous sprite table. Certain powerups use this table as a blink-fall flag. #$00 = Off; #$01 = On, powerup will blink and fall straight down. The game stores #$01 here when it drops the reserved item from the item box. The blink-fall flag affects the Super Mushroom and the Fire Flower, but not the Cape Feather. The blink-fall flag also affects some other sprites, at least the Starman, the 1-Up mushroom and the coin sprite, but these sprites might glitch if you set the flag. One glitch is that the blinking sprite-coin permanently occupies a sprite slot if it falls off the level, so that it might prevent the spawning of other common sprites. Other than that, this address has many different purposes. More information can be found [url=https://smwc.me/t/91198]here[/url].Sprites12