Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Super Sprint (NES)/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Super Sprint (NES).

(T) denotes temporary use

Address    Size    Description
--------   ----    -----------
0x001        02    (T) Look-Up Table Address
0x009        01    Frame Counter
0x00A        01    Input Interrupted
0x00B        01    Interrupt Timer
0x00C        01    In-Race Frame Counter
0x00D        01    Flag Set 
                   00 = set flag sprite, 80 = sprite already set
0x00E        01    CPU Speed Level
0x00F        01    CPU Acceleration Level
0x010        01    AI Start Delay 
0x011        01    Paused
0x012        01    Skip Winner Screen (press B to skip Winner screen)
0x013        01    Upgrades Access
0x014        01    (T) Track ID
                   Title Screen State
0x015        03    Traffic Cone Colliding Car
0x01B        01    (T) Current Tile Attribute
                       Working Turn Speed
                       Gamepad Pass-through (causes "finish line pause" glitch)
0x01C        01    (T) Tile Normal Vector (i.e. direction of travel)
                       Track Turn "Friction"
0x01D        01    (T) Tile Tangent Vector (i.e. wall direction)
                   (T) Car Reflected Direction
0x01F        01    (T) Car Depth / OAM Offset
0x022        01    Upgrade Screen Player
0x024        02    Cyclone Randomizer
0x026        01    Wrench Status
                   bit 0 = wrench 1 obtained, bit 1 = wrench 2 obtained
                   bit 6 = wrench 1 spawned, bit 7 = wrench 2 spawned
                   wrenches spawn on laps 1 and 4
0x027        03    Wrench Randomizer
0x02B        01    Puddle Sprite
0x02C        01    Bonus Point Left Sprite
0x02D        01    Bonus Point Right Sprite
0x02E        01    Horizontal Scroll
0x02F        01    Vertical Scroll
0x030        01    PPU Mask
0x032        01    Player Score Write Position 
                   0a = 1P only, 14 = 2P
0x033        01    Player 1 Previous RPM
0x034        01    Player 2 Previous RPM
0x036        01    Wrench Y
0x037        01    Wrench X
0x038        01    Puddle Y
0x039        01    Puddle X
0x03A        01    Bonus Point Left Y
0x03B        01    Bonus Point Left X
0x03C        01    Bonus Point Right Y
0x03D        01    Bonus Point Right X
0x03E        03    Traffic Cone Y 
0x041        03    Traffic Cone X
0x044        04    Car Y
0x048        04    Car X
0x04C        04    Car Top Bounds
0x050        01    Cyclone Top Bounds
                   Flag Y
0x051        01    Spark Y
0x052        04    Car Top Bounds - Subpixel
0x056        01    Cyclone Top Bounds - Subpixel
0x057        04    Car Left Bounds
0x05B        01    Cyclone Left Bounds
                   Flag X
0x05C        01    Spark X
0x05D        04    Car Left Bounds - Subpixel
0x061        01    Cyclone Left Bounds - Subpixel
0x062        04    Car Sprite
0x066        01    Cyclone Sprite
0x067        01    Flag Sprite
0x068        01    Dust Sprite
0x069        03    Traffic Cone Sprite
0x06C        04    Car Sprite Pre-Explosion
0x070        04    Car Sprite Speed
0x074        04    Car RPM
0x078        04    Car RPM - Fractional
0x07C        04    Car Direction
0x080        01    Cyclone Direction
0x081        04    Car Direction - Fractional
0x085        04    Tire Traction Level (max 5)
0x089        04    Acceleration Level (max 5)
0x08D        04    Top Speed Level (max 5)
0x091        04    Car Status
                   bit 0 = initializing, bit 1 = near-fatal knockback,
                   bit 2 = banked (maximizes turn rate), bit 3 = spin out,
                   bit 4 = hit by car, bit 5 = carom off wall,
                   bit 6 = exploding, bit 7 = CPU control
0x099        01    Dust Status
0x09A        03    Traffic Cone Status 
                   bit 0 = destroyed, bit 7 = flying
0x09D        04    Car Intersection
                   bit 0 = collision protection & CPU steering disabled, 
                   bit 6 = move to foreground over other cars
0x0A1        04    Car Depth / OAM Offset
0x0A5        04    Car Sprite Attributes
0x0A9        01    Cyclone Sprite Attributes
                   Flag Sprite Attributes
0x0AA        01    Dust Sprite Attributes
0x0AB        01    Wrench Attributes
0x0AC        01    Winner Circle Car Attributes
0x0B1        01    Dust Sprite Position
0x0B2        04    Car Next Checkpoint
0x0B6        04    Lap Count
0x0BA        04    Track Position (LapCount << 4 + LastCheckpoint)
0x0BE        04    Car Overpass Permitted Tile A
0x0C2        04    Car Overpass Permitted Tile B
0x0C6        04    Car Track Direction (CPU use only)
0x0CA        04    Car Timer
0x0CE        01    Cyclone Timer
                   Flag Timer
0x0CF        01    Dust Timer
0x0D0        02    Gamepad Inputs
0x0D2        02    Player Turn Subspeed (something to slow turn rate down?)
0x0E0        02    Audio Track Address
0X0E2        01    Audio Frame Counter
0x0E3        02    Audio Working Address
0x0E5        02    APU Write Register
0x0EF        01    P1 Engine Sound
                   00 = parked, 01 = accelerating, 02 = decelerating, 03 = idle
0x0F0        01    P2 Engine Sound
                   00 = parked, 01 = accelerating, 02 = decelerating, 03 = idle
OAM Stack -  Sprite positions are hard-coded into the OAM
0x200        10    Cyclone Sprites
0x210        04    Dust Sprite
0x214      4x10    Car Sprites sorted by Car Depth
0x254        08    Bonus Points Sprites
0x25C        0C    Traffic Cone Sprites
0x268        04    Wrench Sprite
0x26C        04    Puddle Sprite
0x270        08    HUD "P1" Sprite
0x278        08    HUD "P2" Sprite
0x300        06    HUD Player 1 Score (also the actual score)
0x306        03    HUD Player 1 Wrenches 
                   00 = hide, ff = show
0x309        01    HUD Player 1 Lap
0x30A        06    HUD Player 2 Score (also the actual score)
0x310        03    HUD Player 2 Wrenches 
                   00 = hide, ff = show
0x314        01    HUD Player 2 Lap
0x318        01    HUD Level
0x319        01    Level
0x323        01    Flag Status
0x324        01    Flag Loop Count
0x325        02    Wrench Count
0x327        03    Traffic Cone Animation Timer
0x32B        01    Flag Animation Frames
0x32E        01    Race Status
0x330        01    Active Roadblock ID (max 02)
0x331        03    Roadblock State
0x334        03    Roadblock PPU Address Low Byte
0x337        03    Roadblock PPU Address High Byte
0x33C        01    Racetrack (indexes track order)
0x33D        01    Lead Car
0x33E        01    Lead Car Position
0x35C        01    (T) Working Direction
0x35D        01    (T) Checkpoint Advance (breaks AI if locked to 00)
0x35E        01    Continues
0x52A        01    NOI Address Low Byte
0x52B        01    TRI Address Low Byte
0x52C        01    SQ2 Address Low Byte
0x52D        01    SQ1 Address Low Byte
0x536        01    NOI Address High Byte
0x537        01    TRI Address High Byte
0x538        01    SQ2 Address High Byte
0x539        01    SQ1 Address High Byte