Listing of file='TARGET.BAS;01' on disk='vmedia/action_soundware-sector.ccvf'
50 REM TARGET 60 REM COPYRIGHT 7-79 70 REM CAP ELECTRONICS 80 REM 105 PLOT 12,15,6,6,29,27,24 110 TM= PEEK (32940)+ PEEK (32941)* 256+ 1:POKE 32936,4 115 IF TM> 64* 1024- 8THEN LOAD "SOUND":RUN 120 IF PEEK (TM+ 179)< > 241THEN LOAD "SOUND":RUN 125 A= PEEK (32940)+ 8:B= PEEK (32941) 130 POKE 33283,A:POKE 33284,B 135 CLEAR 500 140 TM= PEEK (32940)+ PEEK (32941)* 256+ 1 150 GOSUB 900:GOSUB 700 200 REM INITIALIZATION 205 A= 2:B= 126:C= 128:D= 130 210 P1$(1)= " ``" 212 P2$(1)= " ```" 214 P3$(1)= " ````" 216 P4$(1)= " `````":REM 218 P1$(0)= " " 220 P2$(0)= " " 222 P3$(0)= " " 224 P4$(0)= " ":REM 225 AA= 0:BB= 0:CC= 0:DD= 0:GOSUB 1405:ER$= IC$ 230 AA= 1:BB= 1:CC= 1:DD= 1 250 N= 0:SC= 0:GOSUB 1405 260 P1= 32058- 128* 4 270 N= 0 300 REM MAIN LOOP 302 POKE 33209,0 305 PLOT 6,6,12:GOSUB 1200 306 Y= 6:PO= P1 310 N= N+ 1:IF N> 55THEN PLOT 3,N,Y:PRINT ER$:N= 0:GOSUB 1400 320 OUT 8,247:PLOT 3,N,Y:PRINT IC$:PLOT 8:OUT 8,255 325 GOSUB 1100:GOSUB 550 327 POKE PO,32 330 PO= PO+ DI:IF PO< 29184THEN PO= P1:POKE 33278,54:DI= 0 335 IF (PEEK (PO)< > 32)AND DI< > 0THEN GOSUB 800 340 POKE PO,100 345 IF TT> 58THEN 1300 350 POKE PO,32:PO= PO+ DI:IF PO< 29184THEN PO= P1:POKE 33278,54:DI= 0 355 IF (PEEK (PO)< > 32)AND DI< > 0THEN GOSUB 800 360 POKE PO,100:GOTO 310 400 REM RESTART OR END 500 REM PRINT SCORE 505 OUT 8,247 510 PLOT 3,4,28 520 PRINT "SCORE = ";SC;"":REM 525 OUT 8,255 530 RETURN 550 REM PRINT TIME 560 TT= PEEK (33209) 562 OUT 8,247 565 PLOT 3,40,29 570 PRINT "TIME = ";60- TT;" ":REM 575 OUT 8,255 590 RETURN 600 REM ERASE ALL ICBM'S 700 REM INSTRUCTIONS 705 C= 1:X= 2:Y= 5:H= 26:W= 60:GOSUB 64000 710 X= 4:Y= 6:PLOT 15 712 GOSUB 792:PRINT " S O U N D W A R E S O F T W A R E ":GOSUB 792 713 GOSUB 792:PRINT "YOU CONTROL A DEFENSE MISSLE, USE THE 1 2 3 KEYS" 719 GOSUB 792:PRINT " TO FIRE OR STEER THE MISSLE AFTER THE ICBM'S" 726 GOSUB 792 729 GOSUB 792:PRINT " 1 2 3" 733 GOSUB 792:PRINT " |ba~" 736 GOSUB 792:PRINT " sr" 739 GOSUB 792 740 GOSUB 792:GOSUB 792:PRINT " THE 5 KEY MAY BE USED FOR AIR BRAKES. HANDY EH?" 745 GOSUB 792:GOSUB 792:GOSUB 792:GOSUB 792 748 GOSUB 792:PRINT " PRESS RETURN TO START THE GAME! "; 752 OUT 8,255:XX= CALL (2) 760 OUT 8,247 770 POKE 33278,INT (RND (1)* 4)+ 48 788 PLOT 8:FOR N= 1TO 25:POKE TM,50- N:XX= CALL (0):XX= CALL (1):NEXT 790 OUT 8,255:POKE 33278,54:RETURN 792 Y= Y+ 1:PLOT 3,X,Y:RETURN 795 Y= Y- 2:PLOT 3,X,Y:RETURN 800 REM HITTER 810 PL= INT ((PO- 28672- 128* Y)/ 128)+ 1 812 PO= P1:XX= CALL (0) 815 ON PLGOTO 821,822,823,824 821 AA= 0:SC= SC+ 25:GOTO 845 822 BB= 0:SC= SC+ 15:GOTO 845 823 CC= 0:SC= SC+ 10:GOTO 845 824 DD= 0:SC= SC+ 5:GOTO 845 845 GOSUB 500:GOSUB 1405 846 IF (AA+ BB+ CC+ DD)= 0THEN 860 850 POKE 33278,52:DI= 0:RETURN 860 PLOT 3,N,Y:PRINT IC$ 870 AA= 1:BB= 1:CC= 1:DD= 1 875 GOSUB 1405:N= 1:PLOT 3,N,Y:PRINT IC$ 880 POKE 33278,52:DI= 0:RETURN 900 REM DRAW GAME SUBROUTINE 920 PLOT 6,6,12,6,3,15,27,24 925 PRINT "" 930 BD$= "`````````````````````````````````````````````````````````````" 933 B1$= LEFT$ (BD$,31) 935 PLOT 3,1,1:PRINT BD$ 937 PLOT 3,1,4:PRINT BD$ 939 PLOT 3,1,31:PRINT BD$ 941 PLOT 27,10,3,1,1:PRINT B1$ 943 PLOT 3,62,1:PRINT B1$ 945 PLOT 27,24,14 955 PLOT 3,22,2 956 REM 960 PRINT " T A R G E T" 990 RETURN 1000 REM SOUNDS SUBROUTINES 1010 POKE TM,20:POKE TM+ 2,50:XX= CALL (0):RETURN 1020 POKE TM,100:XX= CALL (0):RETURN 1030 POKE TM,30:POKE TM+ 2,100:XX= CALL (0):RETURN 1040 POKE TM,1:POKE TM+ 2,5:POKE TM+ 4,255:POKE TM+ 5,8:XX= CALL (0):RETURN 1100 REM KEY HANDLER 1110 DO= DI 1115 OUT 8,255 1120 KE= PEEK (33278)- 48 1122 IF KE< 0THEN KE= 0 1125 ON KEGOTO 1141,1142,1143 1130 DI= 0:GOTO 1150 1141 DI= - 132:GOTO 1150 1142 DI= - 128:GOTO 1150 1143 DI= - 124:GOTO 1150 1150 IF DO< > DITHEN POKE TM,25:XX= CALL (0) 1155 RETURN 1200 REM DRAW ENVIRONMENT 1205 OUT 8,247:PRINT "" 1210 PLOT 15,3,0,2 1212 PRINT " " 1215 PRINT " " 1218 PRINT " " 1220 PRINT " " 1222 PRINT :PRINT :PRINT :PRINT :PRINT :PRINT " " 1225 PRINT " " 1227 PRINT " " 1229 PRINT " " 1232 PRINT " " 1235 PRINT 1238 PRINT 1241 PRINT " ~|" 1243 PRINT " ~ |" 1244 PRINT " ~ |" 1247 PRINT " ~|" 1248 PRINT " a b" 1249 PRINT " a ` b ~m|" 1250 PRINT " a ` b ~ m |" 1253 PRINT " eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" 1255 SA$= " " 1260 FOR N= 1TO 5 1265 PRINT SA$:NEXT 1275 OUT 8,255:RETURN 1300 REM GAME END 1330 OUT 8,247 1340 PLOT 3,21,19:PRINT "PLAY AGAIN(Y OR N)? ";:OUT 8,255:XX= CALL (2) 1347 CH$= CHR$ (XX):PRINT CH$:IF CH$< > "Y"THEN 1390 1350 GOTO 200 1390 OUT 8,255:PLOT 6,6,3,3,5,27,11,15 1395 LOAD "MENU":RUN 1400 REM ESTABLISH ICBM'S 1401 AA= 1:BB= 1:CC= 1:DD= 1 1403 GOSUB 500 1405 FF$= CHR$ (10)+ CHR$ (26)+ CHR$ (26)+ CHR$ (26) 1406 FF$= FF$+ CHR$ (26) 1410 IC$= P1$(AA)+ FF$+ P2$(BB)+ FF$+ P3$(CC)+ FF$+ P4$(DD) 1420 RETURN 64000 REM SCROLLING ROUTINE 64010 DA= 28672+ 128* Y+ X+ X:AD= TM+ 126:GOSUB 64100 64015 DA= 128- W- W:AD= TM+ 149:GOSUB 64100 64020 POKE TM+ 129,H- 1:POKE TM+ 131,W* (C+ 1) 64030 POKE TM+ 143,35* (1- C):RETURN 64100 Z1= INT (DA/ 256):Z2= DA- Z1* 256 64110 POKE AD,Z2:POKE AD+ 1,Z1:RETURN