Computer Chess Club Archives


Search

Terms

Messages

Subject: some info about CB7 Playerbase format!!!

Author: Michel Langeveld

Date: 15:48:52 07/16/99


After a while looking to the format I found the folowing:

If you want to join researching the format or have questions feal free to ask.
I shall update this information as soon as I find new info. I just decided to
release this info because I wanted the verify this by others.

The endgoal is to write a own client which can fix errors and add players in the
playerbase of historical players and others.

Maybe I write a tournamentbase also.

Kind regards,

Michel Langeveld

PLAYERBASE format (Playbase.plh) v 0.1 17/07/1999
================================

headerrecord = 28 bytes
datarecord   = 97 bytes

header contains: number of games and some other info.

datarecord:
 9 bytes: pointers(indexnumbers) to other bases?
25 bytes: player lastname and /0 at the end
20 bytes: player surename and /0 at the end
 3 bytes: date of birth (see bolow)
 7 bytes: pointer to other bases
 1 byte : country of the player (see below)
24 bytes: pointers(indexnumbers) to other datafiles?
 8 bytes: FF FF FF FF FF FF FF FF?

DATE = 3 bytes and can be calculated as folows:
====

var j, m, d : integer;
begin
   j := 1998;
   m := 4;
   d := 13;
   b1 := hi(j * 2);
   b2 := lo(j * 2);
   b3 := m * 32 + d;
   writeln (b1);
   writeln (b2);
   writeln (b3);
end.

COUNTRY = 1 byte and means the folowing:
=======

