tensi@lan.informatik.tu-muenchen.dbp.de (Thomas Tensi) (05/02/89)
Hi, some time ago I asked if somebody knew the format of the files for the Ferrari Formula One game. Bernie Cosell (cosell@wilma.bbn.com) [thanks, Bernie] directed me to a survey by Mark Kyprianou (kyp@stsci.EDU) which was posted about a year ago. I tried to complete the information on the so-called "*.ses" files which describe the current standings in a season and the drivers' and cars' characteristics. Nevertheless I couldn't find out everything as I did't dive into the machine code but only checked it out by experimenting. I also couldn't get any hints on the track files structure. I guess the panorama view in the upper half of the game is run length encoded, but I keep on trying, because I want to change the courses (additional s-bends). Maybe some other guy can give hints on that. By the way: does the game run faster (e.g. in real time) on 68020 machines? Greetings from Germany, Thomas Tensi, Institut fuer Informatik, Technische Univ. Muenchen, Arcisstr. 21, 8000 Muenchen 2, West Germany | E-Mail: | tensi@lan.informatik.tu-muenchen.dbp.de (X.400) | tensi%lan.informatik.tu-muenchen.dbp.de@relay.cs.net (arpa/csnet) | tensi%lan.informatik.tu-muenchen.dbp.de@unido.uucp (uucp) | tensi%lan.informatik.tu-muenchen.dbp.de@ddoinf6.bitnet (bitnet) -- FERRARI FORMULA 1, "ses" file format -- <> indicates a nonterminal, "--" a comment, [] a footnote; -- obviously blanks in file act only as separators, number is not significant; 11 -- unknown 1 -- unknown formula <num> -- <num>::= 1 | 2 | 3 -- formula driven <xx> -- number of next race (1=rio, 2=jerez ...) -- now (<xx>-1) lines of points the 8 drivers achieved in previous races <a> <b> <c> <d> <e> <f> <g> <h> -- points for first race . . . -- now 8 lines (driver entries) of the form <AA> <BBBBBBBBBB> <CCCCCCC> <D> <E> <FF> <GGG> <HHH> <III> <JJ> <KKKKKKK> --******************************************************************** --********************* drivers entries *********************** --******************************************************************** --| <AA> driver's number (0..99) --| <BBBBBBBBB> driver's name (max. 9 letters) --| <CCCCCCC> driver's country (max. 7 letters) --| <D> colour of car's wheel caps and labels on body (0..7, see below) --| <E> car's body colour (0..7, see below) --| <FF> colour of driver's entry in season overview (0..15, see below) --| <GGG> driver's and car's ability [a] --| <HHH> car's ability (???) [b] --| <III> --| <JJ> --| <KKKKKK> --|************************ --| colour codes used for <D> <E> (3 bit, dual playfield mode): --| --| 0=black, 1=blue, 2=yellow, 3=dark green, --| 4=gras green, 5=red, 6=asphalt grey, 7=white --| --| colour codes used for <FF> (4 bit screen, obviously not all colours --| used): --| --| 0=black, 1=dark grey, 2=black, 3=black, --| 4=light grey, 5=dark green, 6=dark red, 7=orange, --| 8=black, 9=light grey, 10=black, 11=black, --| 12=white, 13=light green, 14=yellow, 15=orange --+--------------------------------------------------------------------- start <date> <time> -- start of game, 1st practice day at Fiorano curtime <date> <time> -- actual game time when this file is loaded --******************************************************************** --******************** date and time format ************************** --******************************************************************** --| <date> ::= <month>/<day>/<year> -- numerical notation --| <year> ::= 86 -- I didn't check, if this is necessary --| <time> ::= <hour>:<minute> -- 24 hour notation --+--------------------------------------------------------------------- -- now several 9-line entries of the form track <track file name> <LLL> <MMM> <N> <O> <P> <QQ> <RR> <track name> -- internal name of track goto <date> <time> -- arrival date and time pract1 <date> <time> <time> -- date, start and end time of first practice qual1 <date> <time> <time> -- date, start and end time of first qual. pract2 <date> <time> <time> -- date, start and end time of second practice qual2 <date> <time> <time> -- date, start and end time of second qual. warmup <date> <time> <time> -- date, start and end time of warmup race <date> <time> <time> -- date, start and end time of race --******************************************************************** --********************** track parameters [c] ************************ --******************************************************************** --| <LLL> x-coordinate in pixels on airplane world map (0..319) --| <MMM> y-coordinate in pixels on airplane world map (0..199) --| <N> continent (well :-) for calculation of travel time --| 1=Europe, 2=N.America, 3=S.America, 4=Asia, 5=Australia --| <O> country (well, San Marino and Italy count as one...) for --| calculation of travel time (arbitrary number) --| <P> ??? --| <QQ> ??? --| <RR> ??? --+--------------------------------------------------------------------- end <date> <time> -- end of file marker --******************************************************************** --************************ FOOTNOTES ****************************** --******************************************************************** --| [a] this number gives the driver's and car's performance; the --| qualification time is approx. indirectly proportional to that --| number (with some random offset) : t1/t2 = G2/G1; as soon as you --| have a valid qualification round, the times get adjusted with --| t=b+m/G (m, b are some track constants); --| --| [b] this number is specific for a certain car make or team (both --| Williams and McLaren drivers have identical numbers); I don't know --| if this is for car ability or some info on failure probabilities of --| car's parts (as the numbers vary very much, I guess it's a set)... --| --| [c] these parameters obviously only give information before the track --| is visited (e.g. position on world map, travel time); e.g. the flag --| shown on the race course tower seems to be coded into the track --| file... --+---------------------------------------------------------------------