home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / AUDEX.DSK / EXCERPT-A-SOUND.bas < prev    next >
BASIC Source File  |  2014-09-09  |  15KB  |  414 lines

  1. 0  ONERR  GOTO 0
  2. 1  FOR E = 952 TO 975: READ H: POKE E,H: NEXT : FOR E = 1010 TO 1012: READ H: POKE E,H: NEXT 
  3. 2  DATA  32,234,3,162,2,173,0,224,201,76,240,7,202,157,128,192,16,243,2,162,20,76,18,212,184,3,166
  4. 3  PRINT  CHR$(4);"BRUNINSTALL &LOMEM": &  LOMEM: 16384
  5. 10  HIMEM: 29183
  6. 15  DIM AS(255)
  7. 20 NS = 0:AS(1) = 29184
  8. 25 BUF = 30332
  9. 30 AUDIO = 37375
  10. 35  PRINT  CHR$(4);"BLOAD AUDIO OPCODES"
  11. 98  ONERR  GOTO 100
  12. 99  GOTO 1000
  13. 100  CALL 54915:ER =  PEEK(222): IF ER = 255  OR ER = 20  THEN  GOTO 1000
  14. 110  HOME : TEXT 
  15. 140  IF ER = 0  OR ER >15  THEN J = 53856 +ER +(ER = 255) * -1: GOTO 160
  16. 150 J = 43377 + PEEK(43583 +ER)
  17. 160 K =  PEEK(J): PRINT  CHR$(K);: IF K <192  THEN J = J +1: GOTO 160
  18. 170  PRINT : PRINT "PRESS ANY KEY": WAIT  -16384,128: POKE 49168,0: GOTO 1000
  19. 998 :
  20. 999 :
  21. 1000 : REM 
  22. 1010  TEXT : GOSUB 1200: GOSUB 1280: GOSUB 2000: GOSUB 1300: GOTO 3000
  23. 1098 :
  24. 1099 :
  25. 1100  REM 
  26. 1105  GOSUB 1200: GOSUB 2000: GOSUB 1300: RETURN 
  27. 1110 :
  28. 1115 :
  29. 1200  REM 
  30. 1205  HOME : GOSUB 1230: VTAB 17: GOSUB 1235: PRINT "CURSOR FLASHES BY OPTION.": PRINT "SPACE BAR MOVES CURSOR.": PRINT "RETURN KEY ACTIVATES OPTION.": RETURN 
  31. 1210  PRINT "MENU"
  32. 1215  PRINT "('EXCERPT-A-SOUND' PROGRAM)
  33. 1220  RETURN 
  34. 1225 :
  35. 1230  PRINT "=====AUDEX: EXCERPT-A-SOUND PROGRAM=====": INVERSE : PRINT "    COPYRIGHT 1982 BY SIRIUS SOFTWARE   ": NORMAL : RETURN 
  36. 1235  NORMAL : INVERSE : GOSUB 1240: NORMAL : RETURN 
  37. 1240  PRINT "                                        ": RETURN 
  38. 1245  PRINT "CURSOR FLASHES BY OPTION."
  39. 1250  PRINT "SPACE BAR MOVES CURSOR."
  40. 1255  PRINT "RETURN KEY ACTIVATES OPTION."
  41. 1260  VTAB 1
  42. 1265  RETURN 
  43. 1270 :
  44. 1275 :
  45. 1280  REM 
  46. 1285 SF = 1:SL = 2:SET = 1:VT = 5
  47. 1290 :
  48. 1295 :
  49. 1300  REM 
  50. 1305  VTAB VT: INVERSE : FLASH : PRINT " ": NORMAL : RETURN 
  51. 1310 :
  52. 1315 :
  53. 1325  NORMAL : INVERSE : PRINT "                                        "
  54. 1330  NORMAL : RETURN 
  55. 1335 :
  56. 1340 :
  57. 2000  REM 
  58. 2001  GOSUB 2100: VTAB 5: ON SET GOTO 2011,2021,2030,2040
  59. 2011  PRINT " INSTRUCTIONS": PRINT 
  60. 2012  PRINT " LOAD AUDIO FROM CASSETTE": PRINT 
  61. 2013  PRINT " SAVE 'RAW' AUDIO ON DISK": PRINT 
  62. 2014  PRINT " DISPLAY AND EXCERPT SOUND PULSES": PRINT 
  63. 2015  PRINT " SAVE EXCERPTED SOUNDS ON DISK": PRINT 
  64. 2016  GOTO 2200
  65. 2017  PRINT " QUIT"
  66. 2018  RETURN 
  67. 2021  PRINT " INSTRUCTIONS": PRINT 
  68. 2022  PRINT " LOAD 'RAW' AUDIO FROM DISK": PRINT 
  69. 2023  PRINT " RUN HELLO": PRINT 
  70. 2024  PRINT " RUN DRAW-A-SOUND": PRINT 
  71. 2025  PRINT " RUN BUILD-A-SOUND": PRINT 
  72. 2026  GOTO 2200
  73. 2098 :
  74. 2099 :
  75. 2100  REM 
  76. 2110  FOR I = 5 TO 15  STEP 2: VTAB I
  77. 2120  PRINT "                                        ": NEXT I: RETURN 
  78. 2200  PRINT " LIST OTHER OPTIONS": RETURN 
  79. 2998 :
  80. 2999 :
  81. 3000  REM 
  82. 3010 RET = 141:SPACE = 160:KBD = 49152:KSTROBE = 49168
  83. 3098 :
  84. 3099 :
  85. 3100  REM 
  86. 3110  GOSUB 9000
  87. 3120  IF X = 160  THEN  GOSUB 3200: GOTO 3100
  88. 3130  IF X = 141  THEN  GOSUB 3300: GOTO 3100
  89. 3140  GOTO 3100
  90. 3198 :
  91. 3199 :
  92. 3200  REM 
  93. 3210  VTAB VT: PRINT " "
  94. 3220 VT = VT +2: IF VT >15  THEN VT = 5
  95. 3230  VTAB VT
  96. 3240  INVERSE : FLASH 
  97. 3250  PRINT " ": NORMAL 
  98. 3260  RETURN 
  99. 3298 :
  100. 3299 :
  101. 3300  REM 
  102. 3310 OPT = (VT -3)/2
  103. 3320  ON SET GOTO 3321,3322,3323,3324
  104. 3321  ON OPT GOSUB 11000,5000,5120,6000,6420,3400: GOSUB 1100: RETURN 
  105. 3322  ON OPT GOSUB 11000,5100,4005,4010,4015,3400: GOSUB 1100: RETURN 
  106. 3398 :
  107. 3399 :
  108. 3400  REM 
  109. 3410 SET = SET +1: IF SET >SL  THEN SET = SF
  110. 3420  RETURN 
  111. 3430  GOSUB 6655: RETURN 
  112. 3498 :
  113. 3499 :
  114. 3505  IF NS < >0  THEN  GOSUB 6420
  115. 3510  HOME : POKE 103,1: POKE 104,8: END 
  116. 3598 :
  117. 3599 :
  118. 3700  RETURN 
  119. 3998 :
  120. 3999 :
  121. 4005  GOSUB 4100: POKE 103,1: POKE 104,8: PRINT  CHR$(4);"RUN HELLO"
  122. 4010  GOSUB 4100: POKE 103,1: POKE 104,8: PRINT  CHR$(4);"RUN DRAW-A-SOUND"
  123. 4015  GOSUB 4100: POKE 103,1: POKE 104,8: PRINT  CHR$(4);"RUN BUILD-A-SOUND"
  124. 4100  IF NS < >0  THEN  HOME : VTAB 10: PRINT "EXCERPT BUFFER MUST BE SAVED FIRST.": GOSUB 9030: GOSUB 6420
  125. 4105  HOME : VTAB 10: PRINT "INSERT PROGRAM DISK.": GOSUB 9030: HOME : VTAB 10: PRINT "LOADING. PLEASE WAIT.": RETURN 
  126. 4998 :
  127. 4999 :
  128. 5000  REM 
  129. 5005  HOME : VTAB 10: PRINT "CONNECT AND PREPARE CASSETTE RECORDER.": GOSUB 9030: HOME :: VTAB 10: GOSUB 10004
  130. 5006  IF  PEEK(49152) = 193  THEN  RETURN 
  131. 5010  HOME : VTAB 10: PRINT "AUDIO INPUT COMPLETE.": PRINT : PRINT "TURN TAPE RECORDER OFF.": GOSUB 9030
  132. 5015  HOME : VTAB 8: PRINT "PRESS RETURN KEY TO HEAR WHOLE RECORD.": PRINT : PRINT "PRESS SPACE BAR TO HEAR DATA PAGES IN   SEQUENCE.": PRINT : PRINT "PRESS ESCAPE KEY TO RETURN TO MENU."
  133. 5020  GOSUB 9000
  134. 5025  IF X = 160  THEN  GOSUB 5055: GOTO 5015
  135. 5030  IF X = 141  THEN  GOSUB 5080: GOTO 5015
  136. 5035  IF X = 155  THEN  RETURN 
  137. 5040  GOTO 5020
  138. 5045 :
  139. 5050 :
  140. 5055  REM 
  141. 5060  HOME 
  142. 5065  FOR I = 0 TO 27: POKE 255,145 -I: POKE 253,144 -I: VTAB 10: PRINT "PAGE ";I +1: CALL 37786: NEXT I: RETURN 
  143. 5070 :
  144. 5075 :
  145. 5080  REM 
  146. 5085  GOSUB 10006: RETURN 
  147. 5090 :
  148. 5095 :
  149. 5100  REM 
  150. 5101  GOSUB 9185
  151. 5105  HOME : VTAB 10: INPUT "ENTER NAME OF AUDIO FILE TO BE LOADED.  (TYPE IN AND HIT RETURN.)               ";A$
  152. 5106  HOME : VTAB 10: PRINT "READY TO LOAD RAW AUDIO DATA.": PRINT "FILENAME WILL BE: ";A$: GOSUB 9210
  153. 5107  PRINT  CHR$(4);"BLOAD";A$: GOTO 5015
  154. 5110 :
  155. 5115 :
  156. 5120  REM 
  157. 5121  GOSUB 9185
  158. 5125  HOME : VTAB 10: INPUT "ENTER FILE NAME.                        (TYPE IN AND HIT RETURN)                ";A$: PRINT  CHR$(4);"BSAVE";A$;",A30208,L7168": RETURN 
  159. 5126  HOME : VTAB 10: PRINT "READY TO SAVE RAW AUDIO DATA.": PRINT "FILENAME WILL BE: ";A$: GOSUB 9210
  160. 5127  PRINT  CHR$(4);"BSAVE";A$;",A30208,L7168": RETURN 
  161. 6000  REM 
  162. 6005 P = 1:L = 10:N = 1: GOSUB 6500:JMODE = 1
  163. 6010  GOSUB 9000
  164. 6015  IF X = 136  THEN  GOSUB 6105: GOTO 6010
  165. 6020  IF X = 149  THEN  GOSUB 6140: GOTO 6010
  166. 6025  IF X = 208  THEN  GOSUB 6175: GOTO 6010
  167. 6030  IF X = 204  THEN  GOSUB 6205: GOTO 6010
  168. 6035  IF X = 211  THEN  GOSUB 6235: GOTO 6010
  169. 6040  IF X = 178  THEN  GOSUB 6265: GOTO 6010
  170. 6045  IF X = 193  THEN  TEXT : GOSUB 5055: GOSUB 6865: GOTO 6010
  171. 6050  IF X = 200  THEN  GOSUB 6285: GOTO 6010
  172. 6055  IF X = 197  THEN  GOSUB 6335: GOTO 6010
  173. 6056  IF X = 210  THEN  GOSUB 6310: GOTO 6010
  174. 6060  IF X = 203  THEN  GOSUB 6380: GOTO 6010
  175. 6065  IF X = 155  THEN  GOSUB 6085: GOTO 6010
  176. 6070  GOTO 6010
  177. 6075 :
  178. 6080 :
  179. 6085  REM 
  180. 6090  TEXT : POP : RETURN 
  181. 6095 :
  182. 6100 :
  183. 6105  REM 
  184. 6110  IF JMODE = 1  THEN  GOSUB 6475
  185. 6115  IF JMODE = 2  THEN  GOTO 6730
  186. 6120  IF JMODE = 3  THEN  GOTO 6810
  187. 6125  RETURN 
  188. 6130 :
  189. 6135 :
  190. 6140  REM 
  191. 6145  IF JMODE = 1  THEN  GOTO 6525
  192. 6150  IF JMODE = 2  THEN  GOTO 6685
  193. 6155  IF JMODE = 3  THEN  GOTO 6775
  194. 6160  RETURN 
  195. 6165 :
  196. 6170 :
  197. 6175  REM 
  198. 6180 JMODE = 2
  199. 6185  TEXT : HOME : VTAB 10: PRINT "ENTER A VALUE (1 TO 128) FOR POSITION.": GOSUB 9050: IF X <1  OR X >128  THEN  GOSUB 6865: RETURN 
  200. 6190  GOSUB 6570:P = X: GOSUB 6550: GOSUB 6865: RETURN 
  201. 6195 :
  202. 6200 :
  203. 6205  REM 
  204. 6210 JMODE = 3
  205. 6215  TEXT : HOME : VTAB 10: PRINT "ENTER DESIRED EXCERPT LENGTH (1 TO 255).": GOSUB 9050: IF X <1  OR X >255  THEN  GOSUB 6865: RETURN 
  206. 6220  GOSUB 6590:L = X: GOSUB 6550: GOSUB 6865: RETURN 
  207. 6225 :
  208. 6230 :
  209. 6235  REM 
  210. 6240 JMODE = 1
  211. 6245  TEXT : HOME : VTAB 10: PRINT "ENTER DESIRED SCREEN NO. (0.5 THRU 28).": GOSUB 9050: IF X <.5  OR X >28  THEN  GOSUB 6865: RETURN 
  212. 6250 N =  INT(2 *X): GOSUB 6500: RETURN 
  213. 6255 :
  214. 6260 :
  215. 6265  REM 
  216. 6270 AD = BUF: POKE BUF,255:NR = 1: GOSUB 10002: RETURN 
  217. 6275 :
  218. 6280 :
  219. 6285  REM 
  220. 6290 AD = BUF +P -1:X =  PEEK(AD): POKE AD,L:NR = 1
  221. 6295  GOSUB 10002: POKE AD,X: RETURN 
  222. 6300 :
  223. 6305 :
  224. 6310  REM 
  225. 6315 AD = BUF +P -1:X =  PEEK(AD): POKE AD,L:NR = 50
  226. 6320  GOSUB 10002: POKE AD,X: RETURN 
  227. 6325 :
  228. 6330 :
  229. 6335  REM 
  230. 6340  TEXT : HOME : PRINT "EXCERPTING": POKE AS(NS +1),L
  231. 6345  FOR I = 1 TO L: POKE AS(NS +1) +I, PEEK(BUF +P -1 +I): NEXT I: POKE AS(NS +1) +L +1,0
  232. 6350 NS = NS +1:AS(NS +1) = AS(NS) +L +1
  233. 6355  IF AS(NS +1) >BUF  THEN  TEXT : GOSUB 6420
  234. 6360  TEXT : HOME : VTAB 10: PRINT "EXCERPTED AS SOUND ";NS: GOSUB 9030: GOSUB 6865
  235. 6365  RETURN 
  236. 6370 :
  237. 6375 :
  238. 6380  REM 
  239. 6385  TEXT : HOME : GOSUB 1230: VTAB 4: PRINT "KEY     FUNCTION": PRINT 
  240. 6390  PRINT "P       ENTER POSITION OF EXCERPT": PRINT "L       ENTER LENGTH OF EXCERPT": PRINT "S       ENTER SCREEN NO. (0.5 THRU 28)  <--     DECREASE VALUE LAST SET (P,L,S) -->     INCREASE VALUE LAST SET (P,L,S)": PRINT 
  241. 6395  PRINT "H       HEAR TARGETED PULSES": PRINT "R       HEAR TARGETED PULSES REPEATED": PRINT 
  242. 6400  PRINT "2       HEAR PAGE (TWO SCREENS)": PRINT "A       HEAR ALL PAGES": PRINT : PRINT "E       EXCERPT TARGETED PULSES INTO            SOUNDSET FILE ": PRINT 
  243. 6405  PRINT : PRINT "ESC     RETURN TO MAIN MENU": GOSUB 9030: GOSUB 6865: RETURN 
  244. 6410 :
  245. 6415 :
  246. 6420  REM 
  247. 6421  IF NS = 0  THEN  RETURN 
  248. 6425  GOSUB 9165
  249. 6430  PRINT  CHR$(4);"BLOAD SETCOUNT":SC =  PEEK(255): PRINT  CHR$(4);"BSAVE SOUNDSET";SC +1;",A";AS(1);",L";AS(NS +1) +1 -AS(1):SC = SC +1: POKE 255,SC: PRINT  CHR$(4);"BSAVE SETCOUNT,A255,L1"
  250. 6432  HOME : TEXT : VTAB 10: PRINT "SAVED AS SOUNDSET";SC: GOSUB 9030
  251. 6435 FS = 0:NS = 0:AS(1) = 29184: RETURN 
  252. 6440 :
  253. 6445 :
  254. 6450 :
  255. 6455 :
  256. 6465 :
  257. 6470 ::
  258. 6475  REM 
  259. 6480  IF N = 1  THEN  RETURN 
  260. 6485 N = N -1: GOTO 6500
  261. 6490 :
  262. 6495 :
  263. 6500  REM 
  264. 6505 A = AUDIO -128 *(N -1): HOME : HGR 
  265. 6510  FOR I = 0 TO 127:X =  PEEK(A -I): HCOLOR= 3 *(X < >0): HPLOT 11,I +16 TO 10 +X,I +16: POKE BUF +I,X: NEXT I: FOR I = 128 TO 384: POKE BUF +I, PEEK(A -I): NEXT I: HCOLOR= 3: GOSUB 6645: GOSUB 6845: GOSUB 6550: RETURN 
  266. 6515 :
  267. 6520 :
  268. 6525  REM 
  269. 6530  IF N = 56  THEN  RETURN 
  270. 6535 N = N +1: GOTO 6500
  271. 6540 :
  272. 6545 :
  273. 6550  REM 
  274. 6555  HCOLOR= 3: GOSUB 6610: GOSUB 6630: RETURN 
  275. 6560 :
  276. 6565 :
  277. 6570  REM 
  278. 6575  HCOLOR= 0: GOSUB 6610: GOSUB 6630: RETURN 
  279. 6580 :
  280. 6585 :
  281. 6590  REM 
  282. 6595  HCOLOR= 0: GOSUB 6630: RETURN 
  283. 6600 :
  284. 6605 :
  285. 6610  REM 
  286. 6615  HPLOT 9,P +15 TO 0,P +15 TO 0,P +12 TO 7,P +15: RETURN 
  287. 6620 :
  288. 6625 :
  289. 6630  REM 
  290. 6635  IF P +L -1 >128  THEN  RETURN 
  291. 6640  HPLOT 9,P +L +14 TO 0,P +L +14 TO 0,P +L +17 TO 7,P +L +14: RETURN 
  292. 6645  REM 
  293. 6650  HOME 
  294. 6655  VTAB 21: PRINT "SCREEN NO. = ";N/2
  295. 6660  VTAB 22: HTAB 1: PRINT "POSITION = ";P;: HTAB 21: PRINT "LENGTH = ";L
  296. 6665  RETURN 
  297. 6670  PRINT "                                        ": RETURN 
  298. 6675 :
  299. 6680 :
  300. 6685  REM 
  301. 6690  GOSUB 6570
  302. 6695 P = P +1: IF P >128  THEN P = 1: GOSUB 6525: GOTO 6710
  303. 6700  GOSUB 6550: GOSUB 6885
  304. 6705  FOR I = 1 TO 100: NEXT I
  305. 6710  IF  PEEK(KBD) <128  THEN  GOTO 6685
  306. 6715  POKE KSTROBE,0: RETURN 
  307. 6720 :
  308. 6725 :
  309. 6730  REM 
  310. 6735  GOSUB 6570
  311. 6740 P = P -1: IF P <1  THEN P = 128: GOSUB 6475: GOTO 6755
  312. 6745  GOSUB 6550: GOSUB 6885
  313. 6750  FOR I = 1 TO 100: NEXT I
  314. 6755  IF  PEEK(KBD) <128  THEN  GOTO 6730
  315. 6760  POKE KSTROBE,0: RETURN 
  316. 6765 :
  317. 6770 :
  318. 6775  REM 
  319. 6780  IF L = 255  THEN  GOTO 6795
  320. 6785  GOSUB 6590:L = L +1: GOSUB 6550: GOSUB 6905
  321. 6790  IF  PEEK(KBD) <128  THEN  GOTO 6775
  322. 6795  POKE KSTROBE,0: RETURN 
  323. 6800 :
  324. 6805 :
  325. 6810  REM 
  326. 6815  IF L = 1  THEN  GOTO 6830
  327. 6820  GOSUB 6590:L = L -1: GOSUB 6550: GOSUB 6905
  328. 6825  IF  PEEK(KBD) <128  THEN  GOTO 6810
  329. 6830  POKE KSTROBE,0: RETURN 
  330. 6835 :
  331. 6840 :
  332. 6845  REM 
  333. 6850 A$ = "(PRESS K KEY FOR KEY FUNCTION NOTES.)   ": FOR I = 1 TO 40: POKE 1999 +I, ASC( MID$ (A$,I,1)) +128: NEXT I: RETURN 
  334. 6855 :
  335. 6860 :
  336. 6865  REM 
  337. 6870  HOME : POKE 49239,0: POKE 49232,0: GOSUB 6645: GOSUB 6845: RETURN 
  338. 6875 :
  339. 6880 :
  340. 6885  REM 
  341. 6890  VTAB 22: HTAB 12: PRINT "   ";: HTAB 12: PRINT P: RETURN 
  342. 6895 :
  343. 6900 :
  344. 6905  REM 
  345. 6910  VTAB 22: HTAB 30: PRINT "   ";: HTAB 30: PRINT L: RETURN 
  346. 6915 :
  347. 6920 :
  348. 9000  REM 
  349. 9005  POKE 49168,0
  350. 9010 X =  PEEK(49154): IF X <128  THEN  GOTO 9010
  351. 9015  POKE 49168,0: RETURN 
  352. 9020 :
  353. 9025 :
  354. 9030  REM 
  355. 9035  VTAB 23: PRINT "(PRESS ANY KEY TO CONTINUE.)": GOSUB 9000: RETURN 
  356. 9040 :
  357. 9045 :
  358. 9050  REM 
  359. 9055  INPUT "(TYPE IN VALUE AND HIT RETURN.)";X: RETURN 
  360. 9065  FOR I = 1 TO AS(SX +1) -AS(SX) -1: POKE ADDRESS +I, PEEK(AS(SX) +I):P(I) =  PEEK(ADDRESS +I): NEXT I:N =  PEEK(AS(SX)): POKE ADDRESS,N:NM = N: RETURN 
  361. 9070 :
  362. 9075 :
  363. 9085 X = N +1 -(AS(SX +1) -AS(SX))
  364. 9090  FOR I = AS(NS +1) TO AS(SX +1)  STEP  -1: POKE I +X, PEEK(I): NEXT I
  365. 9095  FOR I = 0 TO N: POKE AS(SX) +I, PEEK(ADDRESS +I): NEXT I
  366. 9100  GOSUB 9115: RETURN 
  367. 9105 :
  368. 9110 :
  369. 9115  REM 
  370. 9120 NS = 1:AS(1) = 29184
  371. 9125 AS(NS +1) = 1 +AS(NS) + PEEK(AS(NS)): IF  PEEK(AS(NS +1)) < >0  THEN NS = NS +1: GOTO 9125
  372. 9130  RETURN 
  373. 9135 :
  374. 9140 :
  375. 9150  HOME : VTAB 10: PRINT "THERE ARE ";NS;" EXISTING SOUNDS NOW,": PRINT "NUMBERED 1 TO ";NS;".": RETURN 
  376. 9155 :
  377. 9160 :
  378. 9165  REM 
  379. 9170  HOME : VTAB 10: PRINT "INSERT STORAGE DISK.": GOSUB 9030: RETURN 
  380. 9175 :
  381. 9180 :
  382. 9185  REM 
  383. 9190  GOSUB 9165: PRINT  CHR$(4);"CATALOG": GOSUB 9030: GOTO 9210
  384. 9195  RETURN 
  385. 9200 :
  386. 9205 :
  387. 9210  REM 
  388. 9215  PRINT : PRINT "HIT RETURN TO PROCEED.": PRINT : PRINT "HIT ANY OTHER TO RECONSIDER.": GOSUB 9000: IF X < >141  THEN  POP : RETURN 
  389. 9220  RETURN 
  390. 10001  GOTO 10009
  391. 10002  GOSUB 10008: POKE 254,PL: POKE 255,PH: POKE 253,NR: CALL 37889: RETURN 
  392. 10003  GOSUB 10008: POKE 254,PL: POKE 255,PH: CALL 37478: RETURN 
  393. 10004  GOSUB 10008: PRINT "TAPE WILL PLAY THROUGH SPEAKER.": PRINT "'T' KEY TRIGGERS DATA INPUT": PRINT "'A' KEY ABORTS WITHOUT DATA INPUT": POKE 255,145: POKE 253,117: CALL 37632: HOME : RETURN 
  394. 10005  POKE 255,145: POKE 253,117: CALL 37675: RETURN 
  395. 10006  POKE 255,145: POKE 253,117: CALL 37786: RETURN 
  396. 10007  POKE 254,ML: POKE 255,MH: POKE 252,NL: POKE 253,NH: CALL 37376: RETURN 
  397. 10008 PH =  INT(AD/256):PL = AD -256 *PH: RETURN 
  398. 10009 :
  399. 11000  REM 
  400. 11005  HOME 
  401. 11010  PRINT "WITH THIS PROGRAM YOU CAN LOAD AUDIO    FROM A TAPE RECORDER INTO MEMORY. ONCE  IN MEMORY, THE 'RAW' AUDIO MAY BE SAVED ON DISK AND RELOADED LATER."
  402. 11015  PRINT 
  403. 11020  PRINT "EXCERPTING GROUPS OF SOUND PULSES FROM  RAW AUDIO INTO A SOUNDSET FILE ALLOWS   YOU TO MODIFY THE GROUPS OF PULSES LATERWITH DRAW-A-SOUND AND CONNECT THEM IN   ANY ORDER WITH BUILD-A-SOUND. RAW AUDIO"
  404. 11025  PRINT "OFTEN CONTAINS REPETETIVE PATTERNS OF   PULSES.": PRINT 
  405. 11030  PRINT "WHEN LOADING AUDIO FROM A CASSETTE, YOU SHOULD BE ABLE TO HEAR THE TAPE THROUGH THE COMPUTER'S SPEAKER. ADJUST YOUR TAPERECORDER AS NEEDED. SOUND WILL NEVER BE PERFECT. WHILE AUDIO IS BEING STORED IN MEMORY THE SPEAKER IS QUIET."
  406. 11035  GOSUB 9030: HOME 
  407. 11040  PRINT "RAW AUDIO IS DIVIDED IN MEMORY INTO 28  256-BYTE PAGES. 128 SOUND PULSES, HALF  OF A PAGE, CAN BE DISPLAYED AT ONCE.    SCREENS OF DISPLAYED DATA ARE NUMBERED  0.5, 1, 1.5, , , ,27.5, 28."
  408. 11044  PRINT : PRINT "A CURSOR MARKS THE FIRST PULSE TARGETED FOR EXCERPTION AND ANOTHER CURSOR MARKS"
  409. 11045  PRINT "THE END OF THE EXCERPT. THE 'END' CURSORMAY MOVE OFF SCREEN. BY CHANGING THE    HALF-PAGE DISPLAYED, THE POSITION OF THE'START' CURSOR, AND THE LENGTH OF THE   TARGETED PATTERN YOU CAN HEAR AND/OR"
  410. 11050  PRINT "EXCERPT ANY GROUP OF PULSES (UP TO 255) ANYWHERE IN THE 7K-BYTES OF AUDIO DATA."
  411. 11055  GOSUB 9030: RETURN 
  412. 11100  REM    <CTRL-G>COPYRIGHT 1982
  413. 11110  REM BY SIRIUS SOFTWARE,INC
  414. 11120  REM ALL RIGHTS RESERVED