summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
H.G.Muller [Mon, 27 Oct 2014 22:35:31 +0000]
Compactify timing code by figuring out who is black first
A new variable 'black' is set when the engine plays black, to know
if the XBoard 'time' setting should be transmitted as 'wtim' or 'btim'.
H.G.Muller [Mon, 27 Oct 2014 22:32:11 +0000]
Print 'ponder' always immediately behind 'go'
Some engines do not like it if you print it otherwise.
H.G.Muller [Mon, 27 Oct 2014 22:23:00 +0000]
Add infrastructure for keeping track of board position
A Xiangqi board is added, with code to set it up from a FEN, convert it
to the board part of a FEN, and apply the moves from the move list to it,
keeping track of what was the last capture. The FEN for setting it up
is always taken from the "fen <FEN>" position command ('iniPos') of the
Cyclone dialect used in variant xiangqi.
H.G.Muller [Mon, 27 Oct 2014 22:07:39 +0000]
Create infrastructure for accounting time in other units
A variable 'unit', initialized to 1, indicates how many msec a unit is.
H.G.Muller [Mon, 27 Oct 2014 22:46:39 +0000]
Fix extracting side-to-move from setboard command
When white was to move, the stm was just keeping its previous value,
which could very well have been BLACK.
H.G. Muller [Thu, 20 Dec 2012 14:00:57 +0000]
Connect WB cores command to UCI option Threads
H.G. Muller [Sun, 16 Dec 2012 08:42:12 +0000]
Implement Ponder option
UCI2WB now makes the possibility to ponder subject to the engine reporting
the Ponder option, and sets this option according to the WB ponder state.
H.G. Muller [Wed, 12 Dec 2012 16:52:21 +0000]
Allow faking of options the engine fails to announce
A file DefectiveEngineOptions.ini will be read as if it is engine output
before any real engine output. This can be used to fake UCI 'option' commands
that the engine fails to announce, so that they will appear in the GUI's
Engine Settings dialog, and can be changed by user or GUI.
H.G. Muller [Sun, 9 Dec 2012 17:50:41 +0000]
Fix pause in ponder-off games
H.G. Muller [Wed, 5 Dec 2012 15:57:19 +0000]
Fix ponder start
There was an inconsistency in starting ponder searches, because they occur
with the opposite side-to-move, or thus exchange wtime and btime. This was
solved in the old version by changing stm only after starting the ponder
search in response to an engine move. But for starting through 'hard'
there is no turn change. So the start routine has to swap the times by
itself, and the turn change was moved to before it to compensate.
H.G. Muller [Wed, 5 Dec 2012 11:05:59 +0000]
Respond immediately to ponder on/off commands
Rather than just setting the flag that causes a ponder search to start
after the engine moves, we start the search on receiving the 'hard' command.
When a ponder search is in progress, it is stopped on receiving 'easy'.
This requires saving a ponder move even with ponder off, (because it might
be switched on later), and more strict clearing of the move beyond the last
one, toprevent it can be accidentally used as ponder move (e.g. after undo).
H.G. Muller [Tue, 4 Dec 2012 22:37:53 +0000]
Implement pause / resume commands
H.G. Muller [Wed, 9 May 2012 19:05:34 +0000]
Fix bug in converting Shogi moves
The patch that put the move conversion in separate routines broke UCI2WB
for Shogi, because it still tested for LF to recognize non-promotions,
while the move now was null-terminated.
H.G. Muller [Thu, 19 Apr 2012 21:01:55 +0000]
Bump version number to 1.9
H.G. Muller [Thu, 19 Apr 2012 21:01:22 +0000]
Update README file
H.G. Muller [Thu, 19 Apr 2012 20:59:53 +0000]
Remove S-Chess gating-move translation
This is no longer needed, since the UCI S-Chess engine now uses the same
gating-move notation as WinBoard protocol.
H.G. Muller [Thu, 19 Apr 2012 20:43:11 +0000]
Warn user when all moves have been collected
A line 'OK to exclude' is printed disguised as Thinking-Output, to inform
the user that he can start using the exclude command.
H.G. Muller [Thu, 19 Apr 2012 19:18:28 +0000]
Implement WB exclude feature
UCI2WB collects moves sent by the engne in analysis mode from the currmove,
currmovenumber info commands. After the full set for the current position
has been completed, UCI2Wb becomes sensitive for WB include and exclude
commands, to switch the moves in the list on or off. If not all moves
are on, the 'go infinite' will be accompanied by 'searchmoves'. If all
moves are off, the current search is allowed to continue.
H.G. Muller [Thu, 19 Apr 2012 20:51:26 +0000]
Bump version number to 1.8
H.G. Muller [Tue, 17 Apr 2012 18:09:56 +0000]
Wait for uciok before handling GUI input
WinBoard does not apply a feature timeout when restarting an engine that
had reuse=0, but immediately starts sending commands. This caused the
memory command to be ignored, because it arrived when UCI2WB had not seen
the engine's Hash option yet. Now UCI2WB stalls processing GUI commands
after receiving 'protover' until it sees 'uciok' from the engine.
H.G. Muller [Tue, 17 Apr 2012 18:05:20 +0000]
Make translation of FEN with holdings also handle S-Chess
Like in Shogi FEN, UCI S-Chess engines have the holdings not immediately
behind the board, but before the move counters. Since Shogi FENs are
missing a few fields in this area (castling, e.p. and 50-move), some
recoding was necessary to make this work.
H.G. Muller [Tue, 17 Apr 2012 18:00:29 +0000]
Put move translation in separate routines
H.G. Muller [Tue, 17 Apr 2012 05:44:50 +0000]
Translate S-Chess gating moves
The only existing UCI S-Chess engine requires the gating square to be
repeated after the gating piece suffix. Also gating-at-Rook castlings
have a different format: they mention the King move. UCI2WB now handles
these move translations.
H.G. Muller [Tue, 17 Apr 2012 06:56:39 +0000]
Update README file
Add description of the debug and -var options.
H.G. Muller [Tue, 17 Apr 2012 05:36:21 +0000]
Make supported variants run-time configurable
A new command-line argument "-var XXX" is accepted to set the variant
list reprted at startup to variants="XXX". It has to go between "debug"
and the engine name.
H.G. Muller [Tue, 17 Apr 2012 05:31:24 +0000]
Use 30msec margin in st->movetime translation
Because of the different definition of the time mentioned in the WB st
and UCI movetime (max time vs exact time), a margin is needed to not make
the engine forfeit on time.
num
H.G. Muller [Sun, 12 Feb 2012 21:53:35 +0000]
Always pass info string with timing info
Even with nopost a sting starting with "info string times @" will be passed
to the GUI as debug output.
H.G. Muller [Sun, 12 Feb 2012 21:47:44 +0000]
Fix some spurious output
Not all debug prints towards the GUI were controlled through the
"UCI2WB debug output" option. This is now repaired. The method for
matching an info string is made a bit more efficient, by only looking
at the beginning.
H.G. Muller [Sat, 14 Jan 2012 13:05:12 +0000]
Bump version number to 1.6
Also update changelog in README file.
H.G. Muller [Sat, 14 Jan 2012 12:53:08 +0000]
Fix engine names with spaces
Only the first word in the "id name" command was recognized by scanf.
H.G. Muller [Sat, 14 Jan 2012 12:46:45 +0000]
Make debug output optional
The debug output sent by UCI2WB to the GUI is made subject to an option
"UCI2WB debug output", which by default is set to false. A command-line
argument "debug" can set it to true from the beginning, so that you will
also be able to see the option handshaking.
H.G. Muller [Sat, 14 Jan 2012 12:13:20 +0000]
Eliminate polling in Windows
Also use pipe-based synchronization here.
H.G. Muller [Sat, 14 Jan 2012 11:14:57 +0000]
Implement ping
Use readyok / isready to really ping the engine before acknowledging the GUI.
H.G. Muller [Sat, 14 Jan 2012 10:56:13 +0000]
Eliminate polling in Linux
The sleep-spaced polling for readyok or bestmove has now been replaced
by pipe-based blocking of the waiting thread, waking it up by writing
a character into the pipe.
H.G. Muller [Fri, 15 Oct 2010 09:16:45 +0000]
Check in Windows icon
H.G. Muller [Fri, 15 Oct 2010 09:15:25 +0000]
Checkin README
H.G. Muller [Thu, 14 Oct 2010 19:58:39 +0000]
Port UCI2WB to Linux
If WIN32 is not defined, POSIX calls are used to create the engine
thread, pipes and engine process, and an own implemntation of
GetTickCount() is suppled.
H.G. Muller [Thu, 14 Oct 2010 17:12:03 +0000]
Check in UCI2WB source