| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | ABSTRACT |
| 7 | -------- |
| 8 | |
| 9 | CHEKMO-II is a chess playing program which will run on any PDP-8 |
| 10 | computer. The program will play either the White pieces or the Black |
| 11 | pieces and will play and accept all classes of legal moves, including, |
| 12 | castling both short and long, en-passant pawn captures, and pawn pro- |
| 13 | moting moves to any legal promotion piece. The program prints out its |
| 14 | moves in Algebraic Notation, and accepts moves using this Notation. |
| 15 | |
| 16 | Included in the command structure of the program are commands which |
| 17 | allow you to input board positions using Forsyth Notation, and get a |
| 18 | printout of the board at your terminal. |
| 19 | |
| 20 | EQUIPMENT |
| 21 | --------- |
| 22 | |
| 23 | CHEKMO-II will run on any PDP-8 family computer with a minimum of 4K |
| 24 | of memory and an ASR33 Teletype (1), or equivalent terminal. |
| 25 | |
| 26 | EXECUTION TIME |
| 27 | -------------- |
| 28 | |
| 29 | The time that CHEKMO-II takes to calculate a move is highly dependent |
| 30 | upon the position of the pieces, but it is generally within the range |
| 31 | of 20 seconds to 2 minutes per move. In "blitz mode" (see the "BM" |
| 32 | command), CHEKMO-II makes its moves much more quickly, but at the cost |
| 33 | of reduced playing strength. |
| 34 | |
| 35 | Note: All times quoted are assuming that CHEKMO-II is being run on |
| 36 | a PDP-8/e (1.2 us cycle time). |
| 37 | |
| 38 | LOADING AND STARTING CHEKMO-II |
| 39 | ------- --- -------- --------- |
| 40 | |
| 41 | The CHEKMO-II binary tape is a standard binary tape and can be loaded |
| 42 | using the BIN Loader program (DEC-08-LBAA-PM), or the OS/8 "ABSLDR" |
| 43 | program. The starting address for CHEKMO-II is 0200. CHEKMO-II can |
| 44 | be halted and restarted at location 0200 at any time. |
| 45 | |
| 46 | |
| 47 | (Note for OS/8 users: A short patch to the input routine is available |
| 48 | which allows CHEKMO-II to respond to CTRL/C (^C) by returning to the |
| 49 | monitor system. Play may be resumed simply by typing ".ST" followed |
| 50 | by a carriage return. Specify '/S' to ABSLDR to include this patch.) |
| 51 | |
| 52 | |
| 53 | |
| 54 | |
| 55 | (1) Teletype is a registered trademark of the Teletype Corporation. |
| 56 | \f |
| 57 | |
| 58 | CHEKMO-II Chess Program for the PDP-8 Page 2 |
| 59 | |
| 60 | |
| 61 | |
| 62 | |
| 63 | ON LINE OPERATION |
| 64 | -- ---- --------- |
| 65 | |
| 66 | Before continuing please note that all lines of input to CHEKMO-II |
| 67 | must be terminated with a carriage return. Typing a CTRL/U character. |
| 68 | echos "^U" and erases anything typed so far on a line. Typing a RUBOUT |
| 69 | character deletes the last character typed and prints a "\" character |
| 70 | to indicate the deletion. CHEKMO-II has an input buffer with room for |
| 71 | 24 characters. If more than 24 characters are typed on a line (exclud- |
| 72 | ing rubouts and the "rubbed out" characters), a "^U" is printed and the |
| 73 | entire line is deleted. |
| 74 | |
| 75 | When CHEKMO-II is started at location 0200 it will print. . . |
| 76 | |
| 77 | CHEKMO-II |
| 78 | |
| 79 | To identify itself and setup the pieces on its internal board to their |
| 80 | original squares. Then it will ask. . . |
| 81 | |
| 82 | W. YOUR MOVE? |
| 83 | |
| 84 | The "W. " at the beginning of the line is to indicate that it is whites |
| 85 | move. The "YOUR MOVE?" indicates that CHEKMO-II is waiting for you to |
| 86 | input a move for white, using modified Algebraic Notation (described on |
| 87 | P. 6). If the move that you type in is illegal or impossible CHEKMO-II |
| 88 | responds with. . . |
| 89 | |
| 90 | ? |
| 91 | W. YOUR MOVE? |
| 92 | |
| 93 | asking again for you to type in a legal move. If a legal move is typed |
| 94 | CHEKMO-II will make the move on its internal board, then ask. . . |
| 95 | |
| 96 | B. YOUR MOVE? |
| 97 | |
| 98 | CHEKMO-II is now waiting for you to type in a move for black (note the |
| 99 | "B."). As before, typing in an impossible move causes CHEKMO-II to... |
| 100 | |
| 101 | ? |
| 102 | B. YOUR MOVE? |
| 103 | |
| 104 | ask again for a legal move. A legal move causes CHEKMO-II to make that |
| 105 | move on its internal board, then ask for a move for white. |
| 106 | \f |
| 107 | |
| 108 | CHEKMO-II Chess Program for the PDP-8 Page 3 |
| 109 | |
| 110 | |
| 111 | |
| 112 | Play continues in this manner until a move is made that checkmates or |
| 113 | stalemates. At that time CHEKMO-II will print. . . |
| 114 | |
| 115 | |
| 116 | CHECKMATE |
| 117 | |
| 118 | or |
| 119 | |
| 120 | STALEMATE |
| 121 | |
| 122 | |
| 123 | In either case the final position is then printed |
| 124 | |
| 125 | -- ** -- BK -- ** -- ** |
| 126 | ** -- ** WQ ** -- ** -- |
| 127 | -- ** -- ** WK ** -- ** |
| 128 | ** -- ** -- ** -- ** -- |
| 129 | -- ** -- ** -- ** -- ** |
| 130 | ** -- ** -- ** -- ** -- |
| 131 | -- ** -- ** -- ** -- ** |
| 132 | ** -- ** -- ** -- ** -- |
| 133 | |
| 134 | CHEKMO-II now restarts itself at location 0200 and is ready to play |
| 135 | another game. |
| 136 | |
| 137 | |
| 138 | |
| 139 | Codes: B- BLACK |
| 140 | W- WHITE |
| 141 | P- PAWN |
| 142 | B- BISHOP |
| 143 | R- ROOK |
| 144 | Q- QUEEN |
| 145 | K- KING |
| 146 | N- KNIGHT |
| 147 | S- ALSO A KNIGHT |
| 148 | \f |
| 149 | |
| 150 | CHEKMO-II Chess Program for the PDP-8 Page 4 |
| 151 | |
| 152 | SPECIAL COMMANDS |
| 153 | ------- -------- |
| 154 | |
| 155 | Whenever CHEKMO-II is waiting for you to type in a move, you may |
| 156 | instead type in one of the 10 special commands currently implemented. |
| 157 | Each special command consists of 2 characters and is described below: |
| 158 | |
| 159 | PW -- CHEKMO-II is instructed to play the white peices. Whenever it |
| 160 | is whites turn to move CHEKMO-II will printout and make a move |
| 161 | for white instead of asking "YOUR MOVE?" |
| 162 | |
| 163 | PB -- Same as "PW" except that CHEKMO-II makes a move for the black |
| 164 | pieces every time it is blacks turn to move. |
| 165 | |
| 166 | PN -- CHECKMO-II plays neither white nor black. This cancels previous |
| 167 | "PW" and "PB" commands. |
| 168 | |
| 169 | BD -- CHEKMO-II will print out the current board position. |
| 170 | |
| 171 | MV -- Causes CHEKMO-II to printout and make the next move for the side |
| 172 | whose turn it is. |
| 173 | |
| 174 | SK -- Skip the move that CHEKMO-II is asking for, and make it the other |
| 175 | sides move. |
| 176 | |
| 177 | Note: According to the laws of chess, "The 2 players must alter- |
| 178 | nate in making 1 move at a time". The SK command is included be- |
| 179 | cause it can sometimes be fun to use in "non-serious" games. |
| 180 | |
| 181 | RE -- Stands for "Reset" (or "Resign"). It resets CHEKMO-II's internal |
| 182 | board to the initial starting position and begins a new game. |
| 183 | |
| 184 | BM -- Puts CHEKMO-II into "Blitz mode". In Blitz mode, CHEKMO-II does |
| 185 | not think very deeply about its moves, but instead, makes them in |
| 186 | 3 seconds each on the average. |
| 187 | |
| 188 | TM -- Resets CHEKMO-II to its regular "thoughtful" mode of play. |
| 189 | |
| 190 | IP -- Instructs CHEKMO-II to accept the input of a position using For- |
| 191 | syth notation (described on Pg. 6) CHEKMO-II prints a ">" to in- |
| 192 | dicate that it is ready for you to enter a line. If you violate |
| 193 | the rules of Forsyth notation, an error message is printed, and |
| 194 | CHEKMO-II waits for you to enter the error line again. If you en- |
| 195 | ter in a good line, CHEKMO-II prints a ">" and waits for the next |
| 196 | line. When all 8 ranks are entered successfully, the board posi- |
| 197 | tion just input gets printed out. Possible error messages and |
| 198 | their causes are described below: |
| 199 | |
| 200 | Message Cause |
| 201 | |
| 202 | 1? More than 8 squares specified |
| 203 | 2? Less than 8 squares specified |
| 204 | 3? Piece color not "W" or "B" |
| 205 | 4? Unknown piece letter |
| 206 | \f |
| 207 | |
| 208 | CHEKMO-II Chess Program for the PDP-8 Page 5 |
| 209 | |
| 210 | ALGEBRAIC NOTATION |
| 211 | ---------- ------- |
| 212 | |
| 213 | Algebraic Notation is the system recommended by the International |
| 214 | Chess Federation (F.I.D.E), for the recording of chess moves. Since |
| 215 | in regular Algebraic Notation, both upper and lower case letters are |
| 216 | used, and since most teleprinters output only upper case letters, |
| 217 | CHEKMO-II uses a modified form of algebraic notation to accept moves, |
| 218 | and to print out its own moves. This modified Algebraic Notation is |
| 219 | described here. |
| 220 | |
| 221 | The ranks (horizontal rows of squares) are numbered from 1 to 8 start- |
| 222 | ing from whites side of the board. The files (vertical rows of squares) |
| 223 | are numbered from A to H starting at the left (blacks right) hand side |
| 224 | of the board. The intersection of the file letter and rank number |
| 225 | gives each square a unique name, for example, in the initial position, |
| 226 | whites king occupies square E1, blacks king occupies square E8, and |
| 227 | the pawn in front of blacks queen occupies square D7. Whites Knight |
| 228 | is on square B1 and can move to squares A3 and C3. |
| 229 | |
| 230 | A8 B8 C8 D8 E8 F8 G8 H8 BR BN BB BQ BK BB BN BR |
| 231 | A7 B7 C7 D7 E7 F7 G7 H7 BP BP BP BP BP BP BP BP |
| 232 | A6 B6 C6 D6 E6 F6 G6 H6 -- ** -- ** -- ** -- ** |
| 233 | A5 B5 C5 D5 E5 F5 G5 H5 ** -- ** -- ** -- ** -- |
| 234 | A4 B4 C4 D4 E4 F4 G4 H4 -- ** -- ** -- ** -- ** |
| 235 | A3 B3 C3 D3 E3 F3 G3 H3 ** -- ** -- ** -- ** -- |
| 236 | A2 B2 C2 D2 E2 F2 G2 H2 WP WP WP WP WP WP WP WP |
| 237 | A1 B1 C1 D1 E1 F1 G1 H1 WR WN WB WQ WK WB WN WR |
| 238 | |
| 239 | A move is specified by the square number of the piece that is moving, |
| 240 | an optional "-" or ":", and the square number that the piece is moving |
| 241 | to. Using this notation, the 2 possible moves for Whites Knight on |
| 242 | square B1 would be: B1-C3 and B1-A3. The symbol "O-O" is used to spec- |
| 243 | ify king side castling and the symbol "O-O-O" is used to specify queens |
| 244 | side castling. Pawn promotion moves are printed out in the same manner |
| 245 | as any other pawn move, except that they are followed by a "=" and |
| 246 | the initial of the piece the pawn is promoting to. For example, on |
| 247 | an empty board, a pawn on A7 would have 4 possible moves: |
| 248 | |
| 249 | A7-A8=N A7-A8=B A7-A8=R A7-A8=Q |
| 250 | |
| 251 | On input, if no equal sign and initial are specified, the promotion |
| 252 | is assumed to be to a queen. |
| 253 | |
| 254 | |
| 255 | |
| 256 | (Note: CHEKMO-II uses the ':' symbol to indicate that a piece was taken |
| 257 | by that move. You may wish to type your moves in the same way.) |
| 258 | |
| 259 | \f |
| 260 | |
| 261 | CHEKMO-II Chess Program for the PDP-8 Page 6 |
| 262 | |
| 263 | |
| 264 | FORSYTHE NOTATION |
| 265 | -------- -------- |
| 266 | |
| 267 | Forsythe Notation uses the 2-letter codes shown on page 3 (and used |
| 268 | throughout this discussion) to specify the pieces and numbers to in- |
| 269 | dicate how many spaces occur between pieces. When entering a board |
| 270 | configuration each position in every row must be accounted for - |
| 271 | see the error message summary on page 4. |
| 272 | |
| 273 | Example: BR4BK2 looks like: BR ** -- ** -- BK -- ** |
| 274 | |
| 275 | |
| 276 | ERROR HALTS |
| 277 | ----- ----- |
| 278 | |
| 279 | There are 2 legitimate error halts possible with CHEKMO-II |
| 280 | |
| 281 | Address Explanation |
| 282 | |
| 283 | 5004 An unexplained interrupt has occurred. Press the CLEAR |
| 284 | and CONTINUE keys (START on a non-PDP-8/e). If the error |
| 285 | persists, try to find its cause and eliminate it. A likely |
| 286 | cause is a DF32 Disk Unit set to the OFF position. |
| 287 | |
| 288 | 1761 The position has gotten too complex and CHEKMO-II's push |
| 289 | down list has overflowed. You Win!! Just before halting, |
| 290 | CHEKMO-II will print out. . . |
| 291 | |
| 292 | I RESIGN |
| 293 | |
| 294 | |
| 295 | This error can probably only occur if one or both sides has |
| 296 | queened several pawns. |
| 297 | |
| 298 | Halting at any other address is extremely unlikely, and is caused |
| 299 | either by a hardware failure, or an as yet unknown program bug. |
| 300 | |
| 301 | KNOWN BUGS |
| 302 | ----- ---- |
| 303 | |
| 304 | There are no known "bugs" in CHEKMO-II Rev #62. |
| 305 | |
| 306 | KNOWN DEFICIENCIES |
| 307 | ----- ------------ |
| 308 | |
| 309 | CHEKMO-II as of Rev. #62 does not recognize the value of passed pawns |
| 310 | until they reach the 6th or 7th rank. |
| 311 | |
| 312 | CHEKMO-II has been programmed to use the same strategy throughout |
| 313 | the game. This strategy has been optimized for good play in the |
| 314 | Middlegame and Opening. As a result, CHEKMO-II plays poor moves |
| 315 | in some Endgame positions. |
| 316 | \f |