YI Memory Map
Displaying 75 out of 286 addresses.
View: moderated | waiting (27)
SRAM Address | Length | Type | Description | Details |
---|---|---|---|---|
$700000 | 112 bytes | Super FX | Scratch RAM, used like "registers" for various operations on the Super FX, also used as additional parameters to Super FX routines | |
$700070 | 1 byte | Controller | Controller Data 1 (for gamemode 0F): AXLR---- A = A; X = X; L = L; R = R |
|
$700071 | 1 byte | Controller | Controller Data 2 (for gamemode 0F): byetUDLR b = B; y = Y; e = Select; t = Start; U = up; D = down; L = left, R = right |
|
$700072 | 1 byte | Controller | Controller Data 1, on press/first frame (for gamemode 0F): AXLR---- A = A; X = X; L = L; R = R |
|
$700073 | 1 byte | Controller | Controller Data 2, on press/first frame (for gamemode 0F): byetUDLR b = B; y = Y; e = select; t = Start; U = up; D = down; L = left, R = right |
|
$700076 | 2 bytes | Sound Effect | Mirror of $7E0051 (register $2141) for GSU player control routine, used for transformations | |
$70007A | 2 bytes | Sound Effect | Super FX sound ID, returned by GSU to push into sound queue (play a sound effect) | |
$700082 | 1 byte | Controller | Controller settings ($00 = patient; $02 = hasty) | |
$70008A | 2 bytes | Misc. | Yoshi's X subpixel position (high byte is spillage) | |
$70008C | 2 bytes | Misc. | Yoshi's X position | |
$70008E | 2 bytes | Misc. | Yoshi's Y subpixel position (high byte is spillage) | |
$700090 | 2 bytes | Misc. | Yoshi's Y position | |
$700092 | 2 bytes | Misc. | Pointer to next free slot in OAM buffer | |
$700094 | 2 bytes | Misc. | Layer 1 Camera X | |
$700096 | 2 bytes | Misc. | Layer 2 Camera X | |
$700098 | 2 bytes | Misc. | Layer 3 Camera X | |
$70009A | 2 bytes | Misc. | Layer 4 Camera X | |
$70009C | 2 bytes | Misc. | Layer 1 Camera Y | |
$70009E | 2 bytes | Misc. | Layer 2 Camera Y | |
$7000A0 | 2 bytes | Misc. | Layer 3 Camera Y | |
$7000A2 | 2 bytes | Misc. | Layer 4 Camera Y | |
$7000A4 | 2 bytes | Misc. | X position of the leftmost tiles on the screen | |
$7000A6 | 2 bytes | Misc. | Y position of the uppermost tiles on the screen | |
$7000A8 | 2 bytes | Misc. | Previous frame Yoshi's X velocity | |
$7000AA | 2 bytes | Misc. | Yoshi's Y velocity | |
$7000AC | 2 bytes | Misc. | Yoshi state: $0000: Regular (player control) $0002: Cutscenes; screen transition (pipe going right) $0003: In screen transition (pipe going left) $0004: In screen transition (pipe going down); in prologue cutscene (Baby Mario mounted) $0005: In screen transition (pipe going up) $0006: Entering/exiting pipe; in transition (pipe going right) $0007: In screen transition (pipe going left) $0008: In screen transition $0009: In screen transition $000A: Entering door $000E: Dying from spike $0010: Transforming $0012: Smashed by falling wall (sprite $036) $0014: Activating goal $0016: During level intro $0018: Being thrown toward baby mario at end of transformation $001A: Dying in pit / inside piranha plant / receiving boss key / shrinking during Prince Froggy $001C: During prologue cutscene $001E: Pushed away in Raphael Cutscene $0020: Entering Raphael Boss room (moon) $0022: Entering keyhole during boss key cutscene $0028: Dying from lava $002A: Being ejected vertically (after transition) |
|
$7000AE | 2 bytes | Misc. | Yoshi form: $0000: Yoshi $0002: Car Yoshi $0004: Mole Yoshi $0006: Helicopter Yoshi $0008: Train Yoshi $000A: Mushroom Yoshi (Beta) $000C: Sub Yoshi $000E: Ski Yoshi $0010: Super Baby Mario $0012: Plane Yoshi (Beta) |
|
$7000B0 | 2 bytes | Misc. | Yoshi's X position relative to camera | |
$7000B2 | 2 bytes | Misc. | Yoshi's Y position relative to camera | |
$7000B4 | 2 bytes | Misc. | Yoshi's X velocity | |
$7000B6 | 2 bytes | Misc. | Angle of ground Yoshi is on | |
$7000B8 | 2 bytes | Misc. | Angle of terrain slope that Yoshi's top is colliding with | |
$7000BA | 2 bytes | Misc. | Angle of terrain slope that Yoshi's middle part is colliding with | |
$7000BC | 2 bytes | Misc. | Angle of terrain slope that Yoshi's bottom part is colliding with | |
$7000BE | 2 bytes | Misc. | Yoshi's current animation frame | |
$7000C0 | 2 bytes | Player Physics | Yoshi's jump state: $0006: Jumping $0007: Peak of jump $0008: Falling |
|
$7000C2 | 2 bytes | Player Physics | Yoshi's ducking state: $0000: not ducking $0001-$0004: mid-duck / mid-duck release $0005: fully ducked |
|
$7000C4 | 2 bytes | Misc. | Yoshi facing direction ($0000: right, $0002: left) | |
$7000C6 | 2 bytes | Player Physics | Yoshi swimming state: $0000: not swimming $0001: landing in water, no player control $0002: feet up briefly after landing $0003: swimming |
|
$7000CC | 1 byte | Misc. | Direction player last accelerated from input: $00: not moving $01: right $02: left |
|
$7000CE | 2 bytes | Flag | $004C: Player is holding Up while on ground, $0000 not | |
$7000D2 | 1 byte | Misc. | Yoshi fluttering state: $00: After a flutter, midair $01: Not in a flutter chain: resets to this upon hitting ground or ceiling $02: Begin flutter $04, $06, $08: Mid-flutter states |
|
$7000D3 | 1 byte | Flag | $80: extended fluttering, $00 not | |
$7000D4 | 2 bytes | Misc. | Ground pound state: $0001~$0006: init states $0007: falling $0008~$000B: hitting the ground $000C: fully on ground, other actions enabled |
|
$7000D6 | 2 bytes | Misc. | Frame counter for holding Down button in air to ground pound. When it reaches $0007, ground pound will initiate. Set to $FFFF when pressing down on ground |
|
$7000DA | 2 bytes | Player Physics | Yoshi's stair state/counter, counts down/up in between steps on stairs (only high byte is used): $0800 to $0100 for left-facing stairs $F800 to $FF00 for right-facing stairs |
|
$7000DC | 2 bytes | Misc. | Frame counter for pushing yourself against a wall / a pushable sprite. The pushing animation starts at $10, and it loops at $23. NOTE: For pushable sprites, the entire range is +1 so starts at $01, $11 is animation, stops at $24. | |
$7000DE | 2 bytes | Misc. | Egg throwing state (decrements over time): $0007~$000A: init $0006: cursor out, ready to throw $0001~$0005: has been thrown $0000: not throwing |
|
$7000E0 | 2 bytes | Misc. | Egg cursor distance from Yoshi: Byte 1: Subpixels Byte 2: Pixels |
|
$7000E4 | 2 bytes | Misc. | Egg cursor X position When spitting an enemy this is used together with player speed to set enemy X-speed |
|
$7000E6 | 2 bytes | Misc. | Egg cursor Y position When spitting an enemy this is used subtracted with constant $0200 to set enemy y-speed |
|
$7000E8 | 2 bytes | Misc. | Frame counter for holding the Down button to cancel egg throw (up to $0007 then it cancels) | |
$7000EA | 2 bytes | Flag | $FFFF = Egg cursor locked with L/R, $0000 = not locked | |
$7000EC | 2 bytes | Flag | Egg aiming flag: $FFFF: Have eggs, can aim $0000: No eggs, can't aim $0002: In water, can't aim |
|
$7000EE | 2 bytes | Misc. | Egg cursor angle, ranges from $0000 = lowest, to $2E00 = highest | |
$7000F0 | 2 bytes | Misc. | Angular velocity of egg cursor (fixed point) | |
$7000F2 | 2 bytes | Misc. | How much Yoshi is stumbling during fuzzied state, starts at $00 and increments or decrements by $02 until threshold point, then begins stumbling: $001A: stumble forward threshold $FFE6: stumble backward threshold |
|
$7000F4 | 2 bytes | Misc. | Direction Yoshi is currently leaning during fuzzied state, relative to Yoshi's current facing: $0002: forward $FFFE: backwards |
|
$7000F6 | 2 bytes | Misc. | Yoshi idle animation state: $0000: Stepping in place $0002: Blinking $0004: Scratching nose $0006: Turning around |
|
$7000F8 | 2 bytes | Misc. | Running animation state: alternates between $0000 and $0002 while running pre/post-run: $0000 - $0012, increments by $02 |
|
$7000FA | 2 bytes | Misc. | Current ground type Yoshi is on: $0000: Ground $0001: Water $0002: ???? $0003: Ice $0004: Snow $0005: Mud |
|
$7000FC | 2 bytes | Misc. | Player collision with MAP16 terrain, format: 0000000L lRrTtBMb L = left, head l = left, body R = right, head r = right, body T = top, left half t = top, right half B = bottom, left third M = bottom, middle third b = bottom, right third |
|
$7000FE | 2 bytes | Misc. | Player collision with water, same format as $7000FC | |
$700100 | 2 bytes | Misc. | Player collision with cross section tiles, same format as $7000FC | |
$700102 | 2 bytes | Flag | $0001 when on a Spiky Stake ($0000 means not) | |
$700104 | 2 bytes | Misc. | Current door exit type: $0000: Regular door / boss door $0100: Sewer pipe hole (like in 4-E) $FFFF: Bandit mini-game door |
|
$700106 | 1 byte | Misc. | Pipe entrance/exit transition type: $02 = Going right $04 = Going left $06 = Going down $08 = Going up |
|
$700107 | 1 byte | Misc. | Pipe entrance/exit transition type: $00 = Vertical, going in pipe $40 = Vertical, coming out of pipe $80 = Horizontal, going in pipe $C0 = Horizontal, coming out of pipe |
|
$700108 | 2 bytes | Misc. | Distance Yoshi has travelled so far in vertical/horizontal pipe entrance transition, in pixels & subpixels ($ppss), fade & exit begins at $1F00 for both (NOTE: for horizontal it's basically a constant $0080 increase) | |
$70010A | 2 bytes | Misc. | Yoshi's vertical pipe entrance animation state: $0001-$0006: going down a pipe $0001-$0009: going up a pipe |
|
$70010C | 2 bytes | Misc. | Yoshi's vertical pipe entrance acceleration: $0100 = 1 subpixel, low byte is subsubpixels | |
$70010E | 2 bytes | Misc. | Before entering pipe: Yoshi's horizontal distance from vertical pipe entrance During pipe entrance transition: Current horizontal position of pipe entrance |
|
$700110 | 2 bytes | Misc. | While walking on mud/snow: Mirror of $7000F8, used for generating mud/snow particles While sliding on mud: Distance slid, wraps around at $1FFF, used to generate mud splashes |
|
$700112 | 2 bytes | Misc. | Car transformation wheel extension height, increments by 2, maxes at $0030 | |
$700114 | 2 bytes | Misc. | Address of ROM graphics (bank $52) to DMA into VRAM at $4200-$43FF: -Yoshi's tongue -Yoshi egg during Super Star Mario -Yoshi during bubble transformation |
|