AGPLapTime v1.2


Rene Smit

June, 97


This document describes AGPLapTime, a utility with which you can log your races in World Circuit/Formula One Grandprix. This utility is freeware.

If you want to complain, ask questions or exchange deeper thoughts about AGPLapTime, SplitTime or F1GP feel free to contact me:







  4.1. Usage
    4.1.1. -c option
    4.1.2. -b option
    4.1.3. [<logfile>]
    4.1.4. -w option
    4.1.5. Examples
  5.1. AGPLap
    5.1.1. [<logfile>]
    5.1.2. -w option
    5.1.3. -t option
    5.1.4. -/+[H/C]slfpr ... options examples
    5.1.5. Example output
    5.1.6. Log entries lap time, setup and fastest lap entries pitstop entries retirement entry
    5.1.7. Tyre grip
    5.1.8. Statistics table table contents example
  5.2. AGPLapD
    5.2.1. Usage
    5.2.2. The interface the AGPLapD window the Info window
  5.3. AGPLapMix
    5.3.1. Usage
    5.3.2. Examples




I hereby state that I am not responsible for any damage or loss of data, whether or not caused by using either AGPLapTime or AGPLap. If it crashes in the middle of an important race then that's not my responsibility. Please make sure it works properly on your system first. If you have any problems, try to run F1GP without AGPLapTime. If you're sure AGPLapTime causes problems for you please (e)mail me personally, and I'll try to solve them.




You may copy AGPLapTime to everyone as long as you copy the original lha file containing the following files:



F1GP logger

(c) 1995-97 Rene Smit


Documentation file


Logfile analyzer

(c) 1995-97 Rene Smit


Logfile viewer

(c) 1995-97 Grant Reeve


Logfile mixer

(c) 1995 Grant Reeve


F1GP library

(c) 1995-97 Oliver Roberts


The f1gp.library was made by Oliver Roberts. The version of the library included here is 35.2 (8.2.97).

AGPLapD and AGPLapMix were made by Grant Reeve.







AGPLapTime is a utility that logs interesting information while you're playing F1GP. Here is a quick list of most of the things that are logged:


Besides the player's car, computer cars can be logged too, although they are not very interesting (unless you want to analyse their strategies while changing several settings in F1GP-Ed, for example).

If only 1 player is being logged, the logfile will grow the size of about 4Kb for a full-length race. With 25 computer cars as well, it will get about 100Kb, but usually it's smaller.




AGPLapTime should be started from cli/shell with the following synopsis:


AGPLapTime [-w] [-c] [-b <bufsize>] [<logfile>]


The options cannot be concatenated (e.g. -wc).


-c option

By default, computer cars are not being logged. To turn this on, specify the '-c' option. Note that in multiplayer games a player's car controlled by the computer is not a computer car.


-b option

