start tok64 d64-vw7kXR 10 DIMl%(12) 20 ba=20:sc=0:bi=20:bl=500 30 so=32768:vo=53248:mf=49530:s=54272 40 GOSUB 1570 50 op=5:POKEmf+0,1 60 IFPEEK(mf+6)=.THEN 90 70 POKEmf+6,0:IFdiTHENPOKEso+1016,PEEK(so+1016)-2:di=0:GOTO90 80 a$=RIGHT$(a$,1)+LEFT$(a$,49):POKE214,22:PRINT:PRINT"{white}"LEFT$(a$,40); 90 IFPEEK(mf+7)=.THEN120 100 POKEmf+7,0:IFdi=.THENPOKEso+1016,PEEK(so+1016)+2:di=1:GOTO 120 110 a$=RIGHT$(a$,49)+LEFT$(a$,1):POKE214,22:PRINT:PRINT"{white}"LEFT$(a$,40); 120 IFPEEK(mf+4)=.THENPOKEmf+4,hf:SYS49389 130 IFPEEK(mf+8)THENGOSUB940:POKEmf+8,0 140 IFba=.ANDPEEK(so+939)=45ANDPEEK(56320)=125ANDPEEK(vo+1)=227THEN GOSUB 640 150 IFPEEK(mf)THEN170 160 POKEmf,1:op=op-1:POKEso+30+2*op,30:POKEso+31+2*op,31:GOSUB 430 170 GETr$:IFr$<>""THENGOSUB390:GOTO170 180 IFop>0THEN60 190 IFsc>hiTHENhi=sc 200 h1=INT(hi/65536):POKE820,h1 210 hi=hi-h1*65536:h1=INT(hi/256):POKE821,h1 220 h1=hi-h1*256:POKE822,h1 230 PRINT "{clear}{down}{yellow}":i$="{down}^{arrow left}^{arrow left}^{arrow left}^{arrow left}^{arrow left}" 240 FORi=29TO0STEP-1:GOSUB430 250 IFPEEK(mf+4)THEN250 260 POKEmf+4,5 270 i$=i$+LEFT$(RIGHT$(i$,2),1) 280 PRINTSPC(i)i$;:NEXT 290 FORi=1TO21:PRINT:PRINTi$;:GOSUB430 300 IFPEEK(mf+4)THEN300 310 POKEmf+4,10:NEXT 320 PRINT"{clear}{down*9}{cyan}"SPC(8)"{space*3}play again?(y or n){space*2}" 330 GETa$:IFa$=""THEN 330 340 IFa$="n"THEN360 350 PRINT"{clear}" 355 RUN 360 POKE56576,199:POKE53272,20:POKE648,4:POKEvo+21,0:END 370 PRINT "data error found- check for typo's":GOTO360 380 : pause functiON 390 IF ASC(r$)<>133 THEN RETURN 400 GET r$:IF r$=""THEN400 410 RETURN 420 : sounds 430 POKEs+15,20:POKEs+17,4:POKEs+19,9 440 POKEs+18,64:POKEs+18,65:RETURN 450 POKEs+15,10:POKEs+19,9 460 POKEs+18,128:POKEs+18,129:RETURN 470 POKEs+18,32:POKEs+15,10 480 POKEs+19,30 490 POKEs+18,33:RETURN 500 POKEs+15,35:POKEs+19,1:FORj=1TO5:NEXT 510 POKEs+18,32:POKEs+18,33:RETURN 520 : set dIFficulty level 530 PRINT "{home}{down*4}{right*6}select difficulty level(1to5)" 540 GETr$:IFr$=""THEN540 550 IF ASC(r$)<49 THEN 540 560 IF ASC(r$)>53 THEN 540 570 dl=ASC(r$)-48 580 hf=20-4*dl 590 nl=13-dl 600 POKEmf+1,nl 610 si=1+2*dl+INT(dl^2/2) 620 PRINT "{up}{space*37}":RETURN 630 : GET mORe bombs 640 bi=bi-2-INT(dl/2):IFbi<5THENbi=5 650 ba=bi:hf=hf-1:IFhf<0THENhf=0 660 FORi=so+919TOso+959-ba*40STEP-40:POKEi,27:GOSUB500:NEXT 670 POKEso+1016,PEEK(so+1016)-1 680 RETURN 690 : bONus 700 bl=300:POKEvo+3,250 710 GOSUB470:k=10 720 FOR i=250TO50STEP-1:POKEvo+5,i:POKEs+15,k:k=k+1:NEXT 730 IF op=5THENsc=sc+si:bo=bo+si:GOTO870 740 POKEvo+2,241:POKEvo+3,53 750 t=so+30-2*op 760 i=241:ii=0:POKEvo+16,PEEK(vo+16)AND253 770 GOSUB450:k=10 780 IFi=257THENii=256:POKEvo+16,PEEK(vo+16)OR2 790 POKEvo+2,i-ii:IFi>266+16*opTHEN820 800 k=k+8:IFk<40THENPOKEs+15,k 810 i=i+8:GOTO780 820 POKEvo+2,250:sl=so+30+2*op:op=op+1 830 POKEsl,28:POKEsl+1,29 840 GOSUB450:FORk=10TO18STEP4:POKEs+15,k:NEXTk 850 POKEvo+2,0:POKEvo+3,0 860 POKEsl,32:POKEsl+1,32 870 sc=sc+si:bo=bo+si 880 ss$=STR$(sc):PRINT"{home}{dark gray}"SPC(31-LEN(ss$))RIGHT$(ss$,LEN(ss$)-1) 890 FORi=1TO200:NEXT 900 GOSUB470:k=211 910 FORi=50TO250:POKEvo+5,i:POKEs+15,k:k=k-1:NEXT 920 POKEs+15,0:POKEvo+16,0:RETURN 930 : track shot 940 IFba=.THENRETURN 950 rw=32768+INT((PEEK(vo+1)-46)/8)*40 960 POKEvo+3,PEEK(vo+1)+3:px=173+di*28 970 GOSUB450:k=10:IFdiTHEN1040 980 FORi=rw+18TOrwSTEP-2:IFPEEK(i)=31THENsl=i-1:i=rw-2 990 IFPEEK(i)=30THENsl=i:i=rw-2 1000 POKEvo+2,px:px=px-16:IFk<40THENk=k+4:POKEs+15,k 1010 NEXT 1020 IFi=rw-2THEN1180 1030 GOTO1100 1040 ix=0:FORi=rw+21TOrw+37STEP2:IFPEEK(i)=30THENsl=i:i=rw+39 1050 IFPEEK(i)=31THENsl=i-1:i=rw+39 1060 POKEvo+2,px-ix:px=px+16:IFpx=265THENix=256:POKEvo+16,2 1070 IFk<40THENk=k+4:POKEs+15,k 1080 NEXT 1090 IFi=rw+39THEN1180 1100 POKEsl,28:POKEsl+1,29:GOSUB450 1110 tl=sl-65536:FORi=0TOnl:IFl%(i)=tlTHENl%(i)=0:i=nl+1 1120 NEXT 1130 FORk=10TO18STEP4:POKEs+15,k:NEXT 1140 sc=sc+si:ss$=STR$(sc):PRINT"{home}{dark gray}"SPC(31-LEN(ss$))RIGHT$(ss$,LEN(ss$)-1) 1150 POKEsl,32:POKEsl+1,32 1160 bo=bo+si 1170 IF bo>blTHENbo=bo-bl:GOSUB700 1180 POKEvo+2,0:POKEvo+3,0:POKEvo+16,0 1190 POKE(so+159+(20-ba)*40),32:ba=ba-1:IFba=.THENPOKEso+1016,PEEK(so+1016)+1 1200 RETURN 1210 : initialize screen 1220 a$="{,*10}-./{,*16}-./{,*13}-./,," 1230 b$="{green}{+*39}" 1240 FORi=sTOs+23:POKEi,0:NEXT 1250 POKEs+23,0:POKEs+22,18 1260 POKEs,32:POKEs+1,2:POKEs+24,31:POKEs+3,14 1270 POKEs+5,40:POKEs+6,0 1280 POKEvo+33,0:POKEvo+32,12 1290 PRINT "{home*2}{dark gray}high:{0*5}"SPC(8)"score:{0*5}" 1300 ss$=STR$(hi):PRINT"{home}{dark gray}"SPC(12-LEN(ss$))RIGHT$(ss$,LEN(ss$)-1) 1310 POKE214,22:PRINT:PRINT"{white}"LEFT$(a$,40)b$; 1320 SYS49420:POKEvo+39,1:POKEvo+40,1 1330 POKEvo+41,1:POKEvo+21,7:POKEmf+8,0 1340 POKEso+999,43:POKEso+23527,5 1350 FORi=so+159TOso+919STEP40:POKEi,27 1360 POKEi+22528,2:NEXT 1370 POKEso+1016,16:POKEvo+1,100:POKEvo,176:POKEvo+16,0:di=0 1380 POKEso+1017,20:POKEso+1018,18 1390 POKEvo+2,0:POKEvo+3,0 1400 POKEvo+5,250:POKEvo+4,216 1410 FORi=55326TO55335:POKEi,7:NEXT 1420 RETURN 1430 : LOAD DATA 1440 PRINT "{clear}{down}{space*7}loading data{space*3}please wait" 1450 POKE56334,PEEK(56334)AND254 1460 POKE1,PEEK(1)AND251 1470 FORi=34816TO35327:POKEi,PEEK(i+18432):NEXT 1480 POKE1,PEEK(1)OR4 1490 POKE56334,PEEK(56334)OR1 1500 FORi=so+1024TOso+1343:POKEi,0:NEXT:POKEso+1280,255 1510 READ l:IFl=0THEN GOTO 1530 1520 FORi=0TO7:READ a:POKEl+i,a:ck=ck+a:NEXT:GOTO 1510 1530 IFck<>63389THEN370 1540 POKE251,111 1550 RETURN 1560 ; move screen TO TOp of basic 1570 POKE648,128 1580 POKE56576,PEEK(56576)AND252OR1 1590 POKEvo+24,2 1600 IFPEEK(251)<>111THEN GOSUB1440 1610 POKEvo+32,11:POKEvo+33,11 1620 POKE56,127:POKE52,127 1630 hi=PEEK(820)*65536+PEEK(821)*256+PEEK(822) 1640 GOSUB 1220:GOSUB 530 1650 RETURN 1660 : character DATA 1670 DATA35032,0,0,0,125,255,125,0,0 1680 DATA35040,16,70,185,134,93,82,195,16 1690 DATA 35048,8,82,131,212,43,117,66,4 1700 DATA 35056,0,63,96,255,204,127,0,0 1710 DATA 35064,0,252,6,255,51,254,0,0 1720 DATA 35160,255,255,255,255,255,255,255,255 1730 DATA 35168,0,0,0,0,0,0,0,0 1740 DATA 3517632,0,0,0,125,255,125,0,0 63999 REM "Invalid BASIC input d64-vw7kXR stop tok64 (bastext 1.0)