=head1 SYNOPSIS
-polyglot [configfile]
-
-polyglot -ec engine
+polyglot [configfile] [-noini] [-ec engine] [-ed enginedirectory] [-en enginename] [-log] [-lf logfile] [-hash value] [-bk book] [-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]
polyglot dump-book [-bin inputfile] -color color [-out outputfile]
-polyglot [configfile] epd-test [-epd inputfile] [-min-depth depth] [-max-depth depth] [-max-time time] [-depth-delta delta]
+polyglot [configfile] epd-test [engineoptions] [-epd inputfile] [-min-depth depth] [-max-depth depth] [-max-time time] [-depth-delta delta]
polyglot perft [-fen fen] [-max-depth depth]
=head1 OPTIONS
-When invoked without options or with a config file as argument PolyGlot
-acts as an adapter. The config file format is documented below. The
-default config file is "polyglot.ini".
+When PolyGlot is invoked as an adapter of in epd-test mode it gets its
+options from a config file and then from the command line. The
+default config file is "polyglot.ini" but an alternative one may be
+optionally included as first argument. The config file format is
+described below.
-When invoked as
+The following engine options may be specified on the command line.
+
+=over 4
+
+=item B<-noini>
+
+Do not use a config file, even if one was specified on the command line.
+
+=item B<-pg>
+
+The argument is a string of the form <name>=<value>. This option will
+set the Polyglot option <name> to <value>.
+
+=item B<-uci>
+
+The argument is a string of the form <name>=<value>. This option will
+set the engine option <name> to <value>.
+
+=item B<-ec>
+
+This is an alias for -pg "EngineCommand=<value>"
+
+=item B<-ed>
-=head2 polyglot -ec engine
+This is an alias for -pg "EngineDir=<value>"
-PolyGlot simply starts "engine" and acts as an adapter. No config file
-is used and thus it is expected that all properties will be set by the
-GUI.
+=item B<-en>
+
+This is an alias for -pg "EngineName=<value>"
+
+=item B<-log> (default: false)
+
+This is an alias for -pg "Log=<value>"
+
+=item B<-lf> (default: "polyglot.log")
+
+This is an alias for -pg "LogFile=<value>".
+
+=item B<-wb> (default: "true")
+
+This is an alias for -pg "OnlyWbOptions=<value>".
+
+=back
When invoked as
=head2 polyglot epd-test
-(possibly with a config file as first argument) PolyGlot supports the following
-options
+(possibly with a config file as first argument) PolyGlot supports
+besides the generic options described above the following additional
+options.
=over 4
The characters "#" and ";" serve as comment characters.
-NOTE: There can be spaces in option names or values. Do not use
-quotes. Boolean values are written as "true" or "false".
+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.
=head2 [PolyGlot] section
command-line arguments. Path searching is used and the current
directory will be "EngineDir".
+=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)
Whether PolyGlot should log all transactions with the interface and
If true PolyGlot will not understand xboard commands.
-=item B<Chess960> (default: false)
-
-Play Chess960 (also called Fischer Random Chess or FRC),
-
=item B<MateScore> (default: 10000)
-Mate score reported to GUI when in xboard mode.
+Mate score reported to GUI when in xboard mode.
=item B<Book> (default: false)
=item B<BookLearn> (default: false)
-Record learning information in the opening book. Naturally this requires
-the opening book to be writable.
+Store learning information in the book (which must be writable). Currently
+no engine actually uses this information.
+
+=item B<BookDepth> (default: 256)
+
+Stop using the book after this number of moves.
+
+=item B<BookTreshold> (default: 5)
+
+Do not play moves with a weight (probability) lower than this (in per mil).
=item B<UseNice> (default: false)
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<OnlyWbOptions> (default: true)
+
+If true then PolyGlot restricts the options it sends to those that
+are potentially useful for WinBoard.
=back
Work arounds are identical to options except that they should be used
only when necessary. Their purpose is to try to hide problems with
-various software (not just engines). The default value is always
-correct for bug-free software.
+various software (not just engines).
IMPORTANT: Any of these work arounds might be removed in future
versions of PolyGlot. You are strongly recommended to contact the
=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 128M hash in xboard with logging enabled (this also works on xboard 4.2.7).
+
+ xboard -fcp "polyglot -noini -log -ec fruit -hash 128"
+
+The equivalent config file would be:
+
+ [PolyGlot]
+ EngineCommand = fruit
+ Log = true
+ [Engine]
+ Hash=128
+
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" in a GUI which uses the
-xboard protocol.
-
- polyglot -ec fruit
-
-The equivalent config file:
-
- [PolyGlot]
- EngineCommand = fruit
- [Engine]
-
-
=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