$7E0000
|
16 bytes |
Misc. |
Scratch RAM, is and can be used for a big number of purposes. The general purpose is temporarily preserving a value for later use in a routine.
Of note is the following address, used in LM ASM hacks:
$7E:0003 (16-bit) - Block number from LM Map16 editor. Also used in the custom Map16 tile change routine. |
$7E0010
|
1 byte |
Flag |
If the value in it is not zero, run the actual game; otherwise, loop forever. It's set to a non-zero value during NMI, and it's set to zero after the game mode has been run, so that the game runs exactly once a frame - one NMI trigger per frame. |
$7E0011
|
1 byte |
Flag |
Used to distinguish IRQ #1 from IRQ #2's code. (Inside the Morton/Ludwig/Roy room, where IRQ is used twice, although it can be used in other areas that run IRQ as well.) #$00 = IRQ #1; #$01 = IRQ #2. |
$7E0012
|
1 byte |
Graphics |
Stripe image loader - value must be divisible by 3. |
Valid Values
|
$7E0013
|
1 byte |
Counter |
"True" frame counter. Increments once per frame, except when the game is lagging. Note that $7E:0014 is better suited for most purposes. |
$7E0014
|
1 byte |
Counter |
"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. |
$7E0015
|
1 byte |
I/O |
Controller buttons currently held down. Format: byetUDLR.
b = A or B; y = X or Y; e = select; t = Start; U = up; D = down; L = left, R = right. |
$7E0016
|
1 byte |
I/O |
Controller buttons newly pressed this frame. Format: byetUDLR.
b = B only; y = X or Y; e = select; t = Start; U = up; D = down; L = left, R = right. |
$7E0017
|
1 byte |
I/O |
Controller buttons currently held down. Format: axlr----.
a = A; x = X; l = L; r = R, - = null/unused. |
$7E0018
|
1 byte |
I/O |
Controller buttons newly pressed this frame. Format: axlr----.
a = A; x = X; l = L; r = R, - = null/unused. |
$7E0019
|
1 byte |
Player |
Player powerup/status:
$00 = small
$01 = big
$02 = cape
$03 = fire
$04-$FF = invalid (may crash the game if powerup items, including 1-Up mushrooms, are grabbed). |
$7E001A
|
2 bytes |
Hardware mirror |
Layer 1 X position, current frame. Mirror of SNES register $210D. |
$7E001C
|
2 bytes |
Hardware mirror |
Layer 1 Y position, current frame. Mirror of SNES register $210E. |
$7E001E
|
2 bytes |
Hardware mirror |
Layer 2 X position, current frame. Mirror of SNES register $210F. |
$7E0020
|
2 bytes |
Hardware mirror |
Layer 2 Y position, current frame. Mirror of SNES register $2110. |
$7E0022
|
2 bytes |
Hardware mirror |
Layer 3 X position. Mirror of SNES register $2111. |
$7E0024
|
2 bytes |
Hardware mirror |
Layer 3 Y position. Mirror of SNES register $2112. |
$7E0026
|
2 bytes |
Misc. |
Depending on Layer 3 tides being activated or not, it's either:
Not activated:
Layer 2 X position minus Layer 1 X position.
Activated:
Layer 3 X position minus Layer 1 X position.
Used for various things, among which interaction with multiple layers is included. |
$7E0028
|
2 bytes |
Misc. |
Depending on Layer 3 tides being activated or not, it's either:
Not activated:
Layer 2 Y position minus Layer 1 Y position.
Activated:
Layer 3 Y position minus Layer 1 Y position.
Used for various things, among which interaction with multiple layers is included. |
$7E002A
|
2 bytes |
Hardware mirror |
Mode 7 Center X position. Mirror of SNES register $211F, + #$0080. |
$7E002C
|
2 bytes |
Hardware mirror |
Mode 7 Center Y position. Mirror of SNES register $2120, + #$0080. |
$7E002E
|
2 bytes |
Hardware mirror |
Mode 7 matrix parameter A. Mirror of SNES register $211B. |
$7E0030
|
2 bytes |
Hardware mirror |
Mode 7 matrix parameter B. Mirror of SNES register $211C. |
$7E0032
|
2 bytes |
Hardware mirror |
Mode 7 matrix parameter C. Mirror of SNES register $211D. |
$7E0034
|
2 bytes |
Hardware mirror |
Mode 7 matrix parameter D. Mirror of SNES register $211E. |
Follow Us On