X-Git-Url: http://winboard.nl/cgi-bin?p=uci2wb.git;a=blobdiff_plain;f=README.txt;h=3a091337db727c3bded8c9d17785ff9cd7d7c8b2;hp=06b87723d4f106442116408b71b344e1ee82ed66;hb=f21b77b0e872a89e1448cb56d5cff016f7231a12;hpb=3a28064cbc828394d6888a3bba103d6dd78e945c diff --git a/README.txt b/README.txt index 06b8772..3a09133 100644 --- a/README.txt +++ b/README.txt @@ -16,6 +16,22 @@ and just passes on the moves and position FENs as it receives them from engine o As this can be done without any knowledge of the game rules, or even of the board size, such a dumb adapter can in principle be used for any variant. To use it for UCI protocol (both the Chess or Xiangqi dialects), use it without the -s flag (or with a -c flag). + As of version 2.0 UCI2WB also supports the UCCI protocol for Xiangqi, for which it was +made slightly less dumb: in UCCI mode it keeps track of the board position on a (Xiangqi) +board, so it can recognize capture moves, and send only the moves after it (with an +appropriate FEN to start them from). + The general syntax of the UCI2WB command is: + +UCI2WB [debug] [-var VARIANTLIST] [-s|-c|-x] ENGINE.exe [ENGINEFOLDER] + +Presence of the 'debug' argument causes UCI2WB to report everything it receives from the engine, +as well as the 'position' and 'go' commands sent to it, as debug output (prefixed with '#') +to the GUI. This has the same effect as switching the option 'UCI2WB debug output' on, +except that it forces the option to be on from the very beginning, so that the engine +startup will also be reported. + The '-var' option overrules the list of variants UCI2WB says it supports with the given list, +like 'feature variants="VARIANTLIST"'. + This package includes the source code. To compile on Windows under Cygwin, use the commands @@ -34,6 +50,90 @@ H.G.Muller Change log: +8/12/2018 4.0 +Complete redesign of the internal logic, to make interruption of thinking +actually work. The engine thread is made responsible for parsing the GUI +commands that require the engine to be idle. These commands are passed to +it from the GUI thread through an internal command queue. The engine thread +can peek in this queue when a search terminates and it enters the idle or +pondering state. It only goes reading the ponder output after all queued +commands are processed. This way the GUI thread is sensitive to input all +the time, and can instantly handle all commands by either processing those +that can be done during search, and queueing the others. In the latter case +it can abort an ongoing search to divert the attention of the engine thread +back to the command queue. + Other changes are: +Added option to force the engine to ponder if force mode (for OTB tournaments). +Produce a compliant error message for unknown commands. +Fix time increment in ponder-on games (which was subtracted rather than added). +Fix periodic updates, to include move and correct move counts. +Set UCCI newgame option after initial isready handshake rather than before it. +Suppress spurious sending of 'uxinewgame' in UCCI mode. +Suppress 'setup' command in the standard variants 'suicide' and 'losers'. +Add support for robbobases and Scorpio bitbases as EGT flavors. +Support extended UCI info-string-variant command that can set board size. +Assume engines with UCI_Chess960 option but no UCI_Variants play only Chess and +Chess960, and not xiangqi or shogi. + +24/12/2016 3.0 +Implement UCI_AnalyseMode option +Support egtpath command for Nalimov, Gaviota and Syzygy +Allow ?, quit, force and result commands to terminate thinking +Stop search during setoption commands, or buffer those until engine is done thinking +Explicitly report when engine dies, through GUI popup (tellusererror) +Make sure reporting of mated-in-0 score causes resign, even without PV +Fix eclipsing of -var option with engines that have UCI_Chess960 option +Fix empty default of string options + +8/11/2016 2.3 +Implement handling of 'UCI_Variant' option for variant announcement and selection +Pass 'info string variant' line as 'setup' command to allow engine-defined variants +Set 'UCI_Opponent' option in accordance with CECP 'name' and 'computer' commands +Fix option setting during analysis (MultiPV!) + +22/11/2016 2.2 +Use USI gameover command to relay game result +Handle USI win claims +Correct wtime/btime for byoyomi + +7/11/2016 2.1 +Make Linux version SIGTERM-proof +Recognize forward Pawn pushes as irreversible in UCCI +Block input from GUI during thinking +Use uxinewgame +Implement support for pre-standard UCI Chess960 engines ('Arena960 dialect') +Fix hash-size setting in UCCI +Combine name and version when engine gives them in separate 'id' commands +Fake time and node count for engines that do not report it +Add interactive options for byoyomi work-around + +28/10/2014 2.0 +Implement UCCI support + +4/12/2012 1.10 +Implement pause / resume commands + +9/5/2012 +Fix bug in converting shogi moves, introduced in v1.8 + +19/4/2012 1.9 +Remove S-Chess move translation, to parallel change in UCI S-Chess 'standard' +Implement WB exclude feature + +17/4/2012 1.8 +Wait for uciok before processing GUI commands for setting options +Implement move translations required for variant seirawan +Make supported-variants string configurable from command line. + +15/4/2012 v1.7 +Take 30ms safety margin in translating st command to movetime + +14/1/2011 v1.6 +Replaced all polling by blocking synchronization (through pipes). +Implemented ping (using isready/readyok) +Made sending of debug info to GUI subject to option feature / command-line argument. +Fixed myname feature to handle names containing spaces. + 14/10/2010 Port v1.5 to Linux