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 also 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. showboard Display current position. findmagics Find magic multipliers not already hard-coded into engine. Not useful without first removing hard-coded magic multipliers from source code, then recompiling. countmoves [depth] Count legal moves at given 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 given 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. staticscore Display evaluation details of current position. exchangescore [move] Display static score if pieces are traded on the destination square of the given move. Move must be specified in long algebraic notation. testpositions [filename] Calculate legal moves for positions in given 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 given file and compare to expected results. File must be in EPD format. Search of each move is limited to given time in milliseconds. analyzeexchangepositions [filename] Determine material score after exchanging pieces on destination square of given move. Pawn = 100, Knight and Bishop = 300, Rook = 500, Queen = 900. 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.