Go to Ziri – Commodore 128 – Basic V 7.0

Libro: Enciclopedia per ragazzi Rizzoli – Anno: 1986 – Trascrizione: Francesco Sblendorio e Andrea Pachetti

E finalmente anche il Commodore 128 sbarca su RetroLiPS, con un emozionante recupero frutto del lavoro di squadra di Francesco Sblendorio, Nicola Atzori ed Andrea Pachetti che ha permesso di preservare e conservare un pezzo di storia informatica italiana.

L’ultimo volume dell’Enciclopedia per ragazzi Rizzoli era dedicato ai computer e l’ultimo capitolo comprendeva diversi listati dell’allora dodicenne Gabriele Mutarelli. Tra questi spicca Go To Ziri, un gioco in BASIC 7.0 per C128, enorme da digitare, ma che tutti quelli che abbiano mai posseduto questa enciclopedia, sicuramente conoscono perché avrebbero voluto digitare e provare a giocarci.

Ecco il racconto del recupero direttamente dalla voce di Francesco: “Il post di Nicola Atzori mi ha “sbloccato il ricordo” e l’ho digitato, riscontrando diversi problemi perché (ma guarda un po’) un listato così ENORME è difficile da digitare senza errori. Ho quindi saputo, sempre nel thread, che anche Andrea Pachetti un paio di anni fa aveva provato a digitarlo in parte, così mi sono fatto inviare il suo lavoro, e tramite WinMerge ho individuato e corretto gli errori“.

Qui trovate il post originale che ha dato il via a questo fantastico recupero: post Go-To-Ziri

Qui invece il post in cui é intervenuto Gabriele Mutarelli, l’autore del gioco: post autore

Figura 1

Questo listato é stato pubblicato sull’ultimo volume dell’Enciclopedia per ragazzi Rizzoli

Titolo: Go To Ziri
Piattaforma: Commodore 128
Linguaggio: Basic V 7.0
Versione originale: Gabriele Mutarelli
Pubblicazione: Enciclopedia per ragazzi Rizzoli
Anno: 1986
Trascrizione: Francesco Sblendorio e Andrea Pachetti
Anno: 2022
Download: Go-To-Ziri.d64
Note: N/A

Istruzioni
Tutto quello che Napo voleva fare era trascorrere una piacevole serata in compagnia dell’amica Ziri, ma, purtroppo per lui, il malvagio dottor Taschen aveva altro per la mente. Approfittando di un momento di distrazione di Napo, alcuni loschi individui al soldo di Taschen, irrompono nella sua casa e rapiscono la bella Ziri, lasciando Napo in fin di vita. Per nostra fortuna Napo sopravvive e, ansioso di ritrovare la bella Ziri, si mette subito all’inseguimento dei rapitori.
Usare i tasti < e > per spostarsi rispettivamente a sinistra ed a destra. Nel livello dell’astronave usare (freccia sú) per andare in alto e <spazio> per andare in basso. Atterrati sul pianeta RETURN per sparare e O e ← per aumentare e rallentare la velocitá del proiettile.

Come sempre, qui di seguito trovate il codice ottimizzato per essere copiato direttamente su CBM prg Studio.

