chdb - chess database browser
chdb [ file ... ]
Chdb reads the given files of chess games (hist by default) and accepts commands to
search, play through, and display the games in these files. If x is the name of the file,
it is looked for under the names x, x.m.out, and /lib/chess/x.m.out.
After reading the files, chdb displays a chess board, a text window with a command line,
and vertical and horizontal scroll bars along the edges of the board. The text window
holds 6 lines of information about the game and position and, at the bottom, a command
line in which to type. The displayed text contains chess symbols--use a suitable font.
The vertical scroll bar scans through the games to select a game; the horizontal bar then
scans through the moves of the selected game. Both scroll bars use button 1 to scan back-
wards, button 3 to scan forwards, and button 2 to jump to an absolute position. With but-
tons 1 and 3, the scroll bars are calibrated in units of 1 through 8 corresponding to the
ranks and files of the board. The units measure games on the vertical scroll bar, ply
(half-moves) on the horizontal scroll bar. For example, clicking button 3 on the horizon-
tal scroll bar under the d file steps through the game two full moves.
Moves may be made on the chess board by pointing with button 1. There are two methods to
point at moves. For the first method, point at the piece to be moved, press button 1,
point to the place to move that piece, and release button 1. In the second method, point
at the place where a piece is to move and press button 1. The smallest/least-central
piece that can move there is highlighted. Releasing button 1 without moving the mouse
will make the highlighted move. Moving the mouse to the desired piece and releasing the
button will move the selected piece.
Typed lines of text are echoed in the command line and executed. The available commands
f n n Set the format for display of moves in the text window. The first number is the
verbosity, with 0 minimal. The second number is 0 for algebraic, 1 for English,
and 2 for figurine (default).
g n Go to the game with ordinal number n in the input files. If n is prefixed with a +
or -, it is interpreted as a relative position in the current set of games (see
below). N defaults to +1.
p n Go to whole move n in the current game. If n is prefixed with a + or -, it is
interpreted as an offset in ply from the current position. N defaults to +1.
k n Mark the current set of games with tag n (see patterns, below).
w type file
Write the current set of games to file. Type is either a (write the games as text)
or m (write the games in binary format suitable for chdb).
Patterns select subsets of the games. A pattern is one of the following, in decreasing
precedence order. Parentheses can be used for grouping.
. The current game.
* All games originally read.
'n The games previously marked with a k command with the same n.
All games in * that contain the positions that can be reached in the specified num-
ber of plies from the current position. A missing number is the same as zero,
meaning just the current position. Positions are matched with black/white transpo-
This pattern matches the regular expression against the various text windows.
Fields is a list of characters from the set abdefoprw. A is for all, b for black,
d for date, e for event, f for file, o for opening, p for person (white and black),
r for result, and w for white. If multiple fields are given, the expression is
matched on the union of the specified fields. If no field is given, p is assumed.
The set subtraction of * and the given pattern.
The set subtraction of the given patterns.
The set union of the given patterns.
The set intersection of the given patterns.
These patterns have the current set of games as an implied first operand.
Select games that Botvinnik lost:
directory of databases.
The browser is only a prototype.
Most of the databases are protected by copyright and not distributed.