Language…
17 users online: ahmose, Anas, Arobam, Bonobi, CourtlyHades296, Ekimnoid, FabioBR98,  Fernap, Green Jerry, h.carrell,  icrawfish, KoJi, NewPointless, Phyll, Red2010, slakkmichael, yoshi9429 - Guests: 77 - Bots: 189
Users: 62,760 (2,526 active)
Latest user: BryonBristow

YI Memory Map

Displaying 150 out of 305 addresses.

View: moderated | waiting (27)

Filter

Link
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)
$7E00C8 2 bytes Timer Game Over screen: Frame timer (counts down) of waiting before letter rotation restarts
$7E00CA 2 bytes Timer Game Over screen: Frame timer (counts up until $0200) for how long to wait until options appear
$7E00CC 53 bytes Empty Unused RAM, cleared (with $00) during every loading screen
$7E0100 1 byte Empty This area never gets initialized or emptied.
$7E0101 15 bytes ASM Interrupt jumps: NMI jumps to $7E0108, IRQ to $7E010C
Copy of $008140-$00814E
$7E0111 7 bytes Empty This area never gets initialized or emptied.
$7E0118 2 bytes Misc. Game Mode. You can find the list of valid values here.
$7E011B 1 byte Misc. Full Game Mode completion flag

$00: Game Mode still running (set by NMI/IRQ)
$FF: Game Mode complete (set by end of game loop)
$7E011C 1 byte Misc. NMI & IRQ Mode
$00: Nintendo Logo
$02: Normal Level Mode
$04: Offset-per-tile Level Modes (1-7/6-4)
$06: Island Scenes
$08: Story Cutscene / Credits
$0A: Mode 7 bosses (Hookbill/Raphael)
$0C: World Map
$0E: Bonus & Bandit Games
$7E011D 2 bytes Misc. Mirror of hardware register $210D (BG1 Horizontal Scroll); since this register is write-twice, this is the full 16-bit mirror, it will write $7E011D and then $7E011E
$7E011F 2 bytes Coordinate Mirror of hardware register $210E (BG1 Vertical Scroll); since this register is write-twice, this is the full 16-bit mirror, it will write $7E011F and then $7E0120
$7E0121 1 byte Misc. Flag for level loading with stage intro text ($02 if true)
$7E0125 1 byte Misc. IRQ Counter
Expected values are 0 to 2
$7E0126 1 byte ASM Main IRQ Mode
$00: Default
$02: Story Cutscene
$04: Credits
$06: Bonus/Bandit Games
$7E012D 1 byte Super FX SCBR (register $3038) mirror, used by GSU init
$7E012E 1 byte Super FX SCMR (register $303A) mirror, used by GSU init
$7E012F 1 byte Debug (Used by debug routine at $0080F8) Frame advance flag: #$00 = disable frame advance, #$01 = enable frame advance
$7E0130 1 byte Debug (Used by debug routine at $0080F8) Frame advance timer: When L or R is pressed on Controller 2 and frame advance flag at $012F is set, skips game mode code and decrements once per frame until it reaches 0, then next frame runs game mode code for one frame.
Cleared when frame advance flag is set and neither L nor R is pressed on Controller 2.
$7E0131 2 bytes Timer Island: Frame counter
$7E0134 2 bytes Level Data Level header: Background color
$7E0136 2 bytes Level Data Level header: BG1 Tileset
$7E0138 2 bytes Level Data Level header: BG1 Palette
$7E013A 2 bytes Level Data Level header: BG2 Tileset
$7E013C 2 bytes Level Data Level header: BG2 Palette
$7E013E 2 bytes Level Data Level header: BG3 Tileset
$7E0140 2 bytes Level Data Level header: BG3 Palette
$7E0142 2 bytes Level Data Level header: Sprite Tileset
$7E0144 2 bytes Level Data Level header: Sprite Palette
$7E0146 2 bytes Level Data Level header: Level Mode
$7E0148 2 bytes Level Data Level header: Animation Tileset
$7E014A 2 bytes Level Data Level header: Animation Palette
$7E014C 2 bytes Level Data Level header: Background Scrolling
$7E014E 2 bytes Level Data Level header: Music
$7E0150 2 bytes Level Data Level header: Item Memory
$7E0152 2 bytes Level Data Level header: Unused
$7E015F 161 bytes ASM Reserved area for stack. This area never gets initialized or emptied (even upon reset / power on).
$7E0200 1 byte Misc. Screen brightness:
s000bbbb
s = black if set
b = brightness
$7E0201 1 byte Misc. Fade in/out mode
$01 = fade out
$00 = fade in
$7E0203 2 bytes Misc. Mirror of music level header + 1

