digital equipment corporation · maynard, massachusetts
The author of CHECKMO-II has a page on it. Comeau's CHEKMO-II page
Note that the program is stored as CHEKMO under OS/8 since file names may only have 6 characters.
                        A SET OF INSTRUCTIONS


CHEKMO-II Chess Program for the PDP-8 PAGE 1 ABSTRACT CHEKMO-II is a chess playing program which will run on any PDP-8 family computer. The program will play either the white pieces or the black pieces, and will play and accept all classes of legal moves, including, castling both short and long, en passant pawn captures, and pawn promoting moves to any legal promotion piece. The program prints out its moves in Algebraic Notation, and accepts moves using Algebraic Notation. Included in the command structure of the program are commands which allow you to input board positions using Forsyth Notation, and get a printout of the board at your terminal. EQUIPMENT CHEKMO-II will run on any PDP-8 family computer with a minimum of 4k of memory, and an ASR33 Teletype(1) or equivelent terminal. EXECUTION TIME The time that CHEKMO-II takes to calculate its moves, is highly dependent upon the position of the pieces. It is generaly within the range of 20 seconds, to 2 minutes per move. In "blitz mode" (see the "BM" command), CHEKMO-II makes its moves much more quickly, but at the cost of reduced playing strength. Note: All times quoted are assuming that CHEKMO-II is being run on a stand alone PDP-8/E(1.2 us Cycle time). LOADING AND STARTING CHEKMO-II The CHEKMO-II binary tape is a standard binary tape and can be loaded using the BIN Loader program(DEC-08-LBAA-PM), or the OS8 "ABSLDR" program. The starting address for CHEKMO-II is 0200. At any time, CHEKMO-II can be halted and restarted at location 0200. -- -- -- -- -- (1) Teletype is a registered trademark of the Teletype Corporation.
CHEKMO-II Chess Program for the PDP-8 PAGE 2
ON LINE OPERATION Before continuing be advised that all lines of input to CHEKMO-II must be terminated with a carriage return. Typing a CTRL/U character echos "^U" and erases anything typed so far on a line. Typing a RUBOUT character deletes the last character typed and prints a "\" character to indicate the deletion. CHEKMO-II has an input buffer with room for 24 characters. If more than 24 characters are typed on a line(not counting rubouts and the "rubbed out" characters), a "^U" is printed and the entire line is deleted. When CHEKMO-II is started at location 0200 it will print... CHEKMO-II to identify itself and setup the pieces on its internal board to thier original squares. Then it will ask... W. YOUR MOVE? The "W. " at the begining of the line is to indicate that it is whites move. The "YOUR MOVE?" indicates that CHEKMO-II is waiting for you to input a move for white, using modified algebraic notation (Described on Pg 6). If the move that you type in is illegal or impossible CHEKMO-II responds with... ? W. YOUR MOVE? Asking again for you to type in a legal move. If a legal move is typed, CHEKMO-II will make the move on its internal board, then ask... B. YOUR MOVE ? CHEKMO-II is now waiting for you to type in a move for black(note the "B. "). As before, typing in an impossible move causes CHEKMO-II to... ? B. YOUR MOVE ? Ask again for a legal move. A legal move causes CHEKMO-II to make that move on its internal board, then ask for a move for white. Play continues in this manner until a move is made that checkmates or stalemates. At that time CHEKMO-II will print... CHECKMATE
CHEKMO-II Chess Program for the PDP-8 PAGE 3 Or STALEMATE In either case the final position is then printed -- ** -- BK -- ** -- ** ** -- ** WQ ** -- ** -- -- ** -- ** WK ** -- ** ** -- ** -- ** -- ** -- -- ** -- ** -- ** -- ** ** -- ** -- ** -- ** -- -- ** -- ** -- ** -- ** ** -- ** -- ** -- ** -- CHEKMO-II now restarts itsef at location 0200, and is ready to play another game.
CHEKMO-II Chess Program for the PDP-8 PAGE 4
SPECIAL COMMANDS At any time when CHEKMO-II is waiting for you to type in a move, you may instead type in one of the 10 special commands currently implimented. Each special command consists of 2 characters and is described below. PW -- CHEKMO-II is instructed to play the white pieces. Whenever it is whites turn to move CHEKMO-II will printout and make a move for white instead of asking "YOUR MOVE ?". PB -- Same as "PW" except that CHEKMO-II makes a move for the black pieces every time it is blacks turn to move. PN -- CHEKMO-II plays niether white nor black. This cancels previous "PW" and "PB" commands BD -- CHEKMO-II will print out the current board position MV -- Causes CHEKMO-II to printout and make the next move for the side whose turn it is SK -- Skip the move that CHEKMO-II is asking for, and make it the other sides move. Note: According to the laws of chess, "The 2 players must alternate in making 1 move at a time". The SK command is included because it can somtimes be fun to use in "non serious" games. RE -- Stands for "Reset" (or "Resign"). It resets CHEKMO-II's internal board to the initial starting position, and begins a new game. BM -- Puts CHEKMO-II into "Blitz mode". In Blitz mode, CHEKMO-II does not think very deeply about its moves, but instead, makes them in 3 seconds each on the average. TM -- Resets CHEKMO-II to its regular "thoughtful" mode of play. IP -- Instructs CHEKMO-II to accept the input of a position using Forsyth notation(Described on Pg 7) CHEKMO-II prints a ">" to indicate that it is ready for you to enter a line. If you violate the rules of Forsyth notation, an error message is printed, and CHEKMO-II waits for you to enter the error line again. If you enter in a good line, CHEKMO-II prints a ">" and waits for the next line. When all 8 ranks are entered successfully,
CHEKMO-II Chess Program for the PDP-8 PAGE 5 the board position just inputed gets printed out. Possible error messages and thier causes are discribed below. Message Cause 1? More than 8 squares specified 2? Less than 8 squares specified 3? Piece color not "W" or "B" 4? Unknown piece letter
CHEKMO-II Chess Program for the PDP-8 PAGE 6
ALGEBRAIC NOTATION Algebraic notation is the system recommended by the International Chess Federation(F.I.D.E.), for the recording of chess moves. Since in regular Algebraic notation, both upper and lower case letters are used, and since most teleprinters output only upper case leters, CHEKMO-II uses a modified form of algebraic notation to accept moves, and to print out its own moves. This modified Algebraic notation is described here. The ranks(horizontal rows of squares) are numbered from 1 to 8 starting from whites side of the board. The files(vertical rows of squares) are numbered from A to H starting at the left(blacks right) hand side of the board. The intersection of the file letter and rank number gives each square a unique name. For example, In the initial position, whites king occupies square E1, blacks king occupies square E8, and the pawn in front of blacks queen occupies square D7. Whites knight on square B1 and can move to squares A3 and C3. A8 B8 C8 D8 E8 F8 G8 H8 BR BN BB BQ BK BB BN BR A7 B7 C7 D7 E7 F7 G7 H7 BP BP BP BP BP BP BP BP A6 B6 C6 D6 E6 F6 G6 H6 -- ** -- ** -- ** -- ** A5 B5 C5 D5 E5 F5 G5 H5 ** -- ** -- ** -- ** -- A4 B4 C4 D4 E4 F4 G4 H4 -- ** -- ** -- ** -- ** A3 B3 C3 D3 E3 F3 G3 H3 ** -- ** -- ** -- ** -- A2 B2 C2 D2 E2 F2 G2 H2 WP WP WP WP WP WP WP WP A1 B1 C1 D1 E1 F1 G1 H1 WR WN WB WQ WK WB WN WR A move is specified by the square number of the piece that is moving, an optional "-" or ":", and the square number that the piece is moving to. If the move gives check, an optional "+" character after the move is used to signify that. Using this notation, the 2 possible moves for whites knight on square B1 would be, B1-C3 and B1-A3. The symbol "O-O" is used to specify king side castling, and the symbol "O-O-O" is used to specify queens side castling. Pawn promotion moves are printed out in the same manner as any other pawn move, except that they are followed by a "=" and the initial of the piece the pawn is promoting to. For example, on an empty board, a pawn on A7 would have 4 posible moves, A7-A8=N A7-A8=B A7-A8=R A7-A8=Q On input, If no equal sign and initial are specified, the promotion is assumed to be to a queen.
CHEKMO-II Chess Program for the PDP-8 PAGE 7
FORSYTH NOTATION Forsyth notation is a shorthand method of recording or describing chess positions. Since regular Forsyth notation uses both lower and upper case letters, and most telletypes have only upper case letters, CHEKMO-II uses a modified form of Forsyth notation, a description of which follows. Using Forsyth notation the board position is described rank by rank, starting with rank 8. Each rank is described from left to right in the following manner. If a square is occupied, the initial for the pieces color(W or B), followed by the initial for the piece (R,B,K,Q,P or N), are used to describe that square. Empty squares are indicated by a number from 1 to 8, equal to the number of empty squares adjacent to one another. Every square on a rank must be accounted for in this manner, and thus each rank must total 8 pieces and/or empty squares. Here is a position accompanied by its representation in Forsyth notation... BR BN BB ** BK ** BN BR BRBNBB1BK1BNBR BP BP BP -- ** BP BP BP BPBPBP2BPBPBP -- ** -- ** -- ** -- ** 8 ** -- BB -- WP -- ** -- 2BB1WP3 -- ** -- ** -- ** -- BQ 7BQ ** -- WN WP ** -- BN -- 2WNWP2BN1 WP WP WP ** -- ** -- WP WPWPWP4WP WR -- WB WQ WK WB WN WR WR1WBWQWKWBWNWR
CHEKMO-II Chess Program for the PDP-8 PAGE 8
ERROR HALTS There are 2 legitimate error halts possible with CHEKMO-II Address Explanation 5004 An unexplaned interrupt has occured. To recover, press the CLEAR and CONTinue keys(START on a non-PDP-8/E). If the error persists, try to find its cause and eliminate it. A likley cause is a DF32 Disk unit select switch set to the OFF position. 1761 The position has gotten too complex and CHEKMO-II's push down list has overflowed. You Win!!. Just before halting, CHEKMO-II will printout... I RESIGN This error can probably only occur if one or both sides has queened several pawns. Restart at location 0200 to start a new game. Halting at any other address is extremly unlikley, and is caused either by a hardware failure, or an as yet unknown program bug. KNOWN BUGS There are no known "bugs" in CHEKMO-II Rev#63. KNOWN DEFICIENCIES CHEKMO-II does not recognize the value of passed pawns until they reach the 6th or 7th rank. CHEKMO-II has been programed to use the same strategy throughout the game. This strategy has been optimized for good play in the Middle-game, and Opening. As a result CHEKMO-II plays poor moves in some Endgame positions. If either the white side or the black side becomes signifigantly more powerfull than the other(about 4 queens) CHEKMO-II may play some strange, but legal moves. This is caused by overflow in an internal evaluator routine.

Index of games and other help

Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search