=head1 SYNOPSIS
-polyglot [configfile] [-noini] [-ec engine] [-ed enginedirectory] [-en enginename] [-log] [-lf logfile] [-hash value] [-bk book] [-pg <name>=<value>]* [-uci <name>=<value>]*
+polyglot [configfile] [-noini] [-ec engine] [-ed enginedirectory] [-en enginename] [-log true/false] [-lf logfile] [-pg <name>=<value>]* [-uci <name>=<value>]*
polyglot make-book [-pgn inputfile] [-bin outputfile] [-max-ply ply] [-min-game games] [-min-score score] [-only-white] [-only-black] [-uniform]
=item B<-ec>
-This is an alias for -pg "EngineCommand=<value>".
+This is an alias for -pg "EngineCommand=<value>"
=item B<-ed>
-This is an alias for -pg "EngineDir=<value>".
+This is an alias for -pg "EngineDir=<value>"
=item B<-en>
This is an alias for -pg "EngineName=<value>"
-=item B<-hash>
+=item B<-log> (default: false)
-This is an alias for -uci "Hash=<value>".
-
-=item B<-log>
-
-This is an alias for -pg "Log=true".
+This is an alias for -pg "Log=<value>"
=item B<-lf> (default: "polyglot.log")
This is an alias for -pg "LogFile=<value>".
-=item B<-bk>
+=item B<-wb> (default: "true")
-This is an alias for -pg "Book=true" -pg "BookFile=<value>".
+This is an alias for -pg "OnlyWbOptions=<value>".
=back
The characters "#" and ";" serve as comment characters.
-By default initial and final white space is stripped from option
-values. If you want to avoid this, or if you want use one of
-the comment characters # or ; in option values (such as for NalimovPath),
-enclose the value in quotes.
+Initial and final white space is stripped from option names and
+values. If you need to use characters which have a special meaning to
+PolyGlot (these are ';#[]=\') you should quote them by preceding them
+with '\'. "Quoting" other characters in this way has no effect. In
+particular the use of '\' as a path separator in windows should
+normally not affected.
=head2 [PolyGlot] section
Put here the name of the engine executable file. You can also add
command-line arguments. Path searching is used and the current
-directory will be "EngineDir".
+directory will be "EngineDir". On Linux the EngineCommand is passed
+to wordexp so that shell quoting rules and expansions are applied.
+On Windows the EngineCommand is simply passed to CreateProcess which
+does its own shell like processing.
+
+=item B<SettingsDir> (default: $HOME/.polyglot on Linux; ".\_PG" on Windows)
+
+The directory where ini files are stored for engines that are started with
+-noini. Such ini files may be created by pushing the "Save" button in the
+Engine settings dialog in WB/XB 4.4.0 and higher. As a special exception
+(for WB/XB 4.4.0 compatibility) this directory is also used in case
+PolyGlot is started with config files named "polyglot_1st.ini" or
+"polyglot_2nd.ini".
=item B<Log> (default: false)
Select moves according to their weights in the book. If false the move
with the highest weight is selected.
-=item B<BookRandom> (default: true)
+=item B<BookLearn> (default: false)
-Select moves according to their weights in the book. If false the move
-with the highest weight is selected.
+This is a noop.
=item B<BookDepth> (default: 256)
This a bit vector in which each bit represents the processors that a
process is allowed to run on. This option works only on Windows.
-=item B<Persist> (default: true)
+=item B<STFudge> (default: 20)
-If true then PolyGlot will implement persistence by loading
-options from an additional INI file which is specified by the option
-"PersistFile". At exit PolyGlot will also save its options to this INI
-file.
+PolyGlot will translate "st x" as "go movetime 1000*x-STFudge".
+The rationale is that in the UCI specification the argument of movetime
+is defined as the exact search time whereas the argument of the
+st command is only an upperbound.
-=item B<PersistFile> (default: PG_<EngineName>.ini)
+=item B<OnlyWbOptions> (default: true)
-The name of the file from which to take the additional options.
-You can safely edit this file, or delete it to restore the default
-options.
+If true then PolyGlot restricts the options it sends to those that
+are potentially useful for WinBoard.
=back
When RepeatPV is false PolyGlot does not repeat the last pv string.
Due to the way kibitzing is implemented, KibitzMove is disabled in that case.
-=item B<WbWorkArounds> (default: true)
-
-The intention of these options is to provide work arounds for
-xboard/winboard bugs should they arise. This one decapitalizes
-the word Draw in options that contain this word. Some versions of
-xboard/winboard contain a bug which causes such options to be
-interpreted as draw claims by the engine.
-
-Engines that send options with "Draw" in their name are Rybka and HIARCS.
-
-=item B<WbWorkArounds2> (default: false)
-
-Old version of Winboard clear the engine output window at depth 1. With this
-work around PG will send info lines at depth >=2. This may or may not improve
-the display.
-
=back
=head1 EXAMPLES
+Running the UCI engine "fruit" under xboard 4.3.15 and later (this invokes PolyGlot internally).
+
+ xboard -fcp fruit -fUCI
+
+An explicit command line for using the UCI engine "fruit" with logging enabled (this works also with older versions of xboard).
+
+ xboard -fcp "polyglot -noini -log true -ec fruit"
+
+The equivalent config file would be:
+
+ [PolyGlot]
+ EngineCommand = fruit
+ Log = true
+ [Engine]
+
Compile "games.pgn" into a book "book.bin" retaining all lines of at
most 30 plies.
polyglot epd-test -epd test.epd -max-time 420
-The command line for using the UCI engine "fruit" with 128M hash in xboard with logging enabled.
-
- xboard -fcp "polyglot -noini -log -ec fruit -hash 128"
-
-The equivalent config file would be:
-
- [PolyGlot]
- EngineCommand = fruit
- Log = true
- [Engine]
- Hash=128
-
=head1 EXIT STATUS
PolyGlot always returns 0 on exit.
Various enhancements: Fonzy Bleumers<match(at)geenvis.net>
-UCI port: Michel Van den Bergh <michel.vandenbergh(at)uhasselt.be>
+UCI port and implementation of new WB protocol: Michel Van den Bergh
+<michel.vandenbergh(at)uhasselt.be>
+
+
=head1 SEE ALSO