Fix FRC castling legality check
[omniperft.git] / README
blobd1ea029a50b2beef1d18758ea1a309817cfb0a2d
1 Copyright (C) 2008 Ilari Pihlajisto (ilari.pihlajisto@mbnet.fi)
3 WHAT IS OMNIPERFT?
5    Perft is a debbuging function for testing the move generator
6    and move making/unmaking routines of chess engines.
7    A more detailed description: http://chessprogramming.wikispaces.com/perft
9    Unfortunately most perft utilities only support standard chess, so anyone
10    developing an engine for Chess960, Capablanca chess, Capablanca Random chess
11    or Gothic chess is pretty much out of luck when it comes to verifying their
12    perft results.
14    OmniPerft is just like any other perft utility, with the exception that
15    it supports every 8x8 and 10x8 chess variants of any significance. The user
16    can just enter a FEN or X-FEN string for any supported variant, run perft
17    and get the results.
20 LICENSE AND WARRANTY
22    OmniPerft is free software; you can redistribute it and/or modify
23    it under the terms of the GNU General Public License as published by
24    the Free Software Foundation; either version 3 of the License, or
25    (at your option) any later version.
27    OmniPerft is distributed in the hope that it will be useful,
28    but WITHOUT ANY WARRANTY; without even the implied warranty of
29    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
30    GNU General Public License for more details.
32    You should have received a copy of the GNU General Public License
33    along with this program.  If not, see <http://www.gnu.org/licenses/>.
36 COMPILING
38    UNIX/Linux: Run "make" command in the source directory
39    Windows/MinGW: Run "make -f Makefile.mgw" in the source directory
40    Windows/MSVC: Run "nmake -f Makefile.win" in the source directory
42    There's no "make install", all you need is the compiled executable.
45 ASCII INTERFACE COMMANDS
47    moves                Print a list of legal moves
48    perft [d]            Print a perft value to depth [d]
49    divide [d]           Perft to [d] with a separate count for each move
50    printboard           Print an ASCII board and the FEN/X-FEN string
51    quit                 Exit the program
52    undo                 Reverse the last move
53    setboard [fen]       Set the board according to a FEN/X-FEN string
54    [move]               Make [move] on the board. Accepts SAN and Coordinate notation