Used as index for SPC block uploads
$7E0207 4 bytes Music SPC block indices that are currently loaded in ARAM
$7E0212 1 byte Bonus Challenge Bonus game ID:
$00: FLIP CARDS
$02: SCRATCH AND MATCH
$04: DRAWING LOTS
$06: MATCH CARDS
$08: ROULETTE
$0A: SLOT MACHINE
$7E0216 2 bytes Cutscene Flag: Final world unlocked
$7E0218 2 bytes Misc. Current world number (0000 = world 1, 0002 = world 2, etc.) NOTE: 000C isn't a world, but it's used in the final cinema sequence
$7E021A 2 bytes Level Number Current level number, NOTE: not translevel #, just the first level # loaded in from map
$7E0222 72 bytes Map Available tiles on map screen, one byte per level tile:
$00: unavailable
$01: beaten
$80: current (grayed out)
$7E026A 78 bytes Empty Unused RAM, cleared (with $00) via DMA during reset as well as before and after Nintendo logo
$7E02B8 72 bytes Map Current level high scores to be displayed on world map (one byte per level tile)
$7E030E 1 byte Misc. Current save file loaded:
$00: file 1
$02: file 2
$04: file 3
$7E030F 72 bytes Map Map screen tile graphics, 1-byte indices (local to current world loaded)
$7E0357 27 bytes Pause Screen Items in pause menu, one byte per ID:
$00: free slot
$01: +10 star
$02: +20 star
$03: POW
$04: full egg
$05: magnifying glass
$06: star cloud
$07: green melon
$08: blue melon
$09: red melon
$7E0372 2 bytes Misc. Tutorial message bitflags for 1-1 & 1-2:
bfm00000 00000000, b=first loss of Baby Mario in 1-1, f=first Flower received in 1-1, m=first Middle Ring in 1-2
$7E0379 2 bytes Misc. Current number of lives, 999 maximum
$7E037B 2 bytes Misc. Current number of coins
$7E037D 2 bytes Misc. Number of deaths in the current level (not translevel), 999 maximum
$7E037F 2 bytes Misc. Number of 1up's collected in the current level (not translevel), 999 maximum
$7E0383 2 bytes Sprite Palette Current Yoshi color, set on level select (goal Yoshi reads this as well):
$0000: Green
$0001: Pink
$0002: Yellow
$0003: Light Blue
$0004: Purple
$0005: Brown
$0006: Red
$0007: Dark Blue
$7E0385 2 bytes Bonus Challenge Flag for bonus challenge for end of level.
$0001 for no bonus.
$FFFF for bonus.
$7E038C 2 bytes Misc. Flag: warp to a different screen rather than start of stage
$7E038E 2 bytes Misc. Current screen exit (index into screen exit data)
$7E0394 2 bytes Timer Counter between ticks for star increase when stars are under 10
$7E0396 2 bytes Misc. Star count (*10) remaining to be auto-increased by (used by middle ring & items)
$7E0398 1 byte Pause Screen Item currently being used; same item indices as $7E0357
$7E039A 2 bytes Pause Screen Pause Item in continuous use.
Set by items such as star counter and egg fill to act as a pause until item finished use.

