| Address | Description | Type | Size |
| $7E13D0 | Index to what tile should be stored to VRAM during the castle/switch palace/fortress destruction sequence.
#$00 = Pressed green switch.
#$01 = Pressed yellow/red/blue switch.
#$02 = Destroyed fortress.
#$03 = Destroyed castle with exit.
#$04 = Destroyed castle without exit.
The tile data is then read from $04:EE7A through a 24-bit pointer at $7E:000A (scratch RAM). | Overworld | 1 |
| $7E13D2 | Color of the currently pressed switch palace, or #$00 for None. It's set to #$01 when the player hits a switch palace, and then set to the correct color (#$01 for Yellow, #$02 for Blue, #$03 for Red and #$04 for Green, others are oddly colored and/or flipped) by the message box routine. It creates both the ! blocks in the message boxes and on the overworld. | Misc. | 1 |
| $7E1423 | 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. | Misc. | 1 |
| $7E1436 | 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. | Misc. | 2 |
| $7E1438 | 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. | Misc. | 2 |
| $7E1DE9 | If non-zero, indicates an event should be activated on overworld load (otherwise, event handling is skipped). The 'Course Clear!' and Switch Palace message box routines set this just before loading the overworld, and it's set to zero again when the event finishes executing.
Additionally, the enemy credits use this as the current screen number. Counts up to #$0C, which has the last set of enemies (the Koopa Kids and Bowser). | Overworld | 1 |
| $7E1DF5 | Timer to used for multiple purposes:
- How long a particular input during the intro sequence will remain pressed.
- How long the Nintendo Presents screen will remain active.
- How long a Switch Palace message will remain active.
- How long the player has to wait before they can dismiss the intro message. | Timer | 1 |
| $7E1F27 | Switch palace activation flags. $00 = off (outline passable switch palace blocks), $01 = on (solid switch palace blocks):
$7E1F27: Green
$7E1F28: Yellow
$7E1F29: Blue
$7E1F2A: Red
Note: effects to the blocks will only apply during level loading when these flags are changed. | Flag | 4 |
| $7EB900 | During level load, if using a background Layer 2 tilemap in a level, this is table is temporarily used to hold the low byte of each tile. Format: Background is split into two 16x27 rectangles, followed by 160 $25 bytes that are never actually read. The high bytes of each tile are at [url=https://smwc.me/m/smw/ram/7EBD00]$7EBD00[/url].
This table also used as an extension of the GFX decompression buffer at [url=https://smwc.me/m/smw/ram/7EAD00]$7EAD00[/url]. As with that address, during a level, it may be used to hold additional data for the level's AN2 GFX file.
In the original game, some of the RAM in this table is also used on the overworld for a number of 40-byte tables relating to the switch palace's block animation:
- [b]$7EB900[/b] - Switch block X position, high byte
- [b]$7EB928[/b] - Switch block Y position, high byte
- [b]$7EB950[/b] - Switch block Z position, high byte
- [b]$7EB978[/b] - Switch block X position, low byte
- [b]$7EB9A0[/b] - Switch block Y position, low byte
- [b]$7EB9C8[/b] - Switch block Z position, low byte
- [b]$7EB9F0[/b] - Switch block X speed
- [b]$7EBA18[/b] - Switch block Y speed
- [b]$7EBA40[/b] - Switch block Z speed
- [b]$7EBA68[/b] - Accumulating fraction bits for fixed point switch block X speed
- [b]$7EBA90[/b] - Accumulating fraction bits for fixed point switch block Y speed
- [b]$7EBAB8[/b] - Accumulating fraction bits for fixed point switch block Z speed
With Lunar Magic, these tables instead get moved over to [url=https://smwc.me/m/smw/ram/7FC500]$7FC500[/url] ([url=https://smwc.me/m/smw/ram/418800]$418800[/url] on SA-1). | Blocks | 1024 |
| $7FC300 | Used by Lunar Magic v1.70 as a Map16 high byte buffer.
Lunar Magic also moves the tables used for the overworld's switch palace block animation from [url=https://smwc.me/m/smw/ram/7EB900]$7EB900[/url] to here:
- [b]$7EC500[/b] - Switch block X position, high byte
- [b]$7EC528[/b] - Switch block Y position, high byte
- [b]$7EC550[/b] - Switch block Z position, high byte
- [b]$7EC578[/b] - Switch block X position, low byte
- [b]$7EC5A0[/b] - Switch block Y position, low byte
- [b]$7EC5C8[/b] - Switch block Z position, low byte
- [b]$7EC5F0[/b] - Switch block X speed
- [b]$7EC618[/b] - Switch block Y speed
- [b]$7EC640[/b] - Switch block Z speed
- [b]$7EC668[/b] - Accumulating fraction bits for fixed point switch block X speed
- [b]$7EC690[/b] - Accumulating fraction bits for fixed point switch block Y speed
- [b]$7EC6B8[/b] - Accumulating fraction bits for fixed point switch block Z speed
| Misc. | 1024 |