Language…
5 users online:  Anorakun, Powblock532, Reggiamoto, The_Uber_Camper, Zavok - Guests: 68 - Bots: 143
Users: 67,562 (2,002 active)
Latest user: Dilshacking

YI Memory Map

Displaying 50 out of 286 addresses.

View: moderated | waiting (27)

Filter

Link
SRAM Address Length Type Description Details
$701CD6 96 bytes Sprite Table 24 2-word entries, one sprite per:
Word 1: Hitbox X center position (X + offset)
Word 2: Hitbox Y center position (Y + offset)
$701D36 96 bytes Sprite Table 24 4-byte entries, one sprite per:
Byte 1: Slot # of sprite currently colliding with + 1, $FF for Yoshi
Byte 2: ?? (something with most recent collision)
Byte 3: Collision state: $00 = May collide with Yoshi's body/tongue/other sprites, $01 = May not collide with Yoshi's body/other sprites but can be tongued, beyond $01 = Cannot collide with Yoshi/sprites, counts down until $01 to enable tongue collision
Byte 4: ?? (used only for special purposes)
$701D96 96 bytes Sprite Table 24 2-word entries, one sprite per:
Word 1: Timer of being frozen from ice melon, counts down
Word 2: Unused (most likely)
$701DF6 2 bytes Misc. Size of current egg inventory in bytes (eggs/keys * 2)
$701DF8 12 bytes Misc. Current egg inventory sprite indices, 2 bytes per
$701E04 2 bytes Misc. Super Baby Mario timer: counts down
$701E06 1 byte Misc. "Show hidden items" flag
$701E08 2 bytes Layer 1 Tilemap Dynamic block bitflags:
$0008: !-switch blocks on
$0010: Baby Mario blocks on
$701E0A 2 bytes Flag Camera Y centers on Yoshi
$701E0C 1 byte Misc. Camera X subpixel
$701E0D 1 byte Misc. Camera X pixels moved this frame
$701E0E 1 byte Misc. Camera Y subpixel
$701E0F 1 byte Misc. Camera Y pixels moved this frame
$701E10 2 bytes Misc. Previous frame value for Yoshi's X subpixel
$701E12 2 bytes Misc. Previous frame value for Yoshi's X position
$701E14 2 bytes Misc. Previous frame value for Yoshi's Y subpixel
$701E16 2 bytes Misc. Previous frame value for Yoshi's Y position
$701E18 2 bytes Misc. Minimum left side camera X boundary (screen stoppers and other things can change this)
$701E1A 2 bytes Misc. Maximum right side camera X boundary (screen stoppers and other things can change this)
$701E1C 2 bytes Misc. Minimum upper camera Y boundary
$701E1E 2 bytes Misc. Maximum lower camera Y boundary
$701E20 2 bytes Misc. Camera X window minimum (+ 24 = maximum), set to $30 if Yoshi facing right (left side) and $A8 for facing left (right side)
$701E22 2 bytes Misc. Camera Y window minimum (+ 8 = maximum), set to $10 for top, $A0 for bottom
$701E24 2 bytes Misc. Frame counter for pressing up/down buttons to scroll the screen up or down, increments, starts scrolling at $10
$701E26 2 bytes Misc. X distance traveled by autoscroller, subpixel (high byte is spillage)
$701E28 2 bytes Misc. Current autoscroll X velocity, in pixels & subpixels
$701E2A 2 bytes Flag Indicates that a camera event is active & pausing the game (stairs, flower vine, etc.)
$701E38 2 bytes Misc. Camera Y speed during camera event (stairs, etc.)
$701E3E 2 bytes Sprite Number Sprite slot # (+ 1) of spinning 3D plank sprite (sprite ID $039) that Yoshi is currently standing on, $0000 if not standing on these
$701E40 2 bytes Misc. Current "angle" of the pseudo-3D platforms (e.g. falling walls, rolling logs) currently being processed.
$701E42 2 bytes Misc. X position of the pseudo-3D platform (e.g. falling walls, rolling logs) currently being processed + 8.
$701E48 2 bytes Misc. $0000: Baby Mario is on Yoshi's back, $FFFF: not
$701E4A 2 bytes Sprite Number Overwrite ambient sprite slot # ($0000~$003C) to use when spawning an ambient and the tables are full, spawn at this slot - 4 (if < 0, wraparound to $003C)
$701ECC 2 bytes Super FX Dynamic Super FX graphics tiles ($5C00-$5D00 VRAM) currently used/reserved, each bit corresponds to a 16x16 chunk within the full space, 1 means currently used, 0 means free

