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
0x00E        01    CPU Speed Level
0x00F        01    CPU Acceleration Level
0x014        01    (T) Track ID
0x01B        01    (T) Current Tile Attribute
                       Working Turn Speed
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
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
0x06C        04    Car Sprite Pre-Explosion
0x070        04    Car Sprite Speed creates drifting effect
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
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
0x0AC        01    Winner Circle Car Attributes
0x0B2        04    Car Next Checkpoint
0x0B6        04    Lap Count
0x0BA        04    Track Position LapCount << 4 + LastCheckpoint
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 I guess
0X0E2        01    Audio Frame Counter
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        04    Wrench Count
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 AI breaks intersections if locked at 00
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