Duello Astrale – TI99/4A – TI Basic

Rivista: Dossier Texas 99/4A – Anno: 1984, Dicembre – Numero 1 – Trascrizione: Ermanno Betori

E dopo il gioco Paratrooper, pubblicato ieri su RetroLiPS ecco un altro listato in TI Basic per il TI99/4A.

Questa volta si tratta di Duello Astrale, un gioco ambientato nello spazio profondo dove, a bordo di un’astronave terrestre, dobbiamo difendere il nostro pianeta da un attacco alieno in grande stile. Migliaia di navicelle aliene, partendo direttamente dall’astronave madre, si scaglieranno contro di noi cercando di distruggere l’ultimo baluardo terrestre per poter cosi’ invadere la Terra!

Ovviamente noi, con i nostri 3 cannoni laser gli renderemo difficile l’impresa e, a costo di perire nell’impresa vendendo cara la pelle, cercheremo di distruggere tutte le navicelle o almeno mandarne al creatore il piu’ possibile!

Decisamente un gioco che dimostra le capacita’ del TI Basic e di una macchina, il TI99/4A, che non smette mai di sorprenderci, nemmeno nel 2026!

Il listato e’ stato estratto dalla rivista Dossier Texas 99/4A – Anno: 1984, Dicembre – Numero 1, edizioni CO.STA. srl di Pisa.
Link diretto alla rivista su archive.org: https://archive.org/details/Texas994A-Dossier-01/mode/2up

Titolo: Duello Astrale
Piattaforma: TI99/4A
Linguaggio: TI Basic
Versione originale: –
Pubblicazione: Dossier Texas 99/4A
Anno: 1984, Dicembre
Trascrizione: Ermanno Betori
Anno: 2026
Download: N/A
Note: Usare il TI Basic.

Istruzioni
Usate i tasti:
S laser di sinistra
D laser di destra
barra-spaziatrice laser al centro

Qui di seguito trovate il codice da copiare sul vostro TI99/4A oppure su un emulatore, noi suggeriamo Classic99.

Di seguito le istruzioni per caricare il listato sull’emulatore Classic99:
– Copiare il listato di cui sotto
– Avviare l’emulatore
– Da Cartridge -> Apps, selezionare Extended Basic
– Premere un tasto qualsiasi
– Dopodiché premere 1 per avviare il TI Basic
– Dal comando Edit, selezionare Paste XB per incollare il listato
– Digitare RUN per eseguire il codice
Buon divertimento!

Attenzione – Ci siamo resi conto che nel listato i caratteri ‘>’ e ‘<‘ potrebbero venir sostituiti dai rispettivi encoding html ‘&gt’ e ‘&lt’. Nel caso, sostituite questi valori nel listato prima di copiarlo sull’emulatore.