The '-b' option specifies how large the buffer for the logfile is. Because I can't write logged data to disk while you're in the cockpit I use a buffer. This buffer can be flushed to disk during F1GP menu interaction if you give it the flush command: ctrl-f. The buffer is flushed too if you quit AGPLapTime, either by giving the ctrl-c command, or by quitting F1GP. These commands can be given by pressing the corresponding key combination in the cli AGPLapTime is started from, or with a special program like 'break' in your c: directory (after finding out it's process number with 'status').


The default buffer size is about 10Kb. If the '-c' option is specified this default size is about 128Kb. People that are low on memory may have to specify a smaller buffer size with the '-b' option. The given size must be in kilobytes.


If the buffer overflows, there are no records logged anymore until the buffer is flushed. There will appear a message telling you that some records are lost if this happens, so make sure your buffer is big enough! After flushing the buffer it will always be empty again, unless an error occurred while trying to write to the file.



The default filename for the logfile is "agplap.log". You can specify a different name by just typing it on the command line (it may not start with a '-', or it will be interpreted as an option).


-w option

The '-w' option will enable automatic writing. Once you get out of the cockpit or you're in accelerated time, and this option is specified, AGPLapTime will write out (flush) the buffer to the logfile right away. For this option to work, you need at least v37 of the OS. There won't appear a message that the buffer is saved, unless there was an error. Also, an empty buffer will be saved right away when AGPLapTime is started, to be able to start AGPLap with option '-w' righ after that.




AGPLaptime phoenix.log


will log only players' cars, with a 10Kb buffer which will be flushed to the file phoenix.log upon exit, or upon receiving the flush command.


AGPLaptime -w -c -b100 imola_cc.log


will log all cars, with a 100Kb buffer which will be flushed to the file imola_cc.log automatically.




There are two tools to analyze the logfile: AGPLap and AGPLapD.




A seperate tool called AGPLap can be used to output the logfile in ASCII format. Call it from cli/shell with the following synopsis:


AGPLap [-w] [-t] [-/+[H/C]slfpr] ... [<logfile>]


Everything between [] brackets is optional. All options are case insensitive. It may look a bit complex at first sight, but it isn't J . The options consist of three optional parts:



The default name for the logfile is "agplap.log". You can specify a different name on the commandline as long as it doesn't start with a '-' or a '+'.


-w option

The '-w' option will enable logfile notification and makes AGPLap wait forever after printing all log entries until ctrl-c is pressed. Whenever there are new entries written to the file, AGPLap will print them right away. This way you don't need to print the complete logfile every time you take a look during a race. This option can best be used in conjunction with the '-w' command of AGPLapTime: if you go into accelerated time you will see computer cars being logged (if enabled) straight away. Don't ask me of how much use this is, but I use this to test stuff.


-t option

This option will suppress the output of the statistics table. This table is explained in section 5.1.8. (Statistics table).


-/+[H/C]slfpr ... options

This is the part that lets you select which entries you would like to see. Also, the '...' means you can specify it as many times as you like. It starts with either a '-' or a '+', then is optionally followed by a 'H' or a 'C', then followed by 0 or more of the characters 'slfpr'.

By default, all log entries are printed. A '-' option will then skip a certain type of entry. The options and entries are mapped as follows:


Entry Type






Fastest laps






Also, an 'H' or 'C' can further specify entries. If the 'H' is specified, then the following options only affect human player cars. If the 'C is specified, then the following options only affect computer cars. If neither 'H' or 'C' is specified, then the following options will affect all cars.


If there appears a '+' option however, all entries will _not_ be printed, except all the specified ones, including the '-' options. So the '+' is dominant: once for a certain type of car (human or computer) a '+' option is specified, the '-' options will turn into '+' options for that type of car.




print human player entries only.

-Hfs +Cpr

print all human players entries except fastest laps and setups, and also all computer pitstops and retirements.


print all laptime and pitstop entries.

+p -Cf

print all computer fastest laps, and pitstops of all cars.


print no entries.


Example output


Track 1: Phoenix, Race
Car Driver                 Lap CP TG  LapTime BestTime  SessionTime Difference
Setup [64/48] 14R [26,32,39,45,51,57] TC on; C-compound
%39 Rene Smit                0 24 86 -:--.--- -:--.---  0h00m09.339 + 0:07.588
Setup [64/46] 12R [27,33,39,45,51,57] TC on; C-compound
*38 Grant Reeve              0 26 86 -:--.--- -:--.---  0h00m10.343 + 0:08.592
%38 Grant Reeve              1 12 88 1:32.123 1:32.123= 0h01m42.466 + 0:12.914
*39 Rene Smit                1 21 88 1:46.394 1:46.394= 0h01m55.733 + 0:26.181
*38 Grant Reeve              2 12 90 1:32.231 1:32.123  0h03m14.697 + 0:20.418
%39 Rene Smit                2 22 90 Pits in FW         0h03m48.073
%39 Rene Smit                2 24 -- Pits out on C's    0h04m08.837 pit 20.764
%38 Grant Reeve              3  8 92 1:26.362 1:26.362= 0h04m41.059 + 0:16.884
*39 Rene Smit                3 24 88 -:--.--- 1:46.394  0h05m42.135 + 1:17.960
*39 Rene Smit                4 24 -- Retired 61; 8%     0h05m50.992 0:03, 0:30
%38 Grant Reeve              4  8 92 1:30.496 1:26.362  0h06m11.555 + 0:22.813
*38 Grant Reeve              5  8 92 1:31.839 1:26.362  0h07m43.394 + 0:27.930
*38 Grant Reeve              6  8 92 1:21.849 1:21.849! 0h09m05.243 + 0:26.661
FL 1:21.849 Grant Reeve, Ace, 716 HP, SF 16384, FR 10.0, 100%
*38 Grant Reeve              7 -- -- Retired 268; 35%   0h09m40.286 0:03, 0:30


This logfile was made during a multiplayer game, and the computer cars were logged too, but have been filtered out here by using the '+C' option.


The top line tells you what each column means. This column layout refers to laptime entries but certain columns are related to some other entries too. This is what each column means:


  1. Car The car number. It is preceded by one of the following characters:
  1. Driver Driver name.
  2. Lap Lap number. Races begin with lap 0 at the start. Other sessions start with lap number 1.
  3. CP Car position. In non-race sessions this is the ranking in the fastest lap table.
  4. TG Tyre grip. This is explained in section 5.1.7. (Tyre grip).
  5. LapTime Lap time. Is '-:--.---' on first lap out of the pit.
  6. BestTime Best personal time in the session.
  7. SessionTime Session time. In the race, this is the exact race time which starts at the green light.
  8. Difference Race only, this is the time difference between this car and the leader.


5.1.6. Log entries


I will now explain each log entry type in detail with use of the example. lap time, setup and fastest lap entries


Everytime a car crosses the start/finish line a laptime entry is logged.

If this is the first one in a session, a setup entry is logged as well.

The following is printed in this case:


Track 1: Phoenix, Race

Setup [64/48] 14R [26,32,39,45,51,57] TC on; C-compound

%39 Rene Smit 0 24 86 -:--.--- -:--.--- 0h00m09.339 + 0:07.588


It first prints the track name and session mode. The session mode is one of

the following:


- Practise Circuit

- Free Practice

- Qualifying

- Pre-Race Practice

- Race


The string ' (wet)' is added if it's a wet session (only for pre-race practise

and race). 'Practise Circuit' stands for the 'Practise any circuit' option in

