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.