The Museum of HP Calculators

# Mini Chess (Read data from IL device) 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 originally written by Valentin Albillo. This program was entered and uploaded by Tony Duell. This variation of Mini Chess reads the data from an HP-IL device instead of a card. The Barcode for this program was provided by Brian Ward.

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)
Display the Program Barcode (.pdf) for printing and scanning

## 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.

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