Listing of file='POPSHT.BAS;01' on disk='vmedia/action_soundware-sector.ccvf'
50 REM POPSHOT 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,6 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 140 TM= PEEK (32940)+ PEEK (32941)* 256+ 1 200 REM INITIALIZATION 210 OUT 8,247 220 SC= 0:NS= 0:RO= 1:ZC= 0 225 NR= 0 235 GOSUB 900:GOSUB 700 250 PLOT 12:GOSUB 1200 260 GOSUB 400 265 OUT 8,247 300 REM MAIN LOOP 305 PLOT 27,10 310 XX= CALL (0):FOR N= 0TO 25 315 PLOT 3,8,N:PRINT " ``` ":PLOT 8 317 AA= INP (1):IF (AA< > 255)AND (NS< 10)THEN GOSUB 600 320 NEXT 322 XX= CALL (0) 325 FOR N= 24TO 1STEP - 1 330 PLOT 3,8,N:PRINT " ``` ":PLOT 8 332 AA= INP (1):IF (AA< > 255)AND (NS< 10)THEN GOSUB 600 335 NEXT 350 IF NS< 10GOTO 305 360 GOTO 1300 400 REM REDRAW WALL 403 GOSUB 500 405 OK= 0 407 PLOT 3,60,1:PRINT "`" 410 FOR N= 2TO 28 415 PLOT 3,60,N:IF RND (1)> .85THEN PRINT " ":OK= OK+ 1:GOTO 425 420 PRINT "`" 425 NEXT 427 PLOT 3,60,28:PRINT "`" 430 IF OK> 1THEN RETURN 435 GOTO 405 500 REM PRINT SCORE 502 PLOT 27,24 505 PLOT 3,14,30:PRINT "";4- NR 510 PLOT 3,22,30:PRINT " " 512 PLOT 3,22,30:PRINT "";NS 515 PLOT 3,30,30:PRINT " " 520 PLOT 3,30,30:PRINT "";SC 525 PLOT 3,47,30:PRINT " " 530 PLOT 3,47,30:PRINT "";ZC 540 PLOT 3,39,30:PRINT "";BR 550 PLOT 8:RETURN 600 REM SHOT 605 PLOT 27,24:GOSUB 1030 610 PLOT 3,11,N+ 2:SC= SC- 10:NS= NS+ 1 611 ZC= ZC- 10 613 PLOT 3,9,N+ 2 615 FOR NX= 1TO 51 620 PRINT "`";:NEXT :REM 621 HI= PEEK (28672+ 120+ (N+ 2)* 128) 622 IF HI< > 96THEN GOSUB 800 625 GOSUB 510 645 PRINT "":PLOT 3,9,N+ 2 650 FOR NX= 1TO 51 655 PRINT " ";:NEXT 675 PLOT 27,10,8 677 IF NS= 10THEN 685 680 RETURN 685 IF SC> 750THEN NR= NR- 1:BR= BR+ 1 688 SC= 0:RETURN 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 719 GOSUB 792:GOSUB 792:PRINT "TRY TO HIT THE HOLES IN THE WALL." 726 GOSUB 792 730 GOSUB 792:PRINT "YOU GET 4 ROUNDS OF 10 SHOTS EACH.":GOSUB 792:GOSUB 792 733 GOSUB 792:PRINT "PRESS THE ? KEY TO FIRE.":GOSUB 792:GOSUB 792:GOSUB 792 735 GOSUB 792:PRINT "IF YOU GET MORE THAN 750 POINTS IN ANY ROUND," 737 GOSUB 792:PRINT "YOU GET A BONUS ROUND." 740 PLOT 3,18,28:PRINT "PRESS RETURN TO START THE GAME ! "; 752 OUT 8,255:XX= CALL (2) 755 PRINT "" 788 PLOT 8:FOR N= 1TO 25:POKE TM,40- N:XX= CALL (0):XX= CALL (1):NEXT 790 C= 128:RETURN 792 Y= Y+ 1:PLOT 3,X,Y:RETURN 795 Y= Y- 2:PLOT 3,X,Y:RETURN 800 REM HITTER 810 PRINT "`*" 815 SC= SC+ 110:ZC= ZC+ 110 817 GOSUB 500 820 POKE TM+ 2,100:POKE TM+ 4,25:POKE TM+ 5,20:POKE TM+ 6,236:XX= CALL (0) 825 PLOT 3,9,N+ 2 827 GOSUB 1030 830 FOR NX= 1TO 54 835 PRINT " ";:NEXT 840 POKE TM,10:POKE TM+ 2,100:XX= CALL (0) 850 RETURN 900 REM DRAW GAME SUBROUTINE 920 PLOT 6,6,12,6,3,15,27,24 925 PRINT "" 930 BD$= "`````````````````````````````````````````````````````````````" 935 PLOT 3,1,0:PRINT BD$ 937 PLOT 3,1,4:PRINT BD$ 939 PLOT 3,1,31:PRINT BD$ 941 PLOT 27,10,3,1,0:PRINT BD$ 943 PLOT 3,62,0:PRINT BD$ 945 PLOT 27,24,14 955 PLOT 3,22,2 956 REM 960 PRINT "P O P S H O 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 1200 REM DRAW ENVIRONMENT 1210 PLOT 3,0,28,27,24 1211 PRINT ""; 1215 PRINT " ROUNDS SHOTS ROUND BONUS TOTAL " 1220 PRINT " LEFT FIRED SCORE ROUNDS POINTS " 1225 PRINT " a b a b a b a b a b" 1230 PRINT " lm lm lm lm lm" 1245 RETURN 1300 REM GAME END 1305 NS= 0:RO= RO+ 1:NR= NR+ 1:IF NR< 4THEN 260 1307 PLOT 27,24,3,14,30:PRINT " " 1308 PLOT 3,15,30:PRINT "0" 1310 PLOT 3,18,13 1315 PRINT "YOU GOT ";ZC;" TOTAL POINTS" 1325 PLOT 27,24:FOR N= 1TO 1000:NEXT :OUT 8,255 1346 PLOT 3,21,19:PRINT "PLAY AGAIN (Y OR N)? ";:XX= CALL (2) 1347 CH$= CHR$ (XX):PRINT CH$:IF CH$< > "Y"THEN 1390 1350 SC= 0:NS= 0:RO= 1:NR= 0:ZC= 0:BR= 0:GOTO 250 1390 OUT 8,255:PLOT 6,6,3,3,5,27,15 1395 LOAD "MENU":RUN 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