This index contains every subroutine, entry point, variable, workspace and macro that appears in the source code for Revs, sorted alphabetically.
| Name | Category | Description |
|---|---|---|
| Absolute16Bit | Maths (Arithmetic) | Calculate the absolute value (modulus) of a 16-bit number |
| Absolute8Bit | Maths (Arithmetic) | Calculate the absolute value (modulus) of an 8-bit number |
| AddCoords | Maths (Geometry) | Add to a specified coordinate variable |
| AddRacePoints | Drivers | Add the race points to the driver's total points |
| AddScaledVector | Maths (Geometry) | Add a scaled vector to another vector, one axis at a time |
| AddSteeringForce | Driving model | Add the steering force to xVelocity or xTyreForceNose |
| AddTimeToTimer | Drivers | Add time to the specified timer |
| AddVectors | Maths (Geometry) | Add two three-axis vectors together |
| AnimateTyres | Dashboard | Update screen memory to animate the tyres |
| ApplyBounce | Driving model | Apply a bounce to the player's car when it hits the ground |
| ApplyDeltas | Driving model | Apply the deltas in the x-axis and z-axis to the player's coordinates |
| ApplyDrivingModel | Driving model | Apply the driving model to the player's car |
| ApplyElevation (Part 1 of 5) | Driving model | Calculate changes in the car's elevation |
| ApplyElevation (Part 2 of 5) | Driving model | Calculate the player's heading and sideways flag |
| ApplyElevation (Part 3 of 5) | Driving model | Calculate player's elevation above the track |
| ApplyElevation (Part 4 of 5) | Driving model | Calculate the height of the car above the track |
| ApplyElevation (Part 5 of 5) | Driving model | Calculate the player's 3D y-coordinate and progress speed |
| ApplyEngine | Driving model | Apply the effects of the engine |
| ApplyGrassOrTrack | Driving model | Apply the effects of driving or braking on grass |
| ApplyLimitAndSign | Driving model | Apply a maximum limit and a sign to a 16-bit number |
| ApplyLimitThrottle | Driving model | Apply a maximum limit to a 16-bit number, unless the throttle is being applied |
| ApplySkidForces | Driving model | Calculate the tyre forces when the car is skidding |
| ApplySpinYaw | Driving model | Calculate variables based on the spin yaw angle |
| ApplySteeringForce | Driving model | Apply steering to xTyreForceNose and zTyreForceNose |
| ApplySteeringSpeed | Driving model | Apply steering to the car's speed in xVelocity and zVelocity |
| ApplyTyreForces | Driving model | Calculate the tyre forces on the car |
| ApplyTyresAndSkids | Driving model | Calculate the forces on the front or rear tyres and apply skid forces and sound effects where applicable |
| ApplyVergeJump | Driving model | Apply a jump to the player's car when hitting the track verge |
| ApplyWingBalance | Driving model | Apply the effect of the wing settings |
| arctanY | Maths (Geometry) | Table for arctan values when calculating yaw angles |
| AssistSteering | Tactics | Apply computer assisted steering (CAS) when configured |
| AssistSteeringKeys | Tactics | For keyboard-controlled steering |
| AwardRacePoints | Drivers | Award points following a race |
| backgroundColour | Screen buffer | The background colour for each track line |
| backgroundLeft | Workspace variable | Details of the verge colour for the left side of the verge edge we are drawing, to use as the track line's background colour |
| backgroundRight | Workspace variable | Details of the verge colour for the right side of the verge edge we are drawing, to use as the track line's background colour |
| baseSpeed | Drivers | The base speed for each car, copied from the track data |
| bestLapMinutes | Workspace variable | Minutes of each driver's best lap time, stored in BCD |
| bestLapSeconds | Workspace variable | Seconds of each driver's best lap time, stored in BCD |
| bestLapTenths | Workspace variable | Tenths of seconds of each driver's best lap time, stored in BCD |
| blockCounter | Workspace variable | A counter for the dash data block we are processing |
| blockEndHi | Setup | High byte of the end address of blocks moved by the MoveCode routine |
| blockEndLo | Setup | Low byte of the end address of blocks moved by the MoveCode routine |
| blockNumber | Workspace variable | The dash data block number for the current edge |
| blockOffset | Workspace variable | The dash data offset for the current edge |
| blockStartHi | Setup | High byte of the start address of blocks moved by the MoveCode routine |
| blockStartLo | Setup | Low byte of the start address of blocks moved by the MoveCode routine |
| blockToHi | Setup | High byte of the destination address of blocks moved by the MoveCode routine |
| blockToLo | Setup | Low byte of the destination address of blocks moved by the MoveCode routine |
| bottomTrackLine | Workspace variable | The bottom track line for the current object part |
| BuildCarObjects (Part 1 of 3) | 3D objects | Calculate the 3D coordinate of the specified car |
| BuildCarObjects (Part 2 of 3) | 3D objects | Add the racing line to the 3D coordinate of the specified car |
| BuildCarObjects (Part 3 of 3) | 3D objects | Calculate the screen coordinates of all the objects in the specified car |
| BuildPlayerCar | 3D objects | Build the objects for the player's car |
| BuildPlayerCar-1 | 3D objects | Contains an RTS |
| BuildRoadSign | 3D objects | Create an object for the road sign |
| BuildVisibleCar | 3D objects | Check the distance to the specified car and build the car object if it is close enough |
| bumpyGrassHeight | Workspace variable | The height of the bumps when driving over grass, which fluctuates randomly in the range 1 to 7 |
| byte2 | Screen buffer | Only draw pixel bytes 26 to 39 |
| CalcRevsNoTorque | Driving model | Calculate the value of the rev counter according to the throttle being applied and zero the engine torque |
| CalcRevsNoTorque-2 | Driving model | Set clutchEngaged to A before running the routine |
| CalcSegmentVector (Brands Hatch) | Extra tracks | Calculate the segment vector for the current segment |
| CalcSegmentVector (Donington Park) | Extra tracks | Calculate the segment vector for the current segment |
| CalcSegmentVector (Nürburgring) | Extra tracks | Calculate the segment vector for the current segment |
| CalcSegmentVector (Oulton Park) | Extra tracks | Calculate the segment vector for the current segment |
| CalcSegmentVector (Snetterton) | Extra tracks | Calculate the segment vector for the current segment |
| CallTrackHook | Setup | The track file's hook code |
| CallTrackHook (Brands Hatch) | Extra tracks | The track file's hook code |
| CallTrackHook (Donington Park) | Extra tracks | The track file's hook code |
| CallTrackHook (Nürburgring) | Extra tracks | The track file's hook code |
| CallTrackHook (Oulton Park) | Extra tracks | The track file's hook code |
| CallTrackHook (Silverstone) | Track data | The track file's hook code |
| CallTrackHook (Snetterton) | Extra tracks | The track file's hook code |
| carProgress | Workspace variable | Lowest byte of each car's progress through the segment it's in |
| carRacingLine | Workspace variable | Each car's position on the track in the x-axis |
| carSectionSpeed | Workspace variable | Set to the driver speed for the next track section, which is taken from the track data and used to set the section's maximum speed for non-player drivers |
| carSpeedHi | Workspace variable | High byte of each car's forward speed |
| carSpeedLo | Car geometry | Low byte of each car's forward speed |
| carStatus | Workspace variable | Each car's status byte |
| carSteering | Workspace variable | Contains the steering to apply to each car |
| ChangeDirection | Car geometry | Update the track segment buffer when the player's car spins so it changes the direction in which it is facing along the track |
| ChangeDirection-1 | Car geometry | Contains an RTS |
| characterDef | Text | Storage for a character definition when printing characters |
| CheckDashData | Screen buffer | Check whether a dash data block index is pointing to dash data |
| CheckForContact | Car geometry | Check to see if the object is close enough to the player car to make contact |
| CheckForContact-2 | Car geometry | Set Y = 37, so we make contact if (L K) <= 37 |
| CheckForCrash | Car geometry | Check to see if we have crashed into the fence, and if so, display the fence and make the crash sound |
| CheckRestartKeys | Keyboard | If the restart keys are being pressed, restart the game |
| CheckVergeOnScreen | Drawing the track | Check whether a verge coordinate is on-screen |
| ClearTotalRaceTime | Drivers | Clear a specified driver's total race time following the end of an incomplete race |
| clockMinutes | Workspace variable | Minutes for the clock timer |
| clockSeconds | Workspace variable | Seconds for the clock timer |
| clockTenths | Workspace variable | Tenths of seconds for the clock timer |
| clutchEngaged | Workspace variable | Determines whether the clutch is engaged |
| collisionDriver | Workspace variable | The number of the driver being hit by the player's car |
| colourData | Workspace variable | Colour data for the current object part |
| colourPalette | Drawing pixels | The main colour palette that maps logical colours 0 to 3 to physical colours |
| colourScheme | Workspace variable | The number of the table colour scheme passed to the SetRowColours routine: |
| CompareCarSegments | Car geometry | Calculate the distance between two cars, in terms of segments and progress with the current segment |
| CompareSegments | 3D objects | Calculate the distance between two objects, in terms of the difference in their segment numbers |
| competitionStarted | Drivers | A flag to indicate whether or not the competition has started |
| configAssist | Workspace variable | A key has been pressed to toggle computer assisted steering (CAS) |
| configJoystick | Workspace variable | A key has been pressed to set joystick or keyboard |
| configKeys | Keyboard | Details of the configuration settings that are set by the shifted configuration keys |
| configPause | Workspace variable | A key has been pressed to pause the game |
| configStop | Workspace variable | A key has been pressed that stops the race |
| configVolume | Workspace variable | A key has been pressed to change the volume |
| ConvertNumberToBCD | Maths (Arithmetic) | Convert a number into binary coded decimal (BCD), for printing |
| CopyDashData | Screen buffer | Copy the dash data from the main game code to screen memory, and vice versa |
| CopySectionData | Track geometry | Copy a 16-bit y-coordinate from the track section data |
| CopyTyreDashEdges | Dashboard | Fetch the pixel bytes from the right edge of the left tyre and the right edge of the dashboard, and fill to the right of the edge |
| cosYawAngleHi | Driving model | High byte of the cosine of the player's yaw angle |
| cosYawAngleLo | Driving model | Low byte of the cosine of the player's yaw angle |
| crashedIntoFence | Car geometry | Flag that records whether we have crashed into the fence |
| currentPlayer | Workspace variable | The number of the current player |
| currentPosition | Workspace variable | The position of the current player |
| currentPositionBCD | Workspace variable | The current race position in BCD |
| dashData0 | Screen buffer | Contains code that gets moved into screen memory |
| dashData1 | Screen buffer | Contains code that gets moved into screen memory |
| dashData2 | Screen buffer | Contains code that gets moved into screen memory |
| dashData3 | Screen buffer | Contains code that gets moved into screen memory |
| dashData4 | Screen buffer | Contains code that gets moved into screen memory |
| dashData5 | Screen buffer | Contains code that gets moved into screen memory |
| dashData6 | Screen buffer | Contains code that gets moved into screen memory |
| dashData7 | Screen buffer | Contains code that gets moved into screen memory |
| dashData8 | Screen buffer | Contains code that gets moved into screen memory |
| dashData9 | Screen buffer | Contains code that gets moved into screen memory |
| dashData10 | Screen buffer | Contains code that gets moved into screen memory |
| dashData11 | Screen buffer | Contains code that gets moved into screen memory |
| dashData12 | Screen buffer | Contains code that gets moved into screen memory |
| dashData13 | Screen buffer | Contains code that gets moved into screen memory |
| dashData14 | Screen buffer | Contains code that gets moved into screen memory |
| dashData15 | Screen buffer | Contains code that gets moved into screen memory |
| dashData16 | Screen buffer | Contains code that gets moved into screen memory |
| dashData17 | Screen buffer | Contains code that gets moved into screen memory |
| dashData18 | Screen buffer | Contains code that gets moved into screen memory |
| dashData19 | Screen buffer | Contains code that gets moved into screen memory |
| dashData20 | Screen buffer | Contains code that gets moved into screen memory |
| dashData21 | Screen buffer | Contains code that gets moved into screen memory |
| dashData22 | Screen buffer | Contains code that gets moved into screen memory |
| dashData23 | Screen buffer | Contains code that gets moved into screen memory |
| dashData24 | Screen buffer | Contains code that gets moved into screen memory |
| dashData25 | Screen buffer | Contains code and part of the dashboard image that gets moved into screen memory |
| dashData26 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData27 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData28 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData29 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData30 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData31 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData32 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData33 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData34 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData35 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData36 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData37 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData38 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData39 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData40 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData41 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashData42 | Screen buffer | Contains part of the dashboard image that gets moved into screen memory |
| dashDataAddress | Screen buffer | Addresses for copying the first block of dash data between the main game code and screen memory |
| dashDataOffset | Screen buffer | Offset of the dash data within each dash data block |
| dashRightEdge | Dashboard | Storage for the first track pixel byte along the right edge of the dashboard |
| debugSpinning | Workspace variable | This variable is never read, but is set to 64 and back to 0 when the car spins past the point where it changes the direction that it is facing along the track |
| DefineEnvelope | Sound | Define a sound envelope |
| Delay | Main loop | Delay for a specified number of loops |
| directionFacing | Workspace variable | The direction that our car is facing |
| Divide16x16 | Maths (Arithmetic) | Calculate T = 256 * (A T) / (V 0) |
| divideX | Maths (Arithmetic) | Division table for calculating scale factors using 1 / |x-delta| |
| draw29 | Drawing objects | Fill the inside of the object part from the previous block to the current one |
| DRAW_BYTE | Screen buffer | Draw a pixel byte as part of a horizontal line when drawing the track view |
| DrawCarInMirror | Dashboard | Draw a car in a specified segment of one of the wing mirrors, or clear a specified segment |
| DrawCarInPosition | Drawing objects | Draw the car in a specified race position |
| DrawCarOrSign | Drawing objects | Draw a car or sign |
| DrawCars | Drawing objects | Draw all the car objects, with four objects for the closest car in front of us |
| DrawCornerMarkers | Drawing objects | Draw any visible corner markers |
| DrawDashboardLine | Dashboard | Draw a hand on the rev counter or a line on the steering wheel |
| DrawEdge | Drawing objects | Draw an edge, overwriting whatever is already on-screen |
| DrawFence (Part 1 of 2) | Screen buffer | Draw the fence that we crash into when running off the track |
| DrawFence (Part 2 of 2) | Screen buffer | Draw the fence that we crash into when running off the track |
| DrawFence-1 | Screen buffer | Contains an RTS |
| DrawGrassLeft | Drawing the track | Draw a green byte into the screen buffer in the first dash data block for the edge |
| DrawGrassRight | Drawing the track | Draw a green byte into the screen buffer in the second dash data block for the edge |
| DrawObject | Drawing objects | Draw an object of a specific type |
| DrawObjectEdge (Part 1 of 5) | Drawing objects | Draw the specified edge of an object part |
| DrawObjectEdge (Part 2 of 5) | Drawing objects | Calculate the screen address for the edge we want to draw |
| DrawObjectEdge (Part 3 of 5) | Drawing objects | Construct a pixel byte for the edge we want to draw |
| DrawObjectEdge (Part 4 of 5) | Drawing objects | Draw the edge into the screen buffer, merging with any content already in the buffer |
| DrawObjectEdge (Part 5 of 5) | Drawing objects | Fill the object if required and loop back for the next edge |
| DrawObjectEdge-1 | Drawing objects | Contains an RTS |
| DrawObjectEdges | Drawing objects | Draw all the parts of an object by drawing edges into the screen buffer |
| DrawRevCounter | Dashboard | Draw the hand on the rev counter |
| DrawSegmentEdge (Part 1 of 7) | Drawing the track | Draw a single segment's edge as part of a whole track verge edge |
| DrawSegmentEdge (Part 2 of 7) | Drawing the track | Set up the edge's gradient |
| DrawSegmentEdge (Part 3 of 7) | Drawing the track | Modify the drawing routines according to the edge gradient |
| DrawSegmentEdge (Part 4 of 7) | Drawing the track | Set variables to use when updating the background colour |
| DrawSegmentEdge (Part 5 of 7) | Drawing the track | Calculate the dash data block and screen addresses for the edge |
| DrawSegmentEdge (Part 6 of 7) | Drawing the track | Calculate the dash data block for the edge |
| DrawSegmentEdge (Part 7 of 7) | Drawing the track | Save the angles for the next call to DrawSegmentEdge and return from the subroutine |
| DrawShallowToLeft | Drawing the track | Draw a verge edge with a shallow gradient from right to left |
| DrawShallowToRight | Drawing the track | Draw a verge edge with a shallow gradient from left to right |
| DrawSteepToLeft | Drawing the track | Draw a verge edge with a steep gradient from right to left |
| DrawSteepToRight | Drawing the track | Draw a verge edge with a steep gradient from left to right |
| DrawTrack | Drawing the track | Draw the track into the screen buffer |
| DrawTrackBytes (Part 1 of 3) | Screen buffer | Draw the pixel bytes that make up the track view (0 to 15) |
| DrawTrackBytes (Part 2 of 3) | Screen buffer | Draw the pixel bytes that make up the track view (16 to 39) |
| DrawTrackBytes (Part 3 of 3) | Screen buffer | Return from the subroutine |
| DrawTrackLine (Part 1 of 2) | Screen buffer | Draw a pixel line across the screen in the track view, broken up into bytes |
| DrawTrackLine (Part 2 of 2) | Screen buffer | Draw a pixel line across the screen in the track view |
| DrawTrackView (Part 1 of 4) | Screen buffer | Draw the top part of the track view using the data in the dash data blocks |
| DrawTrackView (Part 2 of 4) | Screen buffer | Draw the part of the track view that fits around the dashboard |
| DrawTrackView (Part 3 of 4) | Screen buffer | Draw the part of the track view that fits around the dashboard and tyres |
| DrawTrackView (Part 4 of 4) | Screen buffer | Revert all the code modifications made by the DrawTrackView routine |
| DrawVergeByteLeft | Drawing the track | Draw two bytes into the screen buffer in the first and second dash data blocks for the edge |
| DrawVergeByteRight | Drawing the track | Draw two bytes into the screen buffer in the second and third dash data blocks for the edge |
| DrawVergeEdge | Drawing the track | Draw one of the four track verge edges into the screen buffer |
| driverGridRow | Workspace variable | The grid row for each driver (0 to 9) |
| driverLapNumber | Workspace variable | The current lap number for each driver |
| driverNames1 | Text | The first batch of driver names (1 of 5) |
| driverNames2 | Text | The second batch of driver names (2 of 5) |
| driverNames3 | Text | The third batch of driver names (3 of 5) |
| driverNames4 | Text | The fourth batch of driver names (4 of 5) |
| driverNames5 | Text | The fifth batch of driver names (5 of 5) |
| driverPrinted | Workspace variable | The number of the driver we just printed in the PrintPositionName routine |
| driversInOrder | Workspace variable | A list of driver numbers in order |
| driversInOrder2 | Workspace variable | Used to store a copy of the driversInOrder list |
| driverSpeed | Workspace variable | The average speed of this driver in the race (88 to 162) |
| edgeDistanceHi | Workspace variable | High byte of the distance between the player's car and the nearest track edge |
| edgeDistanceLo | Workspace variable | Low byte of the distance between the player's car and the nearest track edge |
| edgePixel | Workspace variable | The current edge, as a one-pixel byte |
| edgePixelMask | Workspace variable | The pixel mask for the previous edge |
| edgeSegmentNumber | Workspace variable | The number of the segment within the track segment list that is closest to the player's car |
| edgeSegmentPointer | Workspace variable | The index of the segment within the track verge buffer that is closest to the player's car |
| edgeYawAngle | Workspace variable | The yaw angle of the track segment that is closest to the player's car, from the point of view of the car |
| endChecks | Text | The screen address offset of the end of each chequered header line |
| endMirror | Dashboard | The offset from mirrorAddress for the end of each mirror segment |
| engineStatus | Workspace variable | Whether or not the engine is on |
| engineTorque | Workspace variable | The power being generated by the engine |
| Entry | Setup | The main entry point for the game: move code into upper memory and call it |
| envelopeData | Sound | Data for the sound envelope for squealing tyres |
| EraseRevCounter | Dashboard | Erase a line by replacing each pixel in the line with its original contents |
| fencePixelsGrass | Screen buffer | Pixel bytes for the fence with green grass behind it |
| fencePixelsSky | Screen buffer | Pixel bytes for the fence with blue sky behind it |
| FillAfterObject | Drawing objects | Fill the block to the right of an object |
| FillAfterObjectSup | Drawing objects | Fill the block to the right of an object |
| fillDataOffset | Dashboard | Dash data offsets, tweaked to give bottom line values that are compatible with the process of filling blocks to the left |
| FillInsideObject | Drawing objects | Fill the object part from the previous edge to the current edge |
| FinishRace | Main loop | Continue running the race until all the non-player drivers have finished and we have a result |
| firstLapStarted | Drivers | Flag to keep track of whether we have started the first lap of practice or qualifying |
| FlushSoundBuffer | Sound | Flush the specified sound buffer |
| FlushSoundBuffers | Sound | Flush all four specified sound buffers |
| fovw1-1 (Nürburgring) | Extra tracks | Contains an RTS |
| frontSegmentIndex | Workspace variable | Used to store the index * 3 of the front track segment in the track segment buffer |
| frontWingSetting | Driving model | The front wing setting, as entered by the player |
| G | Workspace variable | Temporary storage, used in a number of places |
| gearChange | Workspace variable | Used to store the direction of the gear change |
| gearChangeKey | Workspace variable | Determines whether or not a gear change key has been pressed |
| gearNumber | Workspace variable | The current gear number |
| gearNumberText | Text | The character to print on the gear stick for each gear |
| GetADCChannel | Keyboard | Read the value of an ADC channel (used to read the joystick) |
| GetAngleInRadians | Maths (Geometry) | Convert a 16-bit angle into radians, restricted to a quarter circle |
| GetCarInSegment | Car geometry | Calculate the player car's position within the current segment |
| GetColour (Part 1 of 3) | Screen buffer | Calculate the colour of a specific pixel byte in the screen buffer |
| GetColour (Part 2 of 3) | Screen buffer | Process the left verge |
| GetColour (Part 3 of 3) | Screen buffer | Process the right verge |
| GetColourSup | Screen buffer | Calculate the colour of a specific pixel byte in the screen buffer |
| GetDriverAddress | Text | Get the address of the specified driver's name |
| GetDriverName | Keyboard | Fetch a player's name from the keyboard |
| GetFirstSegment | Track geometry | Get the track section coordinates and flags from the track data and populate the first track segment |
| GetMenuOption | Keyboard | Scan the keyboard for a menu entry number, highlight the choice, show the SPACE bar message and return the choice number |
| GetNumberFromText | Text | Convert a two-digit string into a number |
| GetNumberInput | Keyboard | Fetch a number between 0 and 40 from the keyboard |
| GetObjectAngles | 3D objects | Calculate the object's yaw and pitch angles, and set the object's visibility, scale and type |
| GetObjectAngles-2 | 3D objects | Use xCoord2 for the object's 3D coordinates in the call to GetObjYawAngle |
| GetObjectDistance | 3D objects | Calculate the distance between an object and the player's car, for collision purposes |
| GetObjPitchAngle | 3D objects | Calculate an object's pitch angle |
| GetObjPitchAngle-2 | 3D objects | Use yPlayerCoord (Y = 0) |
| GetObjYawAngle (Part 1 of 4) | 3D objects | Calculate an object's yaw angle |
| GetObjYawAngle (Part 2 of 4) | 3D objects | Calculate yaw angle for when |x-delta| > |z-delta| |
| GetObjYawAngle (Part 3 of 4) | 3D objects | Calculate yaw angle for when |x-delta| = |z-delta| |
| GetObjYawAngle (Part 4 of 4) | 3D objects | Calculate yaw angle for when |x-delta| < |z-delta| |
| GetObjYawAngle-2 | 3D objects | Use xPlayerCoord (Y = 0) |
| GetPlayerIndex | Track geometry | Set the index for the player's segment in the track section buffer to be 32 segments behind the front segment |
| GetPositionAhead | Drivers | Decrement X to the previous position number (from 19 to 0 and round again), which gives the position ahead of X |
| GetPositionBehind | Drivers | Increment X to the next position number (from 0 to 19 and round again), which gives the position behind X |
| GetRotationMatrix (Part 1 of 5) | Maths (Geometry) | Calculate the rotation matrix for rotating the player's yaw angle into the global 3D coordinate system |
| GetRotationMatrix (Part 2 of 5) | Maths (Geometry) | Calculate sin(H G) for smaller angles |
| GetRotationMatrix (Part 3 of 5) | Maths (Geometry) | Calculate sin(H G) for bigger angles |
| GetRotationMatrix (Part 4 of 5) | Maths (Geometry) | Loop back to calculate cos instead of sin |
| GetRotationMatrix (Part 5 of 5) | Maths (Geometry) | Apply the correct signs to the result |
| GetScreenAddress | Drawing pixels | Return the screen address for a specified screen coordinate |
| GetScreenAddress-2 | Drawing pixels | Treat the x-coordinate as a character column number rather than a pixel coordinate (0 to 39) |
| GetSectionAngles (Part 1 of 3) | Track geometry | Get the yaw and pitch angles for the inner and outer track sections |
| GetSectionAngles (Part 2 of 3) | Track geometry | Calculate the track section number for this track section entry |
| GetSectionAngles (Part 3 of 3) | Track geometry | Calculate the yaw and pitch angles for the track section entry that we want to update |
| GetSectionAngles-1 | Track geometry | Contains an RTS |
| GetSectionCoord | Track geometry | Copy a three-part 16-bit coordinate from the track section data |
| GetSectionCoords | Track geometry | Copy two three-part 16-bit coordinates from the track section data |
| GetSectionSteering | Tactics | Calculate the optimum steering for each track section |
| GetSectionYawAngle | Track geometry | Calculate the difference in yaw angle between an object and the player |
| GetSegmentAngles (Part 1 of 3) | Track geometry | Get the yaw and pitch angles for the inner or outer track segments |
| GetSegmentAngles (Part 2 of 3) | Track geometry | Process a segment that is not visible by trying to process a segment that's one-quarter of the size |
| GetSegmentAngles (Part 3 of 3) | Track geometry | Process a visible segment |
| GetSegmentDetails | Track geometry | Get the details for the segment in front or behind |
| GetSegmentSteering | Tactics | Calculate the optimum steering to take for the current track segment |
| GetSegmentVector | Track geometry | Fetch a segment vector from the track data file |
| GetSegmentYawAngle | Track geometry | Calculate the difference in yaw angle between a track segment and the player |
| GetSteeringAssist | Tactics | Fetch the current computer assisted steering (CAS) status and show or hide the CAS indicator |
| GetTextInput | Keyboard | Fetch a string from the keyboard, padded with spaces if required |
| GetTrackAndMarkers | Track geometry | Calculate the 3D coordinates of the track and corner markers |
| GetTrackSegment (Part 1 of 3) | Track geometry | Set up the next track segment in the track segment buffer |
| GetTrackSegment (Part 2 of 3) | Track geometry | Set the flags for the new front segment in the track segment buffer |
| GetTrackSegment (Part 3 of 3) | Track geometry | Set the inner and outer track coordinates for the new track segment |
| GetTyreDashEdge | Dashboard | Copy the pixel bytes along the tyre and dashboard edges so they can be feathered |
| GetTyreDashEdges | Dashboard | Fetch the pixel bytes from along the edge of the dashboard or tyre and fill the block to the right of the edge appropriately |
| GetTyreDashEdgeSup | Dashboard | Copy the pixel bytes along the tyre and dashboard edges so they can be feathered |
| GetTyreForces | Driving model | Calculate the tyre forces due to the throttle or brakes |
| GetVergeAndMarkers (Part 1 of 4) | Track geometry | Get the details for a segment's corner markers and verge marks |
| GetVergeAndMarkers (Part 2 of 4) | Track geometry | Calculate the segment's verge width and outside verge coordinates |
| GetVergeAndMarkers (Part 3 of 4) | Track geometry | Process the segment's corner markers |
| GetVergeAndMarkers (Part 4 of 4) | Track geometry | Store details of the segment's verge marks |
| GetWingSettings | Keyboard | Get the front and rear wing settings from the player |
| GG | Workspace variable | Temporary storage, used in a number of places |
| gtrm2+6 | Track geometry | Calculate the following for segment Y: |
| H | Workspace variable | Temporary storage, used in a number of places |
| HalveCoordinate | Maths (Geometry) | Halve a coordinate with three 16-bit axes |
| handPixels | Dashboard | The number of pixels in the longest axis for the rev counter hand at various points in a half-quadrant |
| headerBackground | Text | Background colour for printing mode 7 headers |
| headerForeground | Text | Foreground colour for printing mode 7 headers |
| headerSpaces | Text | Number of spaces for printing mode 7 headers |
| HeadToTrack | Main Loop | Get the wing settings and start a race, practice or qualifying lap |
| HeadToTrack+2 | Main Loop | Called with A = %10000000 to start a race, as opposed to practice or a qualifying lap |
| heightAboveTrack | Workspace variable | The car's height above the track, for when it is being dropped from the crane, or jumping from hitting the verge too fast |
| HH | Workspace variable | This byte does not appear to be used |
| HideAllCars | Car geometry | Set all the cars to hidden |
| HideObject | 3D objects | Set an object to be hidden |
| Hook80Percent (Brands Hatch) | Extra tracks | Set the horizonTrackWidth to 80% of the width of the track on the horizon |
| Hook80Percent (Donington Park) | Extra tracks | Set the horizonTrackWidth to 80% of the width of the track on the horizon |
| Hook80Percent (Nürburgring) | Extra tracks | Set the horizonTrackWidth to 80% of the width of the track on the horizon |
| Hook80Percent (Oulton Park) | Extra tracks | Set the horizonTrackWidth to 80% of the width of the track on the horizon |
| Hook80Percent (Snetterton) | Extra tracks | Set the horizonTrackWidth to 80% of the width of the track on the horizon |
| HookBackground (Donington Park) | Extra tracks | Do not update the background colour when the track line above is showing green for the leftTrackStart verge |
| HookBackground (Snetterton) | Extra tracks | Do not update the background colour when the track line above is showing green for the leftTrackStart verge |
| HookDataPointers (Brands Hatch) | Extra tracks | If the current section is dynamically generated, update the data pointers |
| HookDataPointers (Donington Park) | Extra tracks | If the current section is dynamically generated, update the data pointers |
| HookDataPointers (Nürburgring) | Extra tracks | If the current section is dynamically generated, update the data pointers |
| HookDataPointers (Oulton Park) | Extra tracks | If the current section is dynamically generated, update the data pointers |
| HookDataPointers (Snetterton) | Extra tracks | If the current section is dynamically generated, update the data pointers |
| HookFieldOfView (Brands Hatch) | Extra tracks | When populating the verge buffer in GetSegmentAngles, don't give up so easily when we get segments outside the field of view |
| HookFieldOfView (Donington Park) | Extra tracks | When populating the verge buffer in GetSegmentAngles, don't give up so easily when we get segments outside the field of view |
| HookFieldOfView (Nürburgring) | Extra tracks | When populating the verge buffer in GetSegmentAngles, don't give up so easily when we get segments outside the field of view |
| HookFieldOfView (Oulton Park) | Extra tracks | When populating the verge buffer in GetSegmentAngles, don't give up so easily when we get segments outside the field of view |
| HookFieldOfView (Snetterton) | Extra tracks | When populating the verge buffer in GetSegmentAngles, don't give up so easily when we get segments outside the field of view |
| HookFirstSegment (Brands Hatch) | Extra tracks | Move to the next to the next segment vector along the track and calculate the segment vector |
| HookFirstSegment (Donington Park) | Extra tracks | Move to the next to the next segment vector along the track and calculate the segment vector |
| HookFirstSegment (Nürburgring) | Extra tracks | Move to the next to the next segment vector along the track and calculate the segment vector |
| HookFirstSegment (Oulton Park) | Extra tracks | Move to the next to the next segment vector along the track and calculate the segment vector |
| HookFirstSegment (Snetterton) | Extra tracks | Move to the next to the next segment vector along the track and calculate the segment vector |
| HookFixHorizon (Brands Hatch) | Extra tracks | Apply the horizon line in A instead of horizonLine |
| HookFixHorizon (Donington Park) | Extra tracks | Apply the horizon line in A instead of horizonLine |
| HookFixHorizon (Nürburgring) | Extra tracks | Apply the horizon line in A instead of horizonLine |
| HookFixHorizon (Oulton Park) | Extra tracks | Apply the horizon line in A instead of horizonLine |
| HookFixHorizon (Snetterton) | Extra tracks | Apply the horizon line in A instead of horizonLine |
| HookFlattenHills (Brands Hatch) | Extra tracks | Flatten any hills in the verge buffer, calculate the hill height and track width, cut objects off at the hill height |
| HookFlattenHills (Donington Park) | Extra tracks | Flatten any hills in the verge buffer, calculate the hill height and track width, cut objects off at the hill height |
| HookFlattenHills (Oulton Park) | Extra tracks | Flatten any hills in the verge buffer, calculate the hill height and track width, cut objects off at the hill height |
| HookFlattenHills (Part 1 of 2) (Snetterton) | Extra tracks | Flatten any hills in the verge buffer, calculate the hill height and track width, cut objects off at the hill height |
| HookFlattenHills (Part 1 of 3) (Nürburgring) | Extra tracks | Flatten any hills in the verge buffer, calculate the hill height and track width, cut objects off at the hill height |
| HookFlattenHills (Part 2 of 2) (Snetterton) | Extra tracks | Flatten any hills in the verge buffer, calculate the hill height and track width, cut objects off at the hill height |
| HookFlattenHills (Part 2 of 3) (Nürburgring) | Extra tracks | Flatten any hills in the verge buffer, calculate the hill height and track width, cut objects off at the hill height |
| HookFlattenHills (Part 3 of 3) (Nürburgring) | Extra tracks | Flatten any hills in the verge buffer, calculate the hill height and track width, cut objects off at the hill height |
| HookFlipAbsolute (Brands Hatch) | Extra tracks | Set the sign of A according to the direction we are facing along the track |
| HookFlipAbsolute (Donington Park) | Extra tracks | Set the sign of A according to the direction we are facing along the track |
| HookFlipAbsolute (Nürburgring) | Extra tracks | Set the sign of A according to the direction we are facing along the track |
| HookFlipAbsolute (Oulton Park) | Extra tracks | Set the sign of A according to the direction we are facing along the track |
| HookFlipAbsolute (Snetterton) | Extra tracks | Set the sign of A according to the direction we are facing along the track |
| HookForward (Donington Park) | Extra tracks | Move the player forward by an extra segment when edgeSegmentNumber is 10 |
| HookJoystick (Brands Hatch) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 1 of 2) (Nürburgring) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 1 of 2) (Oulton Park) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 1 of 3) (Donington Park) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 1 of 3) (Snetterton) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 2 of 2) (Nürburgring) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 2 of 2) (Oulton Park) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 2 of 3) (Donington Park) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 2 of 3) (Snetterton) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 3 of 3) (Donington Park) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookJoystick (Part 3 of 3) (Snetterton) | Extra tracks | Apply enhanced joystick steering to specific track sections |
| HookMoveBack (Brands Hatch) | Extra tracks | Only move the player backwards if the player has not yet driven past the segment |
| HookMoveBack (Donington Park) | Extra tracks | Only move the player backwards if the player has not yet driven past the segment |
| HookMoveBack (Nürburgring) | Extra tracks | Only move the player backwards if the player has not yet driven past the segment |
| HookMoveBack (Oulton Park) | Extra tracks | Only move the player backwards if the player has not yet driven past the segment |
| HookMoveBack (Snetterton) | Extra tracks | Only move the player backwards if the player has not yet driven past the segment |
| HookSectionFrom (Brands Hatch) | Extra tracks | Initialise and calculate the current segment vector |
| HookSectionFrom (Donington Park) | Extra tracks | Initialise and calculate the current segment vector |
| HookSectionFrom (Nürburgring) | Extra tracks | Initialise and calculate the current segment vector |
| HookSectionFrom (Oulton Park) | Extra tracks | Initialise and calculate the current segment vector |
| HookSectionFrom (Snetterton) | Extra tracks | Initialise and calculate the current segment vector |
| HookSegmentVector (Brands Hatch) | Extra tracks | If the current section is dynamically generated, move to the next segment vector, calculate it and store it |
| HookSegmentVector (Donington Park) | Extra tracks | If the current section is dynamically generated, move to the next segment vector, calculate it and store it |
| HookSegmentVector (Nürburgring) | Extra tracks | If the current section is dynamically generated, move to the next segment vector, calculate it and store it |
| HookSegmentVector (Oulton Park) | Extra tracks | If the current section is dynamically generated, move to the next segment vector, calculate it and store it |
| HookSegmentVector (Snetterton) | Extra tracks | If the current section is dynamically generated, move to the next segment vector, calculate it and store it |
| HookSlopeJump (Brands Hatch) | Extra tracks | Jump the car when driving fast over sloping segments |
| HookSlopeJump (Donington Park) | Extra tracks | Jump the car when driving fast over sloping segments |
| HookSlopeJump (Nürburgring) | Extra tracks | Jump the car when driving fast over sloping segments |
| HookSlopeJump (Oulton Park) | Extra tracks | Jump the car when driving fast over sloping segments |
| HookSlopeJump (Snetterton) | Extra tracks | Jump the car when driving fast over sloping segments |
| HookUpdateHorizon (Brands Hatch) | Extra tracks | Only update the horizon if we have found fewer than 12 visible segments |
| HookUpdateHorizon (Donington Park) | Extra tracks | Only update the horizon if we have found fewer than 12 visible segments |
| HookUpdateHorizon (Nürburgring) | Extra tracks | Only update the horizon if we have found fewer than 12 visible segments |
| HookUpdateHorizon (Oulton Park) | Extra tracks | Only update the horizon if we have found fewer than 12 visible segments |
| HookUpdateHorizon (Snetterton) | Extra tracks | Only update the horizon if we have found fewer than 12 visible segments |
| horizonLine | Workspace variable | The track line number of the horizon |
| horizonListIndex | Workspace variable | The track section or segment that's on the horizon, given in terms of the index within the track section list (or the track segment list) |
| horizonTrackWidth | Track geometry | The arc of the track at the horizon (i.e. the track width at the horizon), halved |
| I | Workspace variable | Temporary storage, used in a number of places |
| II | Workspace variable | Temporary storage, used in a number of places |
| IncSectionPointers | Track geometry | Increment the track section list pointers following a shuffle |
| InitialiseDrivers | Drivers | Initialise all 20 drivers on the starting grid |
| irq1Address | Screen mode | Stores the previous value of IRQ1V before we install our custom IRQ handler |
| irqCounter | Screen mode | Counter that gets incremented every time the IRQ routine reaches section 4 of the custom screen |
| J | Workspace variable | Temporary storage, used in a number of places |
| JJ | Workspace variable | Temporary storage, used in a number of places |
| jumpShallowLeft | Drawing the track | Branch labels for self-modifying code in the DrawShallowToLeft routine |
| jumpShallowRight | Drawing the track | Branch labels for self-modifying code in the DrawShallowToRight routine |
| jumpSteepLeft | Drawing the track | Branch labels for self-modifying code in the DrawSteepToLeft routine |
| jumpSteepRight | Drawing the track | Branch labels for self-modifying code in the DrawSteepToRight routine |
| K | Workspace variable | Temporary storage, used in a number of places |
| keys10 | Keyboard | Re-entry point for the AssistSteering routine when CAS is being applied to the steering |
| keys11 | Keyboard | Re-entry point for the AssistSteering routine if CAS is not enabled or the car is facing backwards |
| keys7 | Keyboard | Re-entry point for the AssistSteering routine when no joystick steering is being applied |
| KillCustomScreen | Screen mode | Disable the custom screen mode and switch to mode 7 |
| L | Workspace variable | Temporary storage, used in a number of places |
| lapMinutes | Workspace variable | Minutes for the lap timer |
| lapSeconds | Workspace variable | Seconds for the lap timer |
| lapsFromOption | Keyboard | Table to convert from the option numbers in the laps menu to the actual number of laps |
| lapsMenuOption | Drivers | The menu option chosen from the laps menu (0 to 2) |
| lapTenths | Workspace variable | Tenths of seconds for the lap timer |
| ldaDrawByte | Screen buffer | Low address bytes of the LDA #0 instructions in the DRAW_BYTE macros, for use when drawing track lines around the dashboard |
| ldaZero | Setup | Contains code that's used for modifying the MoveCode routine |
| leaveTrackTimer | Workspace variable | The leave track timer |
| leftDashMask | Dashboard | Pixel mask for the left edge of the dashboard |
| leftDashPixels | Dashboard | Pixels along the left edge of the dashboard |
| leftOfEdge | Workspace variable | The fill colour to the left of the edge we are drawing |
| leftSegment | Workspace variable | For each track line, the index of the segment within the track segment list for the left verge |
| leftTrackStart | Workspace variable | For each track line, the block number where the track starts (i.e. the left edge of the black track) |
| leftTyreMask | Dashboard | Pixel mask for the edge of the left tyre |
| leftTyrePixels | Dashboard | Pixels along the edge of the left tyre |
| leftVergeStart | Workspace variable | For each track line, the block number where the left track verge starts |
| liftFromTorque | Driving model | The lift of the front of the car caused by acceleration or braking |
| lims1 | Driving model | Skip applying the maximum value to variableG, so we set: |
| lineBufferAddrHi | Workspace variable | The low byte of the screen address of each pixel in the line buffer |
| lineBufferAddrLo | Workspace variable | The low byte of the screen address of each pixel in the line buffer |
| lineBufferPixel | Workspace variable | The original screen contents of each pixel in the line buffer |
| lineBufferSize | Workspace variable | The size of the line buffer |
| LL | Workspace variable | Temporary storage, used in a number of places |
| lowestPlayerNumber | Drivers | The number of the player with the lowest player number |
| lowestTrackLine | Screen buffer | Used to prevent objects from being drawn below the horizon line |
| M | Workspace variable | Temporary storage, used in a number of places |
| Main variable workspace | Workspaces | The main block of game variables |
| MainDrivingLoop (Part 1 of 5) | Main loop | Main driving loop: Switch to the track and start the main loop |
| MainDrivingLoop (Part 2 of 5) | Main loop | Main driving loop: The body of the main loop |
| MainDrivingLoop (Part 3 of 5) | Main loop | Main driving loop: Process rejoining the race or lap after a crash |
| MainDrivingLoop (Part 4 of 5) | Main loop | Main driving loop: Leave the track |
| MainDrivingLoop (Part 5 of 5) | Main loop | Main driving loop: Process driving keys, potentially leaving the track, and loop back to part 2 |
| MainLoop (Part 1 of 6) | Main loop | The main game loop: practice laps |
| MainLoop (Part 2 of 6) | Main loop | The main game loop: competition setup |
| MainLoop (Part 3 of 6) | Main loop | The main game loop: qualifying laps |
| MainLoop (Part 4 of 6) | Main loop | The main game loop: the competition race |
| MainLoop (Part 5 of 6) | Main loop | The main game loop: the competition race |
| MainLoop (Part 6 of 6) | Main loop | The main game loop: race points and competition results |
| mainLoopCounterHi | Main loop | High byte of the main loop counter, which increments on each iteration of the main driving loop |
| mainLoopCounterLo | Workspace variable | Low byte of the main loop counter, which increments on each iteration of the main driving loop |
| MakeDrivingSounds | Sound | Make the relevant sounds for the engine and tyres |
| MakeSound | Sound | Make a sound |
| MakeSound-3 | Sound | Make the sound at the current volume level |
| MakeSoundEnvelope | Sound | Either make a sound or set up an envelope |
| MapSegmentsToLines | Drawing the track | Map verges in the track segment list to track lines in the track view |
| markerData | Track geometry | The segment flags for each of the three corner markers |
| markerListIndex | Track geometry | The index of the corresponding entry in the track segment list for each of the three corner markers |
| markerNumber | Workspace variable | The marker number that we are drawing in the DrawCornerMarkers routine |
| markersToDraw | Workspace variable | The number of corner markers to draw |
| menuKeys | Keyboard | Negative inkey values for the menu keys (SPACE, "1", "2" and "3") for the Acornsoft release |
| menuKeysSup | Keyboard | Negative inkey values for the menu keys (SPACE, "1", "2" and "3") for the Superior Software release |
| mirrorAddressHi | Dashboard | The high byte of the base screen address of each mirror segment |
| mirrorAddressLo | Dashboard | The low byte of the base screen address of each mirror segment |
| mirrorContents | Dashboard | Contains the size of the car in each mirror segment |
| mirrorSegment | Dashboard | Lookup table for working out which mirror segment a car should appear in |
| MM | Workspace variable | Temporary storage, used in a number of places |
| modifyAddressHi (Brands Hatch) | Extra tracks | High byte of the location in the main game code where we modify a two-byte address |
| modifyAddressHi (Donington Park) | Extra tracks | High byte of the location in the main game code where we modify a two-byte address |
| modifyAddressHi (Nürburgring) | Extra tracks | High byte of the location in the main game code where we modify a two-byte address |
| modifyAddressHi (Oulton Park) | Extra tracks | High byte of the location in the main game code where we modify a two-byte address |
| modifyAddressHi (Snetterton) | Extra tracks | High byte of the location in the main game code where we modify a two-byte address |
| modifyAddressLo (Brands Hatch) | Extra tracks | Low byte of the location in the main game code where we modify a two-byte address |
| modifyAddressLo (Donington Park) | Extra tracks | Low byte of the location in the main game code where we modify a two-byte address |
| modifyAddressLo (Nürburgring) | Extra tracks | Low byte of the location in the main game code where we modify a two-byte address |
| modifyAddressLo (Oulton Park) | Extra tracks | Low byte of the location in the main game code where we modify a two-byte address |
| modifyAddressLo (Snetterton) | Extra tracks | Low byte of the location in the main game code where we modify a two-byte address |
| ModifyGameCode (Part 1 of 3) (Brands Hatch) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 1 of 3) (Oulton Park) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 1 of 3) (Snetterton) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 1 of 4) (Donington Park) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 1 of 4) (Nürburgring) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 2 of 3) (Brands Hatch) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 2 of 3) (Nürburgring) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 2 of 3) (Oulton Park) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 2 of 3) (Snetterton) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 2 of 4) (Donington Park) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 3 of 3) (Brands Hatch) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 3 of 3) (Nürburgring) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 3 of 3) (Oulton Park) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 3 of 3) (Snetterton) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 3 of 4) (Donington Park) | Extra tracks | Modify the game code to support the extra track data |
| ModifyGameCode (Part 4 of 4) (Donington Park) | Extra tracks | Modify the game code to support the extra track data |
| MoveAndDrawCars | Car geometry | Move the cars around the track and draw any that are visible, up to a maximum of five |
| MoveCars (Part 1 of 2) | Car geometry | Move the cars around the track |
| MoveCars (Part 2 of 2) | Car geometry | Move the cars forward around the track, and apply steering |
| MoveCars-1 | Car geometry | Contains an RTS |
| MoveCode | Setup | Move and reset various blocks around in memory |
| MoveHorizon | Screen mode | Move the position of the horizon palette switch up or down, depending on the current track pitch angle |
| MoveObjectBack | 3D objects | Move a specified object backwards along the track by one segment |
| MoveObjectForward | 3D objects | Move a specified object forwards along the track by one segment |
| MovePlayer | Car geometry | Move the player's car forwards or backwards by one segment |
| MovePlayerBack | Car geometry | Move the player's car backwards by one track segment and update the track segment buffer |
| MovePlayerForward | Car geometry | Move the player's car forwards by one track segment and add the segment to the track segment buffer |
| MovePlayerOnTrack | Car geometry | Update the position of the player's car within the current track segment |
| MovePlayerSegment | Car geometry | Move the player's car in the correct direction |
| MoveToNextVector (Brands Hatch) | Extra tracks | Move to the next to the next segment vector along the track and update the pointers |
| MoveToNextVector (Donington Park) | Extra tracks | Move to the next to the next segment vector along the track and update the pointers |
| MoveToNextVector (Nürburgring) | Extra tracks | Move to the next to the next segment vector along the track and update the pointers |
| MoveToNextVector (Oulton Park) | Extra tracks | Move to the next to the next segment vector along the track and update the pointers |
| MoveToNextVector (Snetterton) | Extra tracks | Move to the next to the next segment vector along the track and update the pointers |
| Multiply16x16 | Maths (Arithmetic) | Multiply a sign-magnitude 16-bit number and a signed 16-bit number |
| Multiply80Percent (Donington Park) | Extra tracks | Calculate (A T) = 0.80 * A |
| Multiply8x16 | Maths (Arithmetic) | Multiply an 8-bit and a 16-bit number |
| Multiply8x16Signed | Maths (Arithmetic) | Multiply an 8-bit and a 16-bit number and apply a sign to the result |
| Multiply8x8 | Maths (Arithmetic) | Calculate (A T) = T * U |
| Multiply8x8+2 | Maths (Arithmetic) | Calculate (A T) = T * U |
| Multiply8x8Signed (Brands Hatch) | Extra tracks | Multiply two 8-bit numbers, one of which is signed |
| Multiply8x8Signed (Donington Park) | Extra tracks | Multiply two 8-bit numbers, one of which is signed |
| Multiply8x8Signed (Nürburgring) | Extra tracks | Multiply two 8-bit numbers, one of which is signed |
| Multiply8x8Signed (Oulton Park) | Extra tracks | Multiply two 8-bit numbers, one of which is signed |
| Multiply8x8Signed (Snetterton) | Extra tracks | Multiply two 8-bit numbers, one of which is signed |
| MultiplyBy1Point5 | Maths (Arithmetic) | Multiply a 16-bit signed number by 1.5 |
| MultiplyCoords | Maths (Arithmetic) | Multiply a 16-bit coordinate value and a 16-bit factor, optionally tallying or changing the sign of the result |
| MultiplyCoords+7 | Maths (Arithmetic) | Use the following variables instead of the above: |
| MultiplyHeight | Track geometry | Multiply the height above ground of a specified track segment by A |
| MultiplyHeight+11 | Track geometry | Set A = A * U while retaining the sign in A (the sign of A must be on the stack before calling this entry point) |
| N | Workspace variable | Temporary storage, used in a number of places |
| Negate16Bit | Maths (Arithmetic) | Negate a 16-bit number |
| Negate16Bit+2 | Maths (Arithmetic) | Set (A T) = -(U T) |
| newContentHi (Brands Hatch) | Extra tracks | High byte of the two-byte address that we want to poke into the main game code at the modify location |
| newContentHi (Donington Park) | Extra tracks | High byte of the two-byte address that we want to poke into the main game code at the modify location |
| newContentHi (Nürburgring) | Extra tracks | High byte of the two-byte address that we want to poke into the main game code at the modify location |
| newContentHi (Oulton Park) | Extra tracks | High byte of the two-byte address that we want to poke into the main game code at the modify location |
| newContentHi (Snetterton) | Extra tracks | High byte of the two-byte address that we want to poke into the main game code at the modify location |
| newContentLo (Brands Hatch) | Extra tracks | Low byte of the two-byte address that we want to poke into the main game code at the modify location |
| newContentLo (Donington Park) | Extra tracks | Low byte of the two-byte address that we want to poke into the main game code at the modify location |
| newContentLo (Nürburgring) | Extra tracks | Low byte of the two-byte address that we want to poke into the main game code at the modify location |
| newContentLo (Oulton Park) | Extra tracks | Low byte of the two-byte address that we want to poke into the main game code at the modify location |
| newContentLo (Snetterton) | Extra tracks | Low byte of the two-byte address that we want to poke into the main game code at the modify location |
| newSectionFetched | Track geometry | Flag that determines whether a new track section has been fetched |
| nextBlockNumber | Workspace variable | The dash data block number for the next edge |
| nextEdge | Workspace variable | The next edge that we are drawing as part of an object part (where applicable) |
| nextEdgeCoord | Workspace variable | The x-coordinate for the next edge |
| NN | Workspace variable | Temporary storage, used in a number of places |
| numberOfLaps | Workspace variable | The number of laps in the race (5, 10 or 20) |
| numberOfPlayers | Drivers | The number of players |
| objectBottom | 3D objects | Scaffold measurements for the bottom of each object part |
| objectColour | 3D objects | Data for the colour of each object part |
| objectDistanceHi | Workspace variable | The high byte of the distance to the current object |
| objectDistanceLo | Workspace variable | The low byte of the distance to the current object |
| objectIndex | 3D objects | Index range of an object's data in the object data tables |
| objectLeft | 3D objects | Scaffold measurements for the left of each object part |
| objectNumber | Workspace variable | The object number of the four-part car we are drawing |
| objectPalette | 3D objects | The object colour palette that maps logical colours 0 to 3 to physical colours |
| objectPitchAngle | Workspace variable | Each object's pitch angle |
| objectRight | 3D objects | Scaffold measurements for the right of each object part |
| objectScaffold | 3D objects | The scaffold used to construct each object, in a scalable format |
| objectSegmentHi | Workspace variable | High byte of each object's segment, i.e. its position around on the track |
| objectSegmentLo | Workspace variable | Low byte of each object's segment, i.e. its position around on the track |
| objectSize | Workspace variable | The size of each of the objects (i.e. the scaled value of scaleUp for the object) |
| objectStatus | Workspace variable | Various status flags for each object |
| objectTop | 3D objects | Scaffold measurements for the top of each object part |
| objectType | Workspace variable | The type of object to draw (0 to 12) |
| objSectionSegmt | Workspace variable | Each object's segment number within the current track section, counting from the start of the section |
| objTrackSection | Workspace variable | The number of the track section * 8 for each object |
| objYawAngleHi | Workspace variable | High byte of each object's yaw angle |
| objYawAngleLo | Workspace variable | Low byte of each object's yaw angle |
| oddsOfEngineStart | Workspace variable | The chances of the engine starting while revving the engine (the engine will start with a chance of 1 in oddsOfEngineStart) |
| P | Workspace variable | Temporary storage, used in a number of places |
| paletteSection0 | Screen mode | Colour palette for screen section 0 in the custom screen mode (the mode 4 portion) |
| paletteSection2 | Screen mode | Colour palette for screen section 2 in the custom screen mode (part of the mode 5 portion) |
| paletteSection3 | Screen mode | Colour palette for screen section 3 in the custom screen mode (part of the mode 5 portion) |
| paletteSection4 | Screen mode | Colour palette for screen section 4 in the custom screen mode (part of the mode 5 portion) |
| pastHalfway | Workspace variable | Stores which half of the track the player is in |
| pixelByte | Drawing pixels | A table of pixel bytes with individual pixels set |
| pixelMaskIndex | Workspace variable | The index into the vergePixelMask table for the colour of the verge edge we are drawing in DrawSegmentEdge |
| pixelMaskNoVerge | Workspace variable | Offset within the vergePixelMask table for segments that are too far away to show a verge, i.e. those outside the verge depth of field |
| pixelMaskVerge | Workspace variable | Offset within the vergePixelMask table for segments that are close enough to show a verge, i.e. those within the verge depth of field |
| pixelsEdgeRight | Drawing pixels | Pixel byte with all the pixels to the right of position X set, plus pixel X |
| pixelsToLeft | Drawing pixels | Pixel byte with all the pixels to the left of position X set |
| pixelsToRight | Drawing pixels | Pixel byte with all the pixels to the right of position X set |
| PlaceCarsOnTrack | Car geometry | Position the cars on the track, ready for a race or qualifying lap |
| playerDrift | Driving model | Records whether the player's car is moving sideways by a significant amount |
| playerHeading | Workspace variable | The player's yaw angle, relative to the direction of the track, where a heading of 0 means the player is pointing straight along the track |
| playerMoving | Workspace variable | Flag to denote whether the player's car is moving |
| playerPastSegment | Workspace variable | Determines whether the player has gone past the closest segment to the player (i.e. whether the relative yaw angle of the segment is greater than 90 degrees) |
| playerPitchAngle | Workspace variable | The player's pitch angle |
| playerSegmentIndex | Workspace variable | Used to store the index * 3 of the track segment containing the player's car in the track segment buffer |
| playerSideways | Car geometry | Contains the player's heading, for testing whether the car is pointing sideways |
| playerSpeedHi | Workspace variable | High byte of the speed of the player's car along the track |
| playerSpeedLo | Workspace variable | Low byte of the speed of the player's car along the track |
| playerYawAngleHi | Workspace variable | High byte of the player's yaw angle |
| playerYawAngleLo | Workspace variable | Low byte of the player's yaw angle |
| pointsForPlace | Drivers | The points awarded for the top six places, plus the fastest lap |
| positionAhead | Workspace variable | The number of the position ahead of the current player's position |
| positionBehind | Workspace variable | The number of the position behind the current player's position |
| positionChangeBCD | Workspace variable | The change in BCD for the player's race position |
| positionNumber | Workspace variable | Position numbers to show in the first column of the driver table |
| PP | Workspace variable | Temporary storage, used in a number of places |
| pressingShiftArrow | Workspace variable | Bit 7 is set if we are pressing SHIFT and right arrow (which restarts the game) |
| prevBlockNumber | Workspace variable | The dash data block number for the previous edge |
| prevDriverSpeed06 | Workspace variable | Bits 0-6 of the previous value of trackDriverSpeed when calculating the optimum steering for a track segment |
| prevDriverSpeed7 | Workspace variable | The previous value of trackDriverSpeed when calculating the optimum steering for a track segment, only used for accessing bit 7 |
| prevEdgeInByte | Workspace variable | Determines whether we are drawing two edges within the same pixel byte in DrawObjectEdge |
| prevHorizonIndex | Workspace variable | The value of horizonListIndex from the previous call to the GetTrackAndMarkers routine |
| previousSignNumber | Track geometry | Stores the number of the sign from the previous call to the BuildRoadSign routine |
| previousSteering | Workspace variable | The previous value of sectionSteering when calculating the optimum steering for a track segment |
| prevPitchIndex | Workspace variable | The index of the pitch angles in the verge buffer for the previous entry in the verge buffer when drawing the verge edges |
| prevSegmentIndex | Workspace variable | Used to store the index * 3 of the previous track segment |
| prevSegmentOffset | Workspace variable | The segment coordinate offset for the previous segment when adding segments to the track segment list |
| prevYawIndex | Workspace variable | The index of the yaw angles in the verge buffer for the previous entry in the verge buffer when drawing the verge edges |
| Print234DigitBCD | Text | Print a specific driver's accumulated points as a padded two-, three- or four-digit number |
| Print2DigitBCD | Text | Print a binary coded decimal (BCD) number in the specified format |
| Print2DigitBCD-6 | Text | Print the number at screen coordinate (X, Y), where X is the character column and Y is the pixel row of the bottom of the character |
| Print4DigitBCD | Text | Print a specific driver's accumulated points as a four-digit number |
| Print4DigitBCD+3 | Text | Do not print the first two digits (i.e. omit printing A) |
| PrintBestLapTime | Text | Print the best lap time and the current lap time at the top of the screen |
| PrintCharacter | Text | Print a character on-screen |
| PrintCharacter-6 | Text | Print double-width character (this is used to print the double-width number on the gear stick) |
| PrintDriverName | Text | Print a driver's name |
| PrintDriverPrompt | Text | Print the "DRIVER ->" prompt and a driver's name, to show whose turn it is next when playing a multi-player game |
| PrintDriverTable | Text | Print the table of drivers |
| PrintFirstLine | Text | Prints a text token on the first text line at the top of the driving screen |
| PrintFirstLine+2 | Text | Print the token on the second text line at the top of the driving screen |
| PrintGearNumber | Text | Print the number of the current gear in double-width characters on the gear stick |
| PrintHeader | Text | Configure and print a double-height header in screen mode 7 |
| PrintHeaderChecks | Text | Print chequered lines above and below the header |
| PrintLapTime | Text | Print the current lap time at the top of the screen |
| PrintLapTime+2 | Text | Format the lap time using the format value in A (see PrintTimer for details) |
| printMode | Workspace variable | Determines how the next character is printed on-screen: |
| PrintNearestDriver | Text | Print a driver's name in the "In front" or "Behind" slot in the header |
| PrintPositionName | Text | Print the name of the driver in a specific position in the driver position list |
| PrintRaceClass | Text | Print the race class |
| PrintSecondLine | Text | Prints a text token on the second text line at the top of the driving screen |
| PrintSecondLineGap | Text | Prints a text token on the second text line at the top of the driving screen, with an empty gap on the line above |
| PrintSpaces | Text | Print the specified number of spaces |
| PrintTimer | Text | Print the specified timer |
| PrintToken | Text | Print a recursive token |
| ProcessContact | Car geometry | Process collisions between the player and the other cars |
| processContact | Workspace variable | Another car is close enough to the player's car for us to process car-on-car contact |
| ProcessDrivingKeys (Part 1 of 6) | Keyboard | Process joystick steering |
| ProcessDrivingKeys (Part 2 of 6) | Keyboard | Process keyboard steering |
| ProcessDrivingKeys (Part 3 of 6) | Keyboard | Process joystick brake and throttle |
| ProcessDrivingKeys (Part 4 of 6) | Keyboard | Process keyboard brake and throttle |
| ProcessDrivingKeys (Part 5 of 6) | Keyboard | Process joystick gear change |
| ProcessDrivingKeys (Part 6 of 6) | Keyboard | Process keyboard gear change |
| ProcessEngineStart | Driving model | Process the key press for starting the engine |
| ProcessOvertaking (Part 1 of 3) | Tactics | Process all cars for overtaking manoeuvres, checking first to see if the car has just finished overtaking the car in front |
| ProcessOvertaking (Part 2 of 3) | Tactics | The car we are processing has not overtaken the car in front of it, so if applicable, we can keep manoeuvring into position |
| ProcessOvertaking (Part 3 of 3) | Tactics | Update the car status (if configured) and loop back for the next car |
| ProcessShiftedKeys | Keyboard | Check for shifted keys (i.e. those that need SHIFT holding down to trigger) and process them accordingly |
| ProcessTime | Main loop | Increment the timers and the main loop counter |
| Protect | Setup | Decrypt or unprotect the game code (disabled) |
| PushCarOffTrack | Car geometry | Push a car off the track and out of the race |
| Q | Workspace variable | Temporary storage, used in a number of places |
| Workspace variable | Temporary storage, used in a number of places | |
| qualifyingTime | Drivers | The number of minutes of qualifying lap time |
| qualifyTimeEnding | Workspace variable | Determines whether the time warnings have been shown at the end of the qualifying time: |
| R | Workspace variable | Temporary storage, used in a number of places |
| raceClass | Drivers | The class of the current race |
| racePointsHi | Drivers | High byte of race points calculated for each position |
| racePointsLo | Drivers | Used to store the low byte of the race points being awarded to the driver in race position X |
| raceStarted | Workspace variable | Flag determining whether the race has started |
| raceStarting | Workspace variable | The current stage of the starting lights at the start of the race |
| rearWingSetting | Driving model | The rear wing setting, as entered by the player |
| ResetBestLapTime | Drivers | Reset the best lap time to 10:00.0 for a specific driver |
| ResetBestLapTimes | Drivers | Reset the best lap times to 10:00.0 for all drivers |
| resetSectionList | Workspace variable | Controls whether to reset the contents of the track section list |
| ResetTrackLines | Screen buffer | Reset the track lines below the horizon in the track view |
| ResetVariables | Main Loop | Reset a number of variables for driving, and print the top two text lines |
| RestartGame | Keyboard | Restart the game, putting the C flag into bit 7 of pressingShiftArrow |
| revCount | Workspace variable | The current rev count, as shown on the rev counter |
| revsOnGearChange | Workspace variable | The rev count when the gear was last changed |
| rightDashMask | Dashboard | Pixel mask for the right edge of the dashboard |
| rightDashPixels | Dashboard | Pixels along the right edge of the dashboard |
| rightGrassStart | Workspace variable | For each track line, the block number where the grass starts to the right of the track |
| rightOfEdge | Workspace variable | The fill colour to the right of the edge we are drawing |
| rightSegment | Workspace variable | For each track line, the index of the segment within the track segment list for the right verge |
| rightTyreMask | Dashboard | Pixel mask for the edge of the right tyre |
| rightTyrePixels | Dashboard | Pixels along the edge of the right tyre |
| rightVergeStart | Workspace variable | For each track line, the block number where the right track verge starts |
| RotateCarToCoord | Maths (Geometry) | Rotate a vector from the frame of reference of the player's car into the 3D world coordinate system |
| RotateCoordToCar | Maths (Geometry) | Rotate a vector from the 3D world coordinate system into the frame of reference of the player's car |
| RotateVector | Maths (Geometry) | Rotate a vector by a rotation matrix |
| rowColours | Text | Three different palettes for displaying even-odd rows in tables |
| rowCounter | Workspace variable | The table row number when printing the driver tables |
| RR | Workspace variable | Temporary storage, used in a number of places |
| S | Workspace variable | Temporary storage, used in a number of places |
| scaffoldIndex | 3D objects | Index of an object's scaffold in the objectScaffold table |
| Scale16Bit | Maths (Arithmetic) | Scale up a 16-bit value by 2^5 |
| ScaleCarInSegment | Car geometry | Work out how far a car is within a segment by scaling the angle in which the car is pointing |
| scaleDown | Workspace variable | The denominator scale factor for scaling an object scaffold (i.e. scale down) |
| scaledScaffold | 3D objects | Storage for an object's scaled scaffold |
| ScaleObject | Drawing objects | Scale an object's scaffold by the scale factors in scaleUp and scaleDown |
| scaleRange | 3D objects | Storage for scale factors when scaling objects |
| ScaleTyreForces | Driving model | Scale the tyre forces and calculate the combined tyre force on the player |
| scaleUp | Workspace variable | The nominator scale factor for scaling an object scaffold (i.e. scale up) |
| ScaleWingSettings | Driving model | Scale the wing settings and calculate the wing balance, for use in the driving model |
| ScanKeyboard | Keyboard | Scan the keyboard for a specific key press |
| ScanKeyboard-1 | Keyboard | Contains an RTS |
| ScreenHandler | Screen mode | The IRQ handler for the custom screen mode |
| ScreenHandler-3 | Screen mode | Jump to the original IRQ handler |
| screenRegisters | Screen mode | The 6845 registers for the custom screen mode |
| screenSection | Screen mode | The section of the screen that is currently being drawn by the custom screen interrupt handler (0 to 4) |
| screenTimer1 | Screen mode | The screen timer offset between the start of section 2 and the start of section 3 |
| screenTimer2 | Screen mode | The screen timer offset between the start of section 3 and the start of section 4 |
| secondAxis | Workspace variable | The number of the second axis to calculate in the GetRotationMatrix routine |
| sectionBehind | Workspace variable | Used to store the number * 8 of the track section behind us when we drive backwards along the track |
| sectionCounter | Workspace variable | A counter for the track section we are processing |
| sectionListPointer | Workspace variable | The index of the current entry in the track section list, as we only update one entry in the list on each iteration of the main driving loop |
| sectionListSize | Workspace variable | The size of the track section list that's used when calculating the positions of the track verges |
| sectionListStart | Workspace variable | The start index of the track section list that's used when calculating the positions of the track verges |
| sectionListValid | Workspace variable | The index of the first valid entry in the track section list |
| sectionSteering | Tactics | The optimum steering for each section |
| segmentCounter | Workspace variable | A counter for the track segment we are processing |
| segmentDirection | Workspace variable | The relative direction of our car, to use when processing segments in the GetSegmentAngles routine |
| segmentFlagMask | Track geometry | A mask for extracting bits from the segment flag byte when processing the track verge and corner markers |
| segmentFlags | Workspace variable | Flags for a track segment in the track segment buffer |
| segmentListPointer | Workspace variable | The index of the current entry in the track segment list |
| segmentListRight | Workspace variable | The index of the last entry in the track segment list for the right side of the track |
| segmentOffset | Workspace variable | The offset to use for the segment being processed in the GetSegmentAngles routine |
| segmentSlope (Brands Hatch) | Extra tracks | The height above ground of the current track sub-section |
| segmentSlope (Donington Park) | Extra tracks | The height above ground of the current track sub-section |
| segmentSlope (Nürburgring) | Extra tracks | The height above ground of the current track sub-section |
| segmentSlope (Oulton Park) | Extra tracks | The height above ground of the current track sub-section |
| segmentSlope (Snetterton) | Extra tracks | The height above ground of the current track sub-section |
| segmentSteering | Workspace variable | The carSteering value to steer round the corner for a track segment in the track segment buffer |
| segmentStep | Track geometry | The number of segments we step over when working backwards through the track segment buffer in GetSegmentAngles |
| segmentVector | Workspace variable | The segment vector number for a track segment in the track segment buffer |
| SetBackground | Screen buffer | Set the background colour for any track lines that have not yet had a background colour set |
| SetCustomScreen | Screen mode | Switch to the custom screen mode |
| SetDriverSpeed | Drivers | Set the speed for a specific driver |
| SetEngineTorque | Driving model | Set engineTorque and soundRevTarget |
| SetMarker | Screen buffer | Insert a marker value into a dash data block |
| SetMarker+3 | Screen buffer | Use the value of A passed to the routine |
| SetMarker+6 | Screen buffer | Use Y and V in place of A and Y |
| SetObjectDetails | 3D objects | Set an object's visibility, scale and type |
| SetObjectStatus | 3D objects | Set an object's status byte |
| SetPlayerDriftSup | Car geometry | Record player drift, but only if the player is not in the first three segments of a track section |
| SetPlayerPositions | Drivers | Set the current player's position, plus the positions behind and in front |
| SetRevsNoTorque | Driving model | Set the rev counter and zero the engine torque |
| SetRowColours | Text | Set the foreground and background colours for a table row |
| SetScreenMode7 | Screen mode | Change to screen mode 7 and hide the cursor |
| SetSectionPointers | Track geometry | Set the track section list pointer to a specific value and update the validity pointer accordingly |
| SetSegmentVector (Brands Hatch) | Extra tracks | Add the yaw angle and height deltas to the yaw angle and height (for curved sections) and calculate the segment vector |
| SetSegmentVector (Donington Park) | Extra tracks | Add the yaw angle and height deltas to the yaw angle and height (for curved sections) and calculate the segment vector |
| SetSegmentVector (Nürburgring) | Extra tracks | Add the yaw angle and height deltas to the yaw angle and height (for curved sections) and calculate the segment vector |
| SetSegmentVector (Oulton Park) | Extra tracks | Add the yaw angle and height deltas to the yaw angle and height (for curved sections) and calculate the segment vector |
| SetSegmentVector (Snetterton) | Extra tracks | Add the yaw angle and height deltas to the yaw angle and height (for curved sections) and calculate the segment vector |
| setSpeedForDriver | Workspace variable | The driver whose speed will be set on the next call to the SetDriverSpeed routine |
| SetSteeringLimit | Keyboard | Apply a maximum limit to the amount of steering |
| SetupGame | Setup | Decrypt or unprotect the game code (disabled) |
| SetVergeBackground | Drawing the track | Update the background colour table for any verges that overlap the left edge of the screen |
| shiftedKeys | Keyboard | Negative inkey values for the configuration keys that are pressed in combination with SHIFT |
| shortAxis | Dashboard | Code modifications for the DrawDashboardLine line-drawing routine |
| ShowStartingLights | Dashboard | Show the lights at the start of the race |
| ShuffleSectionList | Track geometry | Shuffle the track section list along by one position |
| sinYawAngleHi | Driving model | High byte of the sine of the player's yaw angle |
| sinYawAngleLo | Driving model | Low byte of the sine of the player's yaw angle |
| SortDrivers | Drivers | Create a sorted list of driver numbers, ordered as specified |
| soundBuffer | Sound | Details of each sound channel's buffer status |
| soundData | Sound | OSWORD blocks for making the various game sounds |
| soundRevCount | Workspace variable | The current pitch for the revs sound |
| soundRevTarget | Workspace variable | The target pitch for the revs sound |
| spinPitchAngle | Workspace variable | The amount of pitch angle spin that is being applied to the player's car |
| SpinTrackSection | Track geometry | Apply spin to a section in the track section list |
| spinYawAngleHi | Car geometry | High byte of the amount of yaw angle spin that is being applied to the player's car |
| spinYawAngleLo | Car geometry | Low byte of the amount of yaw angle spin that is being applied to the player's car |
| spinYawAngleTop | Car geometry | Top byte of the amount of yaw angle spin that is being applied to the player's car |
| spinYawDeltaHi | Driving model | High byte of the change in the spin yaw angle for the player's car |
| spinYawDeltaLo | Driving model | Low byte of the change in the spin yaw angle for the player's car |
| SquealTyres | Driving model | Make the tyres squeal |
| SS | Workspace variable | Temporary storage, used in a number of places |
| Stack variables | Workspaces | Variables that share page 1 with the stack |
| staDrawByte | Screen buffer | Low address bytes of the STA instructions in the DRAW_BYTE macros, for use when drawing track lines around the dashboard |
| staDrawByteTyre | Screen buffer | Low address bytes of the STA instructions in the DRAW_BYTE macros, for use when drawing track lines around the tyres |
| startChecks | Text | The screen address offset of the start of each chequered header line |
| startDialHi | Drawing pixels | The high byte of the screen address of the start of the dial hand on the rev counter |
| startDialLo | Drawing pixels | The low byte of the screen address of the start of the dial hand on the rev counter |
| startingStack | Workspace variable | The value of the stack pointer when the game starts, so we can restore it when restarting the game |
| startMirror | Dashboard | The offset from mirrorAddress for the start of each mirror segment |
| steeringHi | Dashboard | The high byte of the steering wheel position |
| steeringLo | Dashboard | The low byte of the steering wheel position |
| stepAxis | Dashboard | Code modifications for the DrawDashboardLine line-drawing routine |
| StopDrawingEdge | Drawing the track | Stop drawing the current segment's verge edge |
| strl10 | Drawing the track | Finish drawing the verge edge by updating the background table for this track line |
| subSection (Brands Hatch) | Extra tracks | The number of the current sub-section |
| subSection (Donington Park) | Extra tracks | The number of the current sub-section |
| subSection (Nürburgring) | Extra tracks | The number of the current sub-section |
| subSection (Oulton Park) | Extra tracks | The number of the current sub-section |
| subSection (Snetterton) | Extra tracks | The number of the current sub-section |
| subSectionSegment (Brands Hatch) | Extra tracks | The number of the segment within the current sub-section, counting from the start of the sub-section |
| subSectionSegment (Donington Park) | Extra tracks | The number of the segment within the current sub-section, counting from the start of the sub-section |
| subSectionSegment (Nürburgring) | Extra tracks | The number of the segment within the current sub-section, counting from the start of the sub-section |
| subSectionSegment (Oulton Park) | Extra tracks | The number of the segment within the current sub-section, counting from the start of the sub-section |
| subSectionSegment (Snetterton) | Extra tracks | The number of the segment within the current sub-section, counting from the start of the sub-section |
| SubtractCoords | Maths (Geometry) | Subtract from a specified coordinate variable |
| SwapCode | Setup | Move the track data to the right place and run a checksum on it |
| SwapDriverPosition | Drivers | Swap the position for two drivers (i.e. overtake) |
| T | Workspace variable | Temporary storage, used in a number of places |
| thisDriver | Workspace variable | The number of the car we are currently drawing |
| thisDriverNumber | Drawing objects | The number of the current driver when drawing cars |
| thisEdge | Workspace variable | The current edge that we are drawing as part of an object part |
| thisObjectIndex | Workspace variable | The index of the current object part's data as we work our way through an object's constituent parts |
| thisObjectType | 3D objects | The type of object we are currently drawing |
| thisPitchIndex | Workspace variable | The index of the pitch angle in the track segment list for the verge we are processing |
| thisPosition | Workspace variable | The position of the car that we are analysing in the MoveAndDrawCars routine |
| thisSectionFlags | Workspace variable | The track section flags for the current track section |
| thisSectionNumber | Workspace variable | The number * 8 of the current section number when calculating the track verges |
| thisSignNumber | Workspace variable | The sign number that we are currently building |
| thisVectorNumber | Workspace variable | The number of the segment vector for the current track segment, ready to store in the track segment buffer as segmentVector |
| thisYawIndex | Workspace variable | The index of the yaw angle in the track segment list for the verge we are processing |
| ThrobRevsNoTorque | Driving model | Set the rev counter after adding a random throb and zero the engine torque |
| throttleBrake | Workspace variable | The amount of throttle or brake being applied |
| throttleBrakeState | Workspace variable | Denotes whether the throttle or brake are being applied |
| timeFromOption | Keyboard | Table to convert from the option numbers in the qualifying lap duration menu to the actual number of minutes |
| timerAdjust | Workspace variable | A counter for implementing the clock speed adjustment |
| token0 | Text | Text for recursive token 0 |
| token1 | Text | Text for recursive token 1 |
| token2 | Text | Text for recursive token 2 |
| token3 | Text | Text for recursive token 3 |
| token4 | Text | Text for recursive token 4 |
| token5 | Text | Text for recursive token 5 |
| token6 | Text | Text for recursive token 6 |
| token7 | Text | Text for recursive token 7 |
| token8 | Text | Text for recursive token 8 |
| token9 | Text | Text for recursive token 9 |
| token10 | Text | Text for recursive token 10 |
| token11 | Text | Text for recursive token 11 |
| token12 | Text | Text for recursive token 12 |
| token13 | Text | Text for recursive token 13 |
| token14 | Text | Text for recursive token 14 |
| token15 | Text | Text for recursive token 15 |
| token16 | Text | Text for recursive token 16 |
| token17 | Text | Text for recursive token 17 |
| token18 | Text | Text for recursive token 18 |
| token19 | Text | Text for recursive token 19 |
| token20 | Text | Text for recursive token 20 |
| token21 | Text | Text for recursive token 21 |
| token22 | Text | Text for recursive token 22 |
| token23 | Text | Text for recursive token 23 |
| token24 | Text | Text for recursive token 24 |
| token25 | Text | Text for recursive token 25 |
| token26 | Text | Text for recursive token 26 |
| token27 | Text | Text for recursive token 27 |
| token28 | Text | Text for recursive token 28 |
| token29 | Text | Text for recursive token 29 |
| token30 | Text | Text for recursive token 30 |
| token31 | Text | Text for recursive token 31 |
| token32 | Text | Text for recursive token 32 |
| token33 | Text | Text for recursive token 33 |
| token34 | Text | Text for recursive token 34 |
| token35 | Text | Text for recursive token 35 |
| token36 | Text | Text for recursive token 36 |
| token37 | Text | Text for recursive token 37 |
| token38 | Text | Text for recursive token 38 |
| token39 | Text | Text for recursive token 39 |
| token40 | Text | Text for recursive token 40 |
| token41 | Text | Text for recursive token 41 |
| token42 | Text | Text for recursive token 42 |
| token43 | Text | Text for recursive token 43 |
| token44 | Text | Text for recursive token 44 |
| token45 | Text | Text for recursive token 45 |
| token46 | Text | Text for recursive token 46 |
| token48 | Text | Text for recursive token 48 |
| token49 | Text | Text for recursive token 49 |
| token50 | Text | Text for recursive token 50 |
| token51 | Text | Text for recursive token 51 |
| token52 | Text | Text for recursive token 52 |
| token53 | Text | Text for recursive token 53 |
| tokenHi | Text | high byte of the token address lookup table |
| tokenLo | Text | Low byte of the token address lookup table |
| topTrackLine | Workspace variable | The top track line for the current object part |
| totalPointsHi | Drivers | High byte of total accumulated points for each driver |
| totalPointsLo | Drivers | Low byte of total accumulated points for each driver |
| totalPointsTop | Workspace variable | Top byte of total accumulated points for each driver |
| totalRaceMinutes | Workspace variable | Minutes of each driver's total race time, stored in BCD |
| totalRaceSeconds | Workspace variable | Seconds of each driver's total race time, stored in BCD |
| totalRaceTenths | Workspace variable | Tenths of seconds of each driver's total race time, stored in BCD |
| Track section data (Part 1 of 2) (Brands Hatch) | Extra tracks | Data for the track sections |
| Track section data (Part 1 of 2) (Donington Park) | Extra tracks | Data for the track sections |
| Track section data (Part 1 of 2) (Nürburgring) | Extra tracks | Data for the track sections |
| Track section data (Part 1 of 2) (Oulton Park) | Extra tracks | Data for the track sections |
| Track section data (Part 1 of 2) (Silverstone) | Track data | Data for the track sections |
| Track section data (Part 1 of 2) (Snetterton) | Extra tracks | Data for the track sections |
| Track section data (Part 2 of 2) (Brands Hatch) | Extra tracks | Data for the track sections |
| Track section data (Part 2 of 2) (Donington Park) | Extra tracks | Data for the track sections |
| Track section data (Part 2 of 2) (Nürburgring) | Extra tracks | Data for the track sections |
| Track section data (Part 2 of 2) (Oulton Park) | Extra tracks | Data for the track sections |
| Track section data (Part 2 of 2) (Silverstone) | Track data | Data for the track sections |
| Track section data (Part 2 of 2) (Snetterton) | Extra tracks | Data for the track sections |
| trackBaseSpeed | Workspace variable | The base speed for each race class, used when generating the best racing lines and non-player driver speeds |
| trackBaseSpeed (Brands Hatch) | Extra tracks | The base speed for each race class, used when generating the best racing lines and non-player driver speeds |
| trackBaseSpeed (Donington Park) | Extra tracks | The base speed for each race class, used when generating the best racing lines and non-player driver speeds |
| trackBaseSpeed (Nürburgring) | Extra tracks | The base speed for each race class, used when generating the best racing lines and non-player driver speeds |
| trackBaseSpeed (Oulton Park) | Extra tracks | The base speed for each race class, used when generating the best racing lines and non-player driver speeds |
| trackBaseSpeed (Silverstone) | Track data | The base speed for each race class, used when generating the best racing lines and non-player driver speeds |
| trackBaseSpeed (Snetterton) | Extra tracks | The base speed for each race class, used when generating the best racing lines and non-player driver speeds |
| trackCarSpacing | Workspace variable | The spacing between the cars at the start of a qualifying lap, in segments |
| trackCarSpacing (Brands Hatch) | Extra tracks | The spacing between the cars at the start of a qualifying lap, in segments |
| trackCarSpacing (Donington Park) | Extra tracks | The spacing between the cars at the start of a qualifying lap, in segments |
| trackCarSpacing (Nürburgring) | Extra tracks | The spacing between the cars at the start of a qualifying lap, in segments |
| trackCarSpacing (Oulton Park) | Extra tracks | The spacing between the cars at the start of a qualifying lap, in segments |
| trackCarSpacing (Silverstone) | Track data | The spacing between the cars at the start of a qualifying lap, in segments |
| trackCarSpacing (Snetterton) | Extra tracks | The spacing between the cars at the start of a qualifying lap, in segments |
| trackChecksum (Brands Hatch) | Extra tracks | The track file's checksum |
| trackChecksum (Donington Park) | Extra tracks | The track file's checksum |
| trackChecksum (Nürburgring) | Extra tracks | The track file's checksum |
| trackChecksum (Oulton Park) | Extra tracks | The track file's checksum |
| trackChecksum (Silverstone) | Track data | The track file's checksum |
| trackChecksum (Snetterton) | Extra tracks | The track file's checksum |
| trackData | Track data | This is where the track data gets loaded |
| trackDriverSpeed | Workspace variable | The maximum speed for non-player drivers on this section of the track |
| trackGameName (Brands Hatch) | Extra tracks | The game name |
| trackGameName (Donington Park) | Extra tracks | The game name |
| trackGameName (Nürburgring) | Extra tracks | The game name |
| trackGameName (Oulton Park) | Extra tracks | The game name |
| trackGameName (Silverstone) | Track data | The game name |
| trackGameName (Snetterton) | Extra tracks | The game name |
| trackGearPower | Workspace variable | The power for each gear |
| trackGearPower (Brands Hatch) | Extra tracks | The power for each gear |
| trackGearPower (Donington Park) | Extra tracks | The power for each gear |
| trackGearPower (Nürburgring) | Extra tracks | The power for each gear |
| trackGearPower (Oulton Park) | Extra tracks | The power for each gear |
| trackGearPower (Silverstone) | Track data | The power for each gear |
| trackGearPower (Snetterton) | Extra tracks | The power for each gear |
| trackGearRatio | Workspace variable | The gear ratio for each gear |
| trackGearRatio (Brands Hatch) | Extra tracks | The gear ratio for each gear |
| trackGearRatio (Donington Park) | Extra tracks | The gear ratio for each gear |
| trackGearRatio (Nürburgring) | Extra tracks | The gear ratio for each gear |
| trackGearRatio (Oulton Park) | Extra tracks | The gear ratio for each gear |
| trackGearRatio (Silverstone) | Track data | The gear ratio for each gear |
| trackGearRatio (Snetterton) | Extra tracks | The gear ratio for each gear |
| trackLapTimeMin | Workspace variable | Lap times for adjusting the race class (minutes) |
| trackLapTimeMin (Brands Hatch) | Extra tracks | Lap times for adjusting the race class (minutes) |
| trackLapTimeMin (Donington Park) | Extra tracks | Lap times for adjusting the race class (minutes) |
| trackLapTimeMin (Nürburgring) | Extra tracks | Lap times for adjusting the race class (minutes) |
| trackLapTimeMin (Oulton Park) | Extra tracks | Lap times for adjusting the race class (minutes) |
| trackLapTimeMin (Silverstone) | Track data | Lap times for adjusting the race class (minutes) |
| trackLapTimeMin (Snetterton) | Extra tracks | Lap times for adjusting the race class (minutes) |
| trackLapTimeSec | Workspace variable | Lap times for adjusting the race class (seconds) |
| trackLapTimeSec (Brands Hatch) | Extra tracks | Lap times for adjusting the race class (seconds) |
| trackLapTimeSec (Donington Park) | Extra tracks | Lap times for adjusting the race class (seconds) |
| trackLapTimeSec (Nürburgring) | Extra tracks | Lap times for adjusting the race class (seconds) |
| trackLapTimeSec (Oulton Park) | Extra tracks | Lap times for adjusting the race class (seconds) |
| trackLapTimeSec (Silverstone) | Track data | Lap times for adjusting the race class (seconds) |
| trackLapTimeSec (Snetterton) | Extra tracks | Lap times for adjusting the race class (seconds) |
| trackLength | Workspace variable | The length of the full track in terms of segments |
| trackLength (Brands Hatch) | Track data | The length of the full track in terms of segments |
| trackLength (Donington Park) | Track data | The length of the full track in terms of segments |
| trackLength (Nürburgring) | Track data | The length of the full track in terms of segments |
| trackLength (Oulton Park) | Track data | The length of the full track in terms of segments |
| trackLength (Silverstone) | Track data | The length of the full track in terms of segments |
| trackLength (Snetterton) | Track data | The length of the full track in terms of segments |
| trackName (Brands Hatch) | Extra tracks | The track name |
| trackName (Donington Park) | Extra tracks | The track name |
| trackName (Nürburgring) | Extra tracks | The track name |
| trackName (Oulton Park) | Extra tracks | The track name |
| trackName (Silverstone) | Track data | The track name |
| trackName (Snetterton) | Extra tracks | The track name |
| trackRaceSlowdown | Workspace variable | Slowdown factor for non-player drivers in the race |
| trackRaceSlowdown (Brands Hatch) | Extra tracks | Slowdown factor for non-player drivers in the race |
| trackRaceSlowdown (Donington Park) | Extra tracks | Slowdown factor for non-player drivers in the race |
| trackRaceSlowdown (Nürburgring) | Extra tracks | Slowdown factor for non-player drivers in the race |
| trackRaceSlowdown (Oulton Park) | Extra tracks | Slowdown factor for non-player drivers in the race |
| trackRaceSlowdown (Silverstone) | Track data | Slowdown factor for non-player drivers in the race |
| trackRaceSlowdown (Snetterton) | Extra tracks | Slowdown factor for non-player drivers in the race |
| trackSectionCount | Workspace variable | The total number of track sections * 8 |
| trackSectionCount (Brands Hatch) | Extra tracks | The total number of track sections * 8 |
| trackSectionCount (Donington Park) | Extra tracks | The total number of track sections * 8 |
| trackSectionCount (Nürburgring) | Extra tracks | The total number of track sections * 8 |
| trackSectionCount (Oulton Park) | Extra tracks | The total number of track sections * 8 |
| trackSectionCount (Silverstone) | Track data | The total number of track sections * 8 |
| trackSectionCount (Snetterton) | Extra tracks | The total number of track sections * 8 |
| trackSectionData | Workspace variable | Various data for the track section: |
| trackSectionFlag | Workspace variable | Various flags for the track section: |
| trackSectionFrom | Workspace variable | The number of the first segment vector in each section, which enables us to fetch the segment vectors for a given track section |
| trackSectionSize | Workspace variable | The length of each track section in terms of segments |
| trackSectionTurn | Workspace variable | The number of the segment in the section where non-player drivers should start turning in preparation for the next section |
| trackSignData | Workspace variable | Base coordinates and object types for 16 road signs |
| trackSignData (Brands Hatch) | Track data | Base coordinates and object types for 16 road signs |
| trackSignData (Donington Park) | Track data | Base coordinates and object types for 16 road signs |
| trackSignData (Nürburgring) | Track data | Base coordinates and object types for 16 road signs |
| trackSignData (Oulton Park) | Track data | Base coordinates and object types for 16 road signs |
| trackSignData (Silverstone) | Track data | Base coordinates and object types for 16 road signs |
| trackSignData (Snetterton) | Track data | Base coordinates and object types for 16 road signs |
| trackSlope (Brands Hatch) | Extra tracks | The slope at the start of each track section |
| trackSlope (Donington Park) | Extra tracks | The slope at the start of each track section |
| trackSlope (Nürburgring) | Extra tracks | The slope at the start of each track section |
| trackSlope (Oulton Park) | Extra tracks | The slope at the start of each track section |
| trackSlope (Snetterton) | Extra tracks | The slope at the start of each track section |
| trackSlopeDelta (Brands Hatch) | Extra tracks | The change in the slope (i.e. the change in the gradient) over the course of each segment for each sub-section of the track |
| trackSlopeDelta (Donington Park) | Extra tracks | The change in the slope (i.e. the change in the gradient) over the course of each segment for each sub-section of the track |
| trackSlopeDelta (Nürburgring) | Extra tracks | The change in the slope (i.e. the change in the gradient) over the course of each segment for each sub-section of the track |
| trackSlopeDelta (Oulton Park) | Extra tracks | The change in the slope (i.e. the change in the gradient) over the course of each segment for each sub-section of the track |
| trackSlopeDelta (Snetterton) | Extra tracks | The change in the slope (i.e. the change in the gradient) over the course of each segment for each sub-section of the track |
| trackStartLine | Workspace variable | The segment number of the starting line |
| trackStartLine (Brands Hatch) | Track data | The segment number of the starting line |
| trackStartLine (Donington Park) | Track data | The segment number of the starting line |
| trackStartLine (Nürburgring) | Track data | The segment number of the starting line |
| trackStartLine (Oulton Park) | Track data | The segment number of the starting line |
| trackStartLine (Silverstone) | Track data | The segment number of the starting line |
| trackStartLine (Snetterton) | Track data | The segment number of the starting line |
| trackStartPosition | Workspace variable | The starting race position of the player during a practice or qualifying lap |
| trackStartPosition (Brands Hatch) | Extra tracks | The starting race position of the player during a practice or qualifying lap |
| trackStartPosition (Donington Park) | Extra tracks | The starting race position of the player during a practice or qualifying lap |
| trackStartPosition (Nürburgring) | Extra tracks | The starting race position of the player during a practice or qualifying lap |
| trackStartPosition (Oulton Park) | Extra tracks | The starting race position of the player during a practice or qualifying lap |
| trackStartPosition (Silverstone) | Track data | The starting race position of the player during a practice or qualifying lap |
| trackStartPosition (Snetterton) | Extra tracks | The starting race position of the player during a practice or qualifying lap |
| trackSteering | Workspace variable | The optimum steering for non-player drivers to apply on each track section |
| trackSteering (Brands Hatch) | Extra tracks | The optimum steering for non-player drivers on each track section |
| trackSteering (Donington Park) | Extra tracks | The optimum steering for non-player drivers on each track section |
| trackSteering (Nürburgring) | Extra tracks | The optimum steering for non-player drivers on each track section |
| trackSteering (Oulton Park) | Extra tracks | The optimum steering for non-player drivers on each track section |
| trackSteering (Silverstone) | Track data | The optimum steering for non-player drivers on each track section |
| trackSteering (Snetterton) | Extra tracks | The optimum steering for non-player drivers on each track section |
| trackSubConfig (Brands Hatch) | Extra tracks | Configuration data for each section that defines the sub-section numbers, and horizon calculations |
| trackSubConfig (Donington Park) | Extra tracks | Configuration data for each section that defines the sub-section numbers, and horizon calculations |
| trackSubConfig (Nürburgring) | Extra tracks | Configuration data for each section that defines the sub-section numbers, and horizon calculations |
| trackSubConfig (Oulton Park) | Extra tracks | Configuration data for each section that defines the sub-section numbers, and horizon calculations |
| trackSubConfig (Snetterton) | Extra tracks | Configuration data for each section that defines the sub-section numbers, and horizon calculations |
| trackSubCount (Brands Hatch) | Extra tracks | The total number of sub-sections in the track |
| trackSubCount (Donington Park) | Extra tracks | The total number of sub-sections in the track |
| trackSubCount (Nürburgring) | Extra tracks | The total number of sub-sections in the track |
| trackSubCount (Oulton Park) | Extra tracks | The total number of sub-sections in the track |
| trackSubCount (Snetterton) | Extra tracks | The total number of sub-sections in the track |
| trackSubSize (Brands Hatch) | Extra tracks | The size of each sub-section, i.e. the number of segments in each sub-section |
| trackSubSize (Donington Park) | Extra tracks | The size of each sub-section, i.e. the number of segments in each sub-section |
| trackSubSize (Nürburgring) | Extra tracks | The size of each sub-section, i.e. the number of segments in each sub-section |
| trackSubSize (Oulton Park) | Extra tracks | The size of each sub-section, i.e. the number of segments in each sub-section |
| trackSubSize (Snetterton) | Extra tracks | The size of each sub-section, i.e. the number of segments in each sub-section |
| trackTimerAdjust | Workspace variable | Adjustment factor for the speed of the timers to allow for fine-tuning of time on a per-track basis |
| trackTimerAdjust (Brands Hatch) | Extra tracks | Adjustment factor for the speed of the timers to allow for fine-tuning of time on a per-track basis |
| trackTimerAdjust (Donington Park) | Extra tracks | Adjustment factor for the speed of the timers to allow for fine-tuning of time on a per-track basis |
| trackTimerAdjust (Nürburgring) | Extra tracks | Adjustment factor for the speed of the timers to allow for fine-tuning of time on a per-track basis |
| trackTimerAdjust (Oulton Park) | Extra tracks | Adjustment factor for the speed of the timers to allow for fine-tuning of time on a per-track basis |
| trackTimerAdjust (Silverstone) | Track data | Adjustment factor for the speed of the timers to allow for fine-tuning of time on a per-track basis |
| trackTimerAdjust (Snetterton) | Extra tracks | Adjustment factor for the speed of the timers to allow for fine-tuning of time on a per-track basis |
| trackVectorCount | Workspace variable | The total number of segment vectors in the segment vector tables |
| trackVectorCount (Brands Hatch) | Track data | The total number of segment vectors in the segment vector tables |
| trackVectorCount (Donington Park) | Track data | The total number of segment vectors in the segment vector tables |
| trackVectorCount (Nürburgring) | Track data | The total number of segment vectors in the segment vector tables |
| trackVectorCount (Oulton Park) | Track data | The total number of segment vectors in the segment vector tables |
| trackVectorCount (Silverstone) | Track data | The total number of segment vectors in the segment vector tables |
| trackVectorCount (Snetterton) | Track data | The total number of segment vectors in the segment vector tables |
| trackYawAngleHi (Brands Hatch) | Extra tracks | The high byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawAngleHi (Donington Park) | Extra tracks | The high byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawAngleHi (Nürburgring) | Extra tracks | The high byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawAngleHi (Oulton Park) | Extra tracks | The high byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawAngleHi (Snetterton) | Extra tracks | The high byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawAngleLo (Brands Hatch) | Extra tracks | The low byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawAngleLo (Donington Park) | Extra tracks | The low byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawAngleLo (Nürburgring) | Extra tracks | The low byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawAngleLo (Oulton Park) | Extra tracks | The low byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawAngleLo (Snetterton) | Extra tracks | The low byte of the yaw angle of the start of each track section (i.e. the direction of the track at that point) |
| trackYawDeltaHi (Brands Hatch) | Extra tracks | High byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| trackYawDeltaHi (Donington Park) | Extra tracks | High byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| trackYawDeltaHi (Nürburgring) | Extra tracks | High byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| trackYawDeltaHi (Oulton Park) | Extra tracks | High byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| trackYawDeltaHi (Snetterton) | Extra tracks | High byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| trackYawDeltaLo (Brands Hatch) | Extra tracks | Low byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| trackYawDeltaLo (Donington Park) | Extra tracks | Low byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| trackYawDeltaLo (Nürburgring) | Extra tracks | Low byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| trackYawDeltaLo (Oulton Park) | Extra tracks | Low byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| trackYawDeltaLo (Snetterton) | Extra tracks | Low byte of the change in yaw angle that we apply to each segment in the specified sub-section when building the track |
| TT | Workspace variable | Temporary storage, used in a number of places |
| turnCounter | Workspace variable | A counter for the length of turn when calculating the optimum steering for a track segment |
| TurnPlayerAround | Car geometry | Turn the player around and initialise the specified number of track segments in the new direction |
| tyreEdgeIndex | Dashboard | Index of the mask and pixel bytes for the tyre edges on a specific track line |
| tyreRightEdge | Workspace variable | Storage for the first track pixel byte along the right edge of the left tyre |
| tyreSqueal | Driving model | A flag to determine whether the front or rear tyres are squealing |
| tyreTravel | Dashboard | Keeps track of how far we have travelled so we know when to animate the tyres |
| tyreTreadLeft | Dashboard | Tyre tread pattern for the left tyre |
| tyreTreadRight | Dashboard | Tyre tread pattern for the right tyre |
| U | Workspace variable | Temporary storage, used in a number of places |
| UpdateBackground | Drawing the track | Update the background colour table for when we draw a verge edge off the left edge of the screen |
| updateBackground | Workspace variable | Flag to indicate we have changed the background colour of a track line |
| UpdateCurveVector | Track geometry | Move to the next segment vector along in the direction we are facing, but only for curved track sections |
| UpdateDashboard | Dashboard | Update the rev counter and steering wheel lines on the dashboard |
| UpdateDataPointers (Brands Hatch) | Extra tracks | Update the sub-section and segment numbers to point to the next segment along the track in the correct direction |
| UpdateDataPointers (Donington Park) | Extra tracks | Update the sub-section and segment numbers to point to the next segment along the track in the correct direction |
| UpdateDataPointers (Nürburgring) | Extra tracks | Update the sub-section and segment numbers to point to the next segment along the track in the correct direction |
| UpdateDataPointers (Oulton Park) | Extra tracks | Update the sub-section and segment numbers to point to the next segment along the track in the correct direction |
| UpdateDataPointers (Snetterton) | Extra tracks | Update the sub-section and segment numbers to point to the next segment along the track in the correct direction |
| updateDriverInfo | Text | Flag that controls whether the driver names are updated in the information block at the top of the screen |
| updateDrivingInfo | Workspace variable | Determines which parts of the driving information should be updated at the top of the screen |
| UpdateLaps | Drivers | Increment the lap number and lap times for a specific driver |
| UpdateLapTimers | Drivers | Update the lap timers and display timer-related messages at the top of the screen |
| updateLapTimes | Drivers | Controls whether moving the car forward updates the lap number and lap times |
| UpdateMirrors | Dashboard | Update the wing mirrors to show any cars behind us |
| UpdatePositionInfo | Text | Apply any position changes and update the position information at the top of the screen |
| UpdateVectorNumber | Track geometry | Move to the next segment vector along the track in the direction we are facing |
| UpdateVelocity | Driving model | Update the player's velocity and spin yaw angle |
| UU | Workspace variable | Temporary storage, used in a number of places |
| V | Workspace variable | Temporary storage, used in a number of places |
| vectorNumber | Workspace variable | The segment vector number when building car objects in the BuildCarObjects routine |
| vergeBufferEnd | Workspace variable | The index of the last entry in the track verge buffer for the side of the track we are currently drawing in DrawTrack |
| vergeColour | Track geometry | Lookup table for converting bits 0-2 of the segment flag byte into the verge colour scheme |
| vergeDataLeft | Track geometry | Data (such as colour) for the verge marks on the left side of the track |
| vergeDataRight | Track geometry | Data (such as colour) for the verge marks on the right side of the track |
| vergeDepthOfField | Workspace variable | The index into the verge buffer of the furthest verge mark, so for segments further from the player than this point, we do not draw verge marks |
| vergeEdgeInOut | Drawing the track | Table for mapping the verge tables to the outer and inner edges of the verge marks |
| vergeEdgeRight | Drawing the track | Contain the four pixel bytes for the verge edge we are drawing, masked to only include the rightmost 4, 3, 2 and 1 pixels |
| vergeOnScreenEdge | Workspace variable | Determines whether the verge edge we are drawing for the current segment is partially off-screen |
| vergePixelMask | Drawing the track | Pixel bytes for drawing track verge edges |
| vergeScale | Track geometry | Scale factors for the track verge width for different types of verge (larger value = smaller verge width) |
| vergeTableHi | Drawing the track | High bytes of the addresses of the four verge tables |
| vergeTableLo | Drawing the track | Low bytes of the addresses of the four verge tables |
| vergeTopLeft | Workspace variable | The track line just above the segment at vergeDepthOfField (i.e. the furthest segment that might contain a verge) when drawing the left verge |
| vergeTopRight | Workspace variable | The track line just above the segment at vergeDepthOfField (i.e. the furthest segment that might contain a verge) when drawing the right verge |
| vergeType | Workspace variable | The type of verge that is currently being drawn in the DrawTrack routine: |
| volumeLevel | Workspace variable | The game's volume level |
| VV | Workspace variable | Temporary storage, used in a number of places |
| W | Workspace variable | Temporary storage, used in a number of places |
| WaitForSpace | Keyboard | Print a prompt, wait for the SPACE key to be released, and wait for SPACE to be pressed |
| WaitForSpaceReturn | Keyboard | Print a prompt, wait for the SPACE key to be released, and wait for either SPACE or RETURN to be pressed |
| wheelPixels | Dashboard | The number of pixels in the longest axis for the steering wheel line at various points in a quadrant |
| wingBalance | Driving model | Value used in the driving model when calculating the effect of the two wing settings |
| wingForce | Driving model | The downward force from the front and rear wings |
| wingForce95 | Driving model | 95% of the downward force from the front and rear wings |
| wingForceGrass | Driving model | The base downward force from the weight of the car when on grass, to which the downward force from the wings is added |
| wingForceTrack | Driving model | The base downward force from the weight of the car when on the track, to which the downward force from the wings is added |
| wingScaleFactor | Driving model | Scale factors for the wing settings |
| wingSetting | Driving model | Contains the scaled wing settings |
| WW | Workspace variable | Temporary storage, used in a number of places |
| xAccelerationHi | Driving model | High byte of the x-coordinate of the change in velocity of the player's car in terms of 3D world coordinates |
| xAccelerationLo | Driving model | Low byte of the x-coordinate of the change in velocity of the player's car in terms of 3D world coordinates |
| xCoord1Hi | Workspace variable | The high byte of the x-coordinate of the temporary coordinate variable (xCoord1, yCoord1, zCoord1) |
| xCoord1Lo | Workspace variable | The low byte of the x-coordinate of the temporary coordinate variable (xCoord1, yCoord1, zCoord1) |
| xCoord2Hi | Workspace variable | The high byte of the x-coordinate of the temporary coordinate variable (xCoord2, yCoord2, zCoord2) |
| xCoord2Lo | Workspace variable | The low byte of the x-coordinate of the temporary coordinate variable (xCoord2, yCoord2, zCoord2) |
| xCursor | Text | The cursor's x-coordinate, which can either be a pixel coordinate or a character row |
| xHeader | Text | Column number for printing mode 7 headers |
| xHelmetCoordHi | Workspace variable | High byte of the x-coordinate of the body/helmet object in the four-object car |
| xHelmetCoordLo | Workspace variable | Low byte of the x-coordinate of the body/helmet object in the four-object car |
| xMarkerHi | Track geometry | High byte of the x-axis distance between the track edge and the three corner markers |
| xMarkerLo | Track geometry | Low byte of the x-axis distance between the track edge and the three corner markers |
| xPixelCoord | Workspace variable | The pixel x-coordinate of the centre of the current object |
| xPlayerAccelHi | Driving model | High byte of the x-coordinate of the change in velocity of the player's car in the player's frame of reference |
| xPlayerAccelLo | Driving model | Low byte of the x-coordinate of the change in velocity of the player's car in the player's frame of reference |
| xPlayerCoordHi | Car geometry | The high byte of the x-coordinate of the player's 3D coordinates |
| xPlayerCoordLo | Car geometry | The low byte of the x-coordinate of the player's 3D coordinates |
| xPlayerCoordTop | Car geometry | The top byte of the x-coordinate of the player's 3D coordinates |
| xPlayerSpeedHi | Driving model | High byte of the x-coordinate of the velocity vector (i.e. x-axis speed) for the player's car during this main loop iteration |
| xPlayerSpeedLo | Driving model | Low byte of the x-coordinate of the velocity vector (i.e. x-axis speed) for the player's car during this main loop iteration |
| xPlayerSpeedTop | Driving model | Top byte of the x-coordinate of the velocity vector (i.e. x-axis speed) for the player's car during this main loop iteration |
| xPrevVelocityHi | Workspace variable | Used to store the high byte of the x-coordinate of the player's previous velocity vector during the driving model calculations (i.e. the velocity from the last iteration of the main loop) |
| xPrevVelocityLo | Workspace variable | Used to store the low byte of the x-coordinate of the player's previous velocity vector during the driving model calculations (i.e. the velocity from the last iteration of the main loop) |
| xRoadSignCoordHi | 3D objects | The high byte of the x-coordinate of the road sign's 3D coordinates |
| xRoadSignCoordLo | 3D objects | The low byte of the x-coordinate of the road sign's 3D coordinates |
| xSegmentCoordIHi | Workspace variable | The high byte of the 3D x-coordinate for an inner track segment in the track segment buffer |
| xSegmentCoordILo | Workspace variable | The low byte of the 3D x-coordinate for an inner track segment in the track segment buffer |
| xSegmentCoordOHi | Workspace variable | The high byte of the 3D x-coordinate for an outer track segment in the track segment buffer |
| xSegmentCoordOLo | Workspace variable | The low byte of the 3D x-coordinate for an outer track segment in the track segment buffer |
| xSpinVelocityHi | Workspace variable | Used to store the high byte of the scaled spin yaw angle during the driving model calculations |
| xSpinVelocityLo | Workspace variable | Used to store the low byte of the scaled spin yaw angle during the driving model calculations |
| xSteeringForceHi | Driving model | High byte of the sideways force applied by steering |
| xSteeringForceLo | Driving model | Low byte of the sideways force applied by steering |
| xStoreDraw | Workspace variable | Temporary storage for X so it can be preserved through calls to DrawCarInPosition, DrawCarOrSign and DrawSegmentEdge |
| xStoreSound | Sound | Temporary storage for X so it can be preserved through calls to the sound routines |
| xTrackCurve (Brands Hatch) | Extra tracks | The x-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| xTrackCurve (Donington Park) | Extra tracks | The x-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| xTrackCurve (Nürburgring) | Extra tracks | The x-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| xTrackCurve (Oulton Park) | Extra tracks | The x-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| xTrackCurve (Snetterton) | Extra tracks | The x-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| xTrackSectionIHi | Workspace variable | High byte of the x-coordinate of the starting point of the inner verge of each track section |
| xTrackSectionILo | Workspace variable | Low byte of the x-coordinate of the starting point of the inner verge of each track section |
| xTrackSectionOHi | Workspace variable | High byte of the x-coordinate of the starting point of the outside verge of each track section |
| xTrackSectionOLo | Workspace variable | Low byte of the x-coordinate of the starting point of the outside verge of each track section |
| xTrackSegmentI | Workspace variable | Vector x-coordinates between two consecutive segments on the inside of the track |
| xTrackSegmentI (Silverstone) | Track data | Vector x-coordinates between two consecutive segments on the inside of the track |
| xTrackSegmentO | Workspace variable | Vector x-coordinates from the inside to the outside of the track for each segment |
| xTrackSegmentO (Silverstone) | Track data | Vector x-coordinates from the inside to the outside of the track for each segment |
| xTrackSignVector | Workspace variable | The x-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| xTrackSignVector (Brands Hatch) | Extra tracks | The x-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| xTrackSignVector (Donington Park) | Extra tracks | The x-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| xTrackSignVector (Nürburgring) | Extra tracks | The x-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| xTrackSignVector (Oulton Park) | Extra tracks | The x-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| xTrackSignVector (Silverstone) | Track data | The x-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| xTrackSignVector (Snetterton) | Extra tracks | The x-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| xTyreForceNoseHi | Driving model | High byte of the x-coordinate of the force vector produced by the front tyres in the nose of the car |
| xTyreForceNoseLo | Driving model | Low byte of the x-coordinate of the force vector produced by the front tyres in the nose of the car |
| xTyreForceRearHi | Driving model | High byte of the x-coordinate of the force vector produced by the rear tyres of the car |
| xTyreForceRearLo | Driving model | Low byte of the x-coordinate of the force vector produced by the rear tyres of the car |
| xVelocityHi | Driving model | High byte of the x-coordinate of the player's velocity vector, from the player's frame of reference |
| xVelocityLo | Driving model | Low byte of the x-coordinate of the player's velocity vector, from the player's frame of reference |
| xVergeLeftHi | Track geometry | High byte of segment yaw angles along the left track verge in front of the player (i.e. along the x-axis) |
| xVergeLeftLo | Track geometry | Low byte of segment yaw angles along the left track verge in front of the player (i.e. along the x-axis) |
| xVergeRightHi | Track geometry | High byte of segment yaw angles along the right track verge in front of the player (i.e. along the x-axis) |
| xVergeRightLo | Track geometry | Low byte of segment yaw angles along the right track verge in front of the player (i.e. along the x-axis) |
| yawAngleHi (Brands Hatch) | Extra tracks | High byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yawAngleHi (Donington Park) | Extra tracks | High byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yawAngleHi (Nürburgring) | Extra tracks | High byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yawAngleHi (Oulton Park) | Extra tracks | High byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yawAngleHi (Snetterton) | Extra tracks | High byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yawAngleLo (Brands Hatch) | Extra tracks | Low byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yawAngleLo (Donington Park) | Extra tracks | Low byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yawAngleLo (Nürburgring) | Extra tracks | Low byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yawAngleLo (Oulton Park) | Extra tracks | Low byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yawAngleLo (Snetterton) | Extra tracks | Low byte of the current yaw angle of the track, i.e. the angle at which the track is pointing along the ground |
| yCoord1Hi | Workspace variable | The high byte of the y-coordinate of the temporary coordinate variable (xCoord1, yCoord1, zCoord1) |
| yCoord1Lo | Workspace variable | The low byte of the y-coordinate of the temporary coordinate variable (xCoord1, yCoord1, zCoord1) |
| yCoord2Hi | Workspace variable | The high byte of the y-coordinate of the temporary coordinate variable (xCoord2, yCoord2, zCoord2) |
| yCoord2Lo | Workspace variable | The low byte of the y-coordinate of the temporary coordinate variable (xCoord2, yCoord2, zCoord2) |
| yCursor | Text | The cursor's pixel y-coordinate |
| yGravityDelta | Workspace variable | The distance in the y-axis that the car would fall if the track wasn't there, for use when calculating the outcome of jumps and being dropped from the crane |
| yHeader | Text | Row number for printing mode 7 headers |
| yHelmetCoordHi | Workspace variable | High byte of the y-coordinate of the body/helmet object in the four-object car |
| yHelmetCoordLo | Workspace variable | Low byte of the y-coordinate of the body/helmet object in the four-object car |
| yJumpHeight | Workspace variable | The height of the car's jump (or crane lift), in terms of track lines, which we use to alter the position of the horizon |
| yLookupHi | Drawing pixels | Lookup table for converting pixel y-coordinate to high byte of screen address |
| yLookupLo | Drawing pixels | Lookup table for converting pixel y-coordinate to low byte of screen address |
| yPixelCoord | Workspace variable | The pixel y-coordinate of the centre of the current object |
| yPlayerCoordHi | Car geometry | The high byte of the y-coordinate of the player's 3D coordinates |
| yPlayerCoordLo | Car geometry | The low byte of the y-coordinate of the player's 3D coordinates |
| yPlayerCoordTop | Car geometry | The top byte of the y-coordinate of the player's 3D coordinates |
| yRoadSignCoordHi | 3D objects | The high byte of the y-coordinate of the road sign's 3D coordinates |
| yRoadSignCoordLo | 3D objects | The low byte of the y-coordinate of the road sign's 3D coordinates |
| ySegmentCoordIHi | Workspace variable | The high byte of the 3D y-coordinate for an inner track segment in the track segment buffer |
| ySegmentCoordILo | Workspace variable | The low byte of the 3D y-coordinate for an inner track segment in the track segment buffer |
| ySegmentCoordOHi | Workspace variable | The high byte of the 3D y-coordinate for an outer track segment in the track segment buffer |
| ySegmentCoordOLo | Workspace variable | The low byte of the 3D y-coordinate for an outer track segment in the track segment buffer |
| yTrackSectionIHi | Workspace variable | High byte of the y-coordinate of the starting point of the inner verge of each track section |
| yTrackSectionILo | Workspace variable | Low byte of the y-coordinate of the starting point of the inner verge of each track section |
| yTrackSegmentI | Workspace variable | Vector y-coordinates between two consecutive segments on the inside of the track |
| yTrackSegmentI (Silverstone) | Track data | Vector y-coordinates between two consecutive segments on the inside of the track |
| yTrackSignVector | Workspace variable | The y-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| yTrackSignVector (Brands Hatch) | Extra tracks | The y-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| yTrackSignVector (Donington Park) | Extra tracks | The y-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| yTrackSignVector (Nürburgring) | Extra tracks | The y-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| yTrackSignVector (Oulton Park) | Extra tracks | The y-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| yTrackSignVector (Silverstone) | Track data | The y-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| yTrackSignVector (Snetterton) | Extra tracks | The y-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| yVergeLeft | Track geometry | Segment pitch angles along the left track verge in front of the player (i.e. along the up-down y-axis) |
| yVergeRight | Track geometry | Segment pitch angles along the right track verge in front of the player (i.e. along the up-down y-axis) |
| zAccelerationHi | Driving model | High byte of the z-coordinate of the change in velocity of the player's car in terms of 3D world coordinates |
| zAccelerationLo | Driving model | Low byte of the z-coordinate of the change in velocity of the player's car in terms of 3D world coordinates |
| zCoord1Hi | Workspace variable | The high byte of the z-coordinate of the temporary coordinate variable (xCoord1, yCoord1, zCoord1) |
| zCoord1Lo | Workspace variable | The low byte of the z-coordinate of the temporary coordinate variable (xCoord1, yCoord1, zCoord1) |
| zCoord2Hi | Workspace variable | The high byte of the z-coordinate of the temporary coordinate variable (xCoord2, yCoord2, zCoord2) |
| zCoord2Lo | Workspace variable | The low byte of the z-coordinate of the temporary coordinate variable (xCoord2, yCoord2, zCoord2) |
| Zero page | Workspaces | Mainly temporary variables that are used a lot |
| ZeroEngineTorque | Driving model | Zero engineTorque |
| zeroIfYIs55 | Screen buffer | A lookup table for zeroing Y if and only if it is &55 |
| ZeroTimer | Drivers | Zero the specified timer |
| zHelmetCoordHi | Workspace variable | High byte of the z-coordinate of the body/helmet object in the four-object car |
| zHelmetCoordLo | Workspace variable | Low byte of the z-coordinate of the body/helmet object in the four-object car |
| zPlayerAccelHi | Driving model | High byte of the z-coordinate of the change in velocity of the player's car in the player's frame of reference |
| zPlayerAccelLo | Driving model | Low byte of the z-coordinate of the change in velocity of the player's car in the player's frame of reference |
| zPlayerCoordHi | Car geometry | The high byte of the z-coordinate of the player's 3D coordinates |
| zPlayerCoordLo | Car geometry | The low byte of the z-coordinate of the player's 3D coordinates |
| zPlayerCoordTop | Car geometry | The top byte of the z-coordinate of the player's 3D coordinates |
| zPlayerSpeedHi | Driving model | High byte of the z-coordinate of the velocity vector (i.e. z-axis speed) for the player's car during this main loop iteration |
| zPlayerSpeedLo | Driving model | Low byte of the z-coordinate of the velocity vector (i.e. z-axis speed) for the player's car during this main loop iteration |
| zPlayerSpeedTop | Driving model | Top byte of the z-coordinate of the velocity vector (i.e. z-axis speed) for the player's car during this main loop iteration |
| zRoadSignCoordHi | 3D objects | The high byte of the z-coordinate of the road sign's 3D coordinates |
| zRoadSignCoordLo | 3D objects | The low byte of the z-coordinate of the road sign's 3D coordinates |
| zSegmentCoordIHi | Workspace variable | The high byte of the 3D z-coordinate for an inner track segment in the track segment buffer |
| zSegmentCoordILo | Workspace variable | The low byte of the 3D z-coordinate for an inner track segment in the track segment buffer |
| zSegmentCoordOHi | Workspace variable | The high byte of the 3D z-coordinate for an outer track segment in the track segment buffer |
| zSegmentCoordOLo | Workspace variable | The low byte of the 3D z-coordinate for an outer track segment in the track segment buffer |
| zTrackCurve (Brands Hatch) | Extra tracks | The z-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| zTrackCurve (Donington Park) | Extra tracks | The z-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| zTrackCurve (Nürburgring) | Extra tracks | The z-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| zTrackCurve (Oulton Park) | Extra tracks | The z-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| zTrackCurve (Snetterton) | Extra tracks | The z-coordinate of the tangent vector (i.e. the curve direction) at 64 points on a one-eighth circle covering 0 to 45 degrees |
| zTrackSectionIHi | Workspace variable | High byte of the z-coordinate of the starting point of the inner verge of each track section |
| zTrackSectionILo | Workspace variable | Low byte of the z-coordinate of the starting point of the inner verge of each track section |
| zTrackSectionOHi | Workspace variable | High byte of the z-coordinate of the starting point of the outside verge of each track section |
| zTrackSectionOLo | Workspace variable | Low byte of the z-coordinate of the starting point of the outside verge of each track section |
| zTrackSegmentI | Workspace variable | Vector z-coordinates between two consecutive segments on the inside of the track |
| zTrackSegmentI (Silverstone) | Track data | Vector z-coordinates between two consecutive segments on the inside of the track |
| zTrackSegmentO | Workspace variable | Vector z-coordinates from the inside to the outside of the track for each segment |
| zTrackSegmentO (Silverstone) | Track data | Vector z-coordinates from the inside to the outside of the track for each segment |
| zTrackSignVector | Workspace variable | The z-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| zTrackSignVector (Brands Hatch) | Extra tracks | The z-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| zTrackSignVector (Donington Park) | Extra tracks | The z-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| zTrackSignVector (Nürburgring) | Extra tracks | The z-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| zTrackSignVector (Oulton Park) | Extra tracks | The z-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| zTrackSignVector (Silverstone) | Track data | The z-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| zTrackSignVector (Snetterton) | Extra tracks | The z-coordinate of the track sign vector for each sign, to be scaled and added to the inner track section vector for the sign |
| zTyreForceBoth | Driving model | High byte of the z-coordinate of the force vector produced by the front and tyres combined |
| zTyreForceNoseHi | Driving model | High byte of the z-coordinate of the force vector produced by the front tyres in the nose of the car |
| zTyreForceNoseLo | Driving model | Low byte of the z-coordinate of the force vector produced by the front tyres in the nose of the car |
| zTyreForceRearHi | Driving model | High byte of the z-coordinate of the force vector produced by the rear tyres |
| zTyreForceRearLo | Driving model | Low byte of the z-coordinate of the force vector produced by the rear tyres |
| zVelocityHi | Driving model | High byte of the z-coordinate of the player's velocity vector, from the player's frame of reference |
| zVelocityLo | Driving model | Low byte of the z-coordinate of the player's velocity vector, from the player's frame of reference |