YI Memory Map
Displaying 50 out of 286 addresses.
View: moderated | waiting (27)
SRAM Address | Length | Type | Description | Details |
---|---|---|---|---|
$700EBA | 1 byte | Misc. | Spriteset file # 5 ($FB index) | |
$700EBB | 1 byte | Misc. | Spriteset file # 6 ($FC index) | |
$700EBC | 2 bytes | Misc. | Previous frame X coordinate of sprite currently being processed | |
$700EBE | 2 bytes | Misc. | Previous frame Y coordinate of sprite currently being processed | |
$700EC0 | 64 bytes | Sprite Table | 16 4-byte entries, one ambient sprite per: Word 1: Flag for whether it exists currently or not (usually $000E for active) Word 2: $0000 |
|
$700F00 | 96 bytes | Sprite Table | 24 4-byte entries, one sprite per: Word 1: Sprite state $0000: nonexistent (used for skipping processing) $0002: newly spawned $0004: same as $02? $0006: pop sprite (turn into other sprite based on this table) $0008: in yoshi's tongue and/or mouth $000A: riding Yoshi $000C: colliding $000E: yoshi head bop $0010: active / alive $0012: burning to death from lava/fire melon Word 2: Angle of ground that the sprite is walking on |
|
$700F60 | 64 bytes | Sprite Table | 16 4-byte entries, one ambient sprite per: bitwise flags: Byte 1: ???????? Byte 2: ?? Byte 3: terrain collision flags Byte 4: ?? |
|
$700FA0 | 96 bytes | Sprite Table | 24 4-byte entries, one sprite per: Byte 1: tc?hhhhh t = Can be tongued (into mouth) c = Tongue collision is ignored h = hitbox setting (index into hitbox tables) Byte 2: ?? Byte 3: terrain collision flags Byte 4: ?? |
|
$701000 | 64 bytes | Sprite Table | 16 4-byte entries, one ambient sprite per: Byte 1: ????ddmm d = Index into despawning x,y threshold table (00 means no despawning) m = drawing method index Byte 2: Count/# of bytes taken up in OAM buffer Byte 3: Partial OAM low table mirror yx00ccc0 (c = palette 0-7, x&y = flip) Note: X-flip and Y-flip is conventionally set by facing direction Byte 4: ?? |
|
$701040 | 96 bytes | Sprite Table | 24 4-byte entries, one sprite per: Byte 1: sf?bddmm s = automatic swallow f = can be frozen b = can be burned by flame d = Index into despawning x,y threshold table (00 means no despawning) m = drawing method index Byte 2: Count/# of bytes taken up in OAM buffer Byte 3: Partial OAM low table mirror yx00ccc0 (c = palette 0-7, x&y = flip) Note: X-flip is conventionally set by facing direction Byte 4: ?? |
|
$7010A0 | 64 bytes | Sprite Table | 16 4-byte entries, one ambient sprite per: Ambient Sprite X coordinates, format: Byte 1: 00 Byte 2: X subpixel Byte 3: X pixel Byte 4: X screen |
|
$7010E0 | 96 bytes | Sprite Table | 24 4-byte entries, one sprite per: Sprite X coordinates, format: Byte 1: Sprite priority override flag (puts sprite farthest back if $40) Byte 2: X subpixel Byte 3: X pixel Byte 4: X screen |
|
$701140 | 64 bytes | Sprite Table | 16 4-byte entries, one ambient sprite per: Ambient Sprite Y coordinates, format: Byte 1: 00 Byte 2: Y subpixel Byte 3: Y pixel Byte 4: Y screen |
|
$701180 | 96 bytes | Sprite Table | 24 4-byte entries, one sprite per: Sprite Y coordinates, format: Byte 1: Index into OBJ Tiles (override) Byte 2: Y subpixel Byte 3: Y pixel Byte 4: Y screen |
|
$7011E0 | 64 bytes | Sprite Table | 16 2-word entries, one ambient sprite per: Word 1: X speed Word 2: Y speed |
|
$701220 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: X speed Word 2: Y speed |
|
$701280 | 64 bytes | Sprite Table | 16 2-word entries, one ambient sprite per: Word 1: X delta, or pixels moved since last frame (curr X - prev X) Word 2: Y delta, or pixels moved since last frame (curr Y - prev Y) |
|
$7012C0 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: X delta, or pixels moved since last frame (curr X - prev X) Word 2: Y delta, or pixels moved since last frame (curr Y - prev Y) |
|
$701320 | 64 bytes | Sprite Table | 16 2-word entries, one ambient sprite per: Word 1: Ambient sprite ID (list of valid values with their names) Word 2: Pointer to first entry within OAM buffer |
|
$701360 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: Sprite ID (list of valid values with their names) Word 2: Pointer to first entry within OAM buffer |
|
$7013C0 | 64 bytes | Sprite Table | 16 2-word entries, one ambient sprite per: Word 1: Facing/direction: 00000yx0 y = Y flip x = X flip Word 2: Current animation frame |
|
$701400 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: Facing/direction: 00000yx0 y = Y flip x = X flip Note: Y-flip conventionally set by OAM mirror Word 2: Current animation frame (High byte is used as a special flag for shyguys when spat upwards) |
|
$701460 | 64 bytes | Sprite Table | 16 4-byte entries, one ambient sprite per: Byte 1: Stage-wide ID (is always $FF as ambient sprites do not respawn) Byte 2: Background layer # of ambient sprite (unused?) Byte 3: Ambient Sprite Prioirty (0-7) - higher means further back - $FF used to disable drawing Byte 4: 00 (unused) |
|
$7014A0 | 96 bytes | Sprite Table | 24 4-byte entries, one sprite per: Byte 1: Stage-wide ID ($FF means no respawn) Byte 2: Background layer # of sprite Byte 3: Sprite Prioirty (0-7) - higher means further back - $FF used to disable drawing Byte 4: 00 (unused) |
|
$701500 | 64 bytes | Sprite Table | 16 2-word entries, one ambient sprite per: Word 1: X acceleration (e.g. gravity, friction) Word 2: Y acceleration |
|
$701540 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: X acceleration (e.g. gravity, friction) Word 2: Y acceleration |
|
$7015A0 | 64 bytes | Sprite Table | 16 2-word entries, one ambient sprite per: Word 1: X acceleration ceiling (max speed for acceleration to apply) Word 2: Y acceleration ceiling |
|
$7015E0 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: X acceleration ceiling (max speed for acceleration to apply) Word 2: Y acceleration ceiling |
|
$701640 | 64 bytes | Sprite Table | 16 2-word entries, one ambient sprite per: Word 1: X coordinate relative to camera Word 2: Y coordinate relative to camera |
|
$701680 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: X coordinate relative to camera Word 2: Y coordinate relative to camera |
|
$7016E0 | 64 bytes | Sprite Table | 16 2-word entries, one ambient sprite per: Word 1: vertical terrain collision offset in pixels (signed) Word 2: Index into reserved dynamic tiles table, often used for SuperFX graphics ($FFFF means disabled) (unused for ambient sprites?) |
|
$701720 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: vertical terrain collision offset in pixels (signed) Word 2: Index into reserved dynamic tiles table, often used for SuperFX graphics ($FFFF means disabled) |
|
$701780 | 64 bytes | Sprite Table | 16 2-byte and 1-word entries, one ambient sprite per: Byte 1: 00 Byte 2: Timer, used for whatever that sprite needs. (unused in game?) Word 2: Timer, zero removes ambient sprite (every sprite?). Often used for duration of each animation. |
|
$7017C0 | 96 bytes | Sprite Table | 24 4-byte entries, one sprite per: Yoshi collision information: Byte 1: ?? Byte 2: Timer, used for whatever that sprite needs. Only sprite timer active during pause flags. (unused in game?) Byte 3: $00: Yoshi is to the left of the sprite; $02: Yoshi is to the right of the sprite Byte 4: $00: Yoshi is above the sprite; $02: Yoshi is below the sprite |
|
$701820 | 64 bytes | ASM | 16 4-byte entries, one ambient sprite per: Byte 1: ???????G (on ground flag) Byte 2: ?? Byte 3: init $FF, ? Byte 4: init $1F, ? |
|
$701860 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: Terrain collision flags, ???????? ????LRUD, high byte is unused; L = Left R = Right U = Up D = Down Word 2: Lava and water collision flag ???????? ??LW??? L = Lava W = Water |
|
$7018C0 | 64 bytes | Sprite Table | Wildcard table; 4 bytes per ambient sprite to be used as each one pleases (never initialized or cleared on spawn) | |
$701900 | 96 bytes | Sprite Table | Wildcard table; 4 bytes per sprite to be used as each one pleases. | |
$701970 | 2 bytes | Misc. | Random number generator (RNG) address, adds horizontal & vertical scanlines per sprite per frame | |
$701972 | 2 bytes | Misc. | Sprite slot # of sprite being currently processed | |
$701974 | 2 bytes | Timer | Frame counter, only counts when sprites are being processed - includes gamemodes $07, $0C (only in level fade-in), $0E, $0F, $10 (inside level, not score screen), $15, $39 Controls tileset animation |
|
$701976 | 96 bytes | Sprite Table | Wildcard table; 4 bytes per sprite to be used as each one pleases. Commonly used for AI state, graphical state, or other purposes. | |
$7019D6 | 96 bytes | Sprite Table | Wildcard table; 4 bytes per sprite to be used as each one pleases. Common usages: Byte 1: AI state Byte 2: Index for which Super FX graphic/animation frame Byte 3: "Next" animation frame Byte 4: Custom per sprite |
|
$701A36 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Super FX morphing values to be used as each Super FX sprite needs, most common is scale then rotation. |
|
$701A96 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Each word is a timer, used for whatever that sprite needs. Common uses are AI and skeletal animations. |
|
$701AF6 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Each word is a timer, used for whatever that sprite needs. (Additional general purpose timers if needed) |
|
$701B56 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: X offset for hitbox center Word 2: Y offset for hitbox center |
|
$701BB6 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: Width of hitbox from center (both sides) Word 2: Height of hitbox from center (top & bottom) |
|
$701C16 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: X distance from Yoshi (+ means to the right of Yoshi) Word 2: Y distance from Yoshi (+ means below Yoshi) |
|
$701C76 | 96 bytes | Sprite Table | 24 2-word entries, one sprite per: Word 1: On collision with another sprite, X delta from that sprite (this X - that X) Word 2: On collision with another sprite, Y delta from that sprite (this Y - that Y) |
|