thorsilver / SpaceDog

Chess engine based on VICE, written in C.
GNU General Public License v3.0
4 stars 0 forks source link

Xboard issues #17

Closed tpoppins closed 5 years ago

tpoppins commented 5 years ago

In response to the "xboard" command SpaceDog sends its "feature" list. This behavior is incorrect; the feature list should be sent in response to the "protover"/"protover 2" command.

A direct consequence of this nonstandard behavior is that under Cute Chess GUI SpaceDog can only play with the default hash (~64 MB) as the GUI doesn't register the "feature memory=1" command. In fact it misses the entire section of the feature list before "feature egt", viz:

<SpaceDog 0.97.6 64-bit(54): HashTable init complete with 2796200 entries
<SpaceDog 0.97.6 64-bit(54): Using default opening book: BookFish!
<SpaceDog 0.97.6 64-bit(54): Book File Not Read
<SpaceDog 0.97.6 64-bit(54): Welcome to SpaceDog! Type 'dog' to play in console mode. 
<SpaceDog 0.97.6 64-bit(54): SpaceDog > feature ping=1 setboard=1 colors=0 usermove=1 memory=1
<SpaceDog 0.97.6 64-bit(54): feature egt="syzygy"
>SpaceDog 0.97.6 64-bit(54): accepted egt
<SpaceDog 0.97.6 64-bit(54): feature done=1
>SpaceDog 0.97.6 64-bit(54): accepted done
>SpaceDog 0.97.6 64-bit(54): egtpath syzygy e:\345
>SpaceDog 0.97.6 64-bit(54): new
>SpaceDog 0.97.6 64-bit(54): force
>SpaceDog 0.97.6 64-bit(54): level 40 21 0
>SpaceDog 0.97.6 64-bit(54): post
>SpaceDog 0.97.6 64-bit(54): easy
<SpaceDog 0.97.6 64-bit(54): command seen:rotover 2
<SpaceDog 0.97.6 64-bit(54): command seen:accepted egt
<SpaceDog 0.97.6 64-bit(54): command seen:accepted done
<SpaceDog 0.97.6 64-bit(54): command seen:egtpath syzygy e:\345
<SpaceDog 0.97.6 64-bit(54): Using TB file path: e:\345
<SpaceDog 0.97.6 64-bit(54): Using Syzygy tablebases for 5 pieces or less!
<SpaceDog 0.97.6 64-bit(54): command seen:new
<SpaceDog 0.97.6 64-bit(54): command seen:force
<SpaceDog 0.97.6 64-bit(54): command seen:level 40 21 0
<SpaceDog 0.97.6 64-bit(54): DEBUG level without :
<SpaceDog 0.97.6 64-bit(54): DEBUG level timeLeft:1260000 movesToGo:40 inc:0 mps40
<SpaceDog 0.97.6 64-bit(54): command seen:post
<SpaceDog 0.97.6 64-bit(54): command seen:easy

Note the "command seen:rotover 2" line, SpaceDog doesn't manage to parse the GUI's commands properly.

CECP v2 specs: http://home.hccnet.nl/h.g.muller/engine-intf.html

thorsilver commented 5 years ago

Thank you! Will get to work on this.

thorsilver commented 5 years ago

Fixed! SpaceDog no longer prints the feature list in response to the xboard command, and now will correctly parse the 'protover' and 'protover 2' commands. I'll upload updated executables after dealing with #15