HP-67/97 Star Trek Game!

Back to main page If this is useful to you, Email me at: Genewright143@hotmail.com


The program presented below plays the game of star trek for the HP-67/97 calculators. The program was originally in the HP-67/97 contributors library as program #03398D, developed by John Nelson (thanks to him, wherever he is these days).

One of the strengths of this program, compared to others, is that it fits on one magnetic card. That also means that you can play the game on a 67/97 whose card reader is no longer working once you’ve keyed it in.

The game is played on a 100 x 100 grid, with coordinates given as XX.XX and YY.YY.


Instructions:

1) To start the game, input a decimal seed and press A. Displayed value is the Enterprise’s coordinates.

2) To run a sensor scan for enemy ships, press B. Displayed values will be a) Enemy ship #, b) Distance, c) Bearing (* Note: a, b and c will be repeated for all ships that might be in range *), d) Damage to the Enterprise (since enemy ships always fire when detected, even though the Enterprise’s shields will automatically go up in this situation), and e) the Enterprise’s coordinates again.

3) To move the Enterprise, input the Angle, press ENTER and input the Warp Speed desired, and press C. Displayed value is the new coordinate for the Enterprise. (Note: Speed is from 1-8, but does not have to be an integer. You cannot move greater than warp 8. Movement in grid units is 10 * Warp number. If you have more than 50% damage, you are limited to Warp 4. Angle is from 0 to 180 and 0 to -180, with 0 being to the right (or east), 90 being up (or north), 180 being left (or west), and -90 being down (or south). You may also input the angle from 0 to 360. Picture the playing area as a 100 x 100 grid).

4) Before going into battle, you should put some energy into the shields by entering the Energy to Shields and pressing D. Output number is Shield Energy.

5) To attack, you must be within attacking distance, which is 1/2 the sensor distance. (Note: Default sensor distance is 25 units). You can only attack one enemy at a time. To attack, enter the ship number to be attacked and press E. Output number is in the form of ZZZ.ZZ which is the remaining shield energy. Then you must enter the phaser power to be used in the attack with a number from 1 to 9 and pressing R/S.

Outputs from the attack are: a) Enemy damage, b) Enterprise Damage, c) Enterprise Coordinates, and d) Enemy ship number. If the display stops with the Enemy ship number displayed as a negative, then the enemy has been destroyed. If the Enterprise coordinates are displayed again, then you were out of attack range.

Note: If you ever see 0.00 blinking in the display, it means you have run out of energy and have lost the game.

6) To recall the damage for any ship, enter the ship number of the enemy ship (1-3) or the Enterprise (4) and press f-shift b.

7) To repair damage to a ship, enter the ship number and press STO I (Note: that is not the lower case letter but the upper case). Enter the amount of damage to be repaired as a negative number and press shift-f c. The output displayed is the ship’s coordinates.

8) To recall the Enterprise’s coordinates at any time, press GSB 0.

9) To recall total energy remaining, press RCL 8.

10) To recall shield energy remaining, press RCL 6.

11) To check the range for the sensors, press RCL 0.

That’s it. Quite a long list of instructions, but then, the Captain’s job is never easy.


Sample Game:
Enter          Press   See        Description
0.5281953751     A     84.28      This is the enterprise’s coordinates.
                 B                Scan for enemy vessels
                       84.28      Enterprise’s coord’s returned.
                                  No vessels nearby.
180 ENTER 4      C     44.28      Let’s move 180 degrees at warp 4
                 B     1.         Scan. Enemy ship #1 found
                       22.        22 units away
                       137.       at a bearing of 137 degrees
                       4.         Enterprise’s ship number. No damage.
                       44.28      Enterprise’s coord’s returned.
137 ENTER 1.8    C     31.40      Enterprise’s new coord’s.
                                  Note: if we scan again now, we’ll be
                                  fired on again, so let’s assume we
                                  did that right and fire ourselves.
110              D    110.00      Set our shields to 110. Don’t forget!
1                E    102.58      Attack ship #1. Our shields went down
                                  to 102.58 (very slight hit).
9                R/S  11.92       Now fire phasers at max power (9)
                      1.86        11.92 was damage done to enemy, our
                      31.40       damage was only 1.86, our coord’s.
1                E    32.27       Fire again. Remaining shields. 
9                R/S  29.10       Damage to enemy
                      17.58       Our damage
                      31.40       Our coord’s again
4                f b  23.40       This is our cummulative damage. 23%.
4                STO I            Let’s repair some of our damage.
6 CHS            f c  31.40       Repaired 6 units
4                f b  17.40       Damage was repaired
1                f b  41.02       Enemy damage
100              D   132.27       Replenish Shields. Don’t forget this!
1                E    77.17       Remaining shields
9                R/S   2.37       Damage to enemy
                      13.77       Our Damage
                      31.40       Our coord’s
