Banner
Views: 537,163,093
Time: 2017-05-27 04:26:38 AM
21 users online: Akutarex, Alex119098, BlackMageMario, Centipede, chickaDEE Magazine, Danielsonic 87, Epic_Manky, o Erik557, gdmc, Hook, IronFoxGaming, o Koopster, LMPuny, Luigi_master1, Miku, o Mirann, Nariofan101, ParmaJon, Pokemonfan1000, Ruberjig, ViralTyphlosion - Guests: 40 - Bots: 220Users: 31,451 (1,328 active)
Latest: JoltTheHedgehog
Tip: If it's possible to carry a tileset-specific sprite (such as a Buzzy Beetle or Bob-omb) through a pipe, make sure it has the correct graphics and sprite palette on the other side!Not logged in.
YI SRAM Map
Displaying 237 addresses. (approximately 63.49% complete) Show waiting addresses (17) - Submit address
Address Length Type Description
$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
$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
$001A: Dying in pit / inside piranha plant / receiving boss key / shrinking during Prince Froggy
$001C: During prologue cutscene
$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 Misc. Yoshi's jump state:
$0006: Jumping
$0007: Peak of jump
$0008: Falling
$7000C2 2 bytes Misc. 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)
$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
$7000E6 2 bytes Misc. Egg cursor Y position
$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
$70011C 2 bytes Misc. Center of Yoshi X position (Yoshi X + Yoshi width / 2)
$70011E 2 bytes Misc. Center of Yoshi Y position (Yoshi Y position + Yoshi height / 2)
$700120 2 bytes Misc. Yoshi's hitbox half width
$700122 2 bytes Misc. Yoshi's hitbox half height
$70014E 2 bytes Misc. Transformation state:
$0000: Not transforming
$700150 2 bytes Misc. Mouth state:
$00: doing nothing
$01: tongue horizontally growing or spitting
$02: tongue horizontally retracting
$03: tongue vertically growing or spitting
$04: tongue vertically retracting
$07, $0B, $0F, $13, $17, $1B, $1F, $23: States of swallowing non-egg sprites (star, nipper seed, coin, etc.)
$2F, $33, $37, $3B, $3F, $43, $47, $4B: States of swallowing egg-forming sprites
$700152 2 bytes Misc. Tongue X position, relative to Yoshi
$700154 2 bytes Misc. Tongue Y position, relative to Yoshi
$70015A 2 bytes Misc. Yoshi's X tongue position
$70015C 2 bytes Misc. Yoshi's Y tongue position
$70015E 2 bytes Misc. Blocked Tongue States (e.g. tonguing walls)
Values $00 to $0F
$700160 2 bytes Misc. Inedible Tongue state (e.g. tonguing sprites like piranhas / chomp rocks)
Starts at $0014 and decrements until $0002. Zeroes out when tongue retracts.
$700168 2 bytes Misc. Current sprite slot index (+1) being tongued/in mouth - sign bit turns on when unable to swallow
$70016A 2 bytes Misc. Type of ammunition in mouth:
$0001: Fire melon
$0002: Bubble
$0003: Green watermelon
$0004: Ice melon
$70016C 2 bytes Misc. Timer for duration of spitting a projectile, starts at $0000 and increments up to:
Watermelon seed: $0008
Fire melon: $002A
Ice melon: $0038
Bubble: $0018
$70016E 2 bytes Misc. Timer for intentional game freeze while tonguing a watermelon
$700170 2 bytes Misc. Ammunition count in mouth:
Bubble decrements 10 each spit, watermelon decrements 1 each spit, ice and fire melons decrement 10 each spit
$700172 2 bytes Misc. For ice and fire melons: X position of where flame/ice was spat
For watermelon seeds: # of seeds spat in succession during holding Y (loops from 0 to 6 then back to 0)
$700174 2 bytes Misc. Ice and fire melons: Y position of where ice/flame was spat
$700180 2 bytes Misc. Yoshi Tranformation values:

Helicopter:
Rotation speed when hit. Starts at $1000, decreases by $20 each frame until $0700

Submarine:
Rotation angle when hit. Starts at $0000, increments by $10 each frame until $0800

Train:
Size counter when entering track. Starts at $00FF, decrements one per frame until $0070

Car:
X-position in pixels.

Super Baby Mario:
$0007 when running on ground allowing for vertical climb.

Mole:
Orientation of vehicle.
$0000: 0
$0001: 90
$0002: 180
$0003: 270

