The Museum of HP Calculators

# Mini Chess (original) for the HP-41C/CV/CX

This program is Copyright © HP and is used here by permission. It was originally printed in the Games II Solution Book and was written by Valentin Albillo. This program was entered and uploaded by Tony Duell.

This program is supplied without representation or warranty of any kind. Tony Duell, Hewlett Packard and The Museum of HP Calculators therefore assume no responsibility and shall have no liability, consequential or otherwise, of any kind arising from the use of this program material or any part thereof.

Documentation Information (CD or source code)
How to get this Program to your Calculator (via HP-IL, disk, wand, and fingers)

## Data Set

Currently, we know how to transfer the .d41 files to an HP-4C1 with Tony Duell's LIF Utilities for linux. Other users can enter the register listings below by hand. If you determine how DOS users can transfer these files, please let me know.

The data should be saved to a magnetic card. You start the program with XEQ "MCHESS" and then insert the card (2 tracks) when the calculator displays "CARD"

RR037 - RR049 contain the BLDSPEC characters used to represent the pieces. If you do not have a printer (and hence don't have the BLDSPEC command), load any ALPHA data into these registers. The program requires ALPHA data here to work properly (even if it's not printing).

```RR018 = +1.000000000E+0
RR019 = -1.000000000E+0
RR020 = -1.000000000E+1
RR021 = -8.000000000E+0
RR022 = +1.000000000E+1
RR023 = +8.000000000E+0
RR024 = -1.900000000E+1
RR025 = -1.700000000E+1
RR026 = -7.000000000E+0
RR027 = -1.100000000E+1
RR028 = +1.900000000E+1
RR029 = +1.700000000E+1
RR030 = +7.000000000E+0
RR031 = +1.100000000E+1
RR032 = +1.601900000E+1
RR033 = +2.403100000E+1
RR034 = +2.002300000E+1
RR035 = +1.602300000E+1
RR036 = +1.602300000E+1
RR037 =   0;  96; 122; 127; 122;  96;   0;
RR038 =   0;  96; 114; 127; 114;  96;   0;
RR039 =   0; 100; 110; 123; 110; 100;   0;
RR040 =   0; 108; 102; 119; 126; 108;   0;
RR041 =   0; 102; 124; 126; 124; 102;   0;
RR042 =   0;  96; 102; 126; 102;  96;   0;
RR043 =  85;   0;  65;   0;  65;   0;  85;
RR044 =  96;  95;  89;  65;  89;  95;  96;
RR045 = 103;  89;  67;  65;  67;  89; 103;
RR046 = 110;  83;  89;  72;  65;  83; 126;
RR047 = 110;  91;  81;  68;  81;  91; 110;
RR048 = 112;  95;  77;  64;  77;  95; 112;
RR049 = 112;  95;  69;  64;  69;  95; 112;

```

## Program Listing