Se invece siete ansiosi di provare il gioco su un C128 reale o su un emulatore, scaricate il file Go-To-Ziri.d64 dal nostro sito retromagazine.net.

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:  Go To Ziri – Commodore 128 – Basic V 7.0


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
10 RIC$=CHR$(20)+CHR$(20)+"ella cpu":QWA=100
20 RY=0
30 RT=0
40 FORA=0TO7:POKE2040+A,56+A:NEXT
50 COLOR1,12:COLOR2,15,5:COLOR3,7,4:COLOR0,13:COLOR4,13
60 Z=0:V=14:XD=0:FORI=1TO5:GH(I)=0:NEXT:IFRY=1THENGOTO890
70 SPRCOLOR2,7
80 PRINTCHR$(19)+CHR$(19):GOSUB1930:XD=1
90 RESTORE:FAST:FORA=3584TO4031:READB:POKEA,B:NEXT:SLOW
100 PRINTCHR$(147):SPRSAV6,8
110 GOSUB1310
120 TEMPO6
130 PLAY"v1o4t7u8x0 v2o4t7u8x0"
140 PLAY"v2o1ia v1o3ie v2o2qa v1o3sao4co3bem"
150 PLAY"v2o2i#g v1o3sbo4do4ic v2o2saem"
160 SPRITE1,0:SPRITE8,0
170 PLAY"v1o4ie v2o2sao3c v1o3i#g v2o2sbem"
180 PLAY"v1o4ie v2o2sbo3dm"
190 GRAPHIC3
200 PLAY"v2o3ic v1o3sae v2o2ia v1o3sao4cm"
210 SPRITE1,1:SPRITE8,1:SPRITE2,0:SPRITE7,0
220 PLAY"v2o2i#g v1o3sbe v2o2ie v1o3sbo4dm"
230 IFRT=0THENGRAPHIC1
240 PLAY"v1o4ic v2o2sae v1o3ia v2o2sao3cm"
250 PLAY"v1o4qr v2o2sbebo3dm"
260 SPRITE2,1:SPRITE7,1:SPRITE3,0:SPRITE6,0
270 PLAY"v2o3ic v1o4sre v2o2ia v1o4scem"
280 IFRT=0THENGRAPHIC3
290 PLAY"v2o3ic v1o3sao4c v2o2ia v1o2segm"
300 PLAY"v1o3if v1o3sdo2a v1o3ia v1o2sfam"
310 SPRITE3,1:SPRITE6,1:SPRITE4,0:SPRITE5,0
320 PLAY"v1o4id v2o2sdf v1o4if v2o1sao2cm"
330 PLAY"v2o1ib v1o4sfd v2o2id v1o3sbo4dm"
340 PLAY"v2o2ig v1o3sgb v2o2ib{space*2}v1o3sdfm"
350 SPRITE4,1:SPRITE5,1
360 PLAY"v1o3ie v2o2sge v1o3ig v2o2segm"
370 SPRITE1,1,1,0,0,1,RT
380 PLAY"v1o4ic v2o2sce v1o4ie v2o1sgbm"
390 SPRITE2,1,2,0,0,1,RT
400 PLAY"v2o1ia v1o3sec v2o2ic v1o3sao4cm"
410 IFRT=1THENGRAPHIC1
420 SPRITE3,1,3,0,0,1,RT
430 PLAY"v2o3ha v1o3saeceo3qam"
440 SPRITE4,1,4,0,0,1,RT
450 PLAY"v1o3if v2o3sdf v1o4id v1o3sdfm"
460 SPRITE5,1,5,0,0,1,RT
470 IFRT=0THENGRAPHIC3
480 PLAY"v1o3ie v2o2sge v1o3ig v2o3segm"
490 SPRITE6,1,6,0,0,1,RT
500 PLAY"v1o3ie v2o3sce v1o4ic v2o1sao2c"
510 SPRITE7,1,7,0,0,1,RT
520 PLAY"v2o1if v1o4sec v2o1id v1o3sfam"
530 IFRT=0THENGRAPHIC1
540 SPRITE8,1,8,0,0,1,RT
550 PLAY"v1o3id v2o1sgo2g v1o3ig v2o2sfgm"
560 PLAY"v2o1ia v1o3sco3a v2o2i#f v1o4scem"
570 FAST:FORA=1TO8:SPRITEA,1,16-A,0,0,0,RT:NEXT:SLOW
580 PLAY"v2o1ib v1o4sdo3b v2o2i3g v1o4sdfm"
590 FAST:FORA=1TO8:SPRITEA,1,15-A,0,0,1,RT:NEXT:SLOW
600 PLAY"v2o2ic v1o4sec v2o2ia v1o4segm"
610 GRAPHIC3
620 FAST:FORA=1TO8:SPRITEA,1,14-A,0,0,0,RT:NEXT:SLOW
630 PLAY"v2o2id v1o4sfe v2o2i$b"
640 FAST:FORA=1TO8:SPRITEA,1,A,0,0,1,RT:NEXT:SLOW
650 PLAY"v2o2i#g v1o3sbo4c v2o2if v1o4sdem"
660 FAST:FORA=1TO8:SPRITEA,1,13-A,0,0,0,RT:NEXT:SLOW
670 PLAY"v2o2id v1o4sfd v2o1ib v1o4s#gdm"
680 FAST:FORA=1TO8:SPRITEA,1,17-A,0,0,1,RT:NEXT:SLOW
690 PLAY"v2o2i#g v1o4sbd v2o2ia v1o4scam"
700 FAST:FORA=1TO8:SPRITEA,1,A,0,0,0,RT:NEXT:SLOW
710 PLAY"v2o2id v1o4sfd v2o2ie v1o3sbo4dm"
720 FAST:FORA=1TO8:SPRITEA,1,12-A,0,0,1,RT:NEXT:SLOW
730 PLAY"v2o2if v1o3s#gb v2o2i#d v1o4sco3am"
740 FAST:FORA=1TO8:SPRITEA,1,11-A,0,0,0,RT:NEXT:SLOW
750 PLAY"v2o2ie v1o3sea v2o2ie v1o3sb#gm"
760 PLAY"v2o1ha v1o3saeceo2qam"
770 IFRT=1THENRETURN
780 IFRT=.1THENGRAPHIC0:END
790 GRAPHIC0
800 PRINTCHR$(147):FORC=1TO8:SPRITEC,0:NEXT:FORA=3584TO3711:READB:POKEA,B:NEXT:FORB=0TO39:POKE1984+B,160:NEXT
810 MOVSPR1,170,200:MOVSPR2,0#0:MOVSPR2,290,220:SPRITE2,1,1,0,1,0,1
820 SPRITE1,1,1,0,1,1,1:SPRITE2,1,1,0,1,0,1
830 PLAY"v1o4t7u8x0 v2o4t7u8x0"
840 PLAY"v2o1ia v1o3ie v2o2qa v1o3sao4co3bem"
850 PLAY"v2o2i#g v1o3sbo4do4ic v2o2saem"
860 PLAY"v1o4ie v2o2sao3c v1o3i#g v2o2sbem"
870 MOVSPR2,270#1
880 FORA=0TO3000:NEXT
890 SPRITE1,0:SPRITE2,0:RESTORE1660:FORA=3584TO3647:READB:POKEA,B:NEXT
900 FAST
910 FORA=1TO5:RESTORE1680:FORB=3584+(64*A-1)TO3647+(64*A-1):READC:POKEB,C:NEXTB,A
920 SLOW
930 GRAPHIC1,1
940 FORA=0TO249:POKEA+1024,160:POKEA+1270,160:POKEA+1530,160:POKE1780+A,160:NEXT
950 GRAPHIC0
960 WINDOW12,0,30,24,1
970 CHAR1,2,15,"premi un tasto",1:GETKEYA$:PRINTCHR$(147)
980 SPRCOLOR2,12:MOVSPR1,160,200
990 FORA=1TO6:SPRITEA,1,1,0,0,0,1:NEXT
1000 FORA=2TO5:MOVSPRA,180#A:NEXT
1010 MOVSPR2,123,10:MOVSPR3,176,0:MOVSPR4,210,150:MOVSPR5,242,70:MOVSPR6,176,90:MOVSPR6,180#3:MOVSPR4,180#3:MOVSPR5,180#2
1020 T=0:FORA=2TO6:BX(A)=RSPPOS(A,0):NEXT
1030 GOSUB1440
1040 IFBUMP(1)=5ORBUMP(1)=3ORPEEK(53278)=17ORBUMP(1)=45ORBUMP(1)=33ORBUMP(1)=9THENV=V-1:PLAY"cc"
1050 IFV<=0THEN2930
1060 A=INT(RND(0)*4)+2:IFA=4THENA=5
1070 MOVSPRA,BX(A)+INT(RND(0)*20),RSPPOS(A,1)
1080 T=T+1:IFT=>250THEN1100
1090 GOTO1030
1100 FAST:FORA=1TO8:SPRITEA,0:NEXT:SLOW
1110 SPRCOLOR2,7
1120 PLAY"badde":IFZ=1THEN1140
1130 FORC=0TO1:RESTORE1700:FORA=3968+64*C-1TO3968+64*(C+1)-1:READB:POKEA,B:NEXTA,C
1140 SPRITE1,1:SPRITE8,1,8,0,0,1,0:SPRITE7,1,8,0,0,1,0:MOVSPR8,176,157:MOVSPR7,166,157:MOVSPR1,170,197
1150 POKE53280,0:POKE53281,0:IFZ=1THENSPRITE2,1:SPRITE3,1:SPRITE4,1,1:SPRITE5,1,1:SPRITE6,1,1:GOTO1170
1160 FORA=1TO6:SPRITEA,1,1,0,0,0,1:NEXT
1170 MOVSPR2,127,5:MOVSPR3,181,0:MOVSPR4,205,150:MOVSPR5,232,0:MOVSPR6,173,89:MOVSPR6,180#3:MOVSPR4,180#4:MOVSPR5,180#4
1180 FORA=2TO5:MOVSPRA,180#A:NEXT
1190 GOSUB1440:MOVSPR8,RSPPOS(1,0)+6,154:MOVSPR7,RSPPOS(1,0)-4,154
1200 IFBUMP(1)=225ORBUMP(1)=253ORBUMP(1)=237ORBUMP(1)=195ORBUMP(1)=208ORBUMP(1)=201THENV=V-1:PLAY"cc"
1210 IFV<=0THEN2930
1220 A=INT(RND(0)*4)+2:IFA=4THENA=5
1230 MOVSPRA,BX(A)+INT(RND(0)*4),RSPPOS(A,1)
1240 T=T+1:IFT>=400THENZ=Z+1:IFZ<2THEN1850
1250 IFZ=2THEN1910
1260 GOTO1190
1270 IFT=>250THEN1120
1280 PLAY"v3o1ccc"
1290 CHAR1,4,12,"fine gioco",1:FORA=1TO8:SPRITEA,0:NEXT
1300 CHAR1,2,15,"premi un tasto",1:GETKEYA$:RESTORE1620:GOTO800
1310 FORA=1TO8:SPRITEA,1,A,0,0,0,0:MOVSPRA,INT(RND(0)*320),INT(RND(0)*200):MOVSPRA,INT(RND(0)*360)#A+6:NEXT
1320 FORT=0TO999:NEXT:FORA=1TO8:MOVSPRA,0#0:NEXT
1330 MOVSPR1,64,70
1340 MOVSPR2,91,70
1350 MOVSPR3,130,70
1360 MOVSPR4,157,70
1370 MOVSPR5,201,70
1380 MOVSPR6,222,70
1390 MOVSPR7,249,70
1400 MOVSPR8,266,70
1410 CHAR1,17,15,"by"
1420 CHAR1,10,18,"gabriele mutarelli"
1430 RETURN
1440 GETA$
1450 IFA$=","THENMOVSPR1,RSPPOS(1,0)-5,RSPPOS(1,1):IFRSPPOS(1,0)<120THENMOVSPR1,120,RSPPOS(1,1):PLAY"ia"
1460 IFA$="."THENMOVSPR1,RSPPOS(1,0)+5,RSPPOS(1,1):IFRSPPOS(1,0)>248THENMOVSPR1,248,RSPPOS(1,1):PLAY"ia"
1470 RETURN
1480 DATA63,255,248,127,255,248,128,0,24,192,0,24,192,0,0,192,0,0,192
1490 DATA0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,31,192,0,31,192,0,24,192,0,24,192,0,24,192,0,24,192,0,24,127,255,248,63,255,248,0
1500 DATA63,255,252,127,255,254,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0
1510 DATA3,192,0,3,127,255,254,63,255,252,255
1520 DATA255,255,255,255,255,255,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0
1530 DATA0,60,0,0
1540 DATA63,255,252,127,255,254,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0
1550 DATA3,192,0,3,127,255,254,63,255,252
1560 DATA255,63,255,240,63,255,240,0,0,48,0,0,96,0,0,192,0,1,128,0,3,0,0,6,0,0,12,0,0,24,0,0,48
1570 DATA0,0,96,0,0,192,0,1,128,0,3,0,0,6,0,0,12,0,0,24,0,0,48,0,0,63,255,224,63,255,224,0
1580 DATA63,255,252,63,255,252,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,255,255
1590 DATA255,255,255,255,0
1600 DATA63,254,0,127,255,0,192,3,0,192,3,0,192,3,0,192,3,0,192,3,0
1610 DATA192,3,0,192,3,0,192,3,0,255,254,0,255,252,0,216,0,0,204,0,0,198,0,0,195,0,0,193,128,0,192,192,0,192,96,0,192,48,0,192,24,0,0
1620 DATA0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8,0,32,5,85,80,4,0,16,5,85,80,4,0,16,5,85,80,5,170,80,5,170,80,6,170,144,5,170,80,5,85,80,2,0,128,2,0
1630 DATA128,0
1640 DATA0,0,0,0,5,64,0,5,80,0,13,80,0,13,80,0,5,64,0,1,0,0,5,64
1650 DATA3,23,80,3,223,80,0,61,80,0,21,80,0,21,80,0,21,80,0,21,80,0,8,128,0,8,128,0,8,128,0,8,128,0,8,128,0,42,128,0
1660 DATA0,0,0,0,20,0,0,85,0,1,85,64,33,125
1670 DATA72,41,215,104,33,215,72,1,215,64,1,215,64,1,255,64,1,85,64,1,0,64,1,85,64,33,0,72,33,85,72,41,170,104,33,170,72,1,170,64,1,105,64,0,85,0,0,0,0,0,0
1680 DATA0,0,170,0,0,40,0,0,40,0,0,170,0,40,190,40,42,190,168,40,190,40,0,190,0,0,190,0,0,190,0,2,170,128,2,150,128,162,150,138,162,150,138,170,190,170,162,170
1690 DATA138,162,170,138,2,170,128,0,40,0,2,40,128,2,170,128
1700 DATA0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,255,192,31,255,224,63,255,240,63,255,240,127,255
1710 DATA248,127,255,248,63,255,240,31,255,224,15,255,192,7,255,128,3,255,0,1,254,0,0,252,0,0,120,0,0,48,0
1720 DATA252,127,255,254,255,207,255,255,207,255,255,255,255,131,206,127,187,206,127,187,206,127,187,206,127,131,206,15,255,255,255,255,255,255,255,255
1730 DATA255,255,255,255,255,255,255,255,255,255,127,255,252,63,255,248,31,255,240,0,0,0,0,0,0,0,0,0
1740 DATA0,1,1,0,1,33,0,10,170,128,10,254,128,11,255,128,10,170,128,10,170,128,0,168,0,0,168,0,42,170
1750 DATA160,42,170,160,42,170,160,42,170,160,42,170,160,42,170,160,42,170,160,42,170,160,42,170,160,42,170,160,42,170,160,42,170,160,0,0,0
1760 DATA0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,29,0,0,127,64,5,255,208,21,255,212,5,127,85,21,93,84,5,85,80,6,85,144,2,0,128,2,0
1770 DATA128,0,16
1780 DATA254,0,3,255,131,103,255,192
1790 DATA15,255,231,159,255,240,63,255,248,62,43,248,126,171,252,126,171,252,126,171,252,126,40,252,127
1800 DATA255,252,127,255,252,127,255,252
1810 DATA63,255,248,63,255,248,159,255,240,15,255,224,71,255,204,3,255,128,80,254,24,0,16,254,0,3,255
1820 DATA131,103,255,192,15,255,231,159,131,240,63,187,248,63,131,248,127,255,252,127,131,252,127,255,252,127,131,252,127,191,252,127,191,252,127,255,255,63,255
1830 DATA248,63
1840 DATA255,248,159,255,240,15,255,224,71,255,204,3,255,128,80,254,16
1850 FORA=2TO6:SPRITEA,0:NEXT
1860 FORA=1TO2:RESTORE1720:FORB=3584+(64*A-1)TO3647+(64*A-1):READC:POKEB,C:NEXTB,A
1870 FORA=3TO5:RESTORE1740:FORB=3584+(64*A-1)TO3647+(64*A-1):READC:POKEB,C:NEXTB,A
1880 PRINTCHR$(147):POKE53280,12:POKE53281,12
1890 SPRITE2,1,1,0,0,0,0:SPRITE3,1,1,0,0,0,0:SPRITE4,1,7,0,0,1,1:SPRITE5,1,8,0,0,1,1:SPRITE6,1,12,0,0,1,1:SPRITE7,0:SPRITE8,0
1900 T=0:GOTO1020
1910 XD=1
1920 FORG=1TO8:SPRITEG,1,17-G,0,0,0,0:NEXT:T=T*2
1930 DATA0,4,0,0,38,0,0,21,128,0,213,128,0,221,128,0,255,128,0,213,128,0,213,128,2,213,208,1,213,208,1,214,208,1,214,208,1,214,208,5,214,216,9,214,216,9,214,216
1940 DATA9,214,212,25,218,213,41,218,234,0,165,64,0,165,64,3
1950 RESTORE1930:POKE53265,27:FORI=1TO8:SPRITEI,0:NEXT
1960 FAST:FORA=3584TO3584+63:READB:POKEA,B:NEXT:GRAPHIC3,1
1970 FORA=2TO8:MOVSPRA,0#0:NEXT
1980 CIRCLE1,80,100,40,50
1990 CIRCLE3,80,100,70,30,27,327,20
2000 CIRCLE3,80,90,70,30,23,335,20
2010 PAINT3,80,130
2020 PAINT1,80,100,1:PAINT1,80,135,1
2030 CIRCLE3,80,100,40,50
2040 PAINT2,40,60,1
2050 PAINT2,120,80,1
2060 CIRCLE1,30,20,10:PAINT3,30,20,1
2070 CIRCLE2,30,160,10:PAINT1,30,160,1
2080 CIRCLE3,130,160,10:PAINT2,130,160,1
2090 CIRCLE2,130,20,10:PAINT1,130,20,1
2100 SLOW
2110 KJ=1:GH=0:FORA=0TO5:GRAPHIC1:FORT=0TO349:NEXT:GRAPHIC3:FORT=0TO349:NEXT:NEXT:IFXD=0THENRETURN
2120 MOVSPR1,160,200:T=T+J
2130 SPRCOLOR13,2:GRAPHIC3:POKE53278,0:POKE53265,27:SPRITE1,1,1,0,0,0,1
2140 GETA$
2150 IFA$=""THEN2140
2160 T=T+1
2170 IFA$=","THENMOVSPR1,RSPPOS(1,0)-6,RSPPOS(1,1)
2180 IFA$="."THENMOVSPR1,RSPPOS(1,0)+6,RSPPOS(1,1)
2190 IFA$="^"THENMOVSPR1,RSPPOS(1,0),RSPPOS(1,1)-6
2200 IFA$=" "THENMOVSPR1,RSPPOS(1,0),RSPPOS(1,1)+6
2210 IFGH(1)=0THENIFRSPPOS(1,0)=70ANDRSPPOS(1,1)=62THENGH(1)=1:GOTO2310
2220 IFGH(2)=0THENIFRSPPOS(1,0)=274ANDRSPPOS(1,1)=62THENGH(2)=1:GOTO2310
2230 IFGH(3)=0THENIFRSPPOS(1,0)=274ANDRSPPOS(1,1)=200THENGH(3)=1:GOTO2310
2240 IFGH(4)=0THENIFRSPPOS(1,0)=70ANDRSPPOS(1,1)=200THENGH(4)=1:GOTO2310
2250 IFGH(5)=0THENIFRSPPOS(1,0)=172ANDRSPPOS(1,1)=140THENGH(5)=1:GOTO2310
2260 IFGH(1)=1ANDGH(2)=1ANDGH(3)=1ANDGH(4)=1ANDGH(5)=1THEN2710
2270 GOTO2140
2280 DATA15,252,0,5,102,0,10,174,0,15,252,0,96,96,0,247,254,0,248,31
2290 DATA0,127,239,128,127,239,128,56,31,128,31,255,128,7,255,128,31,255,128,15,255,0,7,254,0,3,252,0,2,2,112,2,1,224,194,1,192,63
2300 DATA3,128,31,14,0,15
2310 W=1:E=1:POKE53279,0
2320 RESTORE2280:FAST:FORA=3648TO4032:READB:POKEA,B:NEXT
2330 FORA=0TO255:POKE1024+A,95:POKE1280+A,160:POKE1536+A,255:POKE1792+A,160:NEXT:SLOW:POKE53265,91
2340 DATA1,224,0,3,144,0,1,224,0,0,128,0,15,224,0,31,240,0,60,28,28,56,3,224,60,28,28,63,240,0,63
2350 DATA240,0,63,240,0,63,240,0,63,224,0,31,192,0,16,32,0,16,32,0,16,23,128,16,15,0,124,30,0 120,28,0,0,0
2360 DATA0,124,0,0,206,0,0,124,0,0,16,0,0,126,0,1,255,128,3,255,192,3,255,192,51,129,192,12,0,192,51,129,192,3,255,192,3,255,192,3,255,128,2,255,128,2,0,128,2
2370 DATA0,128,2,0,240,26,0,240,23,5,224,15,3,192,0
2380 DATA0,48,0,0,72,0,0,204,0,0,120,0,0,48,0,3,255,0,23,255,160,62,123,240,54,187,176,54,219,176,54,219,176,54,235,176,54,243,176,51,255,48,81,134,40,81,134,40
2390 DATA1,134,0,1,134,0,1,134,0,1,134,0,7,207,128,51
2400 DATA80,48,40,80,120,40,48,252,48,48,120,48,48,48,48,51,255,48,55,255,176,63,255,240,23,255,160,7,255,128,7,255,128,7,255,128,7,255,128,3,255,0,1,134,0,1
2410 DATA134,0,1,134,0,1,134,0,1,134,0,1,134,0,7,223,128,0,0
2420 DATA85,170,169,93,106,165,213,218,149,85,86,159,85,214,149,253,86,149,85,86,93,255,213,85,255,213
2430 DATA213,255,221,117,255,221,93,255,213,85,85,117,85,117,85,93,125,214,149,85,94,159,215,86,149,245,214,165,85,90,169,125,106,170,87,170,0,0,255
2440 FORA=2TO8:SPRITEA,1:NEXT:SPRITE1,0
2450 POKE2043,57:POKE2044,57:POKE2045,57:POKE2046,62:POKE2047,57:POKE2042,58:POKE2041,57:SPRITE3,1,1:MOVSPR3,160,100
2460 GRAPHIC0
2470 FORA=2TO8:MOVSPRA,INT(RND(0)*320)#5:NEXT:MOVSPR3,0#0:SPRITE7,0
2480 GETKEYA$
2490 IFA$=","THENMOVSPR3,RSPPOS(3,0)-6,RSPPOS(3,1):POKE2042,59:POKE53282,INT(RND(0)*255)
2500 IFA$="."THENMOVSPR3,RSPPOS(3,0)+6,RSPPOS(3,1):POKE2042,58:POKE53283,INT(RND(0)*255)
2510 IFA$="0"THENW=W+1
2520 IFA$="{arrow left}"THENW=W-1
2530 IFA$="^"THENMOVSPR3,RSPPOS(3,0),RSPPOS(3,1)-6:POKE2042,61:POKE53284,INT(RND(0)*255)
2540 IFA$=CHR$(13)THENGOSUB2590
2550 IFA$=" "THENMOVSPR3,RSPPOS(3,0),RSPPOS(3,1)+6:POKE2042,60:POKE53282+INT(RND(0)*3),INT(RND(0)*255)
2560 IFBUMP(1)=6ORBUMP(1)=12ORBUMP(1)=20ORBUMP(1)=36THENV=V-1:PLAY"cc":IFV=<0THEN2930
2570 IFRSPRITE(7,0)=1THENIFBUMP(1)=66ORBUMP(1)=68ORBUMP(1)=80ORBUMP(1)=96THENE=E+1:SPRITEE,0:SPRITE3,1:PLAY"fgf":IFE=6THEN2690
2580 GOTO2480
2590 SPRITE7,1,7,0,0,0,1:SPRCOLOR2,3:MOVSPR7,RSPPOS(3,0),RSPPOS(3,1)
2600 IFPEEK(2042)=59THENMOVSPR7,270#W
2610 IFPEEK(2042)=61THENMOVSPR7,0#W
2620 IFPEEK(2042)=58THENMOVSPR7,90#W
2630 IFPEEK(2042)=60THENMOVSPR7,180#W
2640 IFW<=0THENSPRITE7,0
2650 RETURN
2660 FORA=0TO255:POKE53270,A:NEXT
2670 POKE53270,200:GOTO2930
2680 END
2690 FORA=2TO8:SPRITEA,0:MOVSPRA,0#0:NEXT
2700 GOTO2130
2710 FAST:GRAPHIC3,1:COLOR1,3,0
2720 CIRCLE1,60,70,20,30,270,90
2730 CIRCLE1,100,70,20,30,270,90
2740 CIRCLE1,60,70,20,90,180,270
2750 CIRCLE1,100,70,20,90,90,180
2760 CIRCLE1,80,150,30,20,90,270
2770 PAINT1,80,100
2780 RESTORE3110:FORI=4032TO4095:READB:POKEI,B:NEXT
2790 RESTORE1640:FORI=3584TO3648:READB:POKEI,B:NEXT
2800 MOVSPR1,210,130:SPRITE1,1,1,0,1,1,1
2810 MOVSPR8,130,130:SPRITE8,1,11,0,1,1,1
2820 SPRCOLOR2,8
2830 SPRSAV1,2:SPRSAV1,3:SPRSAV1,4:SPRSAV8,7:SPRSAV8,6:SPRSAV8,5
2840 FORA=2TO4:SPRITEA,1,1,0,0,0,1:SPRITEA+3,1,11,0,0,0,1:NEXT
2850 MOVSPR2,260,150
2860 MOVSPR3,280,150
2870 MOVSPR4,300,150
2880 MOVSPR5,40,150
2890 MOVSPR6,60,150
2900 MOVSPR7,80,150
2910 SLOW:RT=1:GOSUB120
2920 WRE$="la principessa ziri ":GOTO2940
2930 WRE$=" termine "
2940 WINDOW0,0,39,24,1:GRAPHIC0:PRINTCHR$(147)"complimenti!?!?!?!?!?!?!?!?!?!"
2950 FORA=1TO8:SPRITEA,0:NEXT
2960 PRINT"anche se io avrei saputo far di meglio.."
2970 PRINT"sei arrivato al"WRE$"con "V" vite"
2980 IFV>5THENPRINT"tu sei un drogato dei video games?!?!?"
2990 PRINT"hai resistito ed hai guadagnato $"T"$ dollari"
3000 PRINT"il massimo guadagno in dollari era stato di "RIC$" con $"QWA"$ dollari"
3010 IFT>QWATHENQWA=T:INPUT"il tuo nome grazie";RIC$
3020 PRINT"vuoi giocare ancora?"
3030 GETKEYU$
3040 IFU$="n"THENPRINT"come!!non vuoi giocare?!?!cosa!!!questo gioco ti fa schifo!?!bello tu tze.be' almeno la presentazione ti faro'risentire":RT=.1:GOTO3060
3050 IFU$="s"ORU$="y"THEN3070
3060 SLEEP9:RY=0:GOSUB40:END
3070 PRINT"vuoi rigiocare con o senza presentazione???????????????????????????????????????"
3080 GETKEYRY$
3090 IFRY$="c"THENPRINT"bravo":SLEEP4:GOTO20
3100 IFRY$="s"THENPRINT"l'ho sempre detto io che hai dei gusti{space*2}pessimi,comunque...eccoti accontentato...":SLEEP4:RY=1:GOTO30
3110 DATA0,0,0,10,160,0,57,80,0,229,16,0,181,84,0,229,80,0,177,64,0
3120 DATA5,84,0,21,84,16,21,1,64,21,84,16,21,84,0,21,84,0,5,84,0,1,16,0,1,16,0,1,16,0,1,16,0,1,16,0,1,19,0,3,252,0,233
3130 REM GO TO ZIRI
3140 REM SOLO PER C128
3150 REM BY GABRIELE MUTARELLI
3160 REM GIUGNO 1986

Share

2 thoughts on “Go to Ziri – Commodore 128 – Basic V 7.0

  1. Anch’io avevo quell’enciclopedia, ma avendo un C=16 non potevo provare a digitare questi programmi. Bravissimi per la pazienza a digitare tutto!!

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.