YI Memory Map
Displaying 50 out of 305 addresses.
View: moderated | waiting (27)
RAM Address | Length | Type | Description | Details |
---|---|---|---|---|
$7E0000 | 48 bytes | Misc. | Scratch RAM, used like "registers" for various operations | |
$7E0030 | 2 bytes | Timer | Frame counter | |
$7E0032 | 3 bytes | Pointer | Pointer to level object data | |
$7E0035 | 1 byte | Controller | Controller 1 Data 1, mirror of $7E093C | |
$7E0036 | 1 byte | Controller | Controller 1 Data 2, mirror of $7E093D | |
$7E0037 | 1 byte | Controller | Controller 1 Data 1 on press/first frame, mirror of $7E093E | |
$7E0038 | 1 byte | Controller | Controller 1 Data 2 on press/first frame, mirror of $7E093F | |
$7E0039 | 2 bytes | Misc. | Layer 1 Camera X | |
$7E003B | 2 bytes | Misc. | Layer 1 Camera Y | |
$7E003D | 2 bytes | Misc. | Layer 2 Camera X | |
$7E003F | 2 bytes | Misc. | Layer 2 Camera Y | |
$7E0041 | 2 bytes | Misc. | Layer 3 Camera X (also for World Map) | |
$7E0043 | 2 bytes | Misc. | Layer 3 Camera Y | |
$7E0045 | 2 bytes | Misc. | Layer 4 Camera X | |
$7E0047 | 2 bytes | Misc. | Layer 4 Camera Y | |
$7E0049 | 4 bytes | Empty | Unused RAM, cleared (with $00) during every loading screen | |
$7E004D | 2 bytes | Sound Effect | Music track to be played - mirror of hardware register $2140 (APU I/O 0) | |
$7E004F | 2 bytes | Sound Effect | Previous value of $7E004D (if previous == current value of hardware register $2140, do not write to register) | |
$7E0051 | 2 bytes | Sound Effect | Mirror of hardware register $2141 (APU I/O 1, pseudo-noise loop) | |
$7E0053 | 2 bytes | Sound Effect | Sound ID to be played instantly, bypasses the sound queue, directly written to hardware register $2143 | |
$7E0055 | 2 bytes | Sound Effect | Previous value of $7E0053 (if previous == current value in hardware register $2143, do not write to register) | |
$7E0057 | 2 bytes | Sound Effect | Current size of sound queue (capacity 7) | |
$7E0059 | 16 bytes | Sound Effect | Sound effect queue, NOT all sounds currently playing, but instead all sound ID's (1 byte per) to be submitted for play at the current time; each frame the queue index decrements, meaning at most one sound submitted per frame | |
$7E0069 | 2 bytes | Map | World Map: Layer 1 scroll Mirrored by $7E006D |
|
$7E006B | 2 bytes | Misc. | Yoshi's jump state, mirror of $7000C0 | |
$7E006D | 2 bytes | Map | World Map: Layer 2 scroll | |
$7E0072 | 2 bytes | Map | World Map: Current stage Yoshi sprite Y coordinate | |
$7E0073 | 2 bytes | Misc. | $0000: Camera is moving right $0002: Camera is moving left |
|
$7E0075 | 2 bytes | Misc. | $0000: Camera moving down $0002: Camera moving up |
|
$7E0076 | 2 bytes | Map | World Map: Current stage Yoshi sprite X coordinate | |
$7E0077 | 2 bytes | Misc. | Flag: A new column has been spawned in | |
$7E0079 | 2 bytes | Map | World Map: X Scroll destination | |
$7E0079 | 2 bytes | Misc. | Flag: A new row has been spawned in | |
$7E007B | 2 bytes | Layer 1 Tilemap | VRAM foreground tilemap address of most recently loaded column | |
$7E007D | 2 bytes | Layer 1 Tilemap | VRAM foreground tilemap address of most recently loaded row | |
$7E007F | 2 bytes | Layer 1 Tilemap | 7E007B + 1 (right half of column) | |
$7E0081 | 2 bytes | Layer 1 Tilemap | 7E007D with $0400 bit flipped (even/odd counterpart of tilemap row) | |
$7E0083 | 2 bytes | Misc. | Negative camera X column of newly spawned row shifted to: 0000000000cccc00 | |
$7E0085 | 2 bytes | Layer 1 Tilemap | 7E007D + $20 (bottom half of row) | |
$7E0087 | 2 bytes | Misc. | Camera X column + 1 of newly spawned row, shifted to: 0000000000cccc00 | |
$7E0089 | 2 bytes | Misc. | Game Over screen state: $0000: nothing $0002: fading in $0004: active $0006: option chosen $0008: load title screen |
|
$7E0089 | 2 bytes | Layer 1 Tilemap | 7E0081 + $20 (second part of even/odd counterpart of tilemap row) | |
$7E008B | 2 bytes | Misc. | Most recently spawned row's Y coordinate | |
$7E0091 | 8 bytes | Misc. | Game Over screen: Letter rotation values (Y axis), 1 byte per letter, from right to left ('R', 'E', ... 'A', 'G') | |
$7E0099 | 8 bytes | Misc. | Game Over screen: Letter rotation values (X axis), 1 byte per letter, letters from right to left ('R', 'E', ... 'A', 'G') | |
$7E00A1 | 16 bytes | Misc. | Game Over screen: Letter X coordinates, 1 word per letter, from left to right ('G', 'A', .. 'E', 'R') | |
$7E00B1 | 16 bytes | Misc. | Game Over screen: Letter Y coordinates, 1 word per letter, from left to right ('G', 'A', .. 'E', 'R') | |
$7E00C1 | 2 bytes | Misc. | Game Over screen: Scale value (size) of letters | |
$7E00C3 | 2 bytes | Misc. | Game Over screen: Current option selected ($00 = yes, $02 = no) | |
$7E00C5 | 2 bytes | Misc. | Game Over screen: Rotational velocity of letters (both X and Y axes) | |