Ski Yoshi:
Snowball State.
Starts at $0080 when hit and increases by 2 every frame on the ground until value reaches $0100
$7001AE 2 bytes Flag Disables control & animation of Yoshi
$7001B0 2 bytes Flag Disables updating & animation of sprites
$7001B2 2 bytes Misc. Baby Mario state info (set up like bit flags but never more than 1 on simultaneously):
$0000: Off of Yoshi, floating & crying
$2000: Super Baby Mario / Bonus challenge Mario
$4000: Seized by toadies/bandits/frogs
$8000: Riding Yoshi
$7001B4 2 bytes Flag Currently on a platform sprite (Chomp rock, Hint block, rotating platforms, etc.) - also counts the total number currently standing on
$7001B8 2 bytes Flag Previous frame's value of $7001B4
$7001C6 2 bytes Misc. Timer/index into camera Y offset table for small camera shaking (used by ground pounds, big egg ground impact, etc.)
$7001C8 2 bytes Misc. Timer/index into camera Y offset table for large camera shaking (used for falling chain chomps, chasing chain chomp hitting wall, etc.)
$7001CA 2 bytes Misc. Offset per tile mode:
$0000: disabled
$0001: moving platforms (like in 6-4)
$0003: fuzzied
$0005: ??? (maybe unused)
$7001D6 2 bytes Misc. Invincibility timer (starts at $00A0 on hit and decrements)
$7001E2 2 bytes Misc. Egg throwing state timer
$7001EE 2 bytes Misc. Timer for sprite in Yoshi's mouth to be automatically swallowed. Starts off at $04B0 upon sprite entering mouth (even for inedible ones like the shell), counts down to $0000
$7001F4 2 bytes Misc. Transformation timer, counts down
$700200 2048 bytes Misc. OAM buffer. Split into 256 4-word entries, each one representing a possible entry in OAM:

Word 1: Screen-relative X coordinate (low byte copied into byte 1 of OAM low table mirror entry)
Word 2: Screen-relative Y coordinate (low byte copied into byte 2 of OAM low table mirror entry)
Word 3: Copied into OAM low table mirror entry bytes 3 & 4 (see OAM low table mirror $700A00 for details)
Word 4: -p----sx------sx, p = priority (0=forward, 1=reverse), s = size, x = 9th x bit (low byte copied into high table buffer entry)

NOTE: First 16 sprites are reserved for high priority items such as text and these are NOT handled by this buffer, thus copying begins at $700A40 for low table mirror and $700C30 for high table buffer.

Copying will continue until either the last entry of the OAM low table mirror ($700BFC) or the last entry of this buffer ($7009F8).
$700A00 512 bytes Misc. OAM low table mirror. 4-byte entries with format xxxxxxxx yyyyyyyy tttttttt yxppccct (x = X coordinate, y = Y coordinate, t = tile number, c = palette 0-7, p = priority, x&y = flip)
$700C00 32 bytes Misc. OAM high table mirror. 2 bits per entry, most significant X and size flag.
$700C20 128 bytes Misc. OAM high table buffer. Each entry is one byte which corresponds with one OAM entry. The 2 lowest bits of the byte get copied into the high table mirror ($700C00-$700C1F) and shifted into the correct spot for the entry.
$700CAA 128 bytes Misc. Screen ID table: maps raw screen # ($00-$7F) to screen ID ($00-$3F), sign bit on indicates "empty" screen
$700DAA 64 bytes Misc. BG1 - Left half of newest column spawned in, 32 SNES VRAM tilemap words, stored as a column but DMA'd to VRAM with increments of $40 to get to the next row each write and line up properly
$700DEA 64 bytes Misc. BG1 - Right half of newest column spawned in, 32 SNES VRAM tilemap words, stored as a column but DMA'd to VRAM with increments of $40 to get to the next row each write and line up properly
$700E2A 68 bytes Misc. BG1 - Top half of newest row spawned in, 34 SNES VRAM tilemap words, split into two separate DMA's - one for tilemap 1, one for tilemap 2
$700E6E 68 bytes Misc. BG1 - Bottom half of newest row spawned in, 34 SNES VRAM tilemap words, split into two separate DMA's - one for tilemap 1, one for tilemap 2
$700EB6 1 byte Misc. Spriteset file # 1 ($F7 index)
$700EB7 1 byte Misc. Spriteset file # 2 ($F8 index)
$700EB8 1 byte Misc. Spriteset file # 3 ($F9 index)
$700EB9 1 byte Misc. Spriteset file # 4 ($FA index)
$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: turning into star
$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: ?t?????? t = Yoshi may tongue this sprite
Byte 2: ??
Byte 3: terrain collision flags
Byte 4: ??
$701000 64 bytes Sprite Table 16 4-byte entries, one ambient sprite per:
Byte 1: ????mmdd

d = Index into despawning x,y threshold table, m = drawing method index

Byte 2: Count/# of bytes taken up in OAM buffer
Byte 3: byte 4 of OAM low table mirror
Byte 4: ??
$701040 96 bytes Sprite Table 24 4-byte entries, one sprite per:
Byte 1: ????mmdd

d = Index into despawning x,y threshold table, m = drawing method index

