Custom Commands

In addition to standard UCI commands, MadChess supports the following custom commands.

These commands are accessible when MadChess is run from a command line window (such as Windows Command Prompt or Windows Terminal), not in a GUI. These commands are for advanced users. Probably only useful to me, the developer of MadChess.

The list of commands shown below is available by running MadChess from the command line, then entering ? or help.

?
MadChess by Erik Madsen.  See https://www.madchess.net/.

In addition to standard UCI commands, MadChess supports the following custom commands.

findmagics                            Find magic multipliers not already hard-coded into engine.  Not useful without first
                                      removing hard-coded magic multipliers from source code, then recompiling.

showboard                             Display current position.

countmoves [depth]                    Count legal moves at depth.   Count only leaf nodes, not internal nodes.
                                      Known by chess programmers as perft.

dividemoves [depth]                   Count legal moves following each legal root move.  Count only leaf nodes.

listmoves                             List moves in order of priority.  Display history heuristics for each move.

shiftkillermoves [depth]              Shift killer moves deeper by depth.
                                      Useful after go command followed by a position command that includes moves.
                                      Without shifting killer moves, the listmoves command will display incorrect killer values.

resetstats                            Set NullMoves, NullMoveCutoffs, MovesCausingBetaCutoff, etc to 0.

showevalparams                        Display evaluation parameters used to calculate static score for a position.

showlimitstrengthparams               Display evaluation and search parameter values for a range of Elo ratings.

staticscore                           Display evaluation details of current position.

testpositions [filename]              Calculate legal moves for positions in file and compare to expected results.
                                      Each line of file must be formatted as [FEN]|[Depth]|[Legal Move Count].

analyzepositions [filename] [msec]    Search for best move for positions in file and compare to expected results.
                                      File must be in EPD format.  Search of each move is limited to time in milliseconds.

tune [pgn] [ps] [pps] [ws] [i]        Tune evaluation parameters using a particle swarm algorithm.
                                      pgn = PGN filename, ps = Particle Swarms, pps = Particles Per Swarm.
                                      ws = Win Scale, i = Iterations.

tunewinscale [pgn] [threads]          Compute a scale constant used in the sigmoid function of the tuning algorithm.
                                      The sigmoid function maps evaluation score to expected win fraction.

Comments are closed.