75               D   152.17       Replenish shields
1                E   107.08       Remaining shields
9                R/S  26.09       Damage to enemy
                      11.27       Our damage
                      31.40       Our coord’s
1                E    99.41       Remaining shields
9                R/S   5.07       Damage to enemy
                       1.92       Our damage
                      31.40       Our coord’s
1                E    74.84       Remaining shields
9                R/S  48.49       Damage to enemy
                      -1.00       Die! Die! (Enemy ship 1 destroyed)
4                f b  44.37       Our total damage
CHS              f c   0.00       All repaired

Now you’re ready to track down the next two enemy ships!


Program Listing: Notes: RUP is roll up. RDN is roll down. If an instruction isn't clear to you, email me and I'll be glad to help!
Line      Instruction
01         LBL A
02         STO E
03         2
04         EEX
05         4
06         STO 8
07         EEX
08         2
09         STO A
10         4
11         STO I
12         /
13         STO 0
14         0
15         STO 6
16         LBL 9
17         GSB 8
18         RCL A
19         *
20         RND
21         STO i
22         DSZI
23         GTO 9
24         LBL 0
25         RCL 4
26         DSP 2
27         PRTX
28         R/S
29         LBL 8
30         RCL E
31         TAN-1
32         FRC
33         STO E
34         RTN
35         LBL B
36         3
37         STO I
38         LBL 6
39         GSB 2
40         RCL 0
41         X<=Y?
42         GTO 5
43         RDN
44         RCL I
45         DSP 0
46         PRTX
47         RDN
48         PRTX
49         X<>Y
50         PRTX
51         SPC
52         GSB 8
53         LSTX
54         ST+5
55         LBL 5
56         DSZI
57         GTO6
58         GSB a
59         GTO 0
60         LBL 7
61         INT
62         F2?
63         STO B
64         LSTX
65         FRC
66         RCL A
67         *
68         INT
69         RTN
70         LBL C
71         STO C
72         X<>Y
73         STO B
74         8
75         RCL A
76         RCL 4
77         GSB d
78         -
79         %
80         RCL C
81         X>Y?
82         X<>Y
83         1
84         0
85         *
86         STO C
87         X^2
88         GSB 1
89         RCL B
90         RCL C
91         ->R
92         INT
93         ST+ 4
94         X<>Y
95         INT
96         RCL A
97         /
98         ST+ 4
99         GTO 0
100        LBL 1
101        SF 2
102        LBL D
103        RCL 8
104        X<>Y
105        X<=Y?
106        GTO 4
107        0
108        STO I
109        DSZI
110        PSE
111        GTO i
112        LBL 4
113        ST- 8
114        F2?
115        RTN
116        ST+ 6
117        RCL 6
118        RTN
119        LBL E
120        STO I
121        GSB 2
122        STO B
123        RCL 6
124        RCL A
125        RCL i
126        GSB d
127        -
128        GSB 8
129        *
130        X>Y?
131        GSB 3
132        ST- 6
133        STO 5
134        RCL 6
135        R/S
136        STO D
137        RCL 0
138        2
139        /
140        RCL B
141        X>Y?
142        GTO 0
143        X^2
144        RCL D
145        *
146        GSB 1
147        GSB 8
148        RCL A
149        *
150        RCL B
151        SQRT
152        /
153        PRTX
154        GSB c
155        GSB a
156        GTO 0
157        LBL 3
158        GSB 1
159        RUP
160        -
161        SF 2
162        RTN
163        LBL 2
164        RCL i
165        SF 2
166        GSB 7
167        RCL 4
168        GSB 7
169        RCL B
170        RDN
171        RDN
172        X<>Y
173        RUP
174        -
175        RDN
176        -
177        RUP
178        X<>Y
179        ->P
180        RTN
181        LBL e
182        RCL I
183        CHS
184        STO i
185        R/S
186        LBL b
187        STO I
188        RCL i
189        LBL d
190        RCL A
191        *
192        FRC
193        EEX
194        3
195        *
196        RTN
197        LBL a
198        RCL 5
199        X=0?
200        RTN
201        ST- 5
202        4
203        STO I
204        F2?
205        1/X
206        /
207        PRTX
208        LBL c
209        RCL i
210        GSB d
211        +
212        RCL A
213        X<=Y?
214        GTO e
215        RDN
216        EEX
217        5
218        /
219        RCL i
220        DSP 2
221        RND
222        +
223        STO i
224        RTN

Visitors since 5/30/97