Each nibble of this word corresponds to a 32x32 piece, and then row-major starting at top left, so the full thing is %1234123412341234 where:
1 = top left
2 = top right
3 = bottom left
4 = bottom right
$701ECE 32 bytes Super FX Sprites' dynamic Super FX graphics reserved chunks, 16 word-sized entries, each one represents which 16x16 chunks of graphics that a particular sprite personally has reserved for it, follows same format as $701ECC, acts as a mask so all 0 bits means this sprite is not using that chunk, the dynamic tile index indexes into this
$701EEE 2 bytes Misc. Camera X offset value during Offset-Per-Tile mode
$701EF0 2 bytes Misc. Camera Y offset value during Offset-Per-Tile mode
$701EF2 64 bytes Misc. Offset per tile mode X offsets: 32 word-sized X offsets, one per screen 8-pixel row, starting at top of screen
$701F32 64 bytes Misc. Offset per tile mode Y offsets: 32 word-sized Y offsets, one per screen 8-pixel column, starting at left side of screen
$701F72 80 bytes Layer 1 Tilemap Effects table for wavy BG1 (like in 6-4 log ride lava), 20 4-byte entries, each entry represents a rectangle in the map which triggers the wavy effect:
Byte 1: Leftmost X tile (all coordinates and sizes are 16 pixel tile regions of the entire area) of rectangle
Byte 2: Topmost Y tile
Byte 3: Width of rectangle - 1
Byte 4: Height - 1

NOTE: when triggered, X will be per-column but Y will activate for the entire height of the screen
$701FE8 2 bytes Timer Timer for fuzzy dizzy effect, starts at $400
$701FEA 2 bytes Player Physics Cross section state, in conjunction with cross section flag:
Upon entering:
$0001: overlay fade out
$0002: does nothing
$0003: does nothing
$0004: palette fading (unused?)
$0005: done
$0006: unused
$0007: unused

Upon leaving:
$0001: does nothing
$0002: palette fading (unused?)
$0003: copy BG1 left tilemap
$0004: copy BG1 right tilemap
$0005: dump to BG3
$0006: overlay fade in
$0007: done
$701FEC 2 bytes Flag Inside cross section: $0000: not inside, $0002: inside
$702000 512 bytes Misc. CGRAM mirror table (palettes)
$702200 1024 bytes Misc. Lookup table for function y = 1/x, mirrors $00E552-$00E951

Used by GSU to divide. It does not have a hardware divide so this lookup table is used instead.
$702600 3 bytes Misc. Pointer to sprite level data for current level
$702604 32 bytes Misc. Newly spawned column of BG3 cross section tiles, SNES VRAM tilemap format ($01CE = blank tile)
$702624 32 bytes Misc. Mirror of $702604
$702644 64 bytes Misc. Newly spawned row of BG3 cross section tiles, SNES VRAM tilemap format ($01CE = blank tile)
$7027CE 252 bytes Misc. Newly spawned sprites this frame, up to 31 8-byte entries, with 4 bytes extra for a possible "end marker" (first word being negative indicates to go no further in the table):
Word 1: Sprite ID (gets put into $701360)
Word 2: X coordinate
Word 3: Y coordinate
Word 4: Stage ID, background layer, sprite priority (gets put into $7014A0)