hoichess — xboard compatible chess engine
Synopsis
hoichess [options]hoixiangqi [options]
Description
hoichess is a chess playing program. It implements major parts of the xboard/winboard chess engine protocol.hoichess uses many of the standard techniques found in modern chess programs, like rotated bitboards, principal variation search, quiescence search, transposition table and iterative deepening.
See xboard(6) for instructions about how to use hoichess through xboard. To start up quickly, you just need the command: xboard -fcp hoichess.
hoixiangqi is a xiangqi (``Chinese chess'') playing program. Currently, it also uses the xboard/winboard protocol. However, there is no user interface that supports this protocol. In the future, a different protocol might be used.
hoichess and hoixiangqi are built from the same code base, so nearly all commands and options, as well as the text based user interface, are the same for both programs.
If run hoichess or hoixiangqi at the command line, the help command gives you a brief summary of available commands. See section ``COMMANDS'' for more details about those commands.
Options
- -h, --help
- Display usage information.
- -V, --version
- Display version information.
- -v, --verbose[=n]
- Increase verbosity. Multiple -v options may be given. --verbose=n sets verbosity level n.
- -d, --debug[=n]
- Increase debug level. Multiple -d options may be given. --debug=n sets debug level n.
- -L filename, --logfile filename
- Specify file name for logging. The log will be appended to this file. Note: Logging is not yet implemented in the current version of HoiChess, so the log will be empty.
- -x, --xboard[=arg]
-
Start in xboard compatible mode. This turns off the input prompt and alters
the output format to meet the requirements of the xboard protocol. Normally,
this option should not be necessary because hoichess automatically detects
when it is started under xboard.
The optional argument can be one of:
-
- off
- Force non-xboard mode.
- on
- Force xboard mode.
- auto
-
Automatically enable xboard mode when stdout is not a terminal, which is
the case when HoiChess is started under xboard.
This is the default.
-
- --book filename
- Set location of opening book.
- --nobook
- Disable opening book.
- --hashsize arg
-
Set the size of the main hash table (transposition table).
The size is given in bytes, the suffixes 'K' and 'M' (e.g. '32M') may
be used to specify size in kilobytes or megabytes, respectively.
A size of 0 disables the hash table.
- --pawnhashsize arg
-
Set the size of the pawn hash table.
The size is given in bytes, the suffixes 'K' and 'M' (e.g. '32M') may
be used to specify size in kilobytes or megabytes, respectively.
A size of 0 disables the pawn hash table.
- --evalcache arg
-
Set the size of the evaluation cache.
The size is given in bytes, the suffixes 'K' and 'M' (e.g. '32M') may
be used to specify size in kilobytes or megabytes, respectively.
A size of 0 disables the evaluation cache.
- --name name
- Set engine's name to name.
- --rcfile filename
- Before accepting input from stdin, first read commands (and probably moves) from filename.
- --color arg
-
Control usage of ANSI color control sequences, e.g. when displaying the
chess board.
arg can be one of:
-
- off
- Never use ANSI color sequences.
- on
- Always use ANSI color sequences.
- auto
- Automatically use ANSI color sequences when stdout is a terminal.
-
On Unix platforms, the default is auto. On Windows platforms, the default is off, because the Windows terminal is normally not ANSI capable.
-
Commands
hoichess supports most commands of the XBoard protocol. Those commands are described in detail at http://www.tim-mann.org/xboard/engine-intf.html. Furthermore, the following special commands are also available:- help
- Give a brief summary about available commands.
- bench movegen
- Run move generator benchmark.
- bench evaluator
- Run evaluator benchmark.
- bench makemove
- Run benchmark for make_move and unmake_move routines.
- book open bookfile
- Use opening book bookfile.
- book close
- Disable opening book.
- book create bookfile pgnfile depth min_move_count
-
Create a new opening book, from the games in pgnfile. The new book will
be written to bookfile.
The parameter depth specifies how many moves (half-moves, ply) of each game will be included in the opening book. If depth is 0, there is no depth limit, i.e. all moves of all games will be put into the book.
The parameter min_move_count specifies how many times a move must be played until it is added to the opening book.
- debug level
-
Set debug level to level.
If level is omitted, the current debug level is printed.
- evalcache clear
- Clear evaluation cache.
- evalcache size arg
-
Set the size of the evaluation cache.
The size is given in bytes, the suffixes 'K' and 'M' (e.g. '32M') may
be used to specify size in kilobytes or megabytes, respectively.
A size of 0 disables the evaluation cache.
- evalcache off
- Disable evaluation cache.
- evalcache info
- Print information about evaluation cache.
- evalcache stats
- Print evaluation cache statistics.
- hash clear
- Clear hash table.
- hash size arg
-
Set the size of the main hash table (transposition table).
The size is given in bytes, the suffixes 'K' and 'M' (e.g. '32M') may
be used to specify size in kilobytes or megabytes, respectively.
A size of 0 disables the hash table.
- hash off
- Disable hash table.
- hash info
- Print information about hash table.
- hash stats
- Print hash table statistics.
- hash replace scheme
-
Set hash table replacement scheme. Currently available schemes are:
-
-
always
Always replace existing entries by new entries.
-
depth
Replace existing entries only by entries with same or higher search depth.
-
always
-
- ignore command
-
From now on, ignore the command command. This is basically intended for
debugging.
See also command obey.
- obey command
-
Do not ignore the command command anymore.
See also command ignore.
- pawnhash ...
- Configure the pawn hash table. The available options are the same as for the main hash table (see command hash), with the exception that pawnhash replace is not available, because the pawn hash table always uses the ``always replace'' strategy.
- verbose level
-
Set verbosity level to level.
If level is omitted, the current verbosity level is printed.
- source file
- Read commands from file, just like command line option --rcfile does.
- show board
- Display the chess board.
- show fen
- Print the current position's FEN.
- show moves|captures|noncaptures|escapes
- Show all legal moves, captures, non-captures or escapes.
- show eval
- Evaluate current position and print result.
- show clocks
- Show both players' clocks.
- show game
- Show information about entire game, e.g. past positions, moves played, etc..
- solve epdfile
- Run search on all positions in epdfile (testsuite mode).