4
5
6
7
8
10 DEFINT A-Z
12 DIM C(2),M$(2),S(2),V(2),X(2),Y(2),SC!(2),BD$(10),BU$(10)
15 SCREEN 1:KEY OFF:COLOR 15,1:WIDTH 32:GOSUB 500
20 INTERVAL OFF:SCREEN 1,2,0:COLOR 7,1,1
40 GOSUB 300
55 GOSUB 900
60 IF NP>1 THEN GOSUB 4250
100
110 J=0:VY=1
116 GOSUB 3600:GOSUB 4300:GOSUB 2000:GOSUB 4400:GOSUB 4200:GOSUB 3450
120 ON INTERVAL=60 GOSUB 4000:INTERVAL ON:GOSUB 4000
125 ON SPRITE GOSUB 3000:SPRITE ON
130 GOSUB 1500
149
150 IF X(P)>238 THEN X(P)=0:S(P)=S(P)+4:PA(P)=PA(P)+1:SC!(P)=SC!(P)+500:GOSUB 4200:GOSUB 2000
151 IF X(P)<3 THEN X(P)=3
152 GOSUB 5300
154 IF J=0 THEN S=STICK(M) ELSE 200
155 IF VY>3 THEN VY=3
156 D=6209+((X(P)\8)+(Y(P)\8)*32):VD=VPEEK(D):VE=VPEEK(D-31)
157 IF VD=192 THEN Y(P)=Y(P)+VY:VY=VY+1:NS=0:GOSUB 1500:GOTO 150 ELSE NS=NS+1
159 IF NS=1 THEN Y(P)=(Y(P)\8)*8
160 IF STRIG(M) THEN J=1:VY=5:PLAY "v13l32o5eb"
170 IF S=3 THEN VX=4:GOTO 220
180 IF S=7 THEN VX=-4:NS=2:GOTO 260
185 IF S>0 THEN 190
186 VX=0:NS=2
187 IF F=3 THEN F=2 ELSE IF F=5 THEN F=4
188 GOSUB 1500
190 K$=INKEY$:IF K$<>"" THEN IF ASC(K$)=27 THEN 20
191
192
193
194
195 GOTO 150
200
205 IF S=7 THEN 215
206 F=3
207 D=6114+((X(P)\8)+(Y(P)\8)*32):IF VPEEK(D)<>192 THEN J=0:GOTO 150
213 GOTO 216
215 D=6112+((X(P)\8)+(Y(P)\8)*32):IF VPEEK(D)<>192 THEN J=0:GOTO 150
216 X(P)=X(P)+VX:Y(P)=Y(P)-VY
217 D=6209+((X(P)\8)+(Y(P)\8)*32):IF VPEEK(D)<>192 THEN J=0:VY=1:Y(P)=(Y(P)\8)*8
218 IF J>0 THEN VY=VY-1:IF VY<-5 THEN VY=-5
219 GOSUB 1500:GOTO 150
220
222 D=6178+((X(P)\8))+((Y(P)\8)*32)
224 IF VPEEK(D)=192 THEN X(P)=X(P)+VX
226 IF F=2 THEN F=3 ELSE F=2
230 GOSUB 1500:GOTO 150
260
262 D=6176+((X(P)\8))+((Y(P)\8)*32)
265 IF VPEEK(D)=192 THEN X(P)=X(P)+VX
266 IF F=4 THEN F=5 ELSE F=4
270 GOSUB 1500:GOTO 150
290 END
300
310
320 RESTORE 400
325 LOCATE 11,12
330 FOR R=1 TO 11
332 S$="":PRINT ".";
334 FOR I=0 TO 31
336 READ D
338 S$=S$+CHR$(D)
340 NEXT I
342 SPRITE$(R)=S$
344 NEXT R
395 RETURN
400
403
404 DATA &h10,&h10,&h10,&h38,&h38,&h38,&h38,&h7c, &h7c,&h7c,&h7c,&h7c,&h7c,&hfe,&hfe,&hff
405 DATA &h10,&h10,&h10,&h38,&h38,&h38,&h38,&h7c, &h7c,&h7c,&h7c,&h7e,&h7e,&hff,&hff,&hff
406
407 DATA 0,1,1,0,0,&h80,&h80,&h7f, &h3f,&h3f,&h3f,&h3f,&h38,&h30,&h30,&h30
408 DATA &hc0,&h20,&h30,&h98,&h34,&h3e,&h7e,&hf8, &hf0,&hf0,&he0,&he0,&h60,&h60,&h60,&h60
409
410 DATA 0,0,0,0,0,&h80,&h80,&h7f, &h3f,&h3f,&h3f,&h3f,&h70,&he0,&hc0,&h80
411 DATA &h60,&h90,&h98,&h4c,&h1a,&h1f,&h3f,&hfc, &hf8,&hf0,&he0,&hf0,&h38,&h1c,&h0c,0
412
413 DATA &H03,&H04,&H0C,&H19,&H2C,&H7C,&H7E,&H1F, &H0F,&H0F,&H07,&H07,&H06,&H06,&H06,&H06
414 DATA &H00,&H80,&H80,&H00,&H00,&H01,&H01,&HFE, &HFC,&HFC,&HFC,&HFC,&H1C,&H0C,&H0C,&H0C
415
416 DATA &H06,&H09,&H19,&H32,&H58,&HF8,&HFC,&H3F, &H1F,&H0F,&H07,&H0F,&H1C,&H38,&H30,&H00
417 DATA &H00,&H00,&H00,&H00,&H00,&H01,&H01,&HFE, &HFC,&HFC,&HFC,&HFC,&H0E,&H07,&H03,&H01
418
419 DATA &H00,&H00,&H00,&H02,&H04,&H35,&H7B,&HFF
420 DATA &HFF,&HFF,&HFF,&HFF,&H7F,&H7F,&H3F,&H1B
421 DATA &H00,&H00,&H00,&H00,&H00,&H80,&HC0,&H60
422 DATA &HA0,&HA0,&HA0,&HE0,&HC0,&HC0,&H80,&H00
423
424 DATA 0,0,0,0,0,0,0,0, 0,0,0,&h20,&h71,&hfb,&hff,&hff
425 DATA 0,0,0,0,0,0,0,0, 0,0,0,&h82,&hc7,&hef,&hff,&hff
426
427 DATA &H00,&H10,&H60,&HFF,&H60,&H10,&H00,&H00
428 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
429 DATA &H05,&H0A,&H14,&HFF,&H14,&H0A,&H05,&H00
430 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
431
432 DATA &H00,&H31,&H7B,&HED,&HB7,&H1F,&H0B,&H03, &H01,&H00,&H00,&H00,&H00,&H00,&H00,&H00
433 DATA &H00,&H8C,&HDE,&HB7,&HED,&HF8,&HD0,&HC0, &H80,&H00,&H00,&H00,&H00,&H00,&H00,&H00
434
435 DATA &H00,&H00,&H01,&H03,&H01,&H1F,&H37,&H6F, &H7B,&H41,&H20,&H00,&H00,&H00,&H00,&H00
436 DATA &H00,&H00,&H80,&HC0,&H80,&HF8,&HEC,&HF4, &HCE,&H82,&H04,&H00,&H00,&H00,&H00,&H00
437
438 DATA &H00,&H00,&H03,&H0F,&H3B,&H6F,&H7F,&H01, &H03,&H01,&H01,&H01,&H03,&H03,&H07,&H00
439 DATA &H00,&HF0,&HD8,&H7C,&HF6,&HBE,&HE0,&H80, &HC0,&H80,&H80,&H80,&H80,&H00,&H00,&H00
490 RETURN
500
510 CLS:LOCATE ,4
520 ST$="PLEASE SELECT LANGUAGE":GOSUB 4480:PRINT:PRINT
530 ST$="1) Espa€ol":GOSUB 4480:PRINT
535 ST$="2) English":GOSUB 4480
550 K$=INKEY$
555 IF K$="" THEN 550
560 IF K$="1" THEN GOSUB 600:RETURN
565 IF K$="2" THEN GOSUB 700:RETURN
580 GOTO 550
600
610 PAR$="Por"
612 SUB$="una aventura cabruna"
614 J1$="JUGADOR"
615 J2$="JUGADORES"
616 J3$="JUGADOR con"
617 J4$="JUGADORES con"
618 TEC$="TECLADO"
619 JOY$="JOYSTICK"
620 NC$="NIVEL COMPLETADO"
621 FI$="F I N"
622 CO$="CONTINUARA"
623 TF$="TIEMPO"
690 RETURN
700
710 PAR$="By"
712 SUB$="a goatish adventure"
714 J1$="PLAYER"
715 J2$="PLAYERS"
716 J3$="PLAYER with"
717 J4$="PLAYERS with"
718 TEC$="KEYBOARD"
719 JOY$="JOYSTICK"
720 NC$="LEVEL COMPLETED"
721 FI$="T H E E N D"
722 CO$="TO BE CONTINUED"
723 TF$="TIME OUT"
790 RETURN
900
905 CLS
906 RESTORE 4845:CH=45:GOSUB 4700
908 W=BASE(6):VPOKE W+17,&H60:VPOKE W+18,&H60:VPOKE W+19,&H60:VPOKE W+20,&H60:VPOKE W+21,&H60
910 RESTORE 6000:W=BASE(7)+136*8
914 FOR I=W TO W+264
916 READ B:VPOKE I,B
918 NEXT
921 LOCATE 9,4:FOR I=136 TO 165 STEP 2:PRINT CHR$(I);:NEXT
922 LOCATE 9,5:FOR I=137 TO 165 STEP 2:PRINT CHR$(I);:NEXT
923 LOCATE 9+2,6:PRINT CHR$(166);CHR$(168)
928 LOCATE 9-2,7:PRINT SUB$
930 LOCATE 9+0,10:PRINT "Oscar Urra, 2022"
935
940 LOCATE 2,16:PRINT "1- 1 ";J3$;" ";JOY$
950 LOCATE 2,18:PRINT "2- 2 ";J4$;" ";JOY$
960 LOCATE 2,20:PRINT "3- 1 ";J3$;" ";TEC$
970 LOCATE 2,22:PRINT "4- 2 ";J4$;" ";TEC$
1000 K$=INKEY$
1010 IF K$="" THEN 1000
1020 IF K$="1" THEN NP=1:M=1:GOTO 1070
1030 IF K$="2" THEN NP=2:M=1:GOTO 1070
1040 IF K$="3" THEN NP=1:M=0:GOTO 1070
1050 IF K$="4" THEN NP=2:M=0:GOTO 1070
1060 GOTO 1000
1070
1075 CLS
1077 PLAY "v14l10o4efegefegefego5efegefegefeg","v09l10o3efegefegefegefegefegefeg"
1080 P=1:V(1)=3:TI=51:YI=120:F=3
1082 IF NP=1 THEN V(2)=-1 ELSE V(2)=V(1)
1085 C(1)=15:C(2)=11
1090 X(1)=8:X(2)=X(1)
1100 Y(1)=YI:Y(2)=Y(1)
1105 L(1)=1:L(2)=1
1106 SC!(1)=0:SC!(2)=SC!(1)
1108 TI(1)=21+TI:TI(2)=TI(1)
1109
1110 M$(1)="112345492392356854492392349123912345449239235568":M$(2)=M$(1)
1115 O$(1)="@@@@@A@E@@E@@@B@AE@E@@F@@E@C@@@C@@F@@BE@@@E@A@@D":O$(2)=O$(1)
1116
1117
1118 FO$="001010020010002100200110021221020120"
1120 S(1)=1:S(2)=S(1)
1121 PA(1)=1:PA(2)=PA(1)
1130
1140 GOSUB 4500:GOSUB 4000:GOSUB 4450:GOSUB 4350:GOSUB 4100:GOSUB 4200
1150 IF NP=2 THEN P=2:Q=0:GOSUB 4200:P=1
1200 RETURN
1500
1510 PUT SPRITE 0,(X(P), Y(P)),C(P),F
1590 RETURN
2000
2003 INTERVAL OFF:SPRITE OFF
2004 GOSUB 5800
2005 IF S(P)>48 THEN GOSUB 3500
2010 XT=0:YT=15:FX=0:FY=0
2012 FO(P)=VAL(MID$(FO$,PA(P),1)):XE=0:YE=0
2018 LOCATE 0,YT+5:FOR I=1 TO 32:PRINT CHR$(136);:NEXT I
2020 FOR I=S(P) TO S(P)+3
2030 N=VAL(MID$(M$(P),I,1))
2035
2040 ON N GOSUB 2100,2200,2300,2400,2470,2540,2550,2560,2570
2042 N=ASC(MID$(O$(P),I,1))-64
2044 ON N GOSUB 2900,2910,2920,2930,2940,2950
2050 XT=XT+8
2060 NEXT I
2080 SPRITE ON:INTERVAL ON
2099 RETURN
2100
2110 LOCATE XT,YT :PRINT "ÀÀÀÀÀÀÀÀ"
2120 LOCATE XT,YT+1:PRINT "ÀÀÀÀÀÀÀÀ"
2130 LOCATE XT,YT+2:PRINT "ÀÀÀÀÀÀÀÀ"
2140 LOCATE XT,YT+3:PRINT "ÀÀÀÀÀÀÀÀ"
2150 LOCATE XT,YT+4:PRINT "ÀÀÀÀÀÀÀÀ"
2160 RETURN
2200
2210 LOCATE XT,YT :PRINT "ÀÀÀÀÀÀÀÀ"
2220 LOCATE XT,YT+1:PRINT "ÀÀÀÀÀÀÀÀ"
2230 LOCATE XT,YT+2:PRINT "ÀÀÀÀÀÀab"
2240 LOCATE XT,YT+3:PRINT "ÀÀÀabbbb"
2250 LOCATE XT,YT+4:PRINT "ÀÀabbbbb"
2260 RETURN
2300
2310 LOCATE XT,YT :PRINT "ÀÀÀabcÀÀ"
2320 LOCATE XT,YT+1:PRINT "ÀÀabbbcÀ"
2330 LOCATE XT,YT+2:PRINT "bbbbbbbc"
2340 LOCATE XT,YT+3:PRINT "bbbbbbbb"
2350 LOCATE XT,YT+4:PRINT "bbbbbbbb"
2360 RETURN
2400
2410 LOCATE XT,YT :PRINT "ÀÀÀÀÀÀÀÀ"
2420 LOCATE XT,YT+1:PRINT "ÀÀÀÀÀÀÀÀ"
2430 LOCATE XT,YT+2:PRINT "ÀÀabbcÀÀ"
2440 LOCATE XT,YT+3:PRINT "bbbbbbbb"
2450 LOCATE XT,YT+4:PRINT "bbbbbbbb"
2460 RETURN
2470
2480 LOCATE XT,YT :PRINT "ÀÀÀÀÀÀÀÀ"
2490 LOCATE XT,YT+1:PRINT "ÀÀÀÀÀÀÀÀ"
2500 LOCATE XT,YT+2:PRINT "ÀÀÀÀÀÀÀÀ"
2510 LOCATE XT,YT+3:PRINT "bcÀÀÀÀÀa"
2520 LOCATE XT,YT+4:PRINT "bbcÀÀÀab"
2530 RETURN
2540
2541 LOCATE XT,YT :PRINT "ÀÀÀÀÀÀÀÀ"
2542 LOCATE XT,YT+1:PRINT "ÀÀÀabbbb"
2543 LOCATE XT,YT+2:PRINT "ÀÀabbbbb"
2544 LOCATE XT,YT+3:PRINT "bbbbbbbb"
2545 LOCATE XT,YT+4:PRINT "bbbbbbbb"
2546 RETURN
2550
2551 LOCATE XT,YT :PRINT "ÀÀÀabcÀÀ"
2552 LOCATE XT,YT+1:PRINT "bbbbbbbb"
2553 LOCATE XT,YT+2:PRINT "bbbbbbbb"
2554 LOCATE XT,YT+3:PRINT "bbbbbbbb"
2555 LOCATE XT,YT+4:PRINT "bbbbbbbb"
2556 RETURN
2560
2561 LOCATE XT,YT :PRINT "ÀÀÀÀÀÀÀÀ"
2562 LOCATE XT,YT+1:PRINT "bbbbcÀÀÀ"
2563 LOCATE XT,YT+2:PRINT "bbbbbcÀÀ"
2564 LOCATE XT,YT+3:PRINT "bbbbbbbb"
2565 LOCATE XT,YT+4:PRINT "bbbbbbbb"
2566 RETURN
2570
2571 LOCATE XT,YT :PRINT "ÀÀÀÀÀÀÀÀ"
2572 LOCATE XT,YT+1:PRINT "ÀÀÀÀÀÀÀÀ"
2573 LOCATE XT,YT+2:PRINT "ÀÀÀÀÀÀÀÀ"
2574 LOCATE XT,YT+3:PRINT "bbcÀÀÀÀÀ"
2575 LOCATE XT,YT+4:PRINT "bbbcÀÀÀÀ"
2576 RETURN
2600 RETURN
2900
2905
2906 PUT SPRITE 4,((XT+3)*8,(YT+3)*8),11,1:RETURN
2910
2912 GOSUB 5850:FX=XT*8:FY=(YS-1)*8:FT=30:PUT SPRITE 3,(FX,FY),10,6:RETURN
2920
2922 GOSUB 5850:PUT SPRITE 5,(XT*8,(YS-1)*8),8,7:RETURN
2930 GOSUB 5850
2931 LOCATE XT,YS-1:PRINT CHR$(150);CHR$(151)
2932 LOCATE XT,YS+0:PRINT CHR$(158);CHR$(159)
2935 RETURN
2940 GOSUB 5850:LOCATE XT,YS:PRINT "x":RETURN
2950 GOSUB 5850
2955 FX=XT*8:FY=(YS-1)*8:FT=-10:PUT SPRITE 3,(FX,FY),13,11:RETURN
2990 RETURN
3000
3002 INTERVAL STOP:SPRITE OFF
3004 IF FX=0 THEN 3010
3006 IF (X(P)+15)>FX AND X(P)<(FX+15) AND (Y(P)+15>FY) THEN GOSUB 5900:RETURN
3010 IF TI(P)<=0 THEN ST$=TF$:LOCATE ,10:GOSUB 4480
3011 PLAY "v14l2o2cc","v14l2o2dd","v14l2o2ff"
3012 IF PLAY(0) THEN 3012
3015 FOR R=1 TO 1800:NEXT:GOSUB 5800
3020 V(P)=V(P)-1
3022 LOCATE 0,0:FOR I=0 TO 20:PRINT SPC(32):NEXT
3025 GOSUB 4350
3030 IF V(P)=0 THEN V(P)=V(P)-1:GOSUB 3200
3040 IF V(1)<0 AND V(2)<0 THEN 20
3050 IF P=1 AND V(2)>0 THEN P=2:TI(P)=TI:X(P)=8:Y(P)=YI:GOSUB 4250:GOSUB 4350:RETURN 100
3060 IF P=2 AND V(1)>0 THEN P=1:TI(P)=TI:X(P)=8:Y(P)=YI:GOSUB 4250:GOSUB 4350:RETURN 100
3090 X(P)=8:Y(P)=YI:TI(P)=TI:F=3
3100 FOR R=1 TO 1000:NEXT:RETURN 100
3200
3210 GOSUB 4250
3215 PLAY "s3m39000l4o4d2effedeeccddco3ba2"
3216 IF PLAY(0) THEN 3216
3220 FOR R=1 TO 3000:NEXT
3250 RETURN
3450
3455 IF L(P)>1 THEN RETURN
3460 FOR I=1 TO 10
3470 VPOKE 6164+INT(RND(1)*298),104
3475 VPOKE 6164+INT(RND(1)*298),112
3480 NEXT
3490 RETURN
3500
3505 INTERVAL OFF:SPRITE OFF
3510 N=LEN(NC$)
3515 LOCATE (32-N)\2,8:PRINT NC$
3520 PLAY "v15t250o4l4ceg2r64l8gabo5cde4c4o4l2fr6 l8fcagl4fdc t120"
3522 IF PLAY(0) THEN 3522
3525 FOR R=1 TO 2000:NEXT
3527 PLAY "s0m500l64o6v9"
3530 N=TI(P)
3532 IF TI(P)>10 THEN SC!(P)=SC!(P)+100:TI(P)=TI(P)-10 ELSE SC!(P)=SC!(P)+10:TI(P)=TI(P)-1
3534 PLAY "a":GOSUB 4200:GOSUB 4100
3536 IF PLAY(0)=-1 THEN 3536
3538 IF TI(P)>0 THEN 3532
3540 L(P)=L(P)+1:S(P)=1
3550 J=0:Y(P)=120:X(P)=8
3558 TI(P)=TI
3560 IF L(P)<4 THEN GOSUB 4300
3600
3602 B=BASE(6)
3604 ON L(P) GOTO 3610,3620,3630,3640
3610 VPOKE B+24,&H10:VPOKE B+12,&H20:VPOKE B+13,&HB0:VPOKE B+14,&H70:VPOKE B+17,&H20:VPOKE B+15,&HF0:VPOKE B+18,&H80:GOTO 3980
3620 VPOKE B+24,&H44:VPOKE B+12,&H24:VPOKE B+17,&H20:VPOKE B+15,&HF4:VPOKE B+18,&H84
3621
3622 M$(P)="123912356789234544911123911234456784545449234923"
3624 O$(P)="@@EF@E@A@@E@@E@A@B@E@EC@@@EC@F@C@B@EA@E@@E@@@@CD"
3626 GOTO 3980
3630 VPOKE B+24,&H44:VPOKE B+12,&H64:VPOKE B+17,&H61:VPOKE B+15,&HF4:VPOKE B+18,&H84
3631
3632 M$(P)="123545568549111235449239123492349234555677856789"
3634 O$(P)="@@EC@@A@@AEC@BC@@A@E@B@C@E@F@@EC@@EF@BE@@E@C@C@D"
3635 GOTO 3980
3640
3642 FOR R=1 TO 5000:NEXT:GOSUB 6400:V(P)=-1:GOTO 3040
3980 GOSUB 4400
3990 RETURN
4000
4070 IF TI(P)>0 THEN TI(P)=TI(P)-1:GOSUB 4100 ELSE GOSUB 3000
4090 RETURN
4100
4140 LOCATE 25,22:PRINT TI(P)
4190 RETURN
4200
4203 INTERVAL STOP
4205 IF SC!(P)>HI! THEN HI!=SC!(P):GOSUB 4460
4210 IF P=1 THEN LOCATE 1,21:PRINT USING "1P-**####";SC!(P):RETURN
4220 LOCATE 11,21:PRINT USING "2P-**####";SC!(P):RETURN
4250
4260 GOSUB 4350:GOSUB 4400:GOSUB 4450
4261 LOCATE 0,0:FOR I=0 TO 20:PRINT SPC(32):NEXT
4263 N=LEN(J1$)+2
4265 LOCATE (32-N)\2,9:PRINT J1$;P
4270 IF V(P)<=0 THEN LOCATE ((32-N)\2)-1,11:PRINT "GAME":LOCATE ((32-N)\2)+N-3,11:PRINT "OVER"
4275 FOR R=1 TO 3000:NEXT
4290 RETURN
4300
4305 INTERVAL OFF
4310 PUT SPRITE 5,(0,0),0:PUT SPRITE 0,,0
4320 FOR N=0 TO 20:LOCATE 0,N:PRINT STRING$(32,192):NEXT
4330 RETURN
4350
4360 LOCATE 6,22
4362 IF V(P)>1 THEN FOR I=0 TO V(P)-2:PRINT ":";:NEXT ELSE PRINT" ";
4370 FOR I=V(P) TO 3:PRINT " ";:NEXT
4380 RETURN
4400
4410 LOCATE 11,22:PRINT USING "ZONE-**";L(P)
4420 RETURN
4450
4460 LOCATE 21,21:PRINT USING "HI-**####";HI!
4470 RETURN
4480
4482 N=LEN(ST$)
4484 LOCATE (32-N)\2:PRINT ST$
4485 RETURN
4500
4505 N=BASE(6):VPOKE N+6,&HF0:VPOKE N+7,&HF0
4506 FOR I=8 TO 11:VPOKE N+I,&HF0:NEXT
4507 VPOKE N+19,&HA6
4510 RESTORE 4842:CH=42:VPOKE N+5,&HF0:GOSUB 4700
4515 RESTORE 4845:CH=45:GOSUB 4700
4520 RESTORE 4897:CH=97:GOSUB 4700
4525 RESTORE 4898:CH=98:GOSUB 4700
4530 RESTORE 4899:CH=99:GOSUB 4700
4535 RESTORE 4936:CH=136:GOSUB 4700
4540 RESTORE 4904:CH=104:GOSUB 4700
4545 RESTORE 4912:CH=112:GOSUB 4700
4546 RESTORE 4920:CH=120:GOSUB 4700
4550 RESTORE 4992:CH=192:GOSUB 4700
4551 RESTORE 4858:CH=58:GOSUB 4700
4552 RESTORE 4950:CH=150:GOSUB 4700
4553 RESTORE 4951:CH=151:GOSUB 4700
4554 RESTORE 4958:CH=158:GOSUB 4700
4555 RESTORE 4959:CH=159:GOSUB 4700
4699 RETURN
4700
4710 W=BASE(7)+CH*8
4720 FOR I=W TO W+7
4730 READ B
4740 VPOKE I,B
4750 NEXT
4760 RETURN
4842 DATA 112,136,152,168,200,136,112,0
4845 DATA 0,0,0,126,0,0,0,0
4858 DATA &h60,&h90,&h98,&h4c,&h1a,&h1f,&h3f,&h7c
4897 DATA &h03,&h03,&h07,&h07,&h1f,&h1f,&h3f,&hff:
4898 DATA 255,255,255,255,255,255,255,255
4899 DATA &hc0,&hc0,&he0,&he0,&hf8,&hf8,&hfc,&hff
4900 DATA 255,255,255,255,255,255,0,0
4904 DATA 1,0,0,0, 0,0,0,0
4912 DATA 0,0,0,8, 0,0,0,0
4920 DATA &h3c,&h18,&h18,&h18,&h18,&h18,&h18,&h3c
4928 DATA 0,0,0,0, 0,0,0,0
4936 DATA 255,255,255,255,255,255,0,0
4950 DATA &H03,&H07,&H0F,&H1F,&H3F,&H7F,&HFF,&HFF
4951 DATA &HC0,&HE0,&HF0,&HF8,&HFC,&HFE,&HFF,&HFF
4958 DATA &HFF,&HFF,&HE3,&HE3,&HE3,&HE3,&HE3,&HE3
4959 DATA &HFF,&HFF,&HC7,&HC7,&HFF,&HFF,&HFF,&HFF
4992 DATA 0,0,0,0, 0,0,0,0
5300
5310 ON FO(P) GOTO 5350,5400
5320 RETURN
5350
5360 IF XE=0 THEN XE=250:YE=130
5370 IF XE>3 THEN XE=XE-3:PUT SPRITE 6,(XE,YE),10,8 ELSE IF XE<=3 THEN PUT SPRITE 6,,0,0:PUT SPRITE 6,(0,0)
5390 RETURN
5400
5410 IF XE=0 THEN XE=250:YE=122:DE=0
5415 IF FE=9 THEN FE=10 ELSE FE=9
5420 IF DE=0 THEN XE=XE-3 ELSE XE=XE+3
5422 IF XE<140 THEN DE=1
5423 IF XE>240 THEN DE=0
5425 PUT SPRITE 7,(XE,YE),14,FE
5430 RETURN
5800
5810 FOR I=0 TO 7:PUT SPRITE I,(I*32,0),0:NEXT
5820 RETURN
5850
5852 YS=0
5854 R=6144+YS+XT+(YT*32)
5856 IF VPEEK(R)=192 THEN YS=YS+32:GOTO 5854
5858 YS=((R-6144)\32)-1
5860 RETURN
5900
5910 PUT SPRITE 3,,0:PUT SPRITE 3,(96,0)
5920 TI(P)=TI(P)+FT-1:SC!(P)=SC!(P)+500:GOSUB 4100
5930 IF FT>0 THEN PLAY "v15o6l16cea" ELSE PLAY "v15o2l16ac"
5940 SPRITE ON:INTERVAL ON
5950 RETURN
6000
6010 DATA &h1F,&h7F,&hFF,&hF9,&hF0,&hF8,&hFE,&h7F,&h1F,&h03,&h01,&h81,&hE3,&hFF,&hFF,&h7F
6020 DATA &h00,&hC0,&hC0,&hC0,&h40,&h0E,&h0E,&h8E,&hCE,&hEE,&hEE,&hEE,&hEF,&hE7,&hC7,&h01
6030 DATA &h00,&h00,&h00,&h00,&h00,&h1D,&h1D,&h1D,&h1D,&h1D,&h1D,&h1D,&h3D,&hFD,&hFD,&hDD
6040 DATA &h00,&h00,&h00,&h00,&h00,&hDE,&hFF,&hFF,&hE3,&hC1,&hC1,&hC1,&hE3,&hFF,&hFF,&hDE
6050 DATA &H00,&H00,&H00,&H00,&H00,&H03,&H8F,&H8E
6060 DATA &HDC,&HDF,&HDF,&HDC,&HDE,&H8F,&H8F,&H03
6070 DATA &H00,&H00,&H00,&H00,&H00,&HC3,&HF3,&H73
6080 DATA &H3B,&HFB,&HFB,&H03,&H0B,&HFB,&HFB,&HF3
6090 DATA &H00,&H00,&H00,&H00,&H00,&HB8,&HF8,&HF8
6100 DATA &HC0,&H80,&H80,&H80,&H80,&H80,&H80,&H80
6110 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
6120 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
6130 DATA &H01,&H07,&H0F,&H1F,&H1E,&H3E,&H3C,&H3C
6140 DATA &H3C,&H3C,&H3E,&H1E,&H1F,&H0F,&H07,&H01
6150 DATA &HF8,&HFC,&HFC,&H84,&H00,&H00,&H00,&H00
6160 DATA &H00,&H00,&H01,&H01,&H85,&HFD,&HFD,&HF8
6170 DATA &H00,&H00,&H00,&H00,&H00,&HFE,&HFF,&H0F
6180 DATA &H07,&HFF,&HFF,&HC7,&HC7,&HFF,&HFF,&HFB
6190 DATA &H38,&H38,&H38,&H38,&H38,&H3B,&H3F,&H3F
6200 DATA &H3C,&H38,&H38,&H38,&H3C,&H3F,&H3F,&HBB
6210 DATA &H00,&H00,&H00,&H00,&H00,&HC3,&HF3,&HF3
6220 DATA &H7B,&H3B,&H3B,&H3B,&H7B,&HF3,&HF3,&HC3
6230 DATA &H00,&H00,&H00,&H00,&H00,&HB9,&HF9,&HF8
6240 DATA &HC0,&H81,&H83,&H83,&H83,&H83,&H83,&H81
6250 DATA &H00,&H00,&H00,&H00,&H00,&HFC,&HFE,&H1E
6260 DATA &H0E,&HFE,&HFE,&H8E,&H8E,&HFE,&HFE,&HEF
6290 DATA &H01,&H01,&H01,&H01,&H01,&H00,&H00,&H00
6300 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
6310 DATA &HC0,&HC0,&HC0,&HC0,&HC0,&H00,&H00,&H00
6320 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
6400
6405 SC!(P)=SC!(P)+5000:GOSUB 4200
6410 FOR N=0 TO 12:LOCATE 0,N:PRINT STRING$(32,192):NEXT
6420 ST$=FI$:LOCATE ,7:GOSUB 4480
6430 ST$=CO$:LOCATE ,10:GOSUB 4480
6440 FOR R=1 TO 2000:NEXT
6445 ST$="???":LOCATE ,12:GOSUB 4480
6450 PLAY "s0m32000l16o4cdeg1","s0m32000l16o3egeg1","s0m32000l16o2gegc1"
6451 PLAY "cdea1","o3egea1","o2gega1"
6452 PLAY "cdea4b4o5c1r8","o3egea4g4c4","o2cdca4e4c4"
6455 IF PLAY(0) THEN 6455
6460 FOR R=1 TO 15000:NEXT
6490 RETURN
•