the main menu. The race is either a quick race, a non-championship race or a

championship race.

It then prints the setup: front and rear wing, front or rear brake bias, gear

ratio's, traction control (TC) on or off, and finally the used tyre compound.

This tyre compound isn't always the same as selected in the garage, e.g. in

non-race sessions this compound will be the one you selected from within the

car. So, it's always the compound you're driving on at that moment.


A normal laptime entry will look like this:


%38 Grant Reeve 4 8 92 1:30.496 1:26.362 0h06m11.555 + 0:22.813


Here, a car just finishes lap 4 in position 8. The laptime is 1:30.496 and his

personal best time is 1:26.362.


In case the car sets a best session time, a fastest_lap entry is logged:


*38 Grant Reeve 6 8 92 1:21.849 1:21.849! 0h09m05.243 + 0:26.661

FL 1:21.849 Grant Reeve, Ace, 716 HP, SF 16384, FR 10.0, 100%


After the best laptime a '!' is added so fastest laps can be recognized if

printing of fastest_laps entries is skipped. This will be reset for each

session. If the laptime is an improvement of the personal best laptime,

a '=' is added.


The fastest_lap entry starts with 'FL', followed by the time, the driver name,

the opposition level, horsepower value, speed factor SF, frame rate FR, and

finally a short session name (Prac, FrPr, Qual or PRPr) for non-race sessions,

and the race distance in percentage for race sessions. If you happen to drive

a fastest lap, and drive exactly the same laptime in another lap, a

fastest_lap entry will be logged again.


The speed factor (SF) is some sort of grip value for this particular car. For

a player's car this value will almost always be equal to 16384. For computer

cars it will be that too, unless you're using F1GP-Ed and you've specified a

different speed factor, or you've installed the Local Speed Factor patch.

In that case the SF value will be near or equal to F1GP-Ed's SF value, where

slower computer cars will have a slightly lower speed factor. pitstop entries


Pitstops consist of a pair of entries. When a car comes in for a pitstop, a

pits_in entry is logged (when the car is put onto the jacks):


%39 Rene Smit 2 22 90 Pits in FW 0h03m48.073


If the car has damage, any broken wings are logged. 'FW' means the front

wing, and 'RW' means the rear wing is broken.


When the car comes off the jacks, a pits_out entry is logged:


%39 Rene Smit 2 24 -- Pits out on C's 0h04m08.837 pit 20.764


The tyre compound is printed which was chosen from within the car during the

pitstop, C-compound in this case. In the 'Difference' column the duration of

the pitstop is printed, preceded by the word 'pit'. retirement entry