Listato: Duello Astrale – TI99/4A – TI Basic


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
5 L=5
10 FOR A=1 TO 12
20 CALL COLOR(A,16,1)
30 NEXT A
35 SC=0
40 GOSUB 5325
50 FOR A=1 TO 12
60 CALL COLOR(A,16,1)
70 NEXT A
80 REM  
90 RANDOMIZE
100 CALL CLEAR
110 CALL SCREEN(2)
120 REM  
130 CALL CHAR(128,"C0C0C0C0C0C0C0C0")
140 CALL CHAR(129,"0303030303030303")
150 CALL CHAR(130,"010103070FFFFFFF")
160 CALL CHAR(131,"8080C0E0F0FFFFFF")
170 CALL CHAR(132,"0000000000FFFFFF")
180 CALL CHAR(133,"FFFFFFFFFFFFFFFF")
190 CALL CHAR(134,"0000000000FF0000")
200 CALL CHAR(135,"00FFFFAAAAFFFF00")
210 CALL CHAR(136,"7FBFDFEFF7FBFDFE")
220 CALL CHAR(137,"FEFDFBF7EFDFBF7F")
230 CALL CHAR(138,"FF7E3E1E0E060200")
240 CALL CHAR(139,"FE7C787060400000")
250 CALL CHAR(140,"00000000000000FF")
260 CALL CHAR(141,"000000183C4200FF")
270 CALL CHAR(142,"000024183C5A8100")
280 CALL CHAR(143,"004281BDFFBD8142")
290 CALL CHAR(144,"0000000000000000")
300 CALL CHAR(145,"002A7C3E7C3EE554")
310 CALL CHAR(146,"925400C300549300")
320 CALL CHAR(147,"8040201008040201")
330 CALL CHAR(148,"0102040810204080")
335 CALL CHAR(149,"0808080808080808")
336 CALL CHAR(150,"00000800000080")
337 CALL CHAR(151,"0000001000000000")
340 CALL CHAR(157,"81C3E7FFFFFFFFFF")
345 CALL CHAR(158,"FFD783C183C1D7FF")
350 CALL CHAR(153,"FF7F3F1F0F070301")
360 CALL CHAR(152,"FFFFFFFFFFFFFFFF")
370 CALL CHAR(154,"FFFEFCF8F0E0C080")
380 CALL CHAR(155,"0103070F1F3F7FFF")
390 CALL CHAR(156,"80C0E0F0F8FCFEFF")
400 CALL COLOR(15,11,1)
410 CALL COLOR(13,13,1)
420 CALL COLOR(14,13,1)
430 CALL COLOR(16,14,1)
440 REM  
450 CALL HCHAR(6,11,133,11)
460 CALL HCHAR(6,10,130)
470 CALL HCHAR(6,22,131)
480 CALL HCHAR(5,15,135,3)
490 CALL HCHAR(4,16,133,1)
500 CALL HCHAR(3,14,135,5)
510 CALL HCHAR(2,14,128)
520 CALL HCHAR(2,18,129)
530 CALL HCHAR(7,10,135,13)
540 CALL HCHAR(7,9,130)
550 CALL HCHAR(7,23,131)
560 CALL HCHAR(7,5,132,4)
570 CALL HCHAR(7,24,132,4)
580 CALL HCHAR(7,4,134)
590 CALL HCHAR(7,28,134)
600 CALL HCHAR(8,13,133,7)
610 CALL HCHAR(9,14,133,5)
620 CALL HCHAR(10,15,133,3)
630 CALL HCHAR(8,12,136)
640 CALL HCHAR(9,12,138)
650 CALL HCHAR(9,13,136)
660 CALL HCHAR(10,13,138)
670 CALL HCHAR(10,14,136)
680 CALL HCHAR(11,14,138)
690 CALL HCHAR(8,20,137)
700 CALL HCHAR(9,19,137)
710 CALL HCHAR(10,18,137)
720 CALL HCHAR(9,20,139)
730 CALL HCHAR(10,19,139)
740 CALL HCHAR(11,18,139)
745 CALL HCHAR(11,15,140,3)
750 REM  
751 CALL HCHAR(3,4,42)
752 CALL HCHAR(4,7,46)
753 CALL HCHAR(2,12,46)
754 CALL HCHAR(14,9,150)
755 CALL HCHAR(3,5,150)
756 CALL HCHAR(15,4,151)
757 CALL HCHAR(4,5,151)
758 CALL HCHAR(12,6,42)
759 CALL HCHAR(13,24,43)
760 CALL HCHAR(23,1,152,64)
761 CALL HCHAR(12,26,46)
762 CALL HCHAR(11,22,151)
763 CALL HCHAR(4,29,42)
764 CALL HCHAR(5,27,150)
765 CALL HCHAR(3,21,151)
766 CALL HCHAR(4,23,46)
767 CALL HCHAR(18,29,46)
768 CALL HCHAR(18,4,43)
769 CALL HCHAR(15,18,151)
770 CALL VCHAR(1,1,152,22)
780 CALL VCHAR(1,32,152,22)
790 CALL HCHAR(1,1,152,32)
800 CALL HCHAR(2,2,154)
810 CALL HCHAR(2,31,153)
820 CALL HCHAR(22,2,152,2)
830 CALL HCHAR(21,2,152)
840 CALL HCHAR(20,2,156)
850 CALL HCHAR(21,3,156)
860 CALL HCHAR(22,4,156)
870 CALL HCHAR(22,30,152,2)
880 CALL HCHAR(21,31,152)
890 CALL HCHAR(20,31,155)
900 CALL HCHAR(21,30,155)
910 CALL HCHAR(22,1,152,32)
945 CALL HCHAR(22,16,157)
946 CALL HCHAR(15,15,147)
947 CALL HCHAR(15,17,148)
948 CALL HCHAR(17,15,148)
949 CALL HCHAR(17,17,147)
950 REM  
960 R=11
970 C=INT(RND*30)
980 IF(C<15)+(C>17)THEN 970
990 CALL HCHAR(R,C,141)
995 REM  
1000 FOR P=1 TO 500
1010 NEXT P
1020 CALL HCHAR(R,C,140)
1030 OC=INT(RND*28)
1040 IF(OC<13)+(OC>15)THEN 1030
1050 CALL HCHAR(13,OC+1,142)
1060 CALL HCHAR(13,OC+1,32)
1070 CALL HCHAR(14,OC,142)
1080 CALL HCHAR(14,OC,32)
1090 CALL HCHAR(15,OC-1,142)
1100 CALL HCHAR(15,OC-1,32)
1105 CALL HCHAR(16,OC,142)
1110 GOSUB 3970
1120 REM  
1125 B=INT(RND*10)
1130 CALL HCHAR(16,OC,32)
1140 IF B<5 THEN 1160
1150 IF B>5 THEN 1180
1160 OC=OC-B
1165 IF OC<5 THEN 1180
1170 GOTO 1190
1180 OC=OC+B
1185 IF OC>28 THEN 1160
1190 CALL HCHAR(16,OC,142)
1200 C=INT(RND*10)
1210 IF C<7 THEN 3970
1215 REM  
1220 CALL VCHAR(17,OC,149,5)
1250 CALL VCHAR(17,OC,32,5)
1255 CALL HCHAR(17,15,148)
1256 CALL HCHAR(17,17,147)
1260 CALL GCHAR(22,OC,X)
1270 IF X=158 THEN 1300
1280 IF(X=155)+(X=156)+(X=152)THEN 1440
1290 IF X=157 THEN 4580
1300 CALL HCHAR(22,OC,145)
1310 CALL SOUND(50,1397,10,-2,2,1661,10)
1320 CALL HCHAR(22,OC,146)
1330 CALL SOUND(300,-6,2)
1340 CALL HCHAR(22,OC,158)
1345 CALL HCHAR(23,OC,158)
1350 GOTO 3970
1355 REM  
1440 CALL HCHAR(22,OC,145)
1441 FOR A=1 TO 16
1442 CALL SCREEN(A)
1443 NEXT A
1444 CALL SCREEN(2)
1450 CALL SOUND(150,-6,1)
1460 CALL SOUND(300,-5,1)
1470 CALL HCHAR(22,OC,146)
1480 CALL SOUND(500,-7,2)
1490 CALL HCHAR(22,OC,158)
1500 GOTO 1120
1510 REM  
1515 C=INT(RND*10)
1520 IF(C<4)+(C>9)THEN 1510
1530 CALL HCHAR(21,C,148)
1531 CALL HCHAR(20,C+1,148)
1532 CALL HCHAR(21,C,32)
1533 CALL HCHAR(19,C+2,148)
1534 CALL HCHAR(20,C+1,32)
1535 CALL HCHAR(18,C+3,148)
1536 CALL HCHAR(19,C+2,32)
1537 CALL HCHAR(17,C+4,148)
1538 CALL HCHAR(18,C+3,32)
1539 CALL HCHAR(17,C+4,32)
1540 CALL HCHAR(18,C+4,32)
1541 CALL HCHAR(17,C+5,32)
1560 GOTO 4330
1570 REM  
1580 C=INT(RND*10)+22
1590 IF(C<22)+(C>29)THEN 1580
1591 CALL HCHAR(21,C,147)
1592 CALL HCHAR(20,C-1,147)
1593 CALL HCHAR(21,C,32)
1594 CALL HCHAR(19,C-2,147)
1595 CALL HCHAR(20,C-1,32)
1596 CALL HCHAR(18,C-3,147)
1597 CALL HCHAR(19,C-2,32)
1598 CALL HCHAR(17,C-4,147)
1599 CALL HCHAR(18,C-3,32)
1600 CALL HCHAR(17,C-4,32)
1601 CALL GCHAR(16,C-5,X)
1602 IF X=32 THEN 1604
1603 IF X=142 THEN 1610
1604 CALL HCHAR(16,C-5,145)
1605 CALL SOUND(50,-6,6)
1606 CALL HCHAR(16,C-5,146)
1607 CALL SOUND(300,-7,2)
1608 CALL HCHAR(16,C-5,32)
1609 GOTO 1650
1610 REM  
1611 CALL HCHAR(16,C-5,145)
1612 FOR A=1 TO 6
1613 CALL HCHAR(16,C-5,32)
1614 CALL HCHAR(16,C-5,146)
1615 CALL SOUND(100,-5,2)
1616 CALL SCREEN(A)
1617 NEXT A
1618 CALL HCHAR(16,C-5,32)
1619 CALL SOUND(300,-7,1)
1620 SC=SC+1
1625 GOTO 4480
1630 REM  
1631 CALL HCHAR(16,16,145)
1632 FOR A=1 TO 8
1633 CALL HCHAR(16,16,32)
1634 CALL HCHAR(16,16,146)
1635 CALL SOUND(100,-5,2)
1636 CALL SCREEN(A)
1637 NEXT A
1638 CALL HCHAR(16,16,32)
1639 CALL SOUND(500,-7,1)
1640 SC=SC+1
1645 GOTO 4480
1650 GOTO 1120
1980 REM  
1985 CALL VCHAR(1,13,152,20)
1990 CALL VCHAR(1,14,152,20)
2000 CALL VCHAR(1,15,152,20)
2010 CALL VCHAR(1,14,142,A)
2020 FOR R=1 TO 20
2040 CALL HCHAR(R,17,133,13)
2050 NEXT R
2070 S$="PUNTI="&STR$(SC)
2080 FOR I=1 TO LEN(S$)
2090 CALL HCHAR(6,20+I,ASC(SEG$(S$,I,1)))
2100 NEXT I
2105 L=L-1
2110 A$="VITE= "&STR$(L)
2120 FOR I=1 TO LEN(A$)
2130 CALL HCHAR(9,20+I,ASC(SEG$(A$,I,1)))
2140 NEXT I
2150 GOTO 4952
3970 GOTO 3980
3980 CALL KEY(0,K,S)
3985 FOR T=1 TO 5
3990 IF K=32 THEN 4000
3994 IF K=83 THEN 1510
3995 IF K=68 THEN 1580
3996 NEXT T
3997 GOTO 1120
4000 CALL HCHAR(21,11,148)
4010 CALL HCHAR(21,21,147)
4020 CALL HCHAR(20,12,148)
4030 CALL HCHAR(20,20,147)
4040 CALL HCHAR(21,11,32,11)
4050 CALL HCHAR(19,13,148)
4060 CALL HCHAR(19,19,147)
4070 CALL HCHAR(20,12,32,9)
4080 CALL HCHAR(18,14,148)
4090 CALL HCHAR(18,18,147)
4100 CALL HCHAR(19,13,32,9)
4110 CALL HCHAR(17,15,148)
4120 CALL HCHAR(17,17,147)
4130 CALL HCHAR(18,14,32,5)
4150 CALL GCHAR(16,16,X)
4160 IF X=142 THEN 1630
4170 CALL HCHAR(16,16,145)
4180 CALL SOUND(50,-6,6)
4190 CALL HCHAR(16,16,146)
4200 CALL SOUND(300,-7,2)
4210 CALL HCHAR(16,16,32)
4220 GOTO 1650
4225 REM  
4330 CALL GCHAR(16,C+5,X)
4340 IF X=32 THEN 4360
4350 IF X=142 THEN 4420
4360 CALL HCHAR(16,C+5,145)
4370 CALL SOUND(50,-6,6)
4380 CALL HCHAR(16,C+5,146)
4390 CALL SOUND(300,-7,2)
4400 CALL HCHAR(16,C+5,32)
4410 GOTO 1650
4415 REM  
4420 SC=SC+1
4430 CALL HCHAR(16,C+5,145)
4440 FOR A=1 TO 3
4445 CALL HCHAR(16,C+5,32)
4450 CALL HCHAR(16,C+5,146)
4460 CALL SOUND(100,-5,2)
4470 NEXT A
4474 CALL HCHAR(16,C+5,32)
4475 CALL SOUND(300,-7,1)
4480 CALL SCREEN(2)
4500 A$="DUELLO ASTRALE"
4510 FOR I=1 TO LEN(A$)
4520 CALL HCHAR(24,8+I,ASC(SEG$(A$,I,1)))
4530 NEXT I
4540 FOR P=1 TO 500
4550 NEXT P
4560 CALL HCHAR(24,9,152,19)
4570 GOTO 950
4580 FOR A=1 TO 16
4590 CALL SOUND(50,-5,1)
4600 CALL SCREEN(A)
4610 NEXT A
4620 CALL SOUND(150,196,0)
4630 CALL SOUND(300,247,0)
4640 CALL SOUND(250,196,0)
4650 CALL SOUND(350,220,0)
4660 CALL SOUND(250,296,0)
4680 CALL SOUND(1000,-6,3)
4690 CALL SOUND(1500,-7,1)
4700 CALL SCREEN(2)
4710 A$="F I N E G I O C O"
4720 FOR I=1 TO LEN(A$)
4730 CALL HCHAR(13,7+I,ASC(SEG$(A$,I,1)))
4740 NEXT I
4785 FOR P=1 TO 1000
4786 NEXT P
4787 GOSUB 4910
4788 IF L=0 THEN 6030
4790 A$="GIOCHI ANCORA? S/N"
4791 FOR I=1 TO LEN(A$)
4792 CALL HCHAR(24,7+I,ASC(SEG$(A$,I,1)))
4793 NEXT I
4794 CALL VCHAR(1,12,35,21)
4795 CALL HCHAR(21,1,35,32)
4796 CALL VCHAR(1,16,35,21)
4800 CALL KEY(0,K,S)
4840 CALL HCHAR(22,30,32)
4850 CALL SOUND(50,330,3)
4860 CALL HCHAR(22,30,142)
4870 IF S=0 THEN 4800
4880 IF K=ASC("S")THEN 50
4890 IF K=ASC("N")THEN 4900
4900 CALL CLEAR
4905 END
4906 REM  
4910 CALL CLEAR
4911 CALL SCREEN(2)
4912 PRINT "PLUTONE": :
4913 PRINT "URANO": :
4914 PRINT "NETTUNO": :
4915 PRINT "SATURNO": :
4916 PRINT "GIOVE": :
4917 PRINT "ASTEROIDI": :
4918 PRINT "MARTE": :
4919 PRINT "TERRA": :
4920 PRINT "VENERE": :
4921 PRINT "MERCURIO": : : : :
4922 IF SC=0 THEN 4933
4923 IF SC<=3 THEN 4933
4924 IF SC<=6 THEN 4935
4925 IF SC<=9 THEN 4937
4926 IF SC<=12 THEN 4939
4927 IF SC<=15 THEN 4941
4928 IF SC<=25 THEN 4943
4929 IF SC<=35 THEN 4945
4930 IF SC<=45 THEN 4947
4931 IF SC<=55 THEN 4949
4932 IF SC>55 THEN 4970
4933 A=19
4934 GOTO 4951
4935 A=17
4936 GOTO 4951
4937 A=15
4938 GOTO 4951
4939 A=13
4940 GOTO 4951
4941 A=11
4942 GOTO 4951
4943 A=9
4944 GOTO 4951
4945 A=7
4946 GOTO 4951
4947 A=5
4948 GOTO 4951
4949 A=3
4950 GOTO 4951
4951 GOTO 1980
4952 RETURN
4953 CALL CLEAR
4954 CALL SCREEN(2)
4955 PRINT : : : : : : : : : : : :
4956 PRINT "     CONGRATULAZIONI"
4957 PRINT : : :
4958 PRINT "AVETE VINTO. ED AVETE "
4959 PRINT "SALVATO IL SISTEMA SOLARE"
4960 PRINT : :
4961 FOR P=1 TO 3500
4962 NEXT P
4963 END
4970 CALL SOUND(1000,262,0,330,0)
4980 CALL SOUND(1000,262,0,392,0)
4990 CALL SOUND(1000,330,0,392,0)
5000 GOTO 4953
5325 CALL CLEAR
5326 CALL SCREEN(2)
5330 PRINT
5340 PRINT "POSSEDETE 3 CANNONI LASER":
5350 PRINT "PER RESPINGERE GLI ALIENI"
5370 PRINT :
5380 PRINT "      S = LASER A SINISTRA"
5390 PRINT "      D = LASER A DESTRA "
5400 PRINT "BARRA-SPAZIATRICE LASER AL  CENTRO"
5410 PRINT : :
5520 PRINT "PREMERE UN TASTO X INIZIARE"
5530 CALL KEY(0,K,S)
5540 IF S=0 THEN 5530
5550 RETURN
6000 CALL VCHAR(1,14,152,19)
6010 CALL VCHAR(1,14,142,A)
6020 GOTO 4952
6030 A$="GLI ALIENI"
6040 FOR I=1 TO LEN(A$)
6050 CALL HCHAR(17,18+I,ASC(SEG$(A$,I,1)))
6060 NEXT I
6070 A$="HANNO VINTO!"
6080 FOR I=1 TO LEN(A$)
6090 CALL HCHAR(19,19+I,ASC(SEG$(A$,I,1)))
6100 NEXT I
6110 FOR P=1 TO 3000
6120 NEXT P
6130 END

Share

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

This site uses Akismet to reduce spam. Learn how your comment data is processed.