From ab78d63bcc30b47ba95e09862547db41beac4812 Mon Sep 17 00:00:00 2001 From: JJFlash Date: Fri, 2 Sep 2022 11:08:03 +0200 Subject: [PATCH] The original listings for all 3 versions --- original_listings/SUPERCH-atari.bas | 145 ++++++++++++++++++++ original_listings/game_TI994A.bas | 179 +++++++++++++++++++++++++ original_listings/superchase-VIC20.bas | 108 +++++++++++++++ 3 files changed, 432 insertions(+) create mode 100644 original_listings/SUPERCH-atari.bas create mode 100644 original_listings/game_TI994A.bas create mode 100644 original_listings/superchase-VIC20.bas diff --git a/original_listings/SUPERCH-atari.bas b/original_listings/SUPERCH-atari.bas new file mode 100644 index 0000000..7542bb2 --- /dev/null +++ b/original_listings/SUPERCH-atari.bas @@ -0,0 +1,145 @@ +30 HI=0:DIM F$(40),N$(3) +40 GOTO 14000 +42 POKE 1,0:POKE 2,0 +43 POKE 764,255 +45 TRAP 40000 +47 F$="":GOSUB 12000:SK=PEEK(0):P=PEEK(1)*256+PEEK(2):GOSUB 10000:GOTO 8000 +990 REM READ JOY, MOVE +1000 REM +1010 PA=STICK(0) +1020 S3=(PA=7) +1030 S0=(PA=14):S1=(PA=13):S2=(PA=11) +1100 IF S0 THEN POKE X,7+128:C=20:GOTO 1160 +1130 IF S3 THEN POKE X,6+128:C=-1:GOTO 1160 +1140 IF S2 THEN POKE X,8+128:C=1:GOTO 1160 +1150 IF S1 THEN POKE X,9+128:C=-20:GOTO 1160 +1155 FOR J=1 TO 50:NEXT J:GOTO 1300 +1160 X=X-C:IF PEEK(X)=129 THEN X=X+C:GOTO 1300 +1165 SOUND 0,100,10,8 +1170 F$(LEN(F$)+1)=CHR$(-C+99) +1180 J=PEEK(X):POKE X,2+64:IF J=10 THEN K=100:GOSUB 9000 +1190 IF J=11 THEN K=50:GOSUB 9000 +1200 IF J=12 THEN K=30:GOSUB 9000 +1210 IF J=13 THEN K=20:GOSUB 9000 +1220 IF J=14 THEN K=10:GOSUB 9000 +1230 SOUND 0,0,0,0 +1250 POSITION 6,22:? #6;P;" "; +1300 POKE X,3+64:RETURN +1990 REM "MOVE MONSTER +2000 IF LEN(F$)>=30 THEN GOSUB 3000 +2005 O=O+1:IF O/S<>INT(O/S) THEN RETURN +2010 FOR J=1 TO SK:GOSUB 4000:POKE F,0:F=F+(ASC(F$)-99):F$=F$(1+((LEN(F$)>1))) +2030 POKE F,5+192:SOUND 0,120,0,8:FOR M=1 TO 50:NEXT M:POKE F,4+192:SOUND 0,80,0,8:NEXT J:SOUND 0,0,0,0:RETURN +2990 REM " SPEED UP MONSTER +3000 POKE F,0:S=S-1:IF S<1 THEN S=1 +3005 POSITION 18,22:? #6;E-S; +3010 FOR N=1 TO 10:POKE F,0:F=F+(ASC(F$)-99):F$=F$(2):POKE F,5+192 +3150 IF (N/SK=INT(N/SK)) AND PP THEN GOSUB 1000 +3310 FOR M=N TO N+2:SOUND 0,M*3,0,8:NEXT M:NEXT N:SOUND 0,0,0,0 +3500 RETURN +3990 REM " CHECK IF EATEN +4000 IF X<>F THEN RETURN +4005 POKE F,8:SOUND 0,0,0,0 +4010 GOSUB 18000:POSITION 0,22:? #6;"A TASTY MORSEL INDEED_"; +4015 FOR J=1 TO 2000 +4025 NEXT J +4027 IF PP=0 THEN 16800 +4060 GOTO 11000 +6990 REM " GET PROMOTED +7000 J=INT(P/256):POKE 1,J:POKE 2,P-J*256 +7100 SK=PEEK(0)+1:POKE 0,SK +7200 POSITION 0,23:? #6;"CONGRATULATIONS !!" +7205 FOR J=1 TO 1000:NEXT J +7400 PRINT "}":POKE 752,1:? " ONE AS FLEET-FOOTED AS YOU DESERVES":? " MORE CHALLENGE.":POKE 710,18 +7405 FOR J=1 TO 500:NEXT J +7410 PRINT " YOU ARE THEREFORE PROMOTED TO":? " SKILL LEVEL ";SK +7420 FOR J=1 TO 1000:NEXT J +7500 GOTO 45 +7990 REM " MAIN LOOP! +8000 FOR M=1 TO 500:GOSUB 1000:IF LEN(F$)<20 THEN NEXT M +8100 GOSUB 1000:GOSUB 2000:GOSUB 4000:GOTO 8100 +8990 REM " PICKED UP TREASURE +9000 FOR I=1 TO 10:SOUND 0,10*RND(0),10,8:NEXT I:SOUND 0,0,0,0 +9010 P=P+K*(E-S):PC=PC+1:IF PC>=61 THEN 7000 +9100 RETURN +9990 REM " SET VARIABLES, ETC. +10000 REM +10030 S=10:PC=0:RO=22:PP=1 +10110 W=5:E=11:GOSUB 18000 +10600 POSITION 8,23:? #6;"çïÿ" +10700 POSITION 0,22:? #6;"ÓÃÏÒź speed:1" +10800 X=SC+21:F=X +10900 RETURN +11000 REM " GAME OVER +11102 ? "}":POKE 752,1:POKE 710,212 +11103 IF P>HI THEN HI=P:GOSUB 11150 +11105 ?:? "YOUR SCORE IS: ";P +11107 ?:? "THE HIGH SCORE IS ";HI;" BY ";N$ +11110 ?:?:? "PLAY AGAIN ? (Y/N): "; +11120 OPEN #1,4,0,"K:":GET #1,A:CLOSE #1 +11130 IF A=ASC("N") THEN GRAPHICS 0:END +11140 POKE 764,255:POKE 77,0:GOTO 40 +11150 ?:? "CONGRATULATIONS!! YOU HAVE THE NEW HIGH SCORE.":?:? "PLEASE ENTER YOUR INITIALS";:INPUT N$ +11160 RETURN +11990 REM " MAKE MAZE (ALGORITHM FROM COMPUTE!) +12000 GRAPHICS 17:POKE 756,CHSET/256 +12010 TRAP 12015:DIM A(3):A(0)=2:A(1)=-40:A(2)=-2:A(3)=40:WL=129:HL=0:TRAP 40000 +12015 A=SC+21 +12100 FOR I=1 TO 21:? #6;"¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡":NEXT I:POKE A,5 +12150 ? #6;"the dwarves mined":? #6;"here many years ago"; +12200 J=INT(RND(1)*4):X=J +12205 B=A+A(J) +12210 IF PEEK(B)=WL THEN POKE B,J+1:POKE A+A(J)/2,HL:A=B:GOTO 12200 +12240 J=(J+1)*(J<3):IF J<>X THEN 12205 +12250 J=PEEK(A):POKE A,HL:IF J<5 THEN A=A-A(J-1):GOTO 12200 +12255 GOSUB 18000 +12260 POSITION 0,22:? #6;"ôèåù ìåæô íáîù":? #6;"êå÷åìó áîä ôòåáóõòå"; +12270 RESTORE +12300 FOR K=10 TO 14:READ J,C +12310 FOR A=1 TO J +12320 B=SC+40+INT(20*RND(0))*20+INT(19*RND(0)) +12330 IF PEEK(B)<>0 THEN 12320 +12340 POKE B,K +12350 NEXT A:NEXT K +12500 RESTORE:RETURN +12600 DATA 1,1,7,3,12,7,15,6,26,0 +13990 REM " TITLE PAGE, ETC. +14000 GRAPHICS 17 +14005 SC=PEEK(88)+256*PEEK(89):CHSET=PEEK(106)-8:CHSET=CHSET*256 +14007 FOR I=0 TO 512:POKE CHSET+I,PEEK(57344+I):NEXT I +14010 ? #6;" óõðåòãèáóåÿ":? #6 +14020 ? #6 +14030 GOTO 16000 +14050 ? #6:? #6;"ÓËÉÌÌ ÌÅÖÅÌ¿ <1..9>" +14060 OPEN #1,4,0,"K:":GET #1,A:CLOSE #1 +14070 SK=A-48:IF SK<1 OR SK>9 THEN 14060 +14080 POKE 0,SK:GOTO 42 +15990 REM " SHOW & DEFINE CHARACTERS +16000 FOR J=1 TO 7:POKE SC+J*40+80,J:NEXT J +16010 FOR J=8 TO 15:POKE SC+19+80+40*(J-7),J:NEXT J +16020 POKE 756,CHSET/256 +16150 FOR J=0 TO 7:POKE CHSET+J,0:NEXT J +16160 FOR J=1 TO 10:READ K:NEXT J +16200 X=256:FOR J=0 TO 119:READ K +16250 X=X-0.81:SOUND 0,X,10,8 +16300 POKE CHSET+8+J,K:NEXT J +16305 FOR I=0 TO 7:READ A:POKE CHSET+63*8+I,A:NEXT I +16310 SOUND 0,0,0,0:GOTO 14050 +17111 REM " CHARACTER DATA +17112 DATA 85,42,85,42,85,42,85,0 +17115 DATA 28,42,62,34,28,36,68,38 +17120 DATA 28,42,62,34,28,21,18,24 +17130 DATA 60,90,126,74,66,60,36,102 +17140 DATA 60,90,126,74,126,66,66,195 +17150 DATA 0,224,240,224,14,15,14,0 +17160 DATA 4,14,14,14,32,112,112,112 +17170 DATA 0,112,240,112,7,15,7,0 +17180 DATA 14,14,14,4,112,112,112,32 +17190 DATA 0,8,34,8,93,8,34,8 +17200 DATA 1,76,18,34,68,72,50,128 +17210 DATA 0,73,42,0,216,28,60,0 +17220 DATA 0,2,24,36,36,24,64,0 +17230 DATA 0,0,12,28,56,48,0,0 +17235 DATA 0,126,126,126,122,126,126,0 +17300 DATA 0,7,15,14,24,48,0,64 +18000 COLOR 0:PLOT 0,21:DRAWTO 19,21:PLOT 0,22:DRAWTO 19,22:PLOT 0,23:DRAWTO 19,23:RETURN diff --git a/original_listings/game_TI994A.bas b/original_listings/game_TI994A.bas new file mode 100644 index 0000000..d8170e9 --- /dev/null +++ b/original_listings/game_TI994A.bas @@ -0,0 +1,179 @@ +100 CALL CLEAR +110 PRINT TAB(6);"**************" +120 PRINT TAB(6);"* SUPERCHASE *" +130 PRINT TAB(6);"**************" +140 CALL CHAR(96,"00183C7E7E3C18") +150 CALL COLOR(9,14,12) +160 PRINT : : : :"USE THE ARROW KEYS TO MOVE." +170 PRINT : :"TRY TO GATHER AS MANY" +180 PRINT :"TREASURES (`) IN THE MAZE" +190 PRINT :"AS POSSIBLE BEFORE THE" +200 PRINT :"ENEMY CATCHES YOU!" +210 CALL COLOR(10,5,5) +220 CALL COLOR(11,12,12) +230 CALL CHAR(120,"383810FE10387CFE") +240 CALL COLOR(12,7,12) +250 CALL CHAR(128,"383810FE10387CFE") +260 CALL COLOR(13,16,12) +270 PRINT : : :"PRESS ANY KEY TO BEGIN"; +280 CALL KEY(0,K,S) +290 IF S<1 THEN 280 +300 SC=0 +310 LV=1 +320 CALL CLEAR +330 CALL SCREEN(4) +340 FOR X=3 TO 21 +350 CALL HCHAR(X,3,104,27) +360 NEXT X +370 RANDOMIZE +380 FOR I=1 TO 65 +390 X=2*(INT(9*RND))+4 +400 Y=2*(INT(11*RND))+4 +410 CALL HCHAR(X,Y,112,5) +420 NEXT I +430 FOR I=1 TO 60 +440 X=2*(INT(7*RND))+4 +450 Y=2*(INT(13*RND))+4 +460 CALL VCHAR(X,Y,112,5) +470 NEXT I +480 CALL HCHAR(4,4,112,5) +490 CALL VCHAR(4,4,112,5) +500 FOR I=1 TO 80 +510 X=2*(INT(9*RND))+4 +520 Y=2*(INT(13*RND))+4 +530 CALL HCHAR(X,Y,96) +540 NEXT I +550 FOR I=1 TO 6 +560 CALL HCHAR(23,2+I,ASC(SEG$("SCORE:",I,1))) +570 NEXT I +580 CALL SOUND(100,1497,2) +590 T=0 +600 IF LV<8 THEN 620 +610 LV=7 +620 A=4 +630 B=4 +640 C=4 +650 D=4 +660 PG=112 +670 CALL HCHAR(A,B,120) +680 IF T<8-LV THEN 1410 +690 IF FL=0 THEN 740 +700 IF FL/2=INT(FL/2)THEN 1140 +710 CCX=CX +720 CCY=CY +730 FL=0 +740 CALL GCHAR(C+1,D,GC) +750 IF GC=120 THEN 1760 +760 IF GC=104 THEN 810 +770 IF GC<>128 THEN 810 +780 CX=1 +790 CY=0 +800 GOTO 1340 +810 CALL GCHAR(C,D+1,GC) +820 IF GC=120 THEN 1760 +830 IF GC=104 THEN 880 +840 IF GC<>128 THEN 880 +850 CX=0 +860 CY=1 +870 GOTO 1340 +880 CALL GCHAR(C-1,D,GC) +890 IF GC=120 THEN 1760 +900 IF GC=104 THEN 950 +910 IF GC<>128 THEN 950 +920 CX=-1 +930 CY=0 +940 GOTO 1340 +950 CALL GCHAR(C,D-1,GC) +960 IF GC=120 THEN 1760 +970 IF GC=128 THEN 1320 +980 IF GC=112 THEN 1320 +990 FL=FL+1 +1000 IF FL/2=INT(FL/2)THEN 1040 +1010 CX=CCX +1020 CY=CCY +1030 GOTO 1160 +1040 CX=SGN(A-C) +1050 CY=0 +1060 IF CX<>0 THEN 1080 +1070 CY=SGN(D-B) +1080 CALL GCHAR(C+CX,D+CY,GC) +1090 IF GC=104 THEN 1110 +1100 IF (GC=96)+(GC=112)THEN 1340 +1110 CX=-1 +1120 CY=0 +1130 GOTO 1160 +1140 FL=FL+1 +1150 IF FL>1 THEN 1300 +1160 CALL GCHAR(C+CX,D+CY,GC) +1170 IF (GC=112)+(GC=96)+(GC=128)THEN 1340 +1180 CX=1 +1190 CY=0 +1200 CALL GCHAR(C+CX,D,GC) +1210 IF (GC=112)+(GC=96)+(GC=128)THEN 1340 +1220 CX=-1 +1230 CALL GCHAR(C+CX,D,GC) +1240 IF (GC=112)+(GC=96)+(GC=128)THEN 1340 +1250 CX=0 +1260 CY=-1 +1270 CALL GCHAR(C,D+CY,GC) +1280 IF (GC=112)+(GC=96)+(GC=128)THEN 1340 +1290 CY=1 +1300 CALL GCHAR(C+CX,D+CY,GC) +1310 IF GC=104 THEN 1390 ELSE 1340 +1320 CX=0 +1330 CY=-1 +1340 IF PG=96 THEN 1360 +1350 PG=112+FL +1360 CALL HCHAR(C,D,PG) +1370 C=C+CX +1380 D=D+CY +1390 CALL HCHAR(C,D,42) +1400 PG=GC +1410 CALL KEY(1,K1,S) +1420 IF (K1<0)+(K1>5)THEN 1410 +1430 CALL HCHAR(A,B,128) +1440 ON K1+1 GOTO 1540,1410,1590,1640,1410,1690 +1450 IF G<>96 THEN 670 +1460 CALL SOUND(100,-1,4) +1470 SC=SC+1 +1480 SC$=STR$(SC) +1490 FOR I=1 TO LEN(SC$) +1500 CALL HCHAR(23,10+I,ASC(SEG$(SC$,I,1))) +1510 NEXT I +1520 T=T+1 +1530 IF T<45 THEN 670 ELSE 320 +1540 CALL GCHAR(A+1,B,G) +1550 IF G=104 THEN 1740 +1560 IF G=42 THEN 1760 +1570 A=A+1 +1580 GOTO 1450 +1590 CALL GCHAR(A,B-1,G) +1600 IF G=104 THEN 1740 +1610 IF G=42 THEN 1760 +1620 B=B-1 +1630 GOTO 1450 +1640 CALL GCHAR(A,B+1,G) +1650 IF G=104 THEN 1740 +1660 IF G=42 THEN 1760 +1670 B=B+1 +1680 GOTO 1450 +1690 CALL GCHAR(A-1,B,G) +1700 IF G=104 THEN 1740 +1710 IF G=42 THEN 1760 +1720 A=A-1 +1730 GOTO 1450 +1740 CALL SOUND(-100,-5,4) +1750 GOTO 670 +1760 CALL SOUND(200,-6,4) +1770 FOR I=1 TO 3 +1780 CALL SCREEN(16) +1790 CALL SCREEN(9) +1800 CALL SCREEN(8) +1810 NEXT I +1820 PRINT "GOT CAUGHT!!!" +1830 PRINT "TRY AGAIN? (Y/N)"; +1840 CALL KEY(0,K,S) +1850 IF K=89 THEN 300 +1860 IF K<>78 THEN 1840 +1870 CALL CLEAR +1880 END diff --git a/original_listings/superchase-VIC20.bas b/original_listings/superchase-VIC20.bas new file mode 100644 index 0000000..5ee34e3 --- /dev/null +++ b/original_listings/superchase-VIC20.bas @@ -0,0 +1,108 @@ + 40 gosub 14000 + 42 poke 1,0:poke 2,0 + 45 gosub 12000:clr:sk=peek(0):p=peek(1)*256+peek(2) + 100 goto 10000 + 1000 m$="" + 1110 poke dd,127:p1=peek(d1) and ad:p2=peek(d2) 'legge joystick + 1120 if p1=59 then m$="+{left}{up}":print m$;:y=y-1:c$="{down}":cx=0:cy=1:goto 1160: 'rem bugfix changed 58 to 59 (rms) + 1130 if p2=119 then m$="+{left}{rght}":print m$;:x=x+1:c$="{left}":cx=-1:cy=0:goto 1160 + 1140 if p1=47 then m$="+{left}{left}":print m$;:x=x-1:c$="{rght}":cx=1:cy=0:goto 1160: 'rem bugfix changed 46 to 47 (rms) + 1150 if p1=55 then m$="+{left}{down}":print m$;:y=y+1:c$="{up}":cy=-1:cx=0:goto 1160: 'rem bugfix changed 54 to 55 (rms) + 1155 goto 1300 + 1160 if fnch(s)=wl then print c$;:x=x+cx:y=y+cy:goto 1300 + 1170 f$=f$+right$(m$,1) + 1180 if fnch(s)=di then p=p+100*(el-s):pc=pc+1 + 1190 if fnch(s)=sp then p=p+50*(el-s):pc=pc+1 + 1200 if fnch(s)=cl then p=p+30*(el-s):pc=pc+1 + 1210 if fnch(s)=he then p=p+20*(el-s):pc=pc+1 + 1220 if fnch(s)=ci then p=p+10*(el-s):pc=pc+1 + 1250 j$=str$(p*sk):for j=1 to len(j$):poke sc+j+489,asc(mid$(j$,j,1)):next + 1300 print"Q{left}"; + 1310 if pc>=61 then print dn$"no more treasure.";:goto 7000 + 1900 return + 2000 if len(f$)>=30 then gosub 3000 + 2005 fm=fm+1:if fm/s<>int(fm/s) then return + 2006 for h=1 to skl: + 2007 poke fnplot(0),32 + 2010 j$=left$(f$,1):f$=mid$(f$,2) + 2030 poke v,15:poke s1,254-len(f$):for m=1 to 10:next:poke 36875,0 + 2100 if j$="{up}"then yf=yf-1:goto 2200 + 2110 if j$="{rght}"then xf=xf+1:goto 2200 + 2120 if j$="{down}"then yf=yf+1:goto 2200 + 2130 if j$="{left}"then xf=xf-1:goto 2200 + 2150 goto 2200 + 2200 poke fnpl(0),42 + 2205 next + 2210 return + 3000 poke fnpl(0),32 + 3007 s=s-1:if s<1 then s=1 + 3008 j$=str$(el-s):for j=1 to len(j$):poke sc+j+502,asc(mid$(j$,j,1)):next + 3010 for c= 1 to 10:j$=mid$(f$,c,1):if j$="{up}"then yf=yf-1:goto 3100 + 3020 if j$="{down}" then yf=yf+1:goto 3100 + 3030 if j$="{rght}" then xf=xf+1:goto 3100 + 3040 if j$="{left}" then xf=xf-1:goto 3100 + 3100 poke fnpl(0),42 + 3150 if c/sk=int(c/sk) then gosub 1000 + 3310 for m=c to c+2:poke s2,m*3+130:for n=1 to 10:next:next:poke s2,0 + 3350 poke fnplot(0),32 + 3400 next + 3500 f$=mid$(f$,el):return + 4000 if x=xf and y=yf then print dn$"a tasty morsel indeed!";:gosub 6000:goto 11000 + 4500 return + 6000 poke 36877,220:for l=15 to 0 step -1:poke 36878,l:for m=1 to 300:next:next:poke 36877,0:poke 36878,15 + 6010 return + 7000 for k=1 to 30 + 7005 poke 36876,220:for l=1 to 5:next:poke 36876,0:for l=1 to 5:next:poke 36876,200:for l=1 to 5:next + 7010 poke 36876,0:for l=1 to 5:next:next + 7100 j=int(p/256):poke 1,j:poke 2,p-j*256 + 7200 sk=peek(0)+1:poke 0,sk:goto 45 + 7999 goto 7000 + 8000 for m=1 to 500:gosub 1000:if len(f$)<20 then next + 8010 for j=8142 to 8142+20:poke j,32:next + 8100 gosub 1000:gosub 2000:gosub 4000:goto 8100 +10000 dn$="{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rvon}{wht}" +10030 s=10:pc=0:sc=7680:ro=22 +10050 def fnpl(xx)=(yf*ro+xf)+sc +10060 def fnch(xx)=peek((y*ro+x)+sc) +10077 so=10:poke 36878,15 +10100 dd=37154:d1=37151:d2=37152:ad=63 +10110 wl=102:di=90:sp=65:cl=88:he=83:ci=87:el=11 +10120 v=36878:s1=36875:s2=36876 +10500 ti$="000000" +10600 print dn$" go !!!!!! " +10700 print dn$"{rvof}{down}{blk}score:{wht} {blk}speed:{wht} 1{home}" +10800 print"{home}{rght}{down}";:x=1:y=1:xf=1:yf=1 +10900 goto 8000 +11000 rem game over +11010 poke 37154,255 ' joystick, "rimette a posto la candela" +11105 print:print"{down}time was ";mid$(ti$,3,2);" minutes, ";right$(ti$,2);" seconds" +11110 print"play again ? {CBM-@}{left}"; +11120 get j$:if j$="" then 11120 +11130 print j$:if j$="n"then end +11140 if j$="y" then run +11150 print:print"{up}";:goto11110 +12000 dim a(3):a(0)=2:a(1)=-44:a(2)=-2:a(3)=44:wl=102:hl=32:sc=7680:a=sc+23:j=rnd(-ti) ' sc:inizio schermo +12010 poke 36879,110 'colore +12100 print chr$(142)"{clr}{yel}{rvof}";:for i = 1 to 21:print"{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}":next:poke a,4 +12200 j=int(rnd(1)*4):x=j +12205 b=a+a(j) +12210 if peek(b) = wl then poke b,j:poke a+a(j)/2,hl:a=b:goto 12200 +12240 j=(j+1)*-(j<3):ifj<>xthen12205 +12250 j=peek(a):poke a,hl:if j<4 then a=a-a(j):goto 12200 +12300 print"{home}{down}{rght}V" +12305 read j,k,c:if j<0 then 12500 +12310 for a=1 to j +12320 b=int(rnd(1)*410):if(b-21)/22=int((b-21)/22) then 12320 +12330 if peek(b+7702)<>32 then 12320 +12340 poke b+7702,k:poke b+38422,c +12350 next:goto 12305 +12400 data 2,90,1,4,65,0,7,88,5,9,83,2,39,87,3,-1,0,0 +12450 print"12450:p="p +12500 return +14000 poke 36879,46 'colore +14010 print chr$(14)"{clr}{wht}{down}{down}{down}{down}{down}{down}{rght}{rght} {CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@}{CBM-@} {rvon}SuperChase{rvof}" +14050 print"{down}{down}{down}{down}{down} Skill Level (1-9):{rvon} {rvof}{left}{left}"; +14060 get j$:if j$ = ""then 14060 +14070 sk =val(j$):if sk<1 or sk>9 then 14060 +14075 poke 0,sk ' jump to USR...? +14080 print sk:poke 0,sk:return