home *** CD-ROM | disk | FTP | other *** search
/ Sound Sensations! / sound_sensations.iso / other / spfx / spfx.bas
Encoding:
BASIC Source File  |  1988-07-12  |  6.0 KB  |  198 lines

  1. 10 KEY OFF
  2. 20 WIDTH 80
  3. 30 COLOR 4, 4
  4. 40 CLS : LOCATE , , 0, 0, 7
  5. 50 PI = 3.14159
  6. 60 L$ = STRING$(78, 205)
  7. 70 PRINT CHR$(201); L$; CHR$(187);
  8. 80 PRINT CHR$(186); : COLOR 0: PRINT TAB(29); "*** Sound effects ***";
  9. 90 COLOR 0: PRINT TAB(80); CHR$(186);
  10. 100 PRINT CHR$(204); L$; CHR$(185);
  11. 110 FOR X = 4 TO 19
  12. 120 PRINT CHR$(186); TAB(80); CHR$(186);
  13. 130 NEXT
  14. 140 PRINT CHR$(204); L$; CHR$(185);
  15. 150 PRINT CHR$(186); : COLOR 0: PRINT TAB(7); "*** ENTER YOUR CHOICE ***";
  16. 160 PRINT TAB(35); "[[[ Press any key to select new sound ]]]";
  17. 170 COLOR 0: PRINT TAB(80); CHR$(186);
  18. 180 PRINT CHR$(200); L$; CHR$(188);
  19. 190 COLOR 0
  20. 200 LOCATE 4, 3: PRINT "A-Bat screeches";
  21. 210 LOCATE 5, 3: PRINT "B-Bird call";
  22. 220 LOCATE 6, 3: PRINT "C-Clock ticking";
  23. 230 LOCATE 7, 3: PRINT "D-Conveyor moving";
  24. 240 LOCATE 8, 3: PRINT "E-Crickets chirping";
  25. 250 LOCATE 9, 3: PRINT "F-Doorbell buzzing";
  26. 260 LOCATE 10, 3: PRINT "G-Explosion";
  27. 270 LOCATE 11, 3: PRINT "H-Generator starting";
  28. 280 LOCATE 12, 3: PRINT "I-Machine noise";
  29. 290 LOCATE 13, 3: PRINT "J-Phaser fire"
  30. 300 LOCATE 14, 3: PRINT "K-Phone call";
  31. 310 LOCATE 15, 3: PRINT "L-Phone- tuned ring"
  32. 320 LOCATE 16, 3: PRINT "M-Photon torpedo";
  33. 330 LOCATE 17, 3: PRINT "N-Random sounds";
  34. 340 LOCATE 18, 3: PRINT "O-Saucer(flying)";
  35. 350 LOCATE 19, 3: PRINT "P-Siren"
  36. 360 LOCATE 3, 40: COLOR 0: PRINT CHR$(203);
  37. 370 FOR X = 4 TO 19: LOCATE X, 40: PRINT CHR$(186); : NEXT
  38. 380 LOCATE 20, 40: PRINT CHR$(202);
  39. 390 COLOR 0
  40. 400 LOCATE 4, 42: PRINT "Q-Spigot dripping";
  41. 410 LOCATE 5, 42: PRINT "R-Train passing";
  42. 420 LOCATE 6, 42: PRINT "S-Whooping siren";
  43. 430 LOCATE 7, 42: PRINT "T-Computer thinking";
  44. 440 LOCATE 19, 42: PRINT "*-TO END";
  45. 450 AAA$ = INKEY$
  46. 460 IF AAA$ = "" THEN 450
  47. 470 IF AAA$="*" THEN COLOR 7,0:LOCATE ,,,6,7
  48. 480 AAA=ASC(AAA$):IF AAA>90 THEN AAA=AAA-32
  49. 490 IF AAA < 65 OR AAA > 90 THEN BEEP: GOTO 450 ELSE AAA = AAA - 64
  50. 500 ON AAA GOSUB 580, 640, 740, 790, 850, 940, 1030, 1100, 1190, 1270, 1330, 1360, 1450
  51. 510 IF AAA < 13 THEN GOTO 530
  52. 520 ON AAA - 13 GOSUB 1520, 1620, 1680, 1760, 1830, 1880, 1940
  53. 530 BEEP: GOTO 450
  54. 540 QUIT = 0: V$ = INKEY$
  55. 550 IF LEN(V$) = 0 THEN RETURN
  56. 560 QUIT = 1
  57. 570 RETURN
  58. 580 REM BAT SCREECH
  59. 590 FOR X = 12000 TO 1400 STEP -100
  60. 600 SOUND X, .1099999
  61. 610 NEXT
  62. 620 GOSUB 540: IF QUIT = 1 THEN RETURN
  63. 630 GOTO 590
  64. 640 REM birdcall
  65. 650 A = 3500: B = 3000
  66. 660 SOUND A, .8999999
  67. 670 FOR X = 1 TO 50: NEXT X
  68. 680 SOUND B, .8999999
  69. 690 FOR X = 1 TO 50: NEXT X
  70. 700 SOUND 4000, .8999999
  71. 710 FOR X = 1 TO 50: NEXT X
  72. 720 GOSUB 540: IF QUIT = 1 THEN RETURN
  73. 730 GOTO 660
  74. 740 REM clock ticking
  75. 750 SOUND 12500, .3499999
  76. 760 FOR X = 1 TO 600: NEXT X
  77. 770 GOSUB 540: IF QUIT = 1 THEN RETURN
  78. 780 GOTO 740
  79. 790 REM MOTORIZED CONVEYOR
  80. 800 FOR X = 37 TO 100
  81. 810 SOUND X, .05
  82. 820 NEXT
  83. 830 GOSUB 540: IF QUIT = 1 THEN RETURN
  84. 840 GOTO 800
  85. 850 REM CRICKETS
  86. 860 FOR X = 1 TO 10
  87. 870 SOUND 1800, .05
  88. 880 NEXT
  89. 890 SOUND 2000, 1.999999E-02
  90. 900 FOR X = 1 TO 1800
  91. 910 NEXT X
  92. 920 GOSUB 540: IF QUIT = 1 THEN RETURN
  93. 930 GOTO 860
  94. 940 REM DOOR BUZZER
  95. 950 FOR X = 1 TO 20
  96. 960 FOR A = 5700 TO 16000 STEP 1500
  97. 970 SOUND A, 9.999999E-03
  98. 980 NEXT
  99. 990 NEXT X
  100. 1000 FOR TD = 1 TO 1500: NEXT TD
  101. 1010 GOSUB 540: IF QUIT = 1 THEN RETURN
  102. 1020 GOTO 950
  103. 1030 FOR EX = 1 TO 5
  104. 1040 FOR E = 300 TO 1800 STEP 150
  105. 1050 SOUND E, .1
  106. 1060 NEXT E
  107. 1070 NEXT EX
  108. 1080 GOSUB 540: IF QUIT = 1 THEN RETURN
  109. 1090 GOTO 1030
  110. 1100 REM ELECTRICAL GENERATOR
  111. 1110 FOR X = 37 TO 1000
  112. 1120 SOUND X, .1: SOUND 2 * X, .1: SOUND 3 * X, .1
  113. 1130 GOSUB 540: IF QUIT = 1 THEN RETURN
  114. 1140 NEXT
  115. 1150 FOR Y = 1 TO 20
  116. 1160 SOUND X, .1: SOUND 2 * X, .1: SOUND 3 * X, .1
  117. 1170 GOSUB 540: IF QUIT = 1 THEN RETURN
  118. 1180 NEXT Y: RETURN
  119. 1190 REM MACHINERY
  120. 1200 FOR X = 400 TO 100 STEP -10
  121. 1210 SOUND X, 9.999999E-03
  122. 1220 SOUND X / 2 + 37, 9.999999E-03
  123. 1230 SOUND X / 3 + 37, 9.999999E-03
  124. 1240 NEXT
  125. 1250 GOSUB 540: IF QUIT = 1 THEN RETURN
  126. 1260 GOTO 1200
  127. 1270 REM STAR TREK PHASER SOUND
  128. 1280 FOR X = 50 TO 750 STEP 80
  129. 1290 SOUND X, .1
  130. 1300 NEXT
  131. 1310 GOSUB 540: IF QUIT = 1 THEN RETURN
  132. 1320 GOTO 1280
  133. 1330 FOR A = 0 TO 8: FOR X = 1 TO 10 * RND: SOUND 15000, 1: FOR Y = 1 TO 100: NEXT Y: NEXT X: FOR Z = 1 TO 1000: NEXT Z: GOSUB 540
  134. 1340 IF QUIT = 1 THEN RETURN
  135. 1350 NEXT A: FOR TD = 1 TO 1500: NEXT TD: FOR B = 0 TO 5: FOR X = 1 TO 100: SOUND 500, 3.999999E-02: NEXT X: FOR TD = 1 TO 1500: NEXT TD: NEXT B: RETURN
  136. 1360 REM TUNED TELEPHONE RING
  137. 1370 REM LOW TONE=C HIGH TONE=E
  138. 1380 FOR X = 1 TO 30
  139. 1390 SOUND 523.25, .5
  140. 1400 SOUND 659.26, .5
  141. 1410 NEXT
  142. 1420 FOR TD = 1 TO 1500: NEXT TD
  143. 1430 GOSUB 540: IF QUIT = 1 THEN RETURN
  144. 1440 GOTO 1380
  145. 1450 REM PHOTON TORPEDO FIRE
  146. 1460 FOR X = 4000 TO 100 STEP -150
  147. 1470 SOUND X, 9.999999E-03
  148. 1480 SOUND X / 2 + 37, 9.999999E-03
  149. 1490 SOUND X / 3 + 37, 9.999999E-03
  150. 1500 IF X < 200 THEN SOUND 30000, .1: RETURN
  151. 1510 NEXT
  152. 1520 REM RANDOMIZED SOUNDS AND DURATIONS
  153. 1530 FOR Y = 37 TO 1000 STEP 100 * RND
  154. 1540 X = RND * 1
  155. 1550 SOUND Y, X
  156. 1560 NEXT
  157. 1570 FOR Y = 1000 TO 37 STEP -100 * RND
  158. 1580 SOUND Y, X
  159. 1590 NEXT
  160. 1600 GOSUB 540: IF QUIT = 1 THEN RETURN
  161. 1610 GOTO 1530
  162. 1620 REM FLYING SAUCER SOUND
  163. 1630 FOR A = 500 TO 1500 STEP 200
  164. 1640 SOUND A, .5
  165. 1650 NEXT
  166. 1660 GOSUB 540: IF QUIT = 1 THEN RETURN
  167. 1670 GOTO 1630
  168. 1680 REM siren
  169. 1690 FOR A = 200 TO 1000: SOUND A, .1
  170. 1700 NEXT
  171. 1710 SOUND A, 15: GOSUB 540: IF QUIT = 1 THEN RETURN
  172. 1720 FOR A = 1000 TO 200 STEP -1: SOUND A, .1
  173. 1730 NEXT
  174. 1740 GOSUB 540: IF QUIT = 1 THEN RETURN
  175. 1750 GOTO 1690
  176. 1760 REM DRIPPING SPIGOT
  177. 1770 FOR X = 1000 TO 1200 STEP 100
  178. 1780 SOUND X, .15
  179. 1790 NEXT
  180. 1800 FOR TD = 0 TO 2000: NEXT TD
  181. 1810 GOSUB 540: IF QUIT = 1 THEN RETURN
  182. 1820 GOTO 1770
  183. 1830 REM TRAIN
  184. 1840 FOR X = 1700 TO 37 STEP -4
  185. 1850 IF X = 100 THEN SOUND 30000, .05: RETURN
  186. 1860 SOUND X, 9.999999E-03
  187. 1870 NEXT
  188. 1880 REM whooper siren
  189. 1890 FOR A = 900 TO 1000
  190. 1900 SOUND A, .089999999#
  191. 1910 NEXT
  192. 1920 GOSUB 540: IF QUIT = 1 THEN RETURN
  193. 1930 GOTO 1890
  194. 1940 REM random electronic sounds
  195. 1950 SOUND (2000 * RND) + 37, .5
  196. 1960 GOSUB 540: IF QUIT = 1 THEN RETURN
  197. 1970 GOTO 1950
  198.