If a car has a fatal crash, a retirement entry is logged, right at the moment

of the impact:


*38 Grant Reeve 7 -- -- Retired 268; 35% 0h09m40.286 0:03, 0:30


The number after 'Retired' is the segment number where you crashed. You can

use this number to locate the track position with the perf file viewer

GPDisplay. The percentage shows where you crashed compared to the total lap,

e.g. if you crashed halfway a lap it says 50%.


In the 'Difference' column are two times printed: the first one is the yellow

flag delay, and the second one is the car removal delay. This should be an

indication of how long it takes before the road is clear again.


Note that if the car is involved in another fatal crash right after the first

one, another entry is logged. If two cars fatally crash against each other,

their entries contain the same session time.


Normal crashes are not logged, but if there is a crash, the damage can be seen

in the pits_in entry if the car drives into the pits.



5.1.7. Tyre grip


With each laptime entry and pits_in entry the tyre grip is logged. This

value indicates the condition of your tyres, and it changes while you're

driving. The grip has an initial ('cold') value which depends on the tyre

compound, the track and the weather conditions (wet or dry).

Here is a list of all cold values for all compounds:



Dry conditions Wet conditions

Tracks A B C D Q(warm) W Slicks W


2,4,7,10,12,13,14,15 82 85 88 89 83(99) 78 01 57

3,1,6,8,9,11,16 81 84 86 88 82(98) 77 00 56

5 80 83 85 87 80(96) 75 00 55



I have added the 'warm' values for Q-compound tyres too, which gives the

highest possible grip for that track. The optimum values for the other

compounds can be extracted from the logfiles: while warming up the tyres

the value will increase until they reach optimum grip. It will stay constant

for a certain number of laps (this will influence your pit strategy) and

drops at the moment the tyres are wearing out. It will then take a certain

number of laps (depending on the track and compound) before the value drops

below the cold value.

From the example above you can see that in Phoenix the optimum grip for

C's is 92. For all other race-compounds on all tracks the warm value is about

6 higher than the cold value too.

In wet races the tyres don't warm up, so the grip value will then stay



These grip values are not the original values that the game uses. I have

scaled them to be between 0 and 99, taking slicks in the wet as a minimum

and the highest possible Q value as a maximum. I did this to keep the output

small and to make it more intuitive to read.



5.1.8. Statistics table


This table is printed at the end of each session, and shows statistics

about the session. It's most interesting for a race and if there is more

than one driver. There are statistics in several columns for each driver. table contents


This is what each column means:


Finishing position

| Car number

| | Total race time

| | | Fastest lap

| | | | Lap in which fastest lap was done

| | | | | #Laps led

| | | | | | #Laps done

| | | | | | | #Pitstops

| | | | | | | | Average pitstop loss

| | | | | | | | | Average tyre grip

| | | | | | | | | | #Laps done per compound

| | | | | | | | | | | | | | | |

FP Car Race_Time Fast_Lap FL LL/TL PS Avg_Pits AG A B C D Q W


Average pitstop loss shows the relative amount of time that is wasted

with a pitstop. It's the difference between two normal laps and the two

laps involved with the pitstop, including standing still.


The cars are sorted on laps done, then on race time. example


Here is an example of statistics for a race:


FP Car Race_Time Fast_Lap FL LL/TL PS Avg_Pits AG A B C D Q W


1. 6 1h42m06.850 1:13.893 65 52/78 2 0:29.308 93 57 21

2. 1 1h42m32.094 1:14.361 77 27/78 1 0:23.688 93 78

3. 9 1h43m14.608 1:14.911 57 0/78 1 0:19.058 93 45 33

4. 25 1h44m47.039 1:14.057 70 0/78 4 0:39.463 94 23 55

5. 22 1h45m22.844 1:15.889 76 0/78 1 0:18.916 93 78

6. 2 1h45m47.383 1:15.043 78 0/78 3 0:42.236 92 29 40 9

7. 38 0h42m49.197 1:19.318 24 0/27 5 0:44.181 93 6 21




5.2. AGPLapD



Another way to analyze the logfiles is to use AGPLapD, a graphical logfile

viewer. It's not a graphical substitute for AGPLap, since it doesn't show

race times or lap times, but only time differences for each lap. This

implies that it's only interesting if you log computer cars too, but there

is another tool called AGPLapMix which can combine several logfiles into

