| Address | Description | Type | Size |
| $7E0072 | Player is in the air flag, as well as the actual pose value to store to $13E0 while the player is in midair. This is set to a certain value depending on how the player got in the air in the first place, and in what state they are currently (rising or sinking).
This address is not affected by phases such as climbing. It is, however, also used in swimming animation.
Notable values:
#$0B = Jumping/swimming upwards.
#$0C = Shooting out of a slanted pipe, running at maximum speed.
#$24 = Descending/sinking. NOTE: Hitting bottom-solid sprites like invisible solid block, message block etc. does NOT set $72 to this value as cape mario.
The address in general is used in many instances.
For example, the game checks if this address is #$0C. If not, the player cannot ascend properly with the cape. Furthermore, the Layer 3 smash won't hurt the player if they're not on the ground (any non-zero value) and this address prevents the player from locking in place when still airborne during the Morton/Roy/Ludwig battle. | Player | 1 |
| $7E0078 | Flags used to disable drawing parts of the player's sprite. Format: dFfcEebh
d - used in conjunction with all other set bits in order to disable processes such as the star timer decrementing.
h - hide head tile (upper 16x16).
b - hide body tile (lower 16x16).
e - hide extra tile #1.
E - hide extra tile #2.
c - hide regular cape tile.
f - hide extra cape flight tile #1.
F - hide extra cape flight tile #2.
Note that if this byte is set to #$FF, yoshi will also be hidden. | Player | 1 |
| $7E008D | Used as scratch RAM in multiple locations:
- During GFX file decompression, $8F is used for holding the current decompression operation and $8D/$8E are used for holding the 16-bit length of that operation.
- After decompressing GFX33, all three of these get used as a 24-bit pointer to its decompressed data for the purpose of converting it from 3BPP to 4BPP.
- During the player-object interaction routine, $8D is used as a backup of [url=https://smwc.me/m/smw/ram/7E13EF]$13EF[/url] (player on ground flag), $8E is used as a backup of [url=https://smwc.me/m/smw/ram/7E005B]$5B[/url] (layer interaction and vertical flags), and $8F is used as a copy of [url=https://smwc.me/m/smw/ram/7E0072]$72[/url] (player in air flag). $8D is used to detect if code for being on top of a tile should be run, $8E is used for handling whether tile interaction should occur and whether the player should move horizontally with the layer, and $8F is used to detect whether the player has just landed (for the purposes of ground stomps, cape smashes, and breaking turnblocks) or has not been on the ground for at least a frame (for entering doors and horizontal pipes).
| Misc. | 3 |
| $7E0D85 | 16-bit pointers in bank $7E for uploading the player's, Yoshi's and Podoboo's on-screen tiles.
They're divided in two sets of 10 bytes, each two bytes being used for two 8x8 tiles. The first 10 bytes are for the top half of each 16x16 tile (player's head, player's bottom, cape, Yoshi's head/Podoboo, Yoshi's bottom), while the latter 10 bytes are for the bottom half of each 16x16 tile (same order).
The format to calculate the tile used is as follows: ([8x8 tile number] - $900 * $20) + $2000.
[b]NOTE:[/b] The tile number is only applicable to page 9 onwards. | Sprites | 20 |
| $7E13DF | This address controls which image must be shown of the cape. This obviously only has effect when the player has a cape at all.
While walking and sprint-jumping, frames 3 through 6 are cycled through, while 7 through A are used when falling downward. Pose zero is used for both standing still and jumping straight upwards, but is never shown without being preceded by frames 2 and 1.
Note that when the player is swooping/flying with his cape, $7E:13E0 will override the cape image. See also the diagram shown under [url=https://smwc.me/m/smw/ram/7E13E0/]$7E:13E0[/url], poses #$2A through #$2F. Whatever value $7E:13DF has will be irrelevant during this phase.
Cape images beyond #$0A are not recommended for usage, as they are glitched. | Player | 1 |
| $7E13E0 | This 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.
| Player | 1 |
| $7E13E1 | What kind of slope the player is on (also set when flying with a cape). | Player | 1 |
| $7E13E4 | Player dash timer/P-meter. Increments with #$02 every frame the player is walking on the ground with the dash button held, otherwise decrements until it is zero. #$70 indicates that the player is at its maximum running speed, and also means that the player is able to fly with a cape. | Player | 1 |
| $7E13E8 | Cape spin interacts with sprites flag.
#$00 = don't interact; #$01 = do interact. | Flag | 1 |
| $7E13E9 | Cape interaction X position within the level. It's adjusted when the cape attack is used. | Player | 2 |
| $7E13EB | Cape interaction Y position within the level. It's adjusted when the cape attack is used. | Player | 2 |
| $7E1407 | Player flying with cape phase.
Controls player pose as well (table at $00:CE79). | Player | 1 |
| $7E1408 | 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. | Player | 1 |
| $7E140A | Empty. Cleared on reset, titlescreen load, overworld load and during part of the cape flight routine. | Empty | 1 |
| $7E1496 | Player animation timer. This controls a lot of things such as the walking/running animation rate, how long the death animation should last, how long to stay invisible for after getting the cape, the alternating player images when the player is walking over slippery surfaces, etc. | Timer | 1 |
| $7E149F | Cape flight takeoff timer. When the player has a feather and a max P-meter and they jump, this timer gets set to #$50. While this timer is set, the player can receive additional upwards boosts during the jump. If the player starts to descend and meets the additional conditions for flight (i.e. not spinjumping, riding Yoshi, carrying something, or sliding from a slope), then the player will start flying.
This timer has two quirks. First is that it will not actually decrease to 0 while the player is in the air (stopping at 2). They won't be able to receive the vertical boosts anymore, but they'll still be able to gain flight so long as they do not touch the ground. The second quirk is that it does not reset when going into another sublevel, allowing the player to "carry over" flying if the timer is sufficient enough that they can get back into the air before the timer runs out. | Timer | 1 |
| $7E14A0 | How long the running frames should be shown after the player launches off with the cape. Is #$10 by default and decrements each frame. | Timer | 1 |
| $7E14A2 | Used as a timer for the cape animation. This is what makes the cape wave when the player walks and what makes the cape fall when they stop. | Timer | 1 |
| $7E14A5 | Timer for how long you keep floating after releasing B when floating with the cape. It also affects how long Yoshi flaps his wings for when rising up while flying. | Timer | 1 |
| $7E14A6 | Cape spin timer. | Player | 1 |
| $7E14A8 | Unused. $7E:14A8 decrements every frame automatically until it reaches zero, while $7E:14A9 and $7E:14AA decrement every fourth frame. $7E:14A9 is cleared when the player ground pounds with the cape (this can be prevented by setting $02:94C6 to NOP #3 or [EA EA EA]), and $7E:14AA is set to #$40 when Yoshi grabs the wings (this can be stopped by setting $01:F6CF to NOP #3 or [EA EA EA]). | Misc. | 3 |
| $7E1534 | Miscellaneous 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]. | Sprites | 12 |
| $7E166E | Sprite properties, third Tweaker/MWR byte.
Format: lwcfpppg
l=Don't interact with layer 2 (or layer 3 tides)
w=Disable water splash
c=Disable cape killing
f=Disable fireball killing
ppp=Palette
g=Use second graphics page | Sprites | 12 |
| $7E167A | Sprite properties, fourth Tweaker/MWR byte.
Bitwise format: dpmksPiS:
- d = Don't use default interaction with player
- p = Gives power-up when eaten by Yoshi
- m = Process interaction with player every frame
- k = Can't be kicked like a shell
- s = Don't change into a shell when stunned
- P = Process while off screen
- i = Invincible to star/cape/fire/bouncing bricks (fireballs passes through rather than disappear in a puff of smoke)
- S = Don't disable clipping when killed with star
| Sprites | 12 |
| $7E188A | Empty. Cleared on reset, titlescreen load, overworld load and level load, hurt, death, and taking hit while cape flying ($00:F625 for the last three) and in the Peach Rescued scene ($03:AE39). | Empty | 1 |
| $7E1FE2 | Sprite table that decrements once per frame, and is used for multiple purposes. All standard sprites have it briefly set after spawning.
Primarily, it disables water splashes from showing when the sprite enter or exits water, and disables interaction for the sprite with capespins, quake sprites, cape smashes, and net punches. Some sprites use it for miscellaneous purposes, as well. More information can be found [url=https://smwc.me/t/91198]here[/url]. | Sprites | 12 |