Cleared on item use.
$7E039C 1 byte Timer Frame counter during item use (after unpause)
$7E03A1 2 bytes Misc. first digit of star counter
$7E03A3 2 bytes Misc. second digit of star counter
$7E03A9 2 bytes Timer Frame counter for game modes $0D, $0E (during black cover sliding out), $0F, $10 (inside level, not score screen), and $11. Is paused during pause screen, and is reset upon entering stage and also upon star auto-increase (middle rings & +10 & +20 items).
$7E03AB 1 byte Misc. Flag: Star counter is below 9 (beeping/alarm sounds begin)
$7E03AC 2 bytes Misc. Flag: At least one middle ring has been used in current level (value will be number of middle rings used)
$7E03AE 2 bytes Misc. Flag: Boss has been visited before in current level, used to skip Kamek dialogue
$7E03B0 2 bytes Misc. Flag: Baby Bowser boss has been visited before in current level, used to skip Kamek introduction
$7E03B4 2 bytes Misc. Current number of red coins collected
$7E03B6 2 bytes Misc. Current star count * 10
$7E03B8 2 bytes Misc. Current number of flowers collected
$7E03BE 2 bytes Level Data Current Item Memory page (0-3)
$7E03C0 128 bytes Level Data Item Memory Page 0:
Vertical bitplane, each word represents a horizontal line (0 = not collected, 1 = collected)
$7E0440 128 bytes Level Data Item Memory Page 1:
Vertical bitplane, each word represents a horizontal line (0 = not collected, 1 = collected)
$7E04C0 128 bytes Level Data Item Memory Page 2:
Vertical bitplane, each word represents a horizontal line (0 = not collected, 1 = collected)
$7E0540 128 bytes Level Data Item Memory Page 3:
Vertical bitplane, each word represents a horizontal line (0 = not collected, 1 = collected)
$7E05C0 2 bytes Player Physics Current index into Yoshi delay buffers
$7E05C2 296 bytes Player Physics Yoshi X Coordinate delay buffer (2 bytes each): last 148 frames of where Yoshi's X was, used by egg inventory items to follow Yoshi
$7E06EA 296 bytes Player Physics Yoshi Y Coordinate delay buffer (2 bytes each): last 148 frames of where Yoshi's Y was, used by egg inventory items to follow Yoshi
$7E093C 1 byte Controller Controller 1 Data 1 (global):
AXLR----
A = A; X = X; L = L; R = R
$7E093D 1 byte Controller Controller 1 Data 2 (global):
byetUDLR
b = B; y = Y; e = Select; t = Start; U = up; D = down; L = left, R = right
$7E093E 1 byte Controller Controller 1 Data 1, on press/first frame (global):
AXLR----
A = A; X = X; L = L; R = R
$7E093F 1 byte Controller Controller 1 Data 2, on press/first frame (global):
byetUDLR
b = B; y = Y; e = Select; t = Start; U = up; D = down; L = left, R = right
$7E0940 1 byte Controller Controller 2 Data 1 (global):
AXLR----
A = A; X = X; L = L; R = R
$7E0941 1 byte Controller Controller 2 Data 2 (global):
byetUDLR
b = B; y = Y; e = Select; t = Start; U = up; D = down; L = left, R = right
$7E0942 1 byte Controller Controller 2 Data 1, on press/first frame (global):
AXLR----
A = A; X = X; L = L; R = R
$7E0943 1 byte Controller Controller 2 Data 2, on press/first frame (global):
byetUDLR
b = B; y = Y; e = Select; t = Start; U = up; D = down; L = left, R = right
$7E0944 1 byte Controller Previous frame controller 1 data 1 (what was previously in $7E093C), used for next frame's on press
$7E0945 1 byte Controller Previous frame controller 1 data 2 (what was previously in $7E093D), used for next frame's on press
$7E0946 1 byte Controller Previous frame controller 2 data 1 (what was previously in $7E0940), used for next frame's on press
$7E0947 1 byte Controller Previous frame controller 2 data 2 (what was previously in $7E0941), used for next frame's on press
$7E0948 2 bytes Misc. Word that stores each color channel's fixed color data intensity (mirror of $2132 for each channel):
0bbbbbgg gggrrrrr
b = blue channel intensity
g = green channel intensity
r = red channel intensity
$7E094A 1 byte Misc. Mirror of hardware register $420C
$7E094B 1 byte Misc. Mirror of hardware register $2101
$7E094C 1 byte Misc. Mirror of hardware register $212A
$7E094D 1 byte Misc. Mirror of hardware register $212B
$7E094E 1 byte Misc. Mirror of hardware register M7SEL ($211A)