one (see section 5.3. AGPLapMix).


AGPLapD will not work with non-race sessions, so make sure your logfile

only contains one race (AGPLapMix helps you with this).


Besides the time differences, AGPLapD also shows pitstops, retirements and

a driver list.


AGPLapD was made by Grant Reeve.


New in v0.2ß2 is that it now works properly with versions lower than V39

of the operating system.



5.2.1. Usage


You start AGPLapD from cli/shell with the following synopsis:


AGPLapD [logfile]


You can also load the log file from within the program.



5.2.2. The interface


After you start the program, there will appear two windows, the AGPLapD

window which contains the graph, and the Info window which contains the

list of drivers. You can activate either window from the Windows menu.


There are two other menus: File and Prefs. From the File menu you can

load a new log file, clear the current logfile, or quit.

From the Prefs menu you can change screenmode, colours and fonts, and

you can save and load the preferences in several ways. the AGPLapD window


This window shows a grid, with the lap number on the x-axis, and the

time difference to the leader on the y-axis. So the leader's trace is

always at the bottom of the graph, right on the x-axis (except for

pitstops). Traces of the other drivers are drawn according to their

gap to the leader.


A pitstop is drawn as a bold vertical bar, as the driver stands still

in the pit. The height of that bar is exactly the amount of time the

driver was on the jacks in the pit (usually about 8 seconds for a regular

pitstop and about 0 seconds if one or two wings needed to be repaired).


A retirement is drawn as a little box at the end of the trace.


A black trace going from left to right indicates the leader, who is

then lapping other cars. If it initiates from another driver's trace,

or if it crosses one, it means that that driver is being passed by the

leader. If it's the lowest black trace, he's lapped once, the next one

means lapped twice, etc. the Info window


All drivers have unique colours (as long as they are available), and are

sorted on their race position. They are listed in this window with the

same colour as they are drawn with in the AGPLapD window. In that window

you can see a cursor (a vertical line) that's on lap 0 after loading. In

the Info window's title bar you can see that lap number, and the number of

cars. You can move the cursor with the cursor keys; with shift there will

be 10 laps skipped at once.




5.3. AGPLapMix



With this tool you can combine upto 64 log files together into one big log

file. Thereby it can filter out any unwanted sessions. Actually, the most

interesting use of this tool is to mix several races, which you can then

view with AGPLapD or AGPLap.


You can mix log files from different tracks together. This is, of course,




AGPLapMix was made by Grant Reeve.



5.3.1. Usage


AGPLapMix [car#[/new#] [car#[/new#] [-aText]]...

[inlogfile] [car#[/new#] [-aText]]....



A is: m=mix


B's are: f=strip free practice

q=strip qualifying

e=strip pre-race

r=strip race

p=strip practice


Mixing the logfiles is the most interesting (make sure they are from

the same circuit). Appending will just concatenate the logfiles.


Behind each logfile you can specify any number of car numbers that

you want to include. Each car number can be renumbered by adding a

'/' with the number to the old number. This is necessary if the logfiles

contain double car numbers, because double numbers will mess up pitstop

times with AGPLap. AGPLapMix supports car numbers from 0 to 63.


Besides this renumbering you can additionally append some text to the

driver name with the '-a' option followed by text. The total length of

the name cannot be more than 23 characters. If the name will be too long

it will be cut off.


Finally, specify the name of the output logfile.



5.3.2. Examples



* You have a log file containing a qualifying session and a race at

USA, and you want to filter out everything except what you and your

teammate did in the race. You are in car 39, he is in car 38:


AGPLapMix mq usa.log 38 39 output.log


* You have two log files, of races at Imola, where you are in car 39

and you are called "Grant Reeve" :). You want to combine the two files

together so you can compare how the two different versions of you went:


AGPLapMix m imola1.log 39/1 -aA imola2.log 39/2 -aB output.log


imola1.log will become "Grant Reeve A" in car 1, and imola2.log

will become "Grant Reeve B" in car 2.








I would like to thank Grant Reeve for encouraging me and for making

AGPLapD and AGPLapMix.


Thanks to Oliver Roberts for beta-testing, and to other people

that have reported bugs.


Thanks to Robert Schaftlein for sending me a cheque!


Finally, thanks to Trevor Kellaway, who has made GPLap for the PC, which

inspired me to make a logger for the Amiga too.