Commit | Line | Data |
---|---|---|
81e70d48 PH |
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 |