function ConvertByte2Country(b : byte) : string;
var tmp : string;
begin
   tmp := '';
   if (b = $00) and (tmp = '') then tmp := '???';
   if (b = $01) and (tmp = '') then tmp := 'AFG';
   if (b = $02) and (tmp = '') then tmp := 'ALB';
   if (b = $03) and (tmp = '') then tmp := 'ALG';
   if (b = $04) and (tmp = '') then tmp := 'AND';
   if (b = $05) and (tmp = '') then tmp := 'ANG';
   if (b = $06) and (tmp = '') then tmp := 'ANT';
   if (b = $07) and (tmp = '') then tmp := 'ARG';
   if (b = $08) and (tmp = '') then tmp := 'ARM';
   if (b = $09) and (tmp = '') then tmp := 'AUS';
   if (b = $0A) and (tmp = '') then tmp := 'AUT';
   if (b = $0B) and (tmp = '') then tmp := 'AZE';
   if (b = $0C) and (tmp = '') then tmp := 'BAH';
   if (b = $0D) and (tmp = '') then tmp := 'BHN';
   if (b = $0E) and (tmp = '') then tmp := 'BAN';
   if (b = $0F) and (tmp = '') then tmp := 'BAR';
   if (b = $10) and (tmp = '') then tmp := 'BLR';
   if (b = $11) and (tmp = '') then tmp := 'BEL';
   if (b = $12) and (tmp = '') then tmp := 'BLZ';
   if (b = $13) and (tmp = '') then tmp := 'BER';
   if (b = $14) and (tmp = '') then tmp := 'BOL';
   if (b = $15) and (tmp = '') then tmp := 'BIH';
   if (b = $16) and (tmp = '') then tmp := 'BOT';
   if (b = $17) and (tmp = '') then tmp := 'BRA';
   if (b = $18) and (tmp = '') then tmp := 'IVB';
   if (b = $19) and (tmp = '') then tmp := 'BRU';
   if (b = $1A) and (tmp = '') then tmp := 'BUL';
   if (b = $1B) and (tmp = '') then tmp := 'BUR';
   if (b = $1C) and (tmp = '') then tmp := 'CAN';
   if (b = $1D) and (tmp = '') then tmp := 'CHI';
   if (b = $1E) and (tmp = '') then tmp := 'CHN';
   if (b = $1F) and (tmp = '') then tmp := 'COL';
   if (b = $20) and (tmp = '') then tmp := 'CRA';
   if (b = $21) and (tmp = '') then tmp := 'CRO';
   if (b = $22) and (tmp = '') then tmp := 'CUB';
   if (b = $23) and (tmp = '') then tmp := 'CYP';
   if (b = $24) and (tmp = '') then tmp := 'CZE';
   if (b = $25) and (tmp = '') then tmp := 'DEN';
   if (b = $27) and (tmp = '') then tmp := 'DOM';
   if (b = $28) and (tmp = '') then tmp := 'ECU';
   if (b = $29) and (tmp = '') then tmp := 'EGY';
   if (b = $2A) and (tmp = '') then tmp := 'ENG';
   if (b = $2B) and (tmp = '') then tmp := 'ESP';
   if (b = $2C) and (tmp = '') then tmp := 'EST';
   if (b = $2E) and (tmp = '') then tmp := 'FAI';
   if (b = $2F) and (tmp = '') then tmp := 'FIJ';
   if (b = $30) and (tmp = '') then tmp := 'FIN';
   if (b = $31) and (tmp = '') then tmp := 'FRA';
   if (b = $32) and (tmp = '') then tmp := 'FRM';
   if (b = $33) and (tmp = '') then tmp := 'GAM';
   if (b = $34) and (tmp = '') then tmp := 'GEO';
   if (b = $35) and (tmp = '') then tmp := 'GER';
   if (b = $36) and (tmp = '') then tmp := 'GHA';
   if (b = $37) and (tmp = '') then tmp := 'GRE';
   if (b = $38) and (tmp = '') then tmp := 'GUA';
   if (b = $39) and (tmp = '') then tmp := 'GCI';
   if (b = $3A) and (tmp = '') then tmp := 'GUY';
   if (b = $3B) and (tmp = '') then tmp := 'HAI';
   if (b = $3C) and (tmp = '') then tmp := 'HON';
   if (b = $3D) and (tmp = '') then tmp := 'HKG';
   if (b = $3E) and (tmp = '') then tmp := 'HUN';
   if (b = $3F) and (tmp = '') then tmp := 'ISL';
   if (b = $40) and (tmp = '') then tmp := 'IND';
   if (b = $41) and (tmp = '') then tmp := 'INA';
   if (b = $42) and (tmp = '') then tmp := 'IRI';
   if (b = $43) and (tmp = '') then tmp := 'IRQ';
   if (b = $44) and (tmp = '') then tmp := 'ISR';
   if (b = $45) and (tmp = '') then tmp := 'IRL';
   if (b = $46) and (tmp = '') then tmp := 'ITA';
   if (b = $47) and (tmp = '') then tmp := 'IVO';
   if (b = $48) and (tmp = '') then tmp := 'JAM';
   if (b = $49) and (tmp = '') then tmp := 'JPN';
   if (b = $4A) and (tmp = '') then tmp := 'JCI';
   if (b = $4B) and (tmp = '') then tmp := 'JOR';
   if (b = $4C) and (tmp = '') then tmp := 'KAZ';
   if (b = $4D) and (tmp = '') then tmp := 'KEN';
   if (b = $4E) and (tmp = '') then tmp := 'KOR';
   if (b = $4F) and (tmp = '') then tmp := 'KYR';
   if (b = $50) and (tmp = '') then tmp := 'KUW';
   if (b = $51) and (tmp = '') then tmp := 'LAT';
   if (b = $52) and (tmp = '') then tmp := 'LTB';
   if (b = $53) and (tmp = '') then tmp := 'LBA';
   if (b = $54) and (tmp = '') then tmp := 'LIE';
   if (b = $55) and (tmp = '') then tmp := 'LTU';
   if (b = $56) and (tmp = '') then tmp := 'LUX';
   if (b = $57) and (tmp = '') then tmp := 'MAC';
   if (b = $58) and (tmp = '') then tmp := 'MAD';
   if (b = $59) and (tmp = '') then tmp := 'MAS';
   if (b = $5A) and (tmp = '') then tmp := 'MLI';
   if (b = $5B) and (tmp = '') then tmp := 'MLT';
   if (b = $5C) and (tmp = '') then tmp := 'MAU';
   if (b = $5D) and (tmp = '') then tmp := 'MRI';
   if (b = $5E) and (tmp = '') then tmp := 'MEX';
   if (b = $5F) and (tmp = '') then tmp := 'MDA';
   if (b = $60) and (tmp = '') then tmp := 'MNC';
   if (b = $61) and (tmp = '') then tmp := 'MON';
   if (b = $62) and (tmp = '') then tmp := 'MAR';
   if (b = $63) and (tmp = '') then tmp := 'MOZ';
   if (b = $64) and (tmp = '') then tmp := 'MYA';
   if (b = $65) and (tmp = '') then tmp := 'NAM';
   if (b = $66) and (tmp = '') then tmp := 'NEP';
   if (b = $67) and (tmp = '') then tmp := 'NED';
   if (b = $68) and (tmp = '') then tmp := 'AHO';
   if (b = $69) and (tmp = '') then tmp := 'NZL';
   if (b = $6A) and (tmp = '') then tmp := 'NCA';
   if (b = $6B) and (tmp = '') then tmp := 'NGR';
   if (b = $6C) and (tmp = '') then tmp := 'NOR';
   if (b = $6D) and (tmp = '') then tmp := 'PAK';
   if (b = $6E) and (tmp = '') then tmp := 'PLE';
   if (b = $6F) and (tmp = '') then tmp := 'PAN';
   if (b = $70) and (tmp = '') then tmp := 'PNG';
   if (b = $71) and (tmp = '') then tmp := 'PAR';
   if (b = $72) and (tmp = '') then tmp := 'PER';
   if (b = $73) and (tmp = '') then tmp := 'PHI';
   if (b = $74) and (tmp = '') then tmp := 'POL';
   if (b = $75) and (tmp = '') then tmp := 'POR';
   if (b = $76) and (tmp = '') then tmp := 'PUR';
   if (b = $77) and (tmp = '') then tmp := 'QAT';
   if (b = $78) and (tmp = '') then tmp := 'ROM';
   if (b = $79) and (tmp = '') then tmp := 'RUS';
   if (b = $7A) and (tmp = '') then tmp := 'ESA';
   if (b = $7B) and (tmp = '') then tmp := 'SMR';
   if (b = $7C) and (tmp = '') then tmp := 'SCO';
   if (b = $7D) and (tmp = '') then tmp := 'SEN';
   if (b = $7E) and (tmp = '') then tmp := 'SEY';
   if (b = $7F) and (tmp = '') then tmp := 'SIN';
   if (b = $80) and (tmp = '') then tmp := 'SVK';
   if (b = $81) and (tmp = '') then tmp := 'SLO';
   if (b = $82) and (tmp = '') then tmp := 'RSA';
   if (b = $83) and (tmp = '') then tmp := 'SRI';
   if (b = $84) and (tmp = '') then tmp := 'SUD';
   if (b = $85) and (tmp = '') then tmp := 'SUR';
   if (b = $86) and (tmp = '') then tmp := 'SWE';
   if (b = $87) and (tmp = '') then tmp := 'SUI';
   if (b = $88) and (tmp = '') then tmp := 'SYR';
   if (b = $89) and (tmp = '') then tmp := 'TJK';
   if (b = $8A) and (tmp = '') then tmp := 'TAN';
   if (b = $8B) and (tmp = '') then tmp := 'THA';
   if (b = $8C) and (tmp = '') then tmp := 'TRI';
   if (b = $8D) and (tmp = '') then tmp := 'TUN';
   if (b = $8E) and (tmp = '') then tmp := 'TUR';
   if (b = $8F) and (tmp = '') then tmp := 'TKM';
   if (b = $90) and (tmp = '') then tmp := 'UGA';
   if (b = $91) and (tmp = '') then tmp := 'UKR';
   if (b = $92) and (tmp = '') then tmp := 'UAE';
   if (b = $93) and (tmp = '') then tmp := 'USA';
   if (b = $94) and (tmp = '') then tmp := 'URU';
   if (b = $95) and (tmp = '') then tmp := 'URS';
   if (b = $96) and (tmp = '') then tmp := 'UZB';
   if (b = $97) and (tmp = '') then tmp := 'VEN';
   if (b = $98) and (tmp = '') then tmp := 'VIE';
   if (b = $99) and (tmp = '') then tmp := 'ISV';
   if (b = $9A) and (tmp = '') then tmp := 'WLS';
   if (b = $9B) and (tmp = '') then tmp := 'YEM';
   if (b = $9C) and (tmp = '') then tmp := 'YUG';
   if (b = $9D) and (tmp = '') then tmp := 'ZAM';
   if (b = $9E) and (tmp = '') then tmp := 'ZIM';
   if (b = $9F) and (tmp = '') then tmp := 'ZRE';
   if (b = $A0) and (tmp = '') then tmp := 'DDR';
   if (b = $A1) and (tmp = '') then tmp := 'CSR';
   if (b = $A2) and (tmp = '') then tmp := 'CHD';
   if (b = $A3) and (tmp = '') then tmp := 'CAM';
   if (b = $A4) and (tmp = '') then tmp := 'KAP';
   if (b = $A5) and (tmp = '') then tmp := 'KBA';
   if (b = $A6) and (tmp = '') then tmp := 'COM';
   if (b = $A7) and (tmp = '') then tmp := 'CON';
   if (b = $A8) and (tmp = '') then tmp := 'NKO';
   if (b = $A9) and (tmp = '') then tmp := 'LAO';
   if (b = $AA) and (tmp = '') then tmp := 'LES';
   if (b = $AB) and (tmp = '') then tmp := 'MWI';
   if (b = $AC) and (tmp = '') then tmp := 'MDV';
   if (b = $AD) and (tmp = '') then tmp := 'MSH';
   if (b = $AE) and (tmp = '') then tmp := 'OMN';
   if (b = $AF) and (tmp = '') then tmp := 'NAU';
   if (b = $B0) and (tmp = '') then tmp := 'MIC';
   if (b = $B1) and (tmp = '') then tmp := 'NIG';
   if (b = $B2) and (tmp = '') then tmp := 'SAU';
   if (b = $B3) and (tmp = '') then tmp := 'TOG';
   if (b = $B4) and (tmp = '') then tmp := 'TON';
   if (b = $B5) and (tmp = '') then tmp := 'VAN';
   if (b = $B6) and (tmp = '') then tmp := 'VAT';
   if (b = $B7) and (tmp = '') then tmp := 'TUV';
   if (b = $B8) and (tmp = '') then tmp := 'SWA';
   if (b = $B9) and (tmp = '') then tmp := 'SIE';
   if (b = $BA) and (tmp = '') then tmp := 'SLU';
   if (b = $BB) and (tmp = '') then tmp := 'PAP';
   if (b = $BC) and (tmp = '') then tmp := 'SVI';
   if (b = $BD) and (tmp = '') then tmp := 'SAM';
   if (b = $BE) and (tmp = '') then tmp := 'SKI';
   if (b = $BF) and (tmp = '') then tmp := 'SAL';
   if (b = $C0) and (tmp = '') then tmp := 'GE2';
   if (b = $C1) and (tmp = '') then tmp := 'ZAR';
   ConvertByte2Country := tmp;
end;




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.