Address Length Description
24064 3
Best Time
The best time so far, as three BCD bytes. The hours are a single digit (in the low nibble). See Time_1 for the time of the current game.
24067 1
Flag: Best Time
When a value for "Best Time" exists this will be 1 else it'll be 0.
24068 3
Player X Position
The position of the player's car along the map. It is a 24-bit number made up of a fraction of a map unit and then the position in map units. The fraction is needed because the car moves by less than one map unit each frame (see HandlerAccelerate). The map is 6144 map units wide.
24071 3
Player Y Position
The position of the player's car up the map, in the same way as PlayerMapPosition_Fraction. The map is 3072 map units high.
24074 2
Fuel
The amount of fuel in the tank, which is shown on the fuel gauge. It is used up as the car moves (see HandlerFuel) and set to 49407 by a refuel (see PlaceObject_Refuel). The car is out of fuel when the high byte is 0.
24076 1
Temperature
The temperature of the engine, which is shown on the temperature gauge. It goes up to 192 rising at high speeds and falling at low speeds (see FuelSkipWrite). The car slows down as if it has no fuel when the temperature is 160 or more.
24077 1
Speed
The speed of the player's car, which is shown on the speed gauge. It goes from 0 to 192 (see HandlerCanAccelerate).
24078 2
Unknown
Only ever written to, with 0 when a new car is set up (see 25537). Purpose not yet known.
24080 2
Player Direction
The direction that the player's car is facing, as a 1024 step circle: 0 is straight up and the car turns clockwise as the number increases. Steering changes it by 24 each frame (see HandlerSteering).
24082 1
Unused
This byte is not referenced by the game.
24083 1
Object Quadrant
Which side of the player's car the object being drawn is on, found by DrawObjects and used by PlaceObject. Bit 1 is set when the object is to the left of the car.
24084 2
Object Screen Position
The position on the screen of the object being drawn, which is worked out by PlaceObject. The values are not used again after that.
24086 1
Unused
This byte is not referenced by the game.
24087 1
Object Distance X
The horizontal distance (always positive, in map units) from the player's car to the object being drawn, which is worked out by DrawObjects.
24088 1
Object Distance Y
The vertical distance (always positive, in map units) from the player's car to the object being drawn, which is worked out by DrawObjects.
24089 2
Current Object
The address of the first entry in MapPoints which might be in view of the player's car. DrawObjects starts from here, and it is kept up to date by FindFirstObject and UpdateCurrentObject.
24091 1
Flag: Pointer Moved Back
Set to 1 by UpdateCurrentObject when it has moved the pointer at CurrentObject back to an earlier map point, else 0.
24092 2
Previous Distance
The distance to the previous map point, kept by UpdateCurrentObject when it is moving the pointer at CurrentObject forwards.
24094 1
Object Sprite ID
The sprite ID that is used to draw the object being drawn by PlaceObject. This is the same as ActiveObject, unless the object is a place name.
24095 1
Active Object
The sprite ID of the entry in MapPoints that is being drawn by DrawObjects. Bit 6 is set for a place name, and a collected cup is 96.
24096 7
Actor Buffer
The old state of the actor whose sprite is being erased and drawn again (see StoreEntity and DisplayEntity).
24103 2
Actor Screen Position
The position of the sprite being coloured by ColouriseSprite.
24105 2
Game Timer
16-bit counter starting at 0x0000 and counting +1 for each pass of the main loop (see Pause_Loop). This continues until the game is over. Counter loops around after reaching 65535.
24107 1
Unused
This byte is not referenced by the game.
24108 1
Width Counter
Temporary counter used when drawing sprites.
24109 3
Miles
The miles travelled, as six BCD digits (see UpdatePlayerCar and DisplayMiles).
24112 1
Miles Fraction
The fraction of a mile that has been travelled, which carries over into the miles when it overflows (see UpdatePlayerCar).
24113 3
Time
The time taken in the current game, as three BCD bytes. The hours are a single digit (in the low nibble). See HandlerTime.
24116 2
Player World Co-ordinates
The inverted low byte of PlayerMapPosition and the low byte of PlayerMapPositionY from the last time that the terrain dots were moved (see UpdateTerrainDots).
24118 2
Player Marker Address
The screen address of the player's marker on the map in the sidebar (see LocatePlayerMarker).
24120 1
Player Marker Byte
The byte of the screen that is covered up by the player's marker on the map (see FlashPlayerMarker).
24121 1
Current Place
This value will either be the current Place ID or 255 to indicate being open to entering a new place (to avoid repetition).
24122 2
Object Map Pointer
The address of the entry in MapPoints which follows the object that was last drawn, which is used to find the sprite ID of a cup or other object that has been reached.
24124 1
Cups Collected
24125 1
Player Lives
24126 1
Game Options
Byte Binary Option
0 00000000 Keyboard
2 00000010 Joystick
24127 1
Current menu item colour attribute
24128 1
Old Sprite Shift
The number of pixels that the old sprite is shifted to the right by (see PrepareOldSprite).
24129 1
New Sprite Shift
The number of pixels that the new sprite is shifted to the right by (see PrepareActorSprite).
24130 1
Object Attribute
The attribute of the object being drawn, which is worked out by DrawObjects.
24131 1
Flag: Day or Night
Byte Flag
0 Day
1 Night
24132 1
Background Attribute
24133 1
Bounce Counter
Set to 5 when the car bounces off the edge of the map, and counted down by HandlerSteering while the bounce sound is made.
24134 1
Sound Counter
Used as a counter for the cup collection and refuelling sounds.
24135 1
Sound Store
24136 1
Temporary Text Item X Position
Used for the indent for;
24137 3
High Score
3-byte representation of the score.
24140 3
Score
3-byte representation of the score.
24143 1
Last Place Visited
The sprite ID of the last place that the car has refuelled at, so that the points for reaching a place are only awarded once in a row (see 28673). It is reset when a new car is set up.
24144 24
Objects
The objects that are in view, which are drawn by PlaceObject and removed by HandlerObjects. The sprite ID has bit 7 set when the object has been seen this frame, and the sprite ID is 0 when the slot is not used. The game only uses the first seven slots.
24168 12
Radar Blips
The three blips on the radar (see UpdateRadar): the first car, the second car and the nearest cup. Each is four bytes: the column and row where the blip is drawn, and then the column and row where it will be drawn next. A column and row of 0 and 0 mean that there is no blip.
24180 1
Miles Checkpoint
The middle byte of the miles (24110) the last time that points were awarded for it by UpdatePlayerCar.
24181 11
Unused
These bytes are not referenced by the game.
24192 12
Player Entity
The first of the three entities that the main loop handles (see MainLoop_NewPass); EntityTemplate holds the initial values. This one is the player's car. The first byte is the state, which says what the entity is doing (1 when driving and 3 when exploding). The player's car is drawn in the centre of the play area, so its position is not used for movement.
24204 12
First Car Entity
The first of the two cars that chase the player. See HandlerCar for what each of the fields means.
24216 12
Second Car Entity
The second of the two cars that chase the player. See HandlerCar for what each of the fields means.
24228 92
Unused
These bytes are not referenced by the game; NextEntity uses the address as the end of the entities.