Listing of file='SOUNDI.BAS;01' on disk='vmedia/intro_to_soundware-sector.ccvf'
100 REM ** SOUND INFO - MODIFIED JULY 19,79 ** 110 REM COPYRIGHT 4-79 120 REM CAP ELECTRONICS 130 REM 140 TM= PEEK (32940)+ PEEK (32941)* 256:POKE 32936,4 150 IF TM> 1024* 64- 4THEN LOAD "PATCH":RUN 160 IF PEEK (TM+ 180)< > 241THEN LOAD "PATCH":RUN 170 DA= TM+ 8:AD= 33283:GOSUB 60000 180 CLEAR 100 190 BD$= "twtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwt" 200 BL$= " " 210 P= 100:D= 500:NS= 0:S1= 0:S2= 0 220 OUT 8,247 230 REM SOUND EXPERIMENTER 240 PLOT 6,7,12,15 250 GOSUB 690 260 TM= PEEK (32940)+ 256* PEEK (32941)+ 1 270 PRINT " " 280 PLOT 14,3,1,2 290 PRINT " cf tu ab pb nu ab ~| {d {e en pb {e tu " 300 PLOT 3,1,4 310 PRINT " gd vw vw as lw rs no a| l l as a vw " 320 PLOT 3,1,6 330 PRINT " " 340 PLOT 3,1,6,15 350 PRINT " BY CAP ELECTRONICS " 360 POKE TM,50:POKE TM+ 2,15:POKE TM+ 4,0 370 REM SCREEN FILLER 380 PLOT 3,20,20 390 PLOT 15,6,0,3,2,30 400 PRINT "PRESS RETURN TO CONTINUE, M TO GO TO THE MENU, Q TO QUIT" 410 X= CALL (0) 420 PG= 1:PLOT 3,1,9:GOSUB 810:PG= 2 430 PLOT 3,60,30:OUT 8,255:CH= CALL (2):OUT 8,247:CH$= CHR$ (CH) 440 X= CALL (0):IF CH$< > "M"AND CH$< > "Q"AND CH$< > CHR$ (13)THEN 430 450 REM CHOOSER 460 PRINT CH$ 470 IF CH$= "Q"THEN GOSUB 590:GOTO 640 480 IF CH$= "M"THEN 670 490 GOSUB 1600 500 PLOT 3,1,9 510 ON PGGOSUB 810,950,1110,1260,1420,1540 520 PG= PG+ 1:IF PG> 6THEN PG= 1 530 X= CALL (0):GOTO 430 540 REM SOUND POKER 550 AD= TM:DA= P:GOSUB 60000 560 AD= TM+ 2:DA= D:GOSUB 60000 570 POKE TM+ 4,NS:POKE TM+ 5,S1:POKE TM+ 6,S2 580 XX= CALL (0):RETURN 590 REM ENDING 600 PLOT 3,2,30:PRINT BL$ 610 X= 1:Y= 9:H= 21:W= 62:C= 1:GOSUB 60020 620 FOR NN= 1TO 20:XC= CALL (1):NEXT 630 RETURN 640 PLOT 3,22,19,14 650 PLOT 6,0:OUT 8,255 660 PRINT "BYE BYE, COME AGAIN":PLOT 27,11,15:END 670 GOSUB 590:PLOT 3,22,19,14:PRINT "BACK TO THE MENU" 680 LOAD "MENU":RUN 690 REM BORDER DRAWER 700 PLOT 6,0,12,15,3,0,0 710 PLOT 6,10,27,24 720 PRINT BD$:PLOT 3,0,8:PRINT BD$:PLOT 3,0,31:PRINT BD$ 730 PLOT 27,10,3,0,0:PRINT BD$ 740 PLOT 3,63,0:PRINT BD$ 750 PLOT 27,24,3,1,1 760 POKE TM,50:POKE TM+ 2,15 770 RETURN 780 REM SAUCER 790 P= 250:D= 25:NS= 249:S1= 5:S2= 249 800 GOSUB 540:RETURN 810 REM PAGE 1 820 PRINT "PAGE 1" 830 P= 12 840 GOSUB 1580:PRINT "SOUNDWARE GIVES YOUR COMPUCOLOR II AN ENTIRELY NEW DIMENSION" 850 GOSUB 1580:PRINT "IT MAKES GAMES MORE EXCITING AND CAN ADD ANNUNCIATORS TO" 860 GOSUB 1580:PRINT "YOUR MORE SERIOUS PROGRAMS.":GOSUB 1580 870 GOSUB 1580:PRINT "SOUNDWARE USES THE COMPUCOLOR II RS 232 PORT OUTPUT AND IS" 880 GOSUB 1580:PRINT "EASILY PROGRAMMED IN BASIC TO GIVE LASER SOUNDS, CLICKS" 890 GOSUB 1580:PRINT "SIRENS, FIVE OCTAVES OF MUSICAL TONES, PLUS WHATEVER YOU CAN" 900 GOSUB 1580:PRINT "INVENT.":GOSUB 1580 910 GOSUB 1580:PRINT "SOUNDWARE IS EASILY INSTALLED IN SECONDS, AND COMES COMPLETE" 920 GOSUB 1580:PRINT "WITH A CABLE, VOLUME CONTROL, A BLACK AND SILVER CASE, AND" 930 GOSUB 1580:PRINT "A DISKETTE WITH DEMOS, INSTRUCTIONS, AND A SOUNDS COMPOSER." 940 RETURN 950 REM PAGE 2 960 PRINT "PAGE 2" 970 P= 12 980 GOSUB 1580:PRINT "THE SOUNDWARE IS INSTALLED BY PUTTING IN TWO AA BATTERIES" 990 GOSUB 1580:PRINT "PLUGGING THE CABLE INTO THE BACK OF THE COMPUCOLOR TO THE" 1000 GOSUB 1580:PRINT "RS 232 PORT. SOUND IS CONTROLLED BY PASSING NUMBERS TO A" 1010 GOSUB 1580:PRINT "MACHINE LANGUAGE SUBROUTINE WITH POKE STATEMENTS. AFTER THE" 1020 GOSUB 1580:PRINT "POKES ARE COMPLETED, THE SUBROUTINE IS ACTIVATED BY A CALL" 1030 GOSUB 1580:PRINT " E.G. POKE LO,154:POKE LO+2,200:X=CALL(0)" 1040 GOSUB 1580:PRINT "GIVES A ONE SECOND MIDDLE C TONE." 1050 GOSUB 1580:GOSUB 1580:PRINT "THE 'PATCH' PROGRAM ON THE SOUNDWARE DISK LOADS THE SOUND 1060 GOSUB 1580:PRINT "MACHINE LANGUAGE PROGRAM AND SETS UP THE CALL VECTOR. ONCE" 1070 GOSUB 1580:PRINT "THIS SUBROUTINE IS LOADED, IT STAYS UNTIL COMPUCOLOR IS" 1080 GOSUB 1580:PRINT "POWERED OFF. SO OTHER BASIC PROGRAMS CAN THEN BE LOADED AND" 1090 GOSUB 1580:PRINT "USE THE MACHINE LANGUAGE PROGRAM." 1100 RETURN 1110 REM PAGE 3 1120 PRINT "PAGE 3" 1130 P= 12:GOSUB 1580 1140 PRINT "THERE ARE 5 PARAMETERS TO PASS TO THE SOUND SUBROUTINE;PITCH" 1150 GOSUB 1580:PRINT "DURATION,NUMBER OF STEPS,STEPSIZE1,& STEPSIZE2. PITCH AND" 1160 GOSUB 1580:PRINT "DURATION ARE TWO BYTE PARAMETERS. AFTER THE SUBROUTINE IS" 1170 GOSUB 1580:PRINT "LOADED, ITS LOCATION MAY BE LOCATED BY:" 1180 GOSUB 1580:PRINT " LO=PEEK(32940)+PEEK(32941)*256+1" 1190 GOSUB 1580:PRINT "THEN LOCATION LO IS PITCHLO,LO+1 IS PITCHHI, LO+2 IS DURLO" 1200 GOSUB 1580:PRINT "LO+3 IS DURHI, LO+4 IS NS, LO+5 IS SS1, & LO+6 IS SS2." 1210 GOSUB 1580:GOSUB 1580:PRINT "STEPSIZE1,2 ARE ADDED IN BINARY TO PITCHLO WITH THE CARRY" 1220 GOSUB 1580:PRINT "IGNORED,THUS 1 TO 127 ADD AND 128 TO 255 ACTUALLY SUBTRACT" 1230 GOSUB 1580:PRINT "WITH 255 THE SAME AS -1, 254 THE SAME AS -2, ETC. THE NEXT" 1240 GOSUB 1580:PRINT "PAGE ILLUSTRATES THE FULL USE OF THE STEP PARAMETERS" 1250 RETURN 1260 REM PAGE 4 1270 PRINT "PAGE 4" 1280 P= 9:GOSUB 1580 1290 PRINT " EFFECTS OF THE STEP PARAMETERS" 1300 PLOT 6,3,2,27,253,12,80,242,12,38,120,38,255 1310 PLOT 6,6,3,3,12,27,10:PRINT "^^PITCH ^^":PLOT 27,24 1320 PLOT 2,27,253,15,50,242,30,50,30,45,45,45,45,55,60,55,60,50,75,50,75,60,90,60 1330 PLOT 90,55,105,55,105,65,120,65,255 1340 P= 22 1350 GOSUB 1580:PRINT " >>>>>> TIME >>>>>>" 1360 GOSUB 1580:PRINT "USING THE STEP FUNCTIONS CAN GIVE MORE INTERESTING SOUNDS ," 1370 GOSUB 1580:PRINT "SUCH AS THE SAUCER DEMO WHERE:" 1380 GOSUB 1580:PRINT " PITCH=250, DUR=25, NS=249, S1=5, S2=249" 1390 GOSUB 1580:PRINT "NOTE THAT DURATION SPECIFIES THE NUMBER OF CYCLES, SO THE" 1400 GOSUB 1580:PRINT "HIGHER FREQUENCY SOUNDS WILL BE SHORTER." 1410 RETURN 1420 REM PAGE 5 1430 PRINT "PAGE 5" 1440 P= 12 1450 GOSUB 1580:PRINT "THE 'PATCH' PROGRAM ALSO LOADS THE COMPUCOLOR SCROLLING" 1460 GOSUB 1580:PRINT "PATCH WHICH IS USED BY SETTING X,Y,H,W,C PER COLORCUE VOLI.1" 1470 GOSUB 1580:PRINT "THEN EXECUTING A GOSUB64000 (X=CALL(1) EXECUTES THE SCROLL)." 1480 GOSUB 1580:GOSUB 1580:PRINT "THERE IS ALSO A X=CALL(2) SUBROUTINE WHICH WAITS FOR A KEY" 1490 GOSUB 1580:PRINT "DEPRESSION, THEN RETURNS THE ASCII VALUE TO X WITHOUT THE" 1500 GOSUB 1580:PRINT "RETURN KEY." 1510 GOSUB 1580:GOSUB 1580:PRINT "WHEN NO PARAMETERS ARE POKED TO THE SOUND SUBROUTINE,CALL(0)" 1520 GOSUB 1580:PRINT "WILL CREATE A CLICK (PITCH=50, DURATION=15)." 1530 RETURN 1540 REM PAGE 6 1550 PRINT "PAGE 6" 1560 PLOT 14,3,20,15:PRINT "THE END OF THIS STORY":PLOT 15 1570 RETURN 1580 REM TEST POSITIONER 1590 P= P+ 1:PLOT 3,2,P:RETURN 1600 REM PAGE ERASER 1610 PLOT 6,0,2,250,2,8,125,247 1620 FOR N= 1TO 41 1630 PLOT 34:NEXT :PLOT 255:POKE TM,30:X= CALL (0):RETURN 60000 Z1= INT (DA/ 256):Z2= DA- Z1* 256 60010 POKE AD,Z2:N= N+ 1:POKE AD+ 1,Z1:RETURN 60020 REM SCROLLING SUBROUTINE 60030 DA= 28672+ 128* Y+ X+ X:AD= TM+ 126:GOSUB 60000 60040 DA= 128- W- W:AD= TM+ 149:GOSUB 60000 60050 POKE TM+ 129,H- 1:POKE TM+ 131,W* (C+ 1) 60060 POKE TM+ 143,35* (1- C):RETURN