The Museum of HP Calculators


Simplified Chess for the HP-41

This program is by Paul Dale and is used here by permission.

This program is supplied without representation or warranty of any kind. Paul Dale 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.

Overview

A simple chess playing program where the calculator plays white witha full set of pieces and the human opeartor plays black with a lone king. The human's task is to survive past the sixth move. This program is based on Valentin Albillo's chess playing program for the HP-67 which first appeared in V7N6P18 (July/Aug 1980) issue of PPC Journal.

The major improvements in this version of the code are the use of one of the standard chess notations for the calculator's moves; no need for the human to specify a capture any differently to a normal move and more comprehensive testing for check conditions.

The calculatorwill display its move and in response the human should enter the column / row of their move. E.g. K7 would be entered as 57 and QN3 as 23.

70 registers for the program and but one register to run it. In the listing ' means alpha mode; |- is the alpha mode continuation. There are no spaces at the end of any of the alpha strings.

Program

 01  LBL'CHESS
 02  CLX
 03  STO 00
 04  'P-K4
 05  XEQ 02
 06  47
 07  X=Y?
 08  SF 07
 09  'Q-N4
 10  XEQ 07
 11  INT
 12  6
 13  X=Y?
 14  GTO 12
 15  LASTX
 16  FRC
 17  .7
 18  X=Y?
 19  SF 07
 20  'Q-N7
 21  XEQ 07
 22  FRC
 23  .8
 24  X=Y?
 25  GTO 13
 26  LASTX
 27  3.5
 28  X=Y?
 29  SF 07
 30  'P-Q4
 31  XEQ 02
 32  26
 33  X ne Y?
 34  GTO 00
 35  'Q-Q7
 36* LBL 08
 37  XEQ 02
 38  'Q-N5
 39  GTO 09
 40* LBL 00
 41  XEQ 06
 42  X ne Y?
 43  GTO 00
 44  'B-KB4
 45  XEQ 02
 46  GTO 05
 47* LBL 00
 48  XEQ 06
 49  X ne Y?
 50  GTO 00
 51  'B-KB4
 52  SF 07
 53  XEQ 02
 54  56
 55  X ne Y?
 56  GTO 05
 57  'P-Q5
 58  GTO 09
 59* LBL 00
 60  XEQ 06
 61  X ne Y?
 62  GTO 00
 63  'B-QN5
 64  XEQ 02
 65* LBL 04
 66  'Q-Q7
 67  GTO 09
 68* LBL 00
 69  RDN
 70  15
 71  X ne Y?
 72  GTO 00
 73  'Q-QN7
 74  GTO 08
 75* LBL 00
 76  'Q-K5
 77  GTO 08
 78* LBL 13
 79  'B-N5
 80  XEQ 02
 81  18
 82  X ne Y?
 83  GTO 00
 84  'B-B6
 85  SF 07
 86  GTO 03
 87* LBL 00
 88  XEQ 06
 89  X ne Y?
 90  GTO 00
 91  'B-R6
 92  GTO 03
 93* LBL 00
 94  XEQ 06
 95  X ne Y?
 96  GTO 04
 97  'B-B6
 98  XEQ 02
 99  28
100  X ne Y?
101  GTO 04
102  'Q-N7
103  GTO 09
104* LBL 12
105  LASTX
106  FRC
107  .7
108  X=Y?
109  SF 07
110  'Q-Q7
111  XEQ 07
112  FRC
113  .8
114  X=Y?
115  GTO 11
116  5.5
117  LASTX
118  X=Y?
119  SF 07
120  'P-Q4
121  XEQ 02
122  66
123  X ne Y?
124  GTO 00
125  'B-QB4
126  XEQ 02
127* LBL 05
128  'Q-B7
129  GTO 09
130* LBL 00
131  XEQ 06
132  X ne Y?
133  GTO 00
134  'Q-K7
135  GTO 08
136* LBL 00
137  RDN
138  54
139  X ne Y?
140  GTO 00
141  'B-Q3
142  GTO 09
143* LBL 00
144  'Q-KN7
145  GTO 08
146* LBL 11
147  'P-QN3
148  XEQ 02
149  68
150  X ne Y?
151  GTO 00
152  'B-N2
153  GTO 03
154* LBL 00
155  XEQ 06
156  X ne Y?
157  GTO 00
158  'B-B4
159  SF 07
160  XEQ 02
161  68
162  X=Y?
163  GTO 05
164  'B-N2
165  GTO 09
166* LBL 00
167  'B-N2
168  SF 07
169* LBL 03
170  XEQ 02
171  'Q-N7
172  GTO 09
173* LBL 06
174  10
175  +
176  RTN
177* LBL 07
178  XEQ 02
179  10
180  /
181  RTN
182* LBL 02
183  ASTO L
184  ISG 00
185  PI
186  'ABCDE
187  ARCL 00
188  ASTO T
189  'A
190  ARCL T
191  ASHF
192  '|-:
193  ARCL L
194  FS? 07
195  '|-+
196  FS? 06
197  '|-++
198  AVIEW
199  FS?C 07
200  TONE 8
201  FC?C 06
202  STOP
203  RTN
204* LBL 09
205  SF 06
206  XEQ 02
207  BEEP
208  CLST

Go back to the HP-41 software library
Go back to the general software library
Go back to the main exhibit hall