```LINE  KEYS
01 LBL "MCHESS"
02 CLRG
03 FIX 00
04 CF 29
05 "SET SIZE 97"
06 SF 25
07 RCL 96
08 FC?C 25
09 PROMPT
10 SF 25
11 RCL 97
12 FS?C 25
13 PROMPT
14 18.049
15 XROM 30,03
16 9
17 STO 16
18 ST- 17
19 6.5
20 STO 92
21 ST- 56
22 5.09
23 STO 93
24 ST- 57
25 4.03
26 STO 94
27 ST- 58
28 1.01
29 STO 83
30 STO 84
31 STO 85
32 STO 86
33 STO 87
34 ST- 65
35 ST- 66
36 ST- 67
37 ST- 68
38 ST- 69
39 INT
40 -
41 STO 95
42 ST- 59
43 2.05
44 STO 96
45 ST- 60
46 "A"
47 50.091
48 SIGN
49 LBL 01
50 RCL IND L
51 X=0?
52 ASTO IND L
53 ISG L
54 GTO 01
55 SREG 74
56 CLS
57 ASTO 79
58 FS? 55
59 XEQ "P"
60 "N"
61 ASTO Y
62 "HP 1ST?"
63 AON
64 PROMPT
65 ASTO X
66 AOFF
67 X#Y?
68 GTO 00
69 LBL 99
70 CF 00
71 FS? 55
72 XEQ 16
73 "FROM?"
74 PROMPT
75 "I"
76 X<0?
77 GTO 04
78 X=0?
79 GTO 05
80 XEQ 06
81 STO 00
82 "TO?"
83 PROMPT
84 XEQ 06
85 STO 01
86 CLX
87 X<> IND 00
88 STO IND 01
89 XEQ 07
90 FC? 55
91 GTO 00
92 FS? 00
93 XEQ "P"
94 LBL 00
95 "I MOVE"
96 AVIEW
97 PI
98 STO 09
99 96.055
100 STO 02
101 CHS
102 STO 00
103 LBL 11
104 RCL IND 02
105 SIGN
106 X=0?
107 GTO 00
108 LASTX
109 X<0?
110 XEQ 12
111 LBL 00
112 DSE 02
113 GTO 11
114 RCL 09
115 PI
116 X=Y?
117 GTO 05
118 "YOU"
119 -25
120 RCL 00
121 X<Y?
122 GTO 04
123 CLX
124 X<> IND 12
125 STO IND 13
126 XEQ 08
127 "FROM "
128 RCL 12
129 XEQ 09
130 " TO "
131 RCL 13
132 XEQ 09
133 RCL 00
134 FRC
135 RCL 22
136 *
137 FRC
138 X#0?
139 ", CHECK"
140 BEEP
141 AVIEW
142 FS? 55
143 XEQ "P"
144 FC? 55
145 STOP
146 GTO 99
147 LBL 07
148 60
149 RCL 01
150 X>Y?
151 RTN
152 2
153 RCL IND 01
154 X>Y?
155 RTN
156 "PIECE?"
157 PROMPT
158 STO IND 01
159 RTN
160 LBL 08
161 ABS
162 2
163 X<Y?
164 RTN
165 92
166 RCL 13
167 X<Y?
168 RTN
169 -5.09
170 STO IND 13
171 RTN
172 LBL 04
173 ASTO X
174 "CHECKMATE"
175 AVIEW
176 BEEP
177 CLA
178 ARCL X
179 " WON"
180 PROMPT
181 LBL 05
182 "STALEMATE"
183 BEEP
184 PROMPT
185 LBL 09
186 INT
187 ENTER
188 ENTER
189 9
190 /
191 INT
192 +
193 51
194 -
195 ARCL X
196 RTN
197 LBL 06
198 ENTER
199 ENTER
200 1
201 -
202 5
203 /
204 INT
205 2
206 /
207 -
208 46
209 +
210 RTN
211 LBL 12
212 STO 03
213 ABS
214 CF 05
215 CF 06
216 CF 07
217 2
218 X>Y?
219 GTO 13
220 X<>Y
221 30
222 +
223 XEQ IND X
224 RCL IND X
225 STO 04
226 LBL 14
227 RCL 02
228 STO 05
229 LBL 15
230 RCL IND 04
231 ST+ 05
232 RCL 05
233 XEQ 08
234 FS? 18
235 GTO 00
236 X<0?
237 GTO 00
238 CF 09
239 X=0?
240 SF 09
241 XEQ 12
242 FS? 05
243 GTO 00
244 FS? 09
245 GTO 15
246 LBL 00
247 ISG 04
248 GTO 14
249 RTN
250 LBL 36
251 SF 07
252 LBL 33
253 SF 05
254 LBL 32
255 LBL 34
256 LBL 35
257 RTN
258 LBL 13
259 SF 06
260 RCL 02
261 9
262 XEQ 09
263 FS? 18
264 1
265 X=0?
266 XEQ 12
267 RCL 02
268 RCL 22
269 XEQ 09
270 FS? 18
271 CLX
272 X>0?
273 XEQ 12
274 RCL 02
275 8
276 XEQ 09
277 FS? 18
278 RTN
279 X<=0?
280 RTN
281 LBL 12
282 CF 08
283 STO 07
284 FRC
285 1 E2
286 *
287 STO 06
288 RCL Z
289 STO 08
290 .4
291 FS? 07
292 ST- 06
293 FS? 06
294 XEQ 12
295 FC? 07
296 XEQ 13
297 RCL 00
298 RCL 06
299 X<=Y?
300 RTN
301 RCL 03
302 FS? 08
303 -5.09
304 STO IND 08
305 CLX
306 STO IND 02
307 56.096
308 STO 11
309 STO 09
310 CF 19
311 LBL 21
312 RCL IND 11
313 SIGN
314 X=0?
315 GTO 00
316 LASTX
317 X<=0?
318 GTO 00
319 XEQ 07
320 FS? 19
321 GTO 04
322 LBL 00
323 ISG 11
324 GTO 21
325 RCL 09
326 STO 00
327 RCL 02
328 STO 12
329 RCL 08
330 STO 13
331 LBL 04
332 RCL 03
333 STO IND 02
334 RCL 07
335 STO IND 08
336 RTN
337 LBL 12
338 .5
339 ST+ 06
340 92
341 RCL 08
342 X<Y?
343 RTN
344 SF 08
345 9
346 ST+ 06
347 RTN
348 LBL 13
349 FS? 06
350 GTO 13
351 RCL 03
352 30
353 -
354 RCL IND X
355 STO 01
356 LBL 03
357 RCL 08
358 STO 10
359 LBL 10
360 RCL IND 01
361 ST+ 10
362 RCL 10
363 XEQ 08
364 FS? 18
365 GTO 00
366 XEQ 12
367 X=Y?
368 RTN
369 FS? 05
370 GTO 00
371 LASTX
372 X=0?
373 GTO 10
374 LBL 00
375 ISG 01
376 GTO 03
377 RTN
378 LBL 13
379 RCL 08
380 RCL 22
381 XEQ 00
382 RCL 08
383 8
384 LBL 00
385 XEQ 09
386 FS? 18
387 RTN
388 LBL 12
389 INT
390 6
391 X#Y?
392 RTN
393 .41
394 ST+ 06
395 RDN
396 RTN
397 LBL 07
398 CF 01
399 CF 02
400 CF 03
401 2
402 X>Y?
403 GTO 12
404 X<>Y
405 30
406 +
407 XEQ IND X
408 RCL IND X
409 STO 14
410 LBL 28
411 RCL 11
412 STO 15
413 LBL 29
414 RCL IND 14
415 ST+ 15
416 RCL 15
417 XEQ 08
418 FS? 18
419 GTO 00
420 X>0?
421 GTO 00
422 CF 10
423 X=0?
424 SF 10
425 XEQ 13
426 FS? 19
427 RTN
428 FS? 01
429 GTO 00
430 FS? 10
431 GTO 29
432 LBL 00
433 ISG 14
434 GTO 28
435 RTN
436 LBL 36
437 SF 03
438 LBL 33
439 SF 01
440 LBL 32
441 LBL 34
442 LBL 35
443 RTN
444 LBL 12
445 SF 02
446 RCL 11
447 RCL 17
448 XEQ 09
449 FS? 18
450 1
451 X=0?
452 XEQ 13
453 FS? 19
454 RTN
455 RCL 11
456 RCL 20
457 XEQ 00
458 FS? 19
459 RTN
460 RCL 11
461 RCL 21
462 LBL 00
463 XEQ 09
464 FS? 18
465 RTN
466 X#0?
467 X>0?
468 RTN
469 LBL 13
470 FRC
471 ABS
472 1 E2
473 *
474 FS? 03
475 .4
476 FS? 03
477 -
478 FS? 02
479 XEQ 13
480 RCL 06
481 X<>Y
482 -
483 RCL 00
484 X<>Y
485 X<=Y?
486 SF 19
487 X<=Y?
488 RTN
489 RCL 09
490 X<>Y
491 X<Y?
492 STO 09
493 RTN
494 LBL 13
495 .5
496 +
497 RCL Z
498 60
499 X<>Y
500 CF 04
501 X<=Y?
502 SF 04
503 RCL Z
504 9
505 FC? 04
506 CLX
507 +
508 RTN
509 LBL 16
510 "Y"
511 ASTO Y
512 "PRINT YOUR"
513 " MOVE?"
514 AON
515 PROMPT
516 ASTO X
517 AOFF
518 X=Y?
519 SF 00
520 RTN
521 LBL 09
522 +
523 LBL 08
524 CF 18
525 SF 25
526 RCL IND X
527 SIGN
528 FS?C 25
529 X=0?
530 SF 18
531 LASTX
532 END
```