| |
 |
. |
Chess Academy Protocol (CAP),
Engine-GUI Dialog
This document is dated on Nov 1, 2000 and refreshed on
Mai 11, 2006
The following common requirements should be taken into consideration for
further development of WinBoard compatible (or others) engines which may
be compatible also with Chess Academy 6.0 program.
1. Introduction
Chess Academy supports numerous WinBoard-compatible engines. There are about 70
WinBoard-compatible engines available on today from which more than 55
engines are supported, for example, by Chess Academy 6 Office program. An appropriate
configuration files (*.C2W) are included for registration purposes in
distribution packages of Chess Academy.
They were created according to the following common protocol:
2. Common Protocol Description There are four lines included obligatory:
EnginePath= a) full path, for example EnginePath=c:\engines\engineX b) relatively cha.exe file, for example: EnginePath=engines\engineX
EngineName= Origin engine's name for example: EngineName=EngineXY
EngineSwitch= Executable file with all needable options like hash settings or setting up xboard mode, for example: EngineSwitch=engineX.exe -xb -hash32
EngineVersion= Number of current version, for example: EngineVersion=10.03.AB
Other parameters may/may not be defined in c2w file.
There are:
EngineInitPos= 0 - if an engine cannot enter non-initial position; 1 - if an engine can enter initial position: using "edit" command; fen 8/k/8/8/K/8/8/8 whomove castl ep - - using another command; a position will be entered as FEN-line, usually "setboard" command is used, in such case the following additional line is needable: EngineCmdSB=
For example: EngineCmdSB=setboard (if an engine requires input of FEN line not as single line, but
separately by elements and separated with <Enter>, must be entered \n
For example, for ColChess there is: EngineCmdSB=fen\n because this program requires
fen 8/k/8/8/K/8/8/8 whomove castl ep …
instead of commonly used fen 8/k/8/8/K/8/8/8 whomove castl ep - -
EngineMoveNow= 0 - if an engine cannot stop computing after clicking on "?" and display the best move (currently calculated as the best move) 1 - if an engine supports the command "?"; (Note: for CILIAN also the option "-mvnw" in EngineSwitch line is
needable)
EngineCmdST= SearchTime command may be entered (if the time control "Seconds per move" is supported), usually abbreviated as "st", for example: EngineCmdST=st
EngineCmdSD= SearchDepth command may be entered (if supported). Usually abbreviated as "sd", for example: EngineCmdSD=sd
EngineTypeOfCmdLevel= A number may be entered, calculated as the total sum of the following
numbers: 0 - engine supports base-inc time control only (like Amyan), the command
"level" can be presented as "level 0 time 0" only 1 - engine supports the standard output of command "level"; time settings
without seconds 2 - the same as 1, but time settings with seconds 4 - 'time" command is used (conforms to standards, the time control is
considered and defined by the command "level"). There is not the command like TimePerMove (this option is used to process the following controls:
EqualTime and Hourglass). For example, for 2 and 4: EngineTypeOfCmdLevel=6
EngineCmdHint= The Hint command is used (if supported by an engine) to display hint
output like "Hint: move". Basically there is "hint" EngineCmdHint=hint
EngineCmdDraw= The Draw command is used (if supported by an engine) to accept or decline
draw; an output like "I decline" or "I accept" is preferable. Basically there is
"draw", for example: EngineCmdHint=draw
EngineTypeOfCmdHash= Hash can be entered here, there are different possibilities:
EngineTypeOfCmdHash=11 for Crafty, Bionic hash size can be entered like hash 32M The following line is required: EngineCmdHash= Key word must be entered here (hash), for example: EngineTypeOfCmdHash=11 EngineCmdHash=hash
EngineTypeOfCmdHash=12 for Exchess, Lambchop, LDB, GLC, Nejmet hash size can be entered like hash 32 (no M letter), the following line is reqiured: EngineCmdHash= Key word must be entered here (hash), for example: EngineTypeOfCmdHash=12 EngineCmdHash=hash
EngineTypeOfCmdHash=14 for TCB hash size can be entered like special size bytes x
EngineTypeOfCmdHash=15 for Gromit hash size can be entered like special hash Mbytes x
EngineTypeOfCmdHash=16 for ColChess hash size can be entered like hash size
where hash size can be calculated as 2^n entries (ColChess)
The following line is required: EngineCmdHash= Key word must be entered here (hash\n), for example: EngineTypeOfCmdHash=16 EngineCmdHash=hash\n
EngineTypeOfCmdHash=32 for Fortress hash size can be entered like brain size where size = 2^(N-1) * 32768 bytes The following line is required EngineCmdHash= Key word must be entered here (brain), for example: EngineTypeOfCmdHash=32 EngineCmdHash=brain
EngineTypeOfCmdHash=33 for SSECHESS hash size can be entered like hash n allocates a hash table with 2^n entries 10 = 16K 11 = 32K 12 = 64K 15 = 512K 16 = 1024K 17 = 2M 18 = 4M 19 = 8M 20 = 16M 21 = 32M The following line is required EngineCmdHash= Key word must be entered here (hash), for example: EngineTypeOfCmdHash=33 EngineCmdHash=hash
EngineTypeOfCmdHash=40 for NewRival hash size can be entered as number in command line (kB)
EngineTypeOfCmdHash=41 for Phalanx, ANT hash size can be entered in command line (kB) with option -t for example: ant.exe -t1000
EngineTypeOfCmdHash=42 for Arasan hash size can be entered in command line (kB) with option -H for example: arasan.exe -H 1000
EngineTypeOfCmdHash=43 for Olithink hash size can be entered in command line (MB) with option -H for example: olithink.exe -H 32
EngineTypeOfCmdHash=44 for Tristram hash size can be entered in command line (MB) with option hash= for example: tristram.exe hash=32m
EngineTypeOfCmdHash=441 for SnailChess hash size can be entered in command line (MB) with option hash= but 2 appropriates to 1MB, for example: snail.exe hash=16
EngineTypeOfCmdHash=45 for Cilian hash size can be entered in command line (MB) with option -hashN where hash size is calculated as 2^N*48
EngineTypeOfCmdHash=46 for Amy hash size can be entered in command line with option -ht for example: amy.exe -ht 10m
EngineTypeOfCmdHash=47 for Knightx hash size can be entered in command line with option -hN where N size 16 0.75MB 17 1.5MB 18 3MB 19 6MB 20 12MB 21 24MB 22 48MB 23 96MB 24 192MB
EngineTypeOfCmdHash=48 for GnuChess hash size can be entered in command line (in KB) with option -T for example: gnuchess.exe -T 1000
EngineTypeOfCmdHash=331 for Freyr hash size can be entered in command line (KB) with option -hashsize N where hash size appropriates to 2^N entries
EngineTypeOfCmdHash=101 for Anmon, Comet, Gandalf, ZChess 101 - hash size can be entered as an appropriate line in ini-file (MB)
(EngineTypeOfCmdHash=103 for Goliath because the program has limitation - 2-384)
EngineTypeOfCmdHash=102 for Yace 102 - hash size can be entered as an appropriate line in ini-file (KB)
The following lines are required:
EngineIniFile= Name of ini file EngineHashKeyInIniFile= Key word for hash in ini-file is required, for example: for Comet: EngineIniFile=comet.ics EngineHashKeyInIniFile=MAX_HASH
EngineTypeOfCmdHash=104 for Dragon hash size can be entered as an appropriate line in ini-file according to: hash size=2^n entries
Note: Dragon has no key word and hash size can be entered as the second line in ini-file. Therefore: EngineIniFile=dragon.ini EngineHashKeyInIniFile=\n
****************************************************************** This document is copyrighted, free to use and to distribute in unchanged
form. You are welcome to discuss it in any accepted form and to suggest some
improvements.
Copyright Notice: © by W.Braslawski Chess Academy Software. |
|