$7E0DAA
|
1 byte |
I/O |
Controller 1 button disable flags ($4219), one frame. If a bit is set here, that bit will be disabled in $16/$0DA6 (but not $15).
Format: byetUDLR.
b = B, y = Y, e = Select, t = Start, UDLR = Up/Down/Left/Right. |
$7E0DAB
|
1 byte |
I/O |
Controller 2 button disable flags ($421B), one frame. If a bit is set here, that bit will be disabled in $16/$0DA7 (but not $15).
Format: byetUDLR.
b = B, y = Y, e = Select, t = Start, UDLR = Up/Down/Left/Right. |
$7E0DAC
|
1 byte |
I/O |
Controller 1 button disable flags ($4218), one frame. If a bit is set here, that bit will be disabled in $18/$0DA8 (but not $17).
Format: axlr----.
a = A, x = X, l = L, r = R, 0 = null/unused. |
$7E0DAD
|
1 byte |
I/O |
Controller 2 button disable flags ($421A), one frame. If a bit is set here, that bit will be disabled in $18/$0DA9 (but not $17).
Format: axlr----.
a = A, x = X, l = L, r = R, 0 = null/unused. |
$7E0DAE
|
1 byte |
Hardware mirror |
Handles brightness and force blank. Format: f---bbbb. f = force blank flag, --- = unused bits, bbbb = brightness setting. Mirror of SNES register $2100. |
$7E0DAF
|
1 byte |
Misc. |
Mosaic direction. #$00 = shrinking mosaic; #$01 = growing mosaic. |
$7E0DB0
|
1 byte |
Hardware mirror |
Current mosaic pixel size on level load. Mirror of SNES register $2106, though bits 0 and 1 are always set ($2106 = $7E:0DB0 | #$03). |
$7E0DB1
|
1 byte |
Timer |
Is used to keep a mode active. If the respective value is positive, the game mode doesn't change. This is primarily used in the fading routines (example: from overworld to level and vice versa). |
$7E0DB2
|
1 byte |
Flag |
Two player game flag. #$00 = No; #$01 = Yes. |
$7E0DB3
|
1 byte |
Player |
Which character is in play. #$00 = Mario; #$01 = Luigi. If you prefer Luigi to be #$04, use $7E:0DD6. |
$7E0DB4
|
1 byte |
Player |
Mario's lives. Note that this is only used in two player games, you'll want $7E:0DBE in 99% of the cases. |
$7E0DB5
|
1 byte |
Player |
Luigi's lives. Note that this is only used in two player games, you'll want $7E:0DBE in 99% of the cases. |
$7E0DB6
|
1 byte |
Player |
Mario's coins. Note that this is only used in two player games, you'll want $7E:0DBF in 99% of the cases. |
$7E0DB7
|
1 byte |
Player |
Luigi's coins. Note that this is only used in two player games, you'll want $7E:0DBF in 99% of the cases. |
$7E0DB8
|
1 byte |
Player |
Mario's powerup/status. Note that this is only used in two player games, you'll want $7E:0019 in 99% of the cases. |
$7E0DB9
|
1 byte |
Player |
Luigi's powerup/status. Note that this is only used in two player games, you'll want $7E:0019 in 99% of the cases. |
$7E0DBA
|
1 byte |
Yoshi |
Mario's Yoshi color. #$04=yellow; #$06=blue; #$08=red; #$0A=green |
$7E0DBB
|
1 byte |
Yoshi |
Luigi's Yoshi color. #$04=yellow; #$06=blue; #$08=red; #$0A=green |
$7E0DBC
|
1 byte |
Player |
Item in Mario's item box. #$00 = None; #$01 = Mushroom; #$02 = Fire Flower; #$03 = Star; #$04 = Feather. Note that you'll want $7E:0DC2 in most cases. |
$7E0DBD
|
1 byte |
Player |
Item in Luigi's item box. #$00 = None; #$01 = Mushroom; #$02 = Fire Flower; #$03 = Star; #$04 = Feather. Note that you'll want $7E:0DC2 in most cases. |
$7E0DBE
|
1 byte |
Player |
Current player lives, minus one (#$04 here means that the player has 5 lives). |
$7E0DBF
|
1 byte |
Player |
Current player coin count. |
$7E0DC0
|
1 byte |
Counter |
Green star block coin counter. Starts at 30 (#$1E) at the beginning of a level, and decrements for each coin that is collected. Adjusts content of green star block when it hits zero. (A 1-Up mushroom comes out, instead of a spinning coin.)
It is also used in Chocolate Island 2 to count how many coins have been collected since the start of the level, and determine what sublevel data should be loaded. |
$7E0DC1
|
1 byte |
Yoshi |
Player can carry Yoshi over levels flag. #$00 = can't carry over levels; #$01 = can carry over levels. |
$7E0DC2
|
1 byte |
Player |
Item in current player's item box. #$00 = None; #$01 = Mushroom; #$02 = Fire Flower; #$03 = Star; #$04 = Feather. |
$7E0DC3
|
4 bytes |
Empty |
Empty. Cleared on reset and titlescreen load. $7E:0DC3 is also cleared when selecting how many players to use, but this can be disabled with no known side effects by setting $00:9E48 to [80 01 EA]. |
$7E0DC7
|
2 bytes |
Player |
Overworld X position where Mario should be going to. Is used by overworld path tiles to indicate Mario's direction. Updated as soon as Mario starts moving - zero otherwise. |
$7E0DC9
|
2 bytes |
Player |
Overworld Y position where Mario should be going to. Is used by overworld path tiles to indicate Mario's direction. Updated as soon as Mario starts moving - zero otherwise. |
$7E0DCB
|
2 bytes |
Player |
Overworld X position where Luigi should be going to. Is used by overworld path tiles to indicate Luigi's direction. Updated as soon as Luigi starts moving - zero otherwise. |
$7E0DCD
|
2 bytes |
Player |
Overworld Y position where Luigi should be going to. Is used by overworld path tiles to indicate Luigi's direction. Updated as soon as Luigi starts moving - zero otherwise. |
$7E0DCF
|
2 bytes |
Player |
Player X speed on the overworld. Added with $7E:13D5, which does happen to be zero all the time. |
$7E0DD1
|
2 bytes |
Player |
Player Y speed on the overworld. Added with $7E:13D7, which is zero most of the time. |
$7E0DD3
|
1 byte |
Overworld |
Player direction. #$00 = up; #$02 = down; #$04 = left; #$06 = right. |
$7E0DD4
|
1 byte |
Should be 00 |
This address is effectively the high byte of $0DD3 on the overworld and should not be touched there, though in levels it is unused. It is also referenced once as the low byte of $0DD5, though its value isn't used there.
Cleared on reset and titlescreen load, and when Mario starts walking on an overworld path. |
$7E0DD5
|
1 byte |
Misc. |
Used to indicate how a level has been exited, and hence what events to activate on the overworld. |
Valid Values
|
$7E0DD6
|
1 byte |
Player |
Which character is in play. Used on the overworld. The value of this address is actually $7E:0DB3 * 4.
#$00 = Mario; #$04 = Luigi. |
$7E0DD7
|
1 byte |
Should be 00 |
An address that is expected to be #$00 throughout the entire game. $7E:0DD6 (current player) is sometimes used in 16bit mode, so using this address for different purposes is a bad idea. |
$7E0DD8
|
1 byte |
Flag |
Used to tell if the game is currently switching between Mario and Luigi or not.
#$00 = Not switching between Mario and Luigi.
#$01 = Switching between Mario and Luigi, during the fade-out. |
$7E0DD9
|
1 byte |
Empty |
Empty. Cleared on reset and titlescreen load. |
$7E0DDA
|
1 byte |
Misc. |
Back-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. |
$7E0DDB
|
3 bytes |
Empty |
Empty. Cleared on reset and titlescreen load. |
$7E0DDE
|
1 byte |
Misc. |
Which files to delete on the erase file screen. Format: xxxxx123. It is also used as an overworld sprite index. |
$7E0DDF
|
1 byte |
Sprites |
Starting OAM index for overworld sprites. Appears to be used only by the cloud sprites. |
$7E0DE0
|
5 bytes |
Sprites |
Used for the overworld cloud sprites. This table is used in such a way that clouds check each other's 16-bit Y positions. By doing this, they can maintain their speed, making it the same for all clouds on-screen. |
$7E0DE5
|
16 bytes |
Sprites |
Overworld sprite number. |
Valid Values
|
$7E0DF5
|
16 bytes |
Sprites |
Miscellaneous overworld sprite table. |
$7E0E05
|
16 bytes |
Sprites |
Miscellaneous overworld sprite table. |
$7E0E15
|
16 bytes |
Sprites |
Miscellaneous overworld sprite table. |
$7E0E25
|
16 bytes |
Sprites |
Miscellaneous overworld sprite table. |
$7E0E35
|
16 bytes |
Sprites |
Overworld sprite X position, low byte. |
Follow Us On