Byte 2: Count/# of bytes taken up in OAM buffer
Byte 3: byte 4 of OAM low table mirror
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: Sprite ID ($1BA - $22E)
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 ($000 - $1B9)
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: $0000 = left, $0002 = right, $0004 = upside down left, $0006 = upside down right
Word 2: Current animation frame
$701400 96 bytes Sprite Table 24 2-word entries, one sprite per:
Word 1: Facing/direction: $0000 = left; $0002 = right
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 dynamic OBJ tiles, 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 dynamic OBJ tiles, 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
$701860 96 bytes Sprite Table 24 2-word entries:
Word 1: ???????G ????????
Word 2: ??

G = on ground (0 = in air)
$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 Misc. Sprite 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
$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)
$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 Misc. ! switch state
$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
$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.)
$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.
$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
$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)
$7028CA 256 bytes Misc. Stage sprites' spawning flags, 1-byte entries indexed by their stage ID ($00-$FF, same as in $7014A0 table):
$00: Not spawned in currently, ready to spawn when column/row is reached
$FF: Do not spawn: this either means the sprite is currently spawned in or is destroyed like enemy swallowed
$7029CA 2 bytes Misc. Pointer into next free entry of $7029CC table
$7029CC 928 bytes Misc. Sprite interactive terrain buffer - mostly used for sprites that break sand, each sprite has 5 entries representing left, right, center, top, and bottom; room for up to 23 sprites, plus one additional entry; 8-byte entries:
Word 1: X coordinate
Word 2: Y coordinate
Word 3: ???
Word 4: ???
$704070 2 bytes Misc. Current message box data index
$70409E 1024 bytes Misc. Table of MAP16 indices that represents the currently loaded two BG1 foreground tiles (two screens side by side, even & odd x-wise), orientation is based on scroll values
$70449E 120 bytes Misc. Offset per tile moving object table, 20 6-byte entries, each entry represents a rectangle in the map which triggers an OPT effect that oscillates up & down (like 6-4 moving platforms):
Byte 1: Leftmost X tile of rectangle (all coordinates and sizes are 8 pixel tile coords)
Byte 2: Topmost Y tile
Byte 3: Width of rectangle - 1
Byte 4: Height - 1
Byte 5: Amplitude of oscillation: # of pixels the object travels both up and down from its normal position in stage, this value is signed which indicates initial movement direction
Byte 6: Current offset of object

NOTE: when triggered, X will be per-column but Y will activate for the entire height of the screen
$705800 8192 bytes Misc. Buffer used for decompressed file destination/pixel plotting destination; varies in size but up to 8kb
$707C00 2 bytes Misc. Save file 1: # of lives (from last save)
$707C02 1 byte Misc. Save file 1: Last level beaten
$707C03 72 bytes Misc. Save file 1: Level high scores, 1 byte per map tile, format: csssssss, c = level completed, s = high score
$707C4B 27 bytes Misc. Save file 1: Pause menu items, 1 byte per item, same format as $7E0357
$707C66 1 byte Misc. Save file 1: Controller settings, same format as $700082
$707C67 1 byte Misc. Save file 1: Tutorial message box bitflags, same format as $7E0372
$707C68 2 bytes Misc. Save file 2: # of lives (from last save)
$707C6A 1 byte Misc. Save file 2: Last level beaten
$707C6B 72 bytes Misc. Save file 2: Level high scores, 1 byte per map tile, format: csssssss, c = level completed, s = high score
$707CB3 27 bytes Misc. Save file 2: Pause menu items, 1 byte per item, same format as $7E0357
$707CCE 1 byte Misc. Save file 2: Controller settings, same format as $700082
$707CCF 1 byte Misc. Save file 2: Tutorial message box bitflags, same format as $7E0372
$707CD0 2 bytes Misc. Save file 3: # of lives (from last save)
$707CD2 1 byte Misc. Save file 3: Last level beaten
$707CD3 72 bytes Misc. Save file 3: Level high scores, 1 byte per map tile, format: csssssss, c = level completed, s = high score
$707D1B 27 bytes Misc. Save file 3: Pause menu items, 1 byte per item, same format as $7E0357
$707D36 1 byte Misc. Save file 3: Controller settings, same format as $700082
$707D37 1 byte Misc. Save file 3: Tutorial message box bitflags, same format as $7E0372
$707D38 104 bytes Misc. Backup of save file 1
$707DA0 104 bytes Misc. Backup of save file 2
$707E08 104 bytes Misc. Backup of save file 3
$707E70 6 bytes Misc. Save file checksums: 2-byte ($7777 - checksum) of save files 1, 2, then 3
$707E76 6 bytes Misc. Backup save file checksums: 2-byte ($7777 - checksum) of backup save files 1, 2, then 3
$707E7C 2 bytes Misc. Current / most recent save file loaded in ($0000, $0001, $0002)
$707E7E 386 bytes Misc. Unused battery backed up Save RAM
Won't get cleared or changed

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2017 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 24

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented