RIAG Crate 010: 030 Music and Sound Effects
Item Preview
Share or Embed This Item
Flag this item for
RIAG Crate 010: 030 Music and Sound Effects
- Language
- English
Notes
Disk info for 030_Music_and_Sound_Effects.dsk:
File Name: riag_010_030_Music_and_Sound_Effects/030_Music_and_Sound_Effects.dsk
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 44032
Used Space (bytes): 99328
Physical Size (KB): 140
Free Space (KB): 43
Used Space (KB): 97
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 172
Used Sectors: 388
Tracks On Disk: 35
Sectors On Disk: 16
Disk directory for 030_Music_and_Sound_Effects.dsk:
riag_010_030_Music_and_Sound_Effects/030_Music_and_Sound_Effects.dsk DISK VOLUME #254
A 002 HELLO
* T 003 AMERICA
I 012 HANON ETUDE #1 IN C
* T 002 HAPPY BIRTHDAY
A 015 HARMONIC ANALYSIS
I 019 MUSIC COMPUTER
I 036 MUSIC FUNCTIONS
I 011 MUSIC GEE
I 023 MUSIC IN IB
I 014 MUSIC MAKER
I 017 MUSIC MOZART THEME
A 004 MUSIC START
I 030 MUSIC TWO VOICES
I 022 MUSIC WRITER 3
I 008 MUSICAL KEYBOARD
B 002 MUSICAL KEYBOARD.X
A 017 MUSICAL MEMORY
I 010 NAME THAT TUNE
I 007 SOUND EFFECTS DEMOS
A 005 SOUND EFFECTS HOW TO
I 007 SOUND EFFECTS RANDOM
A 003 SOUND ROUTINE
I 011 SOUNDS AND MUSIC STARWARS
I 006 SWANEE RIVER
* T 038 TUNES
DOS 3.3 format; 44,032 bytes free; 99,328 bytes used.
Text found in 030_Music_and_Sound_Effects.dsk/AMERICA.txt:
77,37
77,54
66,1
66,43
77,37
77,76
86,9
86,41
66,28
78,32
77,27
44,28
46,79
77,111
77,37
77,47
66,3
66,39
77,33
77,61
86,2
86,67
81,33
49,32
81,50
87,42
44,44
81,280
77,164
87,58
87,12
81,95
47,35
47,71
46,2
46,66
47,44
81,72
46,70
44,48
77,61
47,108
47,30
47,66
44,13
44,73
47,43
47,168
77,19
77,78
77,115
44,73
47,94
77,97
81,84
47,141
Text found in 030_Music_and_Sound_Effects.dsk/HANON ETUDE #1 IN C.int:
0 CALL -936
1 VTAB 12
2 TAB 10
3 PRINT "HANON ETUDE #1 IN C"
4 S=1:VTAB 20
5 INPUT "HOW FAST DO YOU WANT THE MUSIC TO PLAY? (TYPE 7 TO 255. 7 IS FASTEST) ",T
7 FOR J=1 TO 2
11 I=S+1
15 GOSUB 1000
19 I=S+5
23 GOSUB 1000
27 I=S+6
31 GOSUB 1000
35 I=S+8
39 GOSUB 1000
43 I=S+10
47 GOSUB 1000
51 I=S+8
55 GOSUB 1000
59 I=S+6
63 GOSUB 1000
67 I=S+5
71 GOSUB 1000
75 I=S+3
79 GOSUB 1000
83 I=S+6
87 GOSUB 1000
91 I=S+8
95 GOSUB 1000
99 I=S+10
103 GOSUB 1000
107 I=S+12
111 GOSUB 1000
115 I=S+10
119 GOSUB 1000
123 I=S+8
127 GOSUB 1000
131 I=S+6
135 GOSUB 1000
139 I=S+5
143 GOSUB 1000
147 I=S+8
151 GOSUB 1000
155 I=S+10
159 GOSUB 1000
163 I=S+12
167 GOSUB 1000
171 I=S+13
175 GOSUB 1000
179 I=S+12
183 GOSUB 1000
187 I=S+10
191 GOSUB 1000
195 I=S+8
199 GOSUB 1000
203 I=S+6
207 GOSUB 1000
211 I=S+10
215 GOSUB 1000
219 I=S+12
223 GOSUB 1000
227 I=S+13
231 GOSUB 1000
235 I=S+15
239 GOSUB 1000
243 I=S+13
247 GOSUB 1000
251 I=S+12
255 GOSUB 1000
259 I=S+10
263 GOSUB 1000
267 I=S+8
271 GOSUB 1000
275 I=S+12
279 GOSUB 1000
283 I=S+13
287 GOSUB 1000
291 I=S+15
295 GOSUB 1000
299 I=S+17
303 GOSUB 1000
307 I=S+15
311 GOSUB 1000
315 I=S+13
319 GOSUB 1000
323 I=S+12
327 GOSUB 1000
331 I=S+10
335 GOSUB 1000
339 I=S+13
343 GOSUB 1000
347 I=S+15
351 GOSUB 1000
355 I=S+17
359 GOSUB 1000
363 I=S+18
367 GOSUB 1000
371 I=S+17
375 GOSUB 1000
379 I=S+15
383 GOSUB 1000
387 I=S+13
391 GOSUB 1000
395 I=S+12
399 GOSUB 1000
403 I=S+15
407 GOSUB 1000
411 I=S+17
415 GOSUB 1000
419 I=S+18
423 GOSUB 1000
427 I=S+20
431 GOSUB 1000
435 I=S+18
439 GOSUB 1000
443 I=S+17
447 GOSUB 1000
451 I=S+15
455 GOSUB 1000
459 S=13
463 NEXT J
466 FOR J=1 TO 2
467 I=S+20
471 GOSUB 1000
475 I=S+17
479 GOSUB 1000
483 I=S+15
487 GOSUB 1000
491 I=S+13
495 GOSUB 1000
499 I=S+12
503 GOSUB 1000
507 I=S+13
511 GOSUB 1000
515 I=S+15
519 GOSUB 1000
523 I=S+17
527 GOSUB 1000
531 I=S+18
535 GOSUB 1000
539 I=S+15
543 GOSUB 1000
547 I=S+13
551 GOSUB 1000
555 I=S+12
559 GOSUB 1000
563 I=S+10
567 GOSUB 1000
571 I=S+12
575 GOSUB 1000
579 I=S+13
583 GOSUB 1000
587 I=S+15
591 GOSUB 1000
595 I=S+17
599 GOSUB 1000
603 I=S+13
607 GOSUB 1000
611 I=S+12
615 GOSUB 1000
619 I=S+10
623 GOSUB 1000
627 I=S+8
631 GOSUB 1000
635 I=S+10
639 GOSUB 1000
643 I=S+12
647 GOSUB 1000
651 I=S+13
655 GOSUB 1000
659 I=S+15
663 GOSUB 1000
667 I=S+12
671 GOSUB 1000
675 I=S+10
679 GOSUB 1000
683 I=S+8
687 GOSUB 1000
691 I=S+6
695 GOSUB 1000
699 I=S+8
703 GOSUB 1000
707 I=S+10
711 GOSUB 1000
715 I=S+12
719 GOSUB 1000
723 I=S+13
727 GOSUB 1000
731 I=S+10
735 GOSUB 1000
739 I=S+8
743 GOSUB 1000
747 I=S+6
751 GOSUB 1000
755 I=S+5
759 GOSUB 1000
763 I=S+6
767 GOSUB 1000
771 I=S+8
775 GOSUB 1000
779 I=S+10
783 GOSUB 1000
787 I=S+12
791 GOSUB 1000
795 I=S+8
799 GOSUB 1000
803 I=S+6
807 GOSUB 1000
811 I=S+5
815 GOSUB 1000
819 I=S+3
823 GOSUB 1000
827 I=S+5
831 GOSUB 1000
835 I=S+6
839 GOSUB 1000
843 I=S+8
847 GOSUB 1000
851 I=S+10
855 GOSUB 1000
859 I=S+6
863 GOSUB 1000
867 I=S+5
871 GOSUB 1000
875 I=S+3
879 GOSUB 1000
883 I=S+1
887 GOSUB 1000
891 I=S+3
895 GOSUB 1000
899 I=S+5
903 GOSUB 1000
907 I=S+6
908 GOSUB 1000
909 S=1
911 NEXT J
912 I=S+8
914 GOSUB 1000
916 I=S+5
918 GOSUB 1000
920 I=S+3
922 GOSUB 1000
924 I=S+1
926 GOSUB 1000
928 I=S+0
930 GOSUB 1000
932 I=S+1
934 GOSUB 1000
936 I=S+3
938 GOSUB 1000
940 I=S+5
942 GOSUB 1000
944 I=S+1:T=T*16
945 IF T>255 THEN T=255
946 GOSUB 1000
999 END
1000 MUSIC=-10473:PITCH=767:TIME=766:TIMBRE=765
1010 POKE TIME,T
1015 POKE TIMBRE,32
1020 POKE PITCH,I
1030 CALL MUSIC
1040 RETURN
Text found in 030_Music_and_Sound_Effects.dsk/HAPPY BIRTHDAY.txt:
77,32
77,6
44,46
77,48
47,49
46,103
77,27
77,6
44,42
77,52
81,47
47,118
77,19
77,17
82,42
87,59
47,41
46,41
44,129
69,20
69,6
87,53
47,59
81,46
47,89
Text found in 030_Music_and_Sound_Effects.dsk/HARMONIC ANALYSIS.bas:
1 REM ***HARMONIC ANALYSIS FOR THE APPLE***
2 REM ***BY CHARLES B. PUTNEY***
3 REM ***1085 UNGUOWA ROAD***
4 REM ***FAIRFIELD ,CT. 06430***
5 REM ---AS PUBLISHED IN THE MAY 1979---
6 REM ---ISSUE OF 'MICRO'---
7 REM ===ENTERED BY JUDD ELLMERS===
8 REM ===JUNE 9,1979===
10 HOME : VTAB 5: HTAB 13: PRINT "HARMONIC ANALYSIS": PRINT
20 PRINT "THIS PROGRAM CALCULATES THE COEFFICIENTS OF FOURIER SERIES TO THE FIFTH HARMONIC"
30 PRINT "OF PERODIC FUNCTIONS F(Y)=F(X)"
40 PRINT "FUNCTIONS MUST MEET THIS CRITERIA:"
50 PRINT : PRINT " (A)YIS NOT INFINITE."
60 PRINT " (B)THERE IS ONLY ONE VALUE OF Y FOR EVERY VALUE OF X."
70 PRINT " (C)Y HAS ONLY A FINITE NUMBER OF MAXIMA OR MINIMA."
100 PRINT
110 PRINT "MAKE A TABLE OF X,Y VALUES PICKED FROM THE GRAPH FOR EACH SECTION."
120 PRINT "EVEN IF THE FIRST AND LAST HALVES OF THE GRAPH ARE SYMETRICAL, X,Y VALUES FOR ONE FULL CYCLE MUST BE ENTERED."
122 PRINT "START AT DATA POINT #1 (NOT #0)"
123 PRINT
125 PRINT "---HIT ANY KEY AND RETURN TO CONTINUE---": INPUT Q$
200 HOME : VTAB 2: PRINT "INPUT X,Y VALUES OF POINTS ON GRAPH UNTIL ALL INPUTTED. AFTER LAST ENTRY TYPE 'DONE,DONE'"
205 PRINT : PRINT "ARE X DATA POINTS EQUAL STEPS DEGREES(D) OR RADIANS(R)?"
206 INPUT D$: IF D$ = "D" THEN R = 1
207 PRINT : PRINT " INPUT DATA AS X,Y"
210 INPUT X$,Y$
220 IF X$ = "DONE" THEN 1000
300 X = VAL(X$):Y = VAL(Y$)
301 REM CALCULATE SUMS OF COEFFICIENTS
305 A0 = Y +A0: IF R THEN X = (X/360) *6.28318
310 FOR I = 1 TO 5
320 A(I) = Y * SIN(I *X) +A(I)
330 B(I) = Y * COS(I *X) +B(I)
340 NEXT I
350 N = N +1
360 IF T < ABS(Y) THEN T = ABS(Y)
390 GOTO 210
1000 A0 = (A0/N): REM CALCULATE COEFFICIENT AVERAGES
1010 FOR I = 1 TO 5
1020 A(I) = (A(I)/N) *2
1030 B(I) = (B(I)/N) *2
1040 NEXT I
1100 HOME
1110 PRINT "TERMS OF THE FOURIER SERIES ARE:"
1120 PRINT : PRINT "TERM #1-(WILL BE ZERO IF GRAPH IS SYMMETRICAL)"
1121 PRINT " ";A0
1122 PRINT "TERM #2":H = 1: GOSUB 1200
1123 PRINT "TERM #3": GOSUB 1210
1124 PRINT "TERM #4":H = 2: GOSUB 1200
1125 PRINT "TERM #5": GOSUB 1210
1126 PRINT "TERM #6":H = 3: GOSUB 1200
1127 PRINT "TERM #7": GOSUB 1210
1128 PRINT "TERM #8":H = 4: GOSUB 1200
1129 PRINT "TRERM # 9": GOSUB 1210
1130 PRINT "TERM #10": GOSUB 1200
1131 PRINT "TERM #11": GOSUB 1210
1132 GOTO 1250
1200 PRINT " ";A(H);" SIN(";H;"X)": RETURN
1210 PRINT " ";B(H);" *COS(";H;"X)": RETURN
1225 REM OK NON GRAPHICS TO HERE ALSO CHAGE 1132 GOTO 1132
1250 INPUT "DO YOU WANT A PLOT (Y/N)? ";A$
1260 IF A$ = "N" THEN 6010
1290 S = 70:H = 0: REM SETTING SCALE AND CALCULATION CONSTANT TO ZERO
1300 PRINT : PRINT : PRINT "PLOT OF INPUT DATA CALCULATED TO FIFTH HARMONIC. Y AT 100= ";T: HGR
1301 HCOLOR= 3
1310 HPLOT 0,79 TO 279,79
1320 HPLOT 0,0 TO 0,159
1321 HPLOT 0,79 -S TO 5,79 -S
1322 HPLOT 0,79 +S TO 5,79 +S
1323 HPLOT 269,77 TO 269,81
1330 FOR K = 0 TO 269 STEP 4
1335 X = K/(.75 *360) *6.28318531
1340 Y = A0 +A(1) * SIN(X) +B(1) * COS(X) +A(2) * SIN(2 *X) +B(2) * COS(2 *X) +A(3) * SIN(3 *X) +B(3) * COS(3 *X) +A(4) * SIN(4 *X) +B(4) * COS(4 *X) +A(5) * SIN(5 *X) +B(5) * COS(5 *X)
1350 Y = (1/T) *Y *S
1355 IF ABS(Y) >79 GOTO 6000
1360 HPLOT K,79 -Y
1390 NEXT K
1500 HCOLOR= 6
1510 PRINT : PRINT : PRINT "FIRST HARMONIC": GOSUB 1600
1520 PRINT : PRINT : PRINT "SECOND HARMONIC": GOSUB 1600
1530 PRINT : PRINT : PRINT "THIRD HARMONIC": GOSUB 1600
1540 PRINT : PRINT : PRINT "FOURTH HARMONIC": GOSUB 1600
1550 PRINT : PRINT : PRINT "FIFTH HARMONIC": GOSUB 1600
1580 GOTO 2000
1600 H = H +1: REM ROUTINE FOR PLOTTING HARMONICS
1610 FOR K = 0 TO 269 STEP 4
1620 X = K/(0.75 *360) *6.283185
1630 Y = A(H) * SIN(H *X) +B(H) * COS(H *X)
1640 Y = (1/T) *Y *S
1645 IF ABS(Y) >79 THEN 6000
1650 HPLOT K,79 -Y
1660 NEXT K
1670 RETURN
2000 HOME :H = 1: REM SETTING UP COEFFICIENT TABLE
2010 VTAB 5: PRINT " COEFFICIENT TABLE"
2020 PRINT : PRINT : PRINT " SINES"," COSINES"
2031 PRINT : PRINT "FIRST HARMONIC": GOSUB 2100
2032 PRINT : PRINT : PRINT "SECOND HARMONIC": GOSUB 2100
2033 PRINT : PRINT : PRINT "THIRD HARMONIC": GOSUB 2100
2034 PRINT : PRINT : PRINT "FOURTH HARMONIC": GOSUB 2100
2035 PRINT : PRINT : PRINT "FIFTH HARMONIC": GOSUB 2100
2040 PRINT : PRINT "CONSTANT = ";A0;" Y AT 100 = ";T
2045 PRINT : PRINT "HIT SPACE BAR FOR REVIEW"
2090 H = 0: GOTO 2200
2100 PRINT A(H),B(H)
2110 H = H +1: RETURN
2200 REM REVIEW ROUTINE
2220 IF PEEK( -16384) <127 THEN 2220
2230 POKE -16368,0
2240 POKE -16303,0
2270 IF PEEK( -16384) <127 THEN 2270
2280 POKE -16368,0
2290 POKE -16304,0
3300 GOTO 2220
6000 PRINT "PLOT IS OFF SCALE...TRYING AGAIN"
6002 S = S -10: REM SHORTEN VERTICAL SCALE
6004 FOR K = 1 TO 1000
6006 NEXT K
6008 GOTO 1300
6010 REM C.B.PUTNEY,FAIRFIELD CONN.,VERSION 3/1/79
6020 END
Text found in 030_Music_and_Sound_Effects.dsk/HELLO.bas:
5 HOME
10 PRINT TAB( 11)"MUSIC AND SOUND EFFECTS"
20 PRINT CHR$(4);"CATALOG"
Text found in 030_Music_and_Sound_Effects.dsk/MUSIC COMPUTER.int:
0 CALL -936
1 SPEED=100
5 GOSUB 32000
10 GOTO 42
25 P=S(Z): POKE 0,P: POKE 1,D:CALL 2
26 COLOR= RND (C1):X1= RND (20):Y1= RND (20):Z1= RND (40):R1= RND (2)
27 R2= RND (2)
28 IF R1=1 THEN 34
30 IF X1+Y1<20 AND R2=0 THEN HLIN X1,Y1+X1 AT Z1
31 IF X1+Y1<20 AND R2=1 THEN HLIN X1+20,Y1+X1+20 AT Z1
32 IF X1+Y1>19 THEN HLIN X1,Y1+20 AT Z1
33 RETURN
34 IF X1+Y1<20 AND R2=0 THEN VLIN X1,Y1+X1 AT Z1
35 IF X1+Y1<20 AND R2=1 THEN VLIN X1+20,Y1+X1+20 AT Z1
36 IF X1+Y1>19 THEN VLIN X1,Y1+20 AT Z1
37 RETURN
42 DIM S(28):DIM A(10):SUM=0
80 PRINT " *** COMPUTER MUSIC ***"
81 PRINT
82 PRINT "YOU MUST HELP THE COMPUTER COMPOSE":PRINT "ITS (AHEM) GREAT PIECE OF MUSIC."
84 PRINT :PRINT "THE COMPUTER WILL CONTROL THE TEMPO,":PRINT "BUT YOU MUST HELP THE COMPUTER":PRINT "CHOOSE THE PITCHES AND RHYTHM."
88 PRINT :PRINT " YOU MUST SELECT THE RELATIVE":PRINT "WEIGHT THAT A CERTAIN INTERVAL":PRINT "WILL HAVE. FOR EXAMPLE,"
90 PRINT "IF YOU WANT OCTAVE LEAPS TO OCCUR":PRINT "MORE FREQUENTLY THAN SKIPS OF":PRINT "A PERFECT FIFTH, TYPE IN A LARGER"
92 PRINT "NUMBER FOR OCTAVES.":PRINT :PRINT "OKAY NOW, TELL ME THE RELATIVE":PRINT "WEIGHTS OF THE FOLLOWING:"
94 PRINT
96 PRINT "MAJOR SECOND ";:INPUT A(0):PRINT "MAJOR THIRD ";:INPUT A(1):PRINT "PERFECT FOURTH ";:INPUT A(2)
98 PRINT "PERFECT FIFTH ";:INPUT A(3):PRINT "MAJOR SIXTH ";:INPUT A(4):PRINT "MAJOR SEVENTH ";:INPUT A(5)
100 PRINT "OCTAVE ";:INPUT A(6)
110 SUM=SUM+A(6)+A(5)
115 PRINT
120 PRINT " NOW CHOOSE HOW LONG YOU WANT":PRINT "THIS MUSIC TO LAST. WHAT YOU":PRINT "MUST DO IS TYPE IN A NUMBER FROM"
125 PRINT "1 TO 2000. THE LARGER THE NUMBER":PRINT "THE LONGER THE MUSIC GOES ON!";:INPUT H
135 IF H>0 AND H<2001 THEN 150
140 PRINT "PLEASE TYPE A NUMBER BETWEEN 1 AND":PRINT "2000";:GOTO 125
150 PRINT
160 PRINT "NOW TELL ME THE RELATIVE FREQUENCY":PRINT "OF THE FOLLOWING NOTE VALUES."
162 PRINT
165 PRINT "WHOLE NOTES ";:INPUT C:PRINT "HALF NOTES ";:INPUT V:PRINT "QUARTER NOTES ";:INPUT G
170 PRINT "1 EIGHTH NOTE ";:INPUT J:PRINT "2 EIGHTH NOTES ";:INPUT K:PRINT "2 SIXTEENTH NOTES ";:INPUT L
172 PRINT "4 SIXTEENTH NOTES ";:INPUT Q:PRINT "8 SIXTEENTH NOTES ";:INPUT U
175 MSUM=C+V+G+J+K+L+Q+U
180 V=C+V:G=V+G:J=G+J:K=J+K:L=K+L:Q=Q+L:U=U+Q
182 PRINT
183 PRINT "HOW MANY COLORS DO YOU WANT":PRINT "FOR THE VISUAL DISPLAY (1 TO 16)";:INPUT C1
184 IF C1<1 OR C1>16 THEN GOTO 188:GOTO 200
188 PRINT "PLEASE TYPE IN A NUMBER FROM":PRINT "1 THROUGH 16.":GOTO 183
200 PRINT
205 PRINT "YOU ALSO CONTROL HOW OFTEN THE":PRINT "PITCHES CHANGE, AND IN WHICH ":PRINT "DIRECTION THEY MOVE."
210 PRINT "WITH WHAT FREQUENCIES DO YOU WISH":PRINT "THE FOLLOWING:":PRINT
215 PRINT "UPWARD MOVEMENT ";:INPUT X5
220 PRINT "DOWNWARD MOVEMENT ";:INPUT X6
225 PRINT "SAME PITCH ";:INPUT X7
230 PRINT :SUM0=X5+X6+X7:X6=X6+X5
250 GR
300 S(0)=238:S(1)=213:S(2)=202:S(3)=180:S(4)=158:S(5)=148:S(6)=132:S(7)=118:S(8)=106
310 S(9)=100:S(10)=89:S(11)=78:S(12)=73:S(13)=65:S(14)=58:S(15)=52:S(16)=49:S(17)=44
320 S(18)=39:S(19)=36:S(20)=32:S(21)=28:S(22)=25:S(23)=24:S(24)=21:S(25)=19:S(26)=18:S(27)=16
350 FOR M=0 TO H
400 X= RND (SUM0+1)
405 IF XA(0) THEN 520:Z=Z+1:IF Z>27 THEN Z=Z-2:GOTO 700
520 IF Y>A(1) THEN 530:Z=Z+2:IF Z>27 THEN Z=Z-4:GOTO 700
530 IF Y>A(2) THEN 540:Z=Z+3:IF Z>27 THEN Z=Z-6:GOTO 700
540 IF Y>A(3) THEN 550:Z=Z+4:IF Z>27 THEN Z=Z-8:GOTO 700
550 IF Y>A(4) THEN 560:Z=Z+5:IF Z>27 THEN Z=Z-10:GOTO 700
560 IF Y>A(5) THEN 570:Z=Z+6:IF Z>27 THEN Z=Z-12:GOTO 700
570 Z=Z+7:IF Z>27 THEN Z=Z-14:GOTO 700
600 Y= RND (SUM+1)
610 IF Y>A(0) THEN 620:Z=Z-1:IF Z<0 THEN Z=Z+2:GOTO 700
620 IF Y>A(1) THEN 630:Z=Z-2:IF Z<0 THEN Z=Z+4:GOTO 700
630 IF Y>A(2) THEN 640:Z=Z-3:IF Z<0 THEN Z=Z+6:GOTO 700
640 IF Y>A(3) THEN 650:Z=Z-4:IF Z<0 THEN Z=Z+8:GOTO 700
650 IF Y>A(4) THEN 660:Z=Z-5:IF Z<0 THEN Z=Z+10:GOTO 700
660 IF Y>A(5) THEN 670:Z=Z-6:IF Z<0 THEN Z=Z+12:GOTO 700
670 Z=Z-7:IF Z<0 THEN Z=Z+14:GOTO 700
700 X= RND (MSUM+1):P=S(Z):X2= RND (2)
710 IF X>C THEN 730:D=254:GOSUB 25
720 GOSUB 25
725 GOTO 1000
730 IF X>V THEN 740:D=254:GOSUB 25
735 GOTO 1000
740 IF X>G THEN 750:D=126:GOSUB 25
745 GOTO 1000
750 IF X>J THEN 760:D=63:GOSUB 25
755 GOTO 1000
760 IF X>K THEN 790:D=50:GOSUB 25
770 FOR W=0 TO 13:NEXT W
775 IF X2=0 AND Z<27 THEN Z=Z+1:IF X2=1 AND Z>0 THEN Z=Z-1:P=S(Z)
780 GOSUB 25
785 GOTO 1000
790 IF X>L THEN 820:D=25:GOSUB 25
800 FOR W=0 TO 5:NEXT W
805 IF X2=0 AND Z<27 THEN Z=Z+1:IF X2=1 AND Z>0 THEN Z=Z-1:P=S(Z)
810 GOSUB 25
815 GOTO 1000
820 IF X>Q THEN 870:D=25
830 FOR E=0 TO 3
840 GOSUB 25
845 IF E=3 THEN GOTO 1000
850 FOR W=0 TO 5:NEXT W
855 IF X2=0 AND Z<26 THEN Z=Z+2:IF X2=1 AND Z>1 THEN Z=Z-2:P=S(Z)
860 NEXT E
865 GOTO 1000
870 D=25
880 FOR E=0 TO 7
890 GOSUB 25
895 IF E=7 THEN GOTO 1000
900 FOR W=0 TO 5:NEXT W
905 IF X2=0 AND Z<25 THEN Z=Z+3:IF X2=1 AND Z>2 THEN Z=Z-3:P=S(Z)
910 NEXT E
915 GOTO 1000
1000 NEXT M
1005 GOSUB 2000
1010 PRINT :PRINT
1020 PRINT "WOULD YOU LIKE TO TRY IT AGAIN":PRINT "TYPE 0 FOR NO, 1 FOR YES";:INPUT T
1030 IF T=0 THEN 32010
1032 TEXT
1035 GOTO 81
2000 REM *** FINAL CADENCE SUBROUTINE *
2010 D1= RND (2)
2020 IF Z<13 THEN Z=10
2030 IF Z>12 THEN Z=17
2035 D=254:GOSUB 25
2036 GOSUB 25
2040 D=254:Z=Z+1:GOSUB 25
2045 GOSUB 25
2050 Z=Z+1:GOSUB 25
2055 GOSUB 25
2060 Z=Z+1:GOSUB 25
2065 GOSUB 25
2066 GOSUB 25
2070 IF D1=0 THEN Z=Z+3:IF D1=1 THEN Z=Z-4:GOSUB 25
2080 GOSUB 25
2090 GOSUB 25
2095 GOSUB 25
2100 RETURN
3030 IF X1+Y1<20 AND R2=0 THEN HLIN X1,Y1+X1 AT Z1
32000 POKE 2,173: POKE 3,48: POKE 4,192: POKE 5,136: POKE 6,208: POKE 7,4: POKE 8,198: POKE 9,1: POKE 10,240
32005 POKE 11,8: POKE 12,202: POKE 13,208: POKE 14,246: POKE 15,166: POKE 16,0: POKE 17,76: POKE 18,2: POKE 19,0: POKE 20,96:RETURN
32010 END
Text found in 030_Music_and_Sound_Effects.dsk/MUSIC GEE.int:
2 REM MUSIC PROGRAM
4 REM A "NOTE"ATATION IS COMPILED TO
5 REM PITCH, DURATION PARAMETERS AND
6 REM PLAYED BY A SUBROUTINE.
7 DIM N$(1)
8 REM THE MACHINE LANGUAGE NOTE ROUTINE
9 CALL -936:VTAB 10:PRINT " WORKING..."
10 POKE 2,173: POKE 3,48: POKE 4,192
20 POKE 5,136: POKE 6,208: POKE 7,4
30 POKE 8,198: POKE 9,1: POKE 10,240
40 POKE 11,8: POKE 12,202: POKE 13,208
50 POKE 14,246: POKE 15,166: POKE 16,0:
60 POKE 17,76: POKE 18,2: POKE 19,0
70 POKE 20,96
75 REM FREQUENCIES FOR A TEMPERED CHROMATIC SCALE.
80 DIM N(30)
90 N(1)=267:N(2)=252:N(3)=238:N(4)=224
100 N(5)=211:N(6)=200:N(7)=189:N(8)=178
110 N(9)=168:N(10)=159:N(11)=150
120 N(12)=141:N(13)=133:N(14)=126:N(15)=119
130 N(16)=112:N(17)=106:N(18)=100:
140 N(19)=94:N(20)=89:N(21)=84:N(22)=79:N(23)=75:N(24)=71
150 N(25)=67:N(26)=63:N(27)=59:N(28)=56:N(29)=53:N(30)=50
200 GOTO 400
295 REM BASIC SUBROUTINE TO PLAY 1 NOTE
300 POKE 0,PITCH: POKE 1,DUR
320 CALL 2
330 RETURN
400 DIM SONG$(255),TIME$(255)
410 DIM D$(7),T$(10),N1$(1)
415 DIM INC(7),S1(255),T1(255)
420 D$="TSEQHWR"
430 T$="CDEFGABLMH"
440 INC(1)=1:INC(2)=3:INC(3)=5:INC(4)=6
450 INC(5)=8:INC(6)=10:INC(7)=12
480 GOTO 620
600 SONG$="DDDDF#AAABBBBBAAABBBBBBGAF#F#F#GF#EDEEDDDF#AAABBBBBAGAAABBBBAGAF#F#GGGEEDDDRR"
610 TIME$="EQ.EQQQH.REEEEQ.EEH.REEEEEEE.SQHEEQQQQWWQ.EQQQH.REEQEEEEEEH.REEEEQEEEH.RQEEQ.EEH.RHQQQQ"
620 TIME$="MF#GAGGF#GGF#GAGGF#GGF#GAGGF#GGABHCCMBHCEDDCDDCDFEEDCCMABHCCCMBHCDCMBAHCCCMBHCDCMBABGGF#GGF#GAGGF#GGGRRS"
625 SONG$=TIME$
630 TIME$="QQQEQ.EQ.RQQQQEQQQ.RQQQQQQEQQQEH.RWQQQQQEQRQQQEQ.EQQ.RQQQEQREQQQQQQEQREQQQQQQQQEQQ,RQEQQ.QEQWRWWWW"
635 TIME$(83)=".RQEQQ.QEQWRWWWWWW"
700 REM PLAY ROUTINE STARTS HERE
705 IPOS=1:NCOUNT=0:RFLAG=0
710 FOR POS=1 TO LEN(SONG$)
720 N1$=SONG$(POS,POS)
730 FOR I=1 TO 10
740 IF N1$=T$(I,I) THEN 770
750 NEXT I
760 IF N1$#"R" THEN 763
761 RFLAG=1:GOTO 1600
763 IF N1$="S" THEN 1600
765 GOTO 1500
770 IF I<8 THEN 800
780 OCT=I-8
790 GOTO 1010
800 PP=OCT*12+INC(I)
810 IF SONG$(POS+1,POS+1)="#" THEN PP=PP+1
820 IF SONG$(POS+1,POS+1)="&" THEN PP=PP-1
830 IF SONG$(POS+1,POS+1)="#" OR SONG$(POS+1,POS+1)="&" THEN POS=POS+1
840 PITCH=N(PP)
850 N1$=TIME$(IPOS,IPOS)
860 GOSUB 1200
870 IF I=7 THEN 900
880 DUR=I*20-1
890 IPOS=IPOS+1
892 IF TIME$(IPOS,IPOS)#"." THEN 1000
894 DUR=DUR+(I*20)/2
896 IPOS=IPOS+1
898 GOTO 1000
900 N1$=TIME$(IPOS+1,IPOS+1)
910 GOSUB 1200
920 DUR=I*20-1
930 IPOS=IPOS+2
940 PITCH=1
1000 NCOUNT=NCOUNT+1
1002 S1(NCOUNT)=PITCH:T1(NCOUNT)=DUR
1010 NEXT POS
1020 GOTO 1600
1200 FOR I=1 TO 7
1210 IF N1$=D$(I,I) THEN RETURN
1220 NEXT I
1230 GOTO 1500
1500 PRINT "ERROR IN INPUT"
1550 GOTO 1700
1599 REM PLAY THE TOON...
1600 CALL -936
1601 FOR K=1 TO NCOUNT
1610 PITCH=S1(K):DUR=T1(K)
1620 GOSUB 300
1630 NEXT K
1650 IF RFLAG=1 THEN 1600
1700 PRINT "THATS ALL, FOLKS"
1800 END
Text found in 030_Music_and_Sound_Effects.dsk/MUSIC IN IB.int:
200 MUSIC=-10473:PITCH=767:TIME=766:TIMBRE=765
990 CALL -936:PRINT :PRINT
1000 PRINT " USING INTEGER MUSIC"
1005 PRINT
1010 PRINT " BY RALPH CONRAD"
1015 PRINT
1020 PRINT " THIS PROGRAM WILL WORK ONLY IF YOU"
1025 PRINT
1030 PRINT "HAVE A PROGRAMMER'S AID #1 IN YOUR APPLE"
1040 PRINT "READ CHAPTER 7 OF YOUR PROGRAMMER'S AID"
1045 PRINT
1050 PRINT "#1 MANUAL BEFORE PROCEEDING.":PRINT
1055 PRINT
1060 PRINT " THIS PROGRAM WILL HELP YOU SELECT"
1065 PRINT
1070 PRINT "THE PROPER VALUES FOR PITCH, TIME AND"
1075 PRINT
1080 PRINT "TIMBRE TO ADD MUSICAL TONES TO YOUR"
1085 PRINT
1090 PRINT "INTEGER PROGRAMS."
1095 PRINT
1100 PRINT " (HIT SPACE TO CONTINUE)"
1110 IF PEEK (-16384)<127 THEN 1110
1115 POKE -16384,0
1120 CALL -936:PRINT :PRINT
1122 PRINT " SELECT THE VALUE THAT YOU WISH TO"
1125 PRINT "ASSIGN:"
1127 PRINT
1130 PRINT " 1-PITCH (HOW HIGH OR LOW A NOTE)"
1135 PRINT
1140 PRINT " 2-TIME (HOW LONG A TIME IT IS TO"
1142 PRINT " SOUND)"
1145 PRINT
1150 PRINT " 3-TIMBRE (THE DIFFERENT SOUNDS"
1160 PRINT " DIFFERENT INSTRUMENTS MAKE)"
1165 PRINT
1170 PRINT " 4-ALL OF THE ABOVE FOR A SAMPLE NOTE"
1175 PRINT
1180 PRINT " 5-QUIT"
1190 INPUT A
1200 IF A=5 THEN 9999:IF A=1 THEN 2000:IF A=2 THEN 3000:IF A=3 THEN 4000:IF A=4 THEN 5000
1210 PRINT "SELECT A NUMBER 1 TO 5";
1215 GOTO 1190
2000 REM :PITCH ROUTINE
2010 CALL -936:PRINT :PRINT :PRINT
2050 PRINT " PITCH---VALUE CAN BE FROM 1 TO 50."
2055 PRINT
2060 PRINT "SELECT FROM ALTERNATIVES BELOW:"
2065 PRINT
2070 PRINT " 1-TO INPUT A VALUE AND HEAR A NOTE"
2075 PRINT
2080 PRINT " 2-TO HEAR SOME SAMPLE NOTES"
2085 PRINT
2090 PRINT " 3-TO RETURN TO MENU"
2095 PRINT
2100 PRINT " 4-TO QUIT"
2110 INPUT A
2120 IF A=4 THEN 9999:IF A=1 THEN 2500:IF A=2 THEN 6000
2130 IF A=3 THEN 1120
2140 PRINT "SELECT A NUMBER FRON 1 TO 4";
2145 GOTO 2110
2500 CALL -936:LET D=40:LET T=32:PRINT :PRINT :PRINT
2502 PRINT " PITCH VALUE"
2503 PRINT :PRINT
2504 PRINT "INPUT A NUMBER FROM 1 TO 5O"
2505 PRINT
2510 PRINT "THEN PRESS RETURN. (DURATION IS 40,"
2515 PRINT
2520 PRINT "TIMBRE IS 32.)";
2600 INPUT P
2602 IF (P>0) AND (P<51) THEN 2610
2604 PRINT "SELECT A NUMBER FROM 1 TO 50";
2606 GOTO 2600
2610 GOSUB 9000
2615 PRINT "ANOTHER NOTE?"
2620 PRINT " 1-YES"
2630 PRINT " 2-NO"
2640 INPUT A
2650 IF A=1 THEN 2500
2660 IF A=2 THEN 1120
2670 PRINT "SELECT A NUMBER- 1 OR 2";
2675 GOTO 2640
3000 REM TIME ROUTINE
3010 LET P=32:LET T=32:LET A=0
3090 CALL -936:PRINT :PRINT :PRINT
3095 PRINT " TIME":PRINT :PRINT :PRINT
3100 PRINT " INPUT A NUMBER FROM 1 TO 255"
3104 PRINT :PRINT
3105 PRINT "THEN PRESS RETURN. (PITCH IS 32,"
3106 PRINT :PRINT
3107 PRINT "TIMBRE IS 32.)";
3110 INPUT A
3120 IF (A>0) AND (A<256) THEN 3130
3125 GOTO 3300
3130 LET D=A
3140 GOSUB 9000
3150 PRINT "ANOTHER TIME?"
3160 PRINT " 1-YES"
3170 PRINT " 2-NO"
3180 INPUT B
3190 IF B=1 THEN GOTO 3090:IF B=2 THEN GOTO 1120
3200 PRINT "SELECT A NUMBER-1 OR 2";
3210 GOTO 3180
3300 PRINT "SELECT A NUMBER FROM 1 TO 255";
3310 GOTO 3110
4000 CALL -936:PRINT :PRINT
4010 LET D=40:LET P=10
4020 PRINT " TIMBRE"
4030 PRINT
4040 PRINT "VALUE CAN BE ONE OF 5 BELOW."
4050 PRINT
4054 PRINT "PITCH IS 32. TIME IS 40."
4058 PRINT
4060 PRINT "INPUT TIMBRE VALUE"
4070 PRINT " 1- - - - 2"
4080 PRINT " 2- - - - 8"
4090 PRINT " 3- - - - 16"
4100 PRINT " 4- - - - 32"
4110 PRINT " 5- - - - 64"
4120 PRINT " 6-RETURN TO MENU"
4230 INPUT A
4232 IF (A>0) AND (A<7) THEN 4240
4234 PRINT "SELECT A NUMBER FROM 1 TO 6";
4236 GOTO 4230
4240 IF A=1 THEN T=2:IF A=2 THEN T=8:IF A=3 THEN T=16:IF A=4 THEN T=32:IF A=5 THEN T=64:IF A=6 THEN GOTO 1120:GOTO 4260
4260 GOSUB 9000
4270 GOTO 4000
5000 REM SAMPLE NOTES ROUTINE
5001 CALL -936
5005 PRINT :PRINT :PRINT
5010 PRINT " SAMPLE NOTES":PRINT :PRINT :PRINT
5020 PRINT " HOW MANY NOTES (1 TO 10) DO YOU WANT"
5030 PRINT "TO HEAR";
5100 INPUT X
5103 IF (X>0) AND (X<11) THEN 5110
5105 PRINT "SELECT A NUMBER FROM 1 TO 10";
5107 GOTO 5100
5110 Q=0
5130 Q=Q+1
5131 CALL -936:PRINT :PRINT :PRINT
5132 PRINT "SELECT THE VALUES FOR NOTE NUMBER ";Q
5133 PRINT :PRINT
5140 PRINT "INPUT PITCH VALUE (1 TO 50)";
5150 INPUT P
5160 IF (P>0) AND (P<51) THEN 5200
5165 PRINT "PICK A NUMBER 1 TO 50";
5170 GOTO 5150
5200 GOTO 5200+Q
5201 P1=P:GOTO 5215
5202 P2=P:GOTO 5215
5203 P3=P:GOTO 5215
5204 P4=P:GOTO 5215
5205 P5=P:GOTO 5215
5206 P6=P:GOTO 5215
5207 P7=P:GOTO 5215
5208 P8=P:GOTO 5215
5209 P9=P:GOTO 5215
5210 P10=P
5215 PRINT
5220 PRINT "INPUT TIME VALUE(1 TO 255)";
5230 INPUT D
5240 IF (D>0) AND (D<256) THEN 5270
5250 PRINT "PICK A NUMBER FROM 1 TO 255";
5260 GOTO 5230
5270 GOTO 5270+Q
5271 D1=D:GOTO 5300
5272 D2=D:GOTO 5300
5273 D3=D:GOTO 5300
5274 D4=D:GOTO 5300
5275 D5=D:GOTO 5300
5276 D6=D:GOTO 5300
5277 D7=D:GOTO 5300
5278 D8=D:GOTO 5300
5279 D9=D:GOTO 5300
5280 D10=D
5300 PRINT
5310 PRINT "INPUT TIMBRE VALUE (2,8,16,32 OR 64)";
5320 INPUT T
5330 IF T=2 THEN 5390:IF T=8 THEN 5390:IF T=16 THEN 5390:IF T=32 THEN 5390:IF T=64 THEN 5390
5340 PRINT "PICK A NUMBER ABOVE FOR TIMBRE";
5380 GOTO 5320
5390 GOTO 5390+Q
5391 T1=T:GOTO 5410
5392 T2=T:GOTO 5410
5393 T3=T:GOTO 5410
5394 T4=T:GOTO 5410
5395 T5=T:GOTO 5410
5396 T6=T:GOTO 5410
5397 T7=T:GOTO 5410
5398 T8=T:GOTO 5410
5399 T9=T:GOTO 5410
5400 T10=T
5410 IF X=Q THEN 5500
5490 GOTO 5130
5500 REM PLAY NOTES
5501 CALL -936:PRINT :PRINT :PRINT
5502 PRINT "NOW PRESS SPACE TO PLAY THAT TUNE":PRINT :PRINT :GOSUB 6500
5503 IF PEEK (-16384)<127 THEN 5503
5504 POKE -16384,0
5505 Q=0
5510 Q=Q+1
5520 GOTO 5520+Q
5521 P=P1:D=D1:T=T1:GOTO 5540
5522 P=P2:D=D2:T=T2:GOTO 5540
5523 P=P3:D=D3:T=T3:GOTO 5540
5524 P=P4:D=D4:T=T4:GOTO 5540
5525 P=P5:D=D5:T=T5:GOTO 5540
5526 P=P6:D=D6:T=T6:GOTO 5540
5527 P=P7:D=D7:T=T7:GOTO 5540
5528 P=P8:D=D8:T=T8:GOTO 5540
5529 P=P9:D=D9:T=T9:GOTO 5540
5530 P=P10:D=D10:T=T10
5540 GOSUB 9000
5560 IF Q=X THEN 5580
5570 GOTO 5510
5580 PRINT "PLAY THE SAME TUNE?"
5590 PRINT " 1-YES"
5600 PRINT " 2-NO"
5610 INPUT A
5620 IF A=1 THEN 5500
5630 IF A=2 THEN 1120
5640 PRINT "PICK A NUMBER-1 OR 2";
5650 GOTO 5610
5999 GOTO 1120
6000 CALL -936
6010 LET D=40:LET T=32
6020 LET X=0:GOTO 6115
6100 LET X=X+8
6115 IF X=48 THEN 6300
6117 CALL -936:PRINT :PRINT :PRINT
6120 PRINT " SELECT A NUMBER FROM 1 TO 8 FOR":PRINT
6125 PRINT "PITCH":PRINT
6140 PRINT "INPUT = PITCH INPUT = PITCH"
6145 PRINT
6150 PRINT " 1------";1+X;" 6------";6+X
6155 PRINT
6160 PRINT " 2------";2+X;" 7------";7+X
6165 PRINT
6170 PRINT " 3------";3+X;" 8------";8+X
6175 PRINT
6180 PRINT " 4------";4+X;" 9-A HIGHER NOTE"
6185 PRINT
6190 PRINT " 5------";5+X
6250 INPUT A
6260 IF A=9 THEN 6100
6262 IF (A>0) AND (A<9) THEN 6270
6264 PRINT "SELECT ANUMBER FROM 1 TO 9";
6266 GOTO 6250
6270 LET P=A+X
6280 GOSUB 9000
6290 GOTO 6117
6300 CALL -936:PRINT :PRINT
6305 PRINT " SELECT A NUMBER-1 OR 2 FOR PITCH"
6310 PRINT :PRINT
6330 PRINT " PITCH"
6335 PRINT " INPUT VALUE"
6337 PRINT
6340 PRINT " 1-------";1+X
6345 PRINT
6350 PRINT " 2-------";2+X
6355 PRINT
6360 PRINT " 3-LOWER VALUE"
6365 PRINT
6370 PRINT " 4-RETURN TO MENU"
6380 INPUT A
6390 IF A=4 THEN 1120:IF A=3 THEN 6020
6400 IF A=1 THEN 6420:IF A=2 THEN 6420
6410 PRINT "SELECT A NUMBER FROM 1 TO 4";
6415 GOTO 6380
6420 LET P=A+X
6430 GOSUB 9000
6440 GOTO 6300
6500 PRINT "NOTE PITCH TIME TIMBRE"
6510 PRINT " 1 ",P1,D1,T1:IF X=1 THEN 6560
6515 PRINT " 2 ",P2,D2,T2:IF X=2 THEN 6560
6520 PRINT " 3 ",P3,D3,T3:IF X=3 THEN 6560
6525 PRINT " 4 ",P4,D4,T4:IF X=4 THEN 6560
6530 PRINT " 5 ",P5,D5,T5:IF X=5 THEN 6560
6535 PRINT " 6 ",P6,D6,T6:IF X=6 THEN 6560
6540 PRINT " 7 ",P7,D7,T7:IF X=7 THEN 6560
6545 PRINT " 8 ",P8,D8,T8:IF X=8 THEN 6560
6550 PRINT " 9 ",P9,D9,T9:IF X=9 THEN 6560
6555 PRINT " 10 ",P10,D10,T10
6560 RETURN
9000 REM MUSIC ROUTINE
9010 POKE PITCH,P
9020 POKE TIME,D
9030 POKE TIMBRE,T
9040 CALL MUSIC
9050 RETURN
9999 END
Text found in 030_Music_and_Sound_Effects.dsk/MUSIC MAKER.int:
0 REM APPLE MUSIC MAKER
1 REM BY: BOB SANDER-CEDERLOF
2 REM JANUARY 28, 1978
10 DIM TIME(100),MOTE(100),TONE(25),SONG$(200)
20 GOSUB 5000
25 GOSUB 7000
30 GOSUB 6000
40 TEXT :CALL -936
50 VTAB 3:PRINT "APPLE MUSIC MAKER"
60 PRINT "----- ----- -----"
70 PRINT
80 PRINT "1. COMPOSE YOUR OWN TUNE"
90 PRINT "2. 'YANKEE DOODLE'"
100 PRINT "3. 'PSALM 34:13'"
110 PRINT "4. 'AMERICA'"
120 PRINT "5. 'JESUS LOVES ME'"
130 PRINT "6. RANDOM TUNE"
140 PRINT "7. SCALES"
190 PRINT
200 PRINT :TAB 10:INPUT "YOUR CHOICE",N
210 IF N<1 OR N>7 THEN END
220 GOSUB 1900+N*100
230 GOTO 40
1000 TONE(1)=2273:TONE(2)=2146:TONE(3)=2024
1010 TONE(4)=1911:TONE(5)=1803:TONE(6)=1703
1020 TONE(7)=1607:TONE(8)=1517:TONE(9)=1432
1030 TONE(10)=1351:TONE(11)=1276:TONE(12)=1204
1040 TONE(13)=1136:TONE(14)=1073:TONE(15)=1012
1050 TONE(16)=955:TONE(17)=902:TONE(18)=851
1060 TONE(19)=803:TONE(20)=758:TONE(21)=716
1070 TONE(22)=676:TONE(23)=638:TONE(24)=602
1080 RETURN
1100 REM SET UP TONE LOOP AND PLAY IT
1110 T=(C-35)/10
1120 POKE 0,T
1130 TT=5*T+20
1140 N=32767/TT*TIME*4
1150 POKE 1,N MOD 256
1160 POKE 2,N/256+1
1170 CALL 3
1180 RETURN
2000 A= PEEK (-16384):IF A<128 THEN 2000: POKE -16368,0
2004 IF A=155 THEN 2050
2005 K=A-176:K=ABS (K)
2010 K=K MOD 26:IF K=0 THEN K=1
2020 C=TONE(K):TIME=2
2030 GOSUB 1100
2040 GOTO 2000
2050 RETURN
2100 REM YANKEE DOODLE
2110 SONG$="92>2>2@2B2>2B2@2=2>2>2@2B2>4=292>2>2@2B2C2B2@2>2=292;2=2>4>20200"
2120 GOSUB 3000
2130 GOSUB 4000
2140 SONG$=";3=1;292;2=2>493;192726494;3=1;292;2=2>2;292>2=2@2>4>400"
2150 GOSUB 3000
2160 GOSUB 4000
2170 RETURN
2200 REM KEEPTHY TONGUE FROM EVIL
2210 SONG$="<4<4;4;4<8?4A2?2<4<4;4;44=6;294;494849=@4@4@4@6>2=4>4>4>4>6=2;4=4>2=2;292=6>2@4B2>2=4;49=00"
2320 GOSUB 3000
2330 GOSUB 4000
2340 RETURN
2400 REM JESUS LOVES ME
2410 SONG$=">2;2;292;2>2>4@2@2C2@2@2>2>4>2;2;292;2>2>4@2@2>272;2927402>4;2>2@2C6>4;272;296>4;2>2@2C602@2>272;3917800"
2420 GOSUB 3000
2430 GOSUB 4000
2440 RETURN
2500 REM RANDOM TUNE
2510 FOR I=0 TO 99
2520 TIME(I)= RND (4)+1
2530 MOTE(I)= RND (25)
2540 NEXT I
2550 TIME(100)=0
2560 GOSUB 4000
2570 RETURN
2600 REM PLAY SCALES
2605 TIME=1
2610 FOR I=1 TO 25:C=TONE(I):GOSUB 1100:NEXT I
2615 FOR I=24 TO 1 STEP -1:C=TONE(I):GOSUB 1100:NEXT I
2618 FOR I=1 TO 50:NEXT I
2620 K=1:FOR J=1 TO 13:TIME=4:FOR I=1 TO 50:NEXT I:FOR I=1 TO 8
2625 K=K+SCALE(I):C=TONE(K)
2630 GOSUB 1100:TIME=1:NEXT I
2635 FOR I=8 TO 2 STEP -1
2640 K=K-SCALE(I):C=TONE(K)
2642 IF I=2 THEN TIME=2
2645 GOSUB 1100:NEXT I
2650 K=K+1:NEXT J
2655 FOR I=1 TO 50:NEXT I
2657 K=1:FOR J=1 TO 13:TIME=4:FOR I=1 TO 50:NEXT I:FOR I=1 TO 4
2660 K=K+TONIC(I):C=TONE(K)
2663 GOSUB 1100:TIME=1:NEXT I
2666 FOR I=4 TO 2 STEP -1
2670 K=K-TONIC(I):C=TONE(K)
2673 IF I=2 THEN TIME=2
2676 GOSUB 1100:NEXT I
2680 K=K+1:NEXT J
2690 RETURN
3000 L= LEN(SONG$)
3010 FOR I=1 TO L STEP 2
3020 J=I/2
3030 MOTE(J)= ASC(SONG$(I))-176
3040 TIME(J)= ASC(SONG$(I+1))-176
3050 NEXT I
3060 RETURN
4000 REM PLAY THE SONG
4010 GR
4040 FOR J=0 TO 100
4045 TIME=TIME(J)
4050 IF TIME<1 THEN RETURN
4060 IF MOTE(J)<1 THEN 4200
4070 K=MOTE(J):C=TONE(K)
4090 COLOR= 0:PX=J MOD 40:VLIN 0,25 AT PX:COLOR= 15:PLOT PX,25-K
4100 GOSUB 1100
4170 NEXT J
4180 RETURN
4200 FOR I=0 TO TIME(J)
4205 FOR II=0 TO 5:NEXT II
4210 NEXT I
4220 GOTO 4170
5000 REM SET UP TONE GENERATOR
5010 DIM HEX$(50)
5020 HEX$="AD30C0A600CAD0FDA501D004C602F005C6014C030060"
5030 L= LEN(HEX$)
5040 LOC=3
5050 FOR I=1 TO L STEP 2
5060 H1= ASC(HEX$(I))-176
5070 IF H1>9 THEN H1=H1-7
5080 H2= ASC(HEX$(I+1))-176
5090 IF H2>9 THEN H2=H2-7
5100 H=H1*16+H2
5110 POKE LOC,H
5120 LOC=LOC+1
5130 NEXT I
5140 RETURN
6000 X=2273
6002 TONE(1)=X
6005 K=1059:KK=1
6010 FOR J=2 TO 25
6020 A=0
6030 FOR I=1 TO 4
6040 A=A*10+X/K
6050 X=(X MOD K)*10
6060 NEXT I
6070 TONE(J)=A
6080 X=A+X/K/5
6085 K=K+KK:KK=-KK
6090 NEXT J
6099 RETURN
7000 REM SET UP SCALE INTERVALS
7010 DIM SCALE(8),TONIC(4)
7020 FOR I=2 TO 7:SCALE(I)=2:NEXT I
7030 SCALE(1)=0:SCALE(4)=1:SCALE(8)=1
7040 TONIC(1)=0:TONIC(2)=4:TONIC(3)=3:TONIC(4)=5
7050 RETURN
Text found in 030_Music_and_Sound_Effects.dsk/MUSIC START.bas:
10 GOSUB 32000
20 P = 150:D = 3: GOSUB 32020
30 P = 142:D = 8: GOSUB 32020
40 P = 126:D = 2: GOSUB 32020
50 P = 119:D = 2: GOSUB 32020
60 P = 142:D = 8: GOSUB 32020
70 P = 126:D = 2: GOSUB 32020
80 P = 119:D = 2: GOSUB 32020
90 P = 143:D = 3: GOSUB 32020
100 P = 126:D = 1: GOSUB 32020
110 P = 119:D = 1: GOSUB 32020
120 P = 142:D = 3: GOSUB 32020
130 P = 126:D = 1: GOSUB 32020
140 P = 119:D = 1: GOSUB 32020
150 P = 113:D = 2: GOSUB 32020
160 P = 107:D = 8: GOSUB 32020
170 P = 100:D = 3: GOSUB 32020
180 P = 95:D = 10: GOSUB 32020
190 END
32000 POKE 40002,173: POKE 40003,48: POKE 40004,192: POKE 40005,136: POKE 40006,208: POKE 40007,5: POKE 40008,206: POKE 40009,65: POKE 40010,156: POKE 40011,240
32005 POKE 40012,9: POKE 40013,202: POKE 40014,208: POKE 40015,246: POKE 40016,174: POKE 40017,64: POKE 40018,156: POKE 40019,76: POKE 40020,66: POKE 40021,156: POKE 40022,96: RETURN
32020 POKE 40000,P: POKE 40001,D: CALL 40002: RETURN
Text found in 030_Music_and_Sound_Effects.dsk/MUSIC TWO VOICES.int:
0 IF PEEK (16128)<>165 THEN GOSUB 32000:GOTO 3
1 FOR J=1 TO 10:NEXT J:RETURN
2 FOR J=1 TO 5:NEXT J:RETURN
3 TEXT :CALL -936:VTAB (5):TAB 8:PRINT "TWOVOICE SONGS II VOL. 1": POKE 34,6
4 CALL -936
6 TAB 13: POKE 50,63:PRINT "THE CANDY MAN": POKE 50,255
10 V1=32766:V2=32764
20 M=24
21 GOSUB 30:GOTO 185
25 N=M
30 V=V1:M=M-(M/4):GOSUB 1050:M=M/3:GOSUB 1070:M=M*3:GOSUB 1070:M=M/3:GOSUB 1050
100 M=M*4:GOSUB 1080:M=M*5:GOSUB 1070
105 FOR J=1 TO 100:NEXT J
110 M=M/5:M=M-(M/4):GOSUB 1040:M=M/3:GOSUB 1070:M=M*3:GOSUB 1070:M=M/3:GOSUB 1070:M=M*24:GOSUB 1070
115 FOR J=1 TO 100:NEXT J
120 M=M/8:GOSUB 1010:M=M/3:GOSUB 1030:M=M*3:GOSUB 1030:M=M/3:GOSUB 1030:M=M*3:GOSUB 1030:M=M/3:GOSUB 1030:M=M*3:GOSUB 1040
130 M=M/3:GOSUB 1030:M=M*3:GOSUB 1050:M=M/3:GOSUB 1040:M=M*3:GOSUB 1040:M=M/3:GOSUB 1030:M=M*4:GOSUB 1030
135 M=M/2
140 GOSUB 1130:GOSUB 1000:M=M+(M/2):GOSUB 1010:M=M/3:GOSUB 1030:M=M*24:GOSUB 1030
145 FOR J=1 TO 100:NEXT J
150 M=M/12:GOSUB 1130:GOSUB 1030:M=M+(M/2):GOSUB 1050:M=M/3:GOSUB 1040:M=M*4:GOSUB 1030:M=M*5:GOSUB 1030
160 M=M/10:GOSUB 1130:GOSUB 1030:M=M+(M/2):GOSUB 1040:M=M/3:GOSUB 1040:M=M*4:GOSUB 1040:GOSUB 1040:M=M-(M/4):GOSUB 1040:M=M/3:GOSUB 1050
170 M=M*3:GOSUB 1040:M=M/3:GOSUB 1030:M=M*3:GOSUB 1030:M=M/3:GOSUB 1030:M=M*3:GOSUB 1030:M=M/3:GOSUB 1030:M=M*3:GOSUB 1040:M=M/3:GOSUB 1030
180 M=M*2:GOSUB 1050:GOSUB 1040:M=M*2:GOSUB 1030:RETURN
185 M=M*4:GOSUB 1030
195 FOR J=1 TO 100:NEXT J
200 M=M/4:GOSUB 1030:GOSUB 1040:GOSUB 30
210 M=M*5:GOSUB 1030
215 V=V2
220 M=M/10:GOSUB 1130:GOSUB 1070:M=M+(M/2):GOSUB 1080:M=M/3:GOSUB 1100:M=M*4:GOSUB 1100:M=M*2:GOSUB 1100
230 M=M/2:M=M-(M/4):GOSUB 1110:M=M/3:GOSUB 1100:M=M*3:GOSUB 1100:M=M/3:GOSUB 1100:M=M*8:GOSUB 1100
240 M=M/2:M=M-(M/4):GOSUB 1090:M=M/3:GOSUB 1100:M=M*3:GOSUB 1090:M=M/3:GOSUB 1100:M=M*4:GOSUB 1090:GOSUB 1070:GOSUB 1050:M=M*3:GOSUB 1070
250 M=M/3:M=M-(M/4):GOSUB 1090:M=M/3:GOSUB 1100:M=M*3:GOSUB 1090:M=M/3:GOSUB 1100:M=M*4:GOSUB 1090:GOSUB 1070:GOSUB 1050:M=M*3:GOSUB 1070
260 M=M/3:M=M-(M/4):GOSUB 1080:M=M/3:GOSUB 1010:M=M*3:GOSUB 1055:M=M/3:GOSUB 1010:M=M*4:GOSUB 1055:GOSUB 1050:GOSUB 1040:GOSUB 1070
270 M=M*2:GOSUB 1130:M=M/2:GOSUB 30:M=M*5:GOSUB 1030
280 M=200:GOSUB 1130:VTAB 7:TAB 10: POKE 50,63:PRINT "THE BARE NECESSITIES": POKE 50,255
290 V=V1:M=12
300 GOSUB 1010:GOSUB 1020:GOSUB 1040:GOSUB 1130:M=M*2:GOSUB 1060:M=M/2:GOSUB 1055
310 GOSUB 1060:GOSUB 1050:GOSUB 1040:GOSUB 1040
320 FOR J=1 TO 2:GOSUB 1050:GOSUB 1040:NEXT J
330 GOSUB 1050:M=M/2:GOSUB 1040:M=M*3:GOSUB 1020:M=(M*2)/3:GOSUB 1010
340 M=(M*3)/2:GOSUB 1040:M=M/3:GOSUB 1010:M=M*2:GOSUB 1040:GOSUB 1060
350 FOR J=1090 TO 1060 STEP -10:GOSUB J:NEXT J
360 M=M*5:GOSUB 1050:M=M/5:GOSUB 1080:GOSUB 1090:GOSUB 1080
370 GOSUB 1130:M=M*2:GOSUB 1090:M=M/2:GOSUB 1080
380 GOSUB 1090:M=M/2:GOSUB 1080:M=M*3:GOSUB 1060:M=(M*2)/3:GOSUB 1040
390 FOR J=1 TO 2:GOSUB 1050:GOSUB 1040:NEXT J
400 GOSUB 1090:M=M/2:GOSUB 1040:M=M*3:GOSUB 1040:M=(M*2)/3:GOSUB 1050
410 FOR J=1 TO 2:GOSUB 1060:GOSUB 1080:NEXT J
420 GOSUB 1060:M=M/2:GOSUB 1040:M=M*3:GOSUB 1020:M=(M*2)/3:GOSUB 1010
430 M=(M/2)*9:GOSUB 1040:M=M/9:GOSUB 1130:V=V2:GOSUB 1040:M=M*2:GOSUB 1035:M=M/2:GOSUB 1030:M=M*2:GOSUB 1020
440 M=M*2:GOSUB 1010:M=(M*3)/2:GOSUB 1010:M=M/3:GOSUB 1050:M=M/2:GOSUB 1050:GOSUB 1040:M=M*2:GOSUB 1035
450 M=M*4:GOSUB 1040:M=M/4:GOSUB 1130:M=M/2:GOSUB 1040:M=M*2:GOSUB 1035:M=M/2:GOSUB 1035:M=M*2:GOSUB 1020
460 M=M*2:GOSUB 1010:M=(M*3)/2:GOSUB 1050:M=M/3:GOSUB 1050:GOSUB 1040:GOSUB 1050
470 M=M*4:GOSUB 1060:M=M/4:GOSUB 1130:FOR J=1060 TO 1080 STEP 10:GOSUB J:NEXT J
480 FOR J=1 TO 3:GOSUB 1090:NEXT J:GOSUB 1070:GOSUB 1060:GOSUB 1050:GOSUB 1060:GOSUB 1070:GOSUB 1080:GOSUB 1090:GOSUB 1080:GOSUB 1060
490 M=M*3:GOSUB 1050:M=M/3:GOSUB 1040:GOSUB 1060:GOSUB 1020:M=M/2:GOSUB 1020:GOSUB 1020:M=M*2:GOSUB 1020
500 GOSUB 1060:FOR J=1 TO 3:GOSUB 1020:NEXT J:M=M/2:GOSUB 1070:GOSUB 1070:M=M*2:GOSUB 1070:GOSUB 1130:M=M/2:GOSUB 1060:GOSUB 1060
510 GOSUB 1050:M=M*2:GOSUB 1040:M=(M*3)/2:GOSUB 1035:M=(M*2)/3:GOSUB 1010:M=(M*3)/2:GOSUB 1040:M=M/3:GOSUB 1040:M=M*2:GOSUB 1060:GOSUB 1080
520 M=M*4:GOSUB 1090:M=M/4:GOSUB 1130:GOSUB 1060:GOSUB 1070:GOSUB 1080:M=M/2
530 GOSUB 1090:GOSUB 1090:M=M*4:GOSUB 1090:M=M/2:GOSUB 1070:GOSUB 1060:GOSUB 1050:GOSUB 1040:GOSUB 1035
540 M=M*5:GOSUB 1040:M=M/5:GOSUB 1035:GOSUB 1020:GOSUB 1035:M=M*5:GOSUB 1040
560 M=200:GOSUB 1130:CALL -936:TAB 12: POKE 50,63:PRINT "THE ENTERTAINER": POKE 50,255
565 V=V1:M=8
566 GOSUB 569:V=V2:GOTO 695
569 V=V1
570 GOSUB 1010:GOSUB 1015:GOSUB 1020:M=M*2:GOSUB 1070:M=M/2:GOSUB 1020:M=M*2:GOSUB 1070:M=M/2:GOSUB 1020:M=(M*11)/2
580 GOSUB 1070:M=(M*2)/11:GOSUB 1070:GOSUB 1080:GOSUB 1085
590 GOSUB 1090:GOSUB 1070:GOSUB 1080:M=M*2:GOSUB 1090:M=M/2:GOSUB 1060:M=M*2:GOSUB 1080
600 M=(M*5)/2:GOSUB 1070:M=M/5:GOSUB 1130:GOSUB 1010:GOSUB 1015
610 GOSUB 1020:M=M*2:GOSUB 1070:M=M/2:GOSUB 1020:M=M*2:GOSUB 1070:M=M/2:GOSUB 1020:M=M*7:GOSUB 1070
620 M=M/7:GOSUB 1050:GOSUB 1040:GOSUB 1035:GOSUB 1050:GOSUB 1070:M=M*2:GOSUB 1090:
630 M=M/2:GOSUB 1080:GOSUB 1070:GOSUB 1050:M=M*10:GOSUB 1080:M=M/10:GOSUB 1130:GOSUB 1010:GOSUB 1015
640 GOSUB 1020:M=M*2:GOSUB 1070:M=M/2:GOSUB 1020:M=M*2:GOSUB 1070:M=M/2:GOSUB 1020:M=M*6:GOSUB 1070:M=M/6
650 GOSUB 1070:GOSUB 1080:GOSUB 1085:GOSUB 1090:GOSUB 1070:GOSUB 1080:M=M*2
660 GOSUB 1090:M=M/2:GOSUB 1060:M=M*2:GOSUB 1080:M=(M*5)/2:GOSUB 1070:M=M/5:GOSUB 1130
670 GOSUB 1070:GOSUB 1080:GOSUB 1090:GOSUB 1070:GOSUB 1080:M=M*2:GOSUB 1090:M=M/2:GOSUB 1070:GOSUB 1080:GOSUB 1070
680 GOSUB 1090:GOSUB 1070:GOSUB 1080:M=M*2:GOSUB 1090:M=M/2:GOSUB 1070:GOSUB 1080:GOSUB 1070:GOSUB 1090:GOSUB 1070:GOSUB 1080:M=M*2:GOSUB 1090
690 M=M/2:GOSUB 1060:M=M*2:GOSUB 1080:M=(M*5)/2:GOSUB 1070:RETURN
695 M=M/5:GOSUB 1020:GOSUB 1030:GOSUB 1035:M=M*2:GOSUB 1040
700 M=M/2:GOSUB 1050:GOSUB 1040:GOSUB 1130:GOSUB 1020:GOSUB 1030:GOSUB 1035:M=M*2:GOSUB 1040:M=M/2:GOSUB 1050:GOSUB 1040:GOSUB 1130
710 GOSUB 1090:GOSUB 1070:GOSUB 1040:GOSUB 1050:GOSUB 1060:GOSUB 1070:GOSUB 1080:GOSUB 1090:GOSUB 1080:GOSUB 1070:GOSUB 1080
720 M=M*4:GOSUB 1040:M=M/4:GOSUB 1130:GOSUB 1020:GOSUB 1030:GOSUB 1035:M=M*2:GOSUB 1040:M=M/2:GOSUB 1050:GOSUB 1040:GOSUB 1130
730 GOSUB 1020:GOSUB 1030:GOSUB 1035:M=M*2:GOSUB 1040:M=M/2:GOSUB 1050:GOSUB 1040:GOSUB 1130:GOSUB 1040:GOSUB 1050:GOSUB 1055
740 GOSUB 1060:M=M*2:GOSUB 1060:GOSUB 1060:M=M/2:GOSUB 1050:GOSUB 1035:GOSUB 1010:M=M*4:GOSUB 1040:M=M/4:GOSUB 1130:GOSUB 1020:GOSUB 1030:GOSUB 1035
750 M=M*2:GOSUB 1040:M=M/2:GOSUB 1050:GOSUB 1040:GOSUB 1130:GOSUB 1020:GOSUB 1030:GOSUB 1035:M=M*2:GOSUB 1040:M=M/2:GOSUB 1050:GOSUB 1040:GOSUB 1130
760 GOSUB 1090:GOSUB 1070:GOSUB 1040:GOSUB 1050:GOSUB 1060:GOSUB 1070:GOSUB 1080:GOSUB 1090:GOSUB 1080:GOSUB 1070:GOSUB 1080
770 M=M*4:GOSUB 1070:M=M/4:GOSUB 1130:GOSUB 1040:GOSUB 1035:GOSUB 1040:M=M*2:GOSUB 1070:M=M/2:GOSUB 1050:M=M*2:GOSUB 1070
780 M=M/2:GOSUB 1050:GOSUB 1070:GOSUB 1050:GOSUB 1040:GOSUB 1070:GOSUB 1090:M=M*2:GOSUB 1110:M=M/2:GOSUB 1090:GOSUB 1070:GOSUB 1040
790 M=M*2:GOSUB 1050:GOSUB 1070:M=M/2:GOSUB 1090:M=M*2:GOSUB 1080:M=M*3:GOSUB 1070:M=M/6:GOSUB 1130
800 GOSUB 569
805 M=200:GOSUB 1130
810 V=V1:M=24
815 CALL -936: POKE 50,63:TAB 13:PRINT "THE GODFATHER": POKE 50,255
820 M=M/2:GOSUB 1050:GOSUB 1080:GOSUB 1100:GOSUB 1090:GOSUB 1080:GOSUB 1100:GOSUB 1080:GOSUB 1090:GOSUB 1080:GOSUB 1055:GOSUB 1070:M=M*4:GOSUB 1050
830 M=M/4:GOSUB 1130:GOSUB 1050:GOSUB 1080:GOSUB 1100:GOSUB 1090:GOSUB 1080:GOSUB 1100:GOSUB 1080:GOSUB 1090:GOSUB 1080:GOSUB 1050:GOSUB 1045
840 M=M*4:GOSUB 1040:M=M/4:GOSUB 1130:V=V2:GOSUB 1040:GOSUB 1050:GOSUB 1075
850 M=M*5:GOSUB 1090:M=M/5:GOSUB 1040:GOSUB 1060:GOSUB 1075:M=M*4:GOSUB 1080
860 M=M/4:GOSUB 1130:GOSUB 1010:GOSUB 1030:GOSUB 1070:GOSUB 1055:GOSUB 1050:GOSUB 1070:GOSUB 1055:GOSUB 1055:GOSUB 1050:GOSUB 1050:GOSUB 1005:M=M*4:GOSUB 1010
870 M=M/4:GOSUB 1130:GOSUB 1080:GOSUB 1080:GOSUB 1075:M=M*8:GOSUB 1070:M=M/2
875 FOR J=1 TO 65:NEXT J
880 M=M/2:GOSUB 1090:M=M/2:GOSUB 1080:GOSUB 1055:M=M*4:GOSUB 1050
890 M=M/4:GOSUB 1130:GOSUB 1050:GOSUB 1070:GOSUB 1050:M=M*5:GOSUB 1040:M=M/5:GOSUB 1040:GOSUB 1055:GOSUB 1045:M=M*4:GOSUB 1050
895 V=V1
900 M=M/4:GOSUB 1130:GOSUB 1050:GOSUB 1080:GOSUB 1100:GOSUB 1090:GOSUB 1080:GOSUB 1100:GOSUB 1080:GOSUB 1090:GOSUB 1080:GOSUB 1055:GOSUB 1070:M=M*4:GOSUB 1050
910 M=M/4:GOSUB 1130:GOSUB 1050:GOSUB 1080:GOSUB 1100:GOSUB 1090:GOSUB 1080:GOSUB 1100:GOSUB 1080:GOSUB 1090:GOSUB 1080:GOSUB 1050:GOSUB 1045:M=M*4:GOSUB 1040
920 M=M/4:GOSUB 1130:GOSUB 1040:GOSUB 1055:GOSUB 1075:M=M*5:GOSUB 1090:M=M/5:GOSUB 1040:GOSUB 1055:GOSUB 1075:M=M*4:GOSUB 1080
930 M=M/4:GOSUB 1010:GOSUB 1030:GOSUB 1070:GOSUB 1055:GOSUB 1050:GOSUB 1070:GOSUB 1055:GOSUB 1055:GOSUB 1050:GOSUB 1050:GOSUB 1075:M=M*5:GOSUB 1080
999 POKE 34,0:END
1000 I=250:GOTO V
1005 I=233:GOTO V
1010 I=220:GOTO V
1015 I=210:GOTO V
1020 I=200:GOTO V
1030 I=185:GOTO V
1035 I=175:GOTO V
1040 I=165:GOTO V
1045 I=155:GOTO V
1050 I=145:GOTO V
1055 I=137:GOTO V
1060 I=130:GOTO V
1070 I=122:GOTO V
1075 I=116:GOTO V
1080 I=110:GOTO V
1085 I=104:GOTO V
1090 I=99:GOTO V
1100 I=94:GOTO V
1105 I=87:GOTO V
1110 I=82:GOTO V
1120 I=72:GOTO V
1130 FOR J=1 TO 5*M:NEXT J:RETURN
9987 LIST 1,999
32000 POKE 16128,165: POKE 16129,5: POKE 16130,133: POKE 16131,7: POKE 16132,165: POKE 16133,4: POKE 16134,133: POKE 16135,6
32010 POKE 16136,165: POKE 16137,0: POKE 16138,133: POKE 16139,2: POKE 16140,133: POKE 16141,1: POKE 16142,173: POKE 16143,48
32020 POKE 16144,192: POKE 16145,165: POKE 16146,1: POKE 16147,233: POKE 16148,1: POKE 16149,133: POKE 16150,1: POKE 16151,208
32030 POKE 16152,5: POKE 16153,165: POKE 16154,0: POKE 16155,76: POKE 16156,12: POKE 16157,63: POKE 16158,165: POKE 16159,2
32040 POKE 16160,233: POKE 16161,1: POKE 16162,133: POKE 16163,2: POKE 16164,208: POKE 16165,235: POKE 16166,173: POKE 16167,48
32050 POKE 16168,192: POKE 16169,165: POKE 16170,0: POKE 16171,133: POKE 16172,2: POKE 16173,165: POKE 16174,7: POKE 16175,233
32060 POKE 16176,1: POKE 16177,133: POKE 16178,7: POKE 16179,208: POKE 16180,220: POKE 16181,165: POKE 16182,5: POKE 16183,133
32070 POKE 16184,7: POKE 16185,165: POKE 16186,6: POKE 16187,233: POKE 16188,1: POKE 16189,133: POKE 16190,6: POKE 16191,208
32080 POKE 16192,208: POKE 16193,96: POKE 16194,165: POKE 16195,0: POKE 16196,133: POKE 16197,4: POKE 16198,165: POKE 16199,1
32090 POKE 16200,133: POKE 16201,5: POKE 16202,165: POKE 16203,2: POKE 16204,133: POKE 16205,6: POKE 16206,165: POKE 16207,3
32100 POKE 16208,133: POKE 16209,7: POKE 16210,173: POKE 16211,48: POKE 16212,192: POKE 16213,165: POKE 16214,5: POKE 16215,233
32110 POKE 16216,1: POKE 16217,133: POKE 16218,5: POKE 16219,208: POKE 16220,250: POKE 16221,165: POKE 16222,4: POKE 16223,233
32120 POKE 16224,1: POKE 16225,133: POKE 16226,4: POKE 16227,208: POKE 16228,240: POKE 16229,165: POKE 16230,0: POKE 16231,133
32130 POKE 16232,4: POKE 16233,165: POKE 16234,1: POKE 16235,133: POKE 16236,5: POKE 16237,198: POKE 16238,7: POKE 16239,208
32140 POKE 16240,225: POKE 16241,165: POKE 16242,3: POKE 16243,165: POKE 16244,6: POKE 16245,233: POKE 16246,1: POKE 16247,133
32150 POKE 16248,6: POKE 16249,208: POKE 16250,215: POKE 16251,96:RETURN
32760 M=M/2:V=V1:GOSUB K:V=V2:GOSUB K:M=M*2:RETURN
32764 Q=32767/(40*I)*M: POKE 0,I MOD 255+1: POKE 1,I/255+1: POKE 4,Q MOD 255+1: POKE 5,Q/255+1:CALL 16128:RETURN
32766 I=(26*I)/19:Q=32767/(16*I)*M: POKE 1,I MOD 255+1: POKE 0,I/255+1: POKE 3,Q MOD 255+1: POKE 2,Q/255+1:CALL 16194:RETURN
32767 REM BY G. GENZ & P. BRAUN
Text found in 030_Music_and_Sound_Effects.dsk/MUSIC WRITER 3.int:
10 M=-10473: POKE 765,32:P=767:T=766
20 DIM I$(5),N$(99),N(500),D(500)
30 DIM G(48)
40 DIM G(50):GOSUB 1170
50 G(0)=0
60 TEXT :CALL -936:INPUT "INSTRUCTIONS?",I$
70 IF I$="N" OR I$="NO" THEN 80:GOSUB 1780
80 CALL -936:GOSUB 1670
90 N(1)=0:D(1)=8
100 CURRENTNOTE=1
110 INPUT "NOTE?",N$
120 IF N$="NEW" THEN 80
130 IF N$="RECALL" THEN 1070
140 IF N$="PLAY" THEN INPUT "SHOW NOTES (Y/N)",Q$
150 IF N$="PLAY" THEN GOSUB 830
160 IF N$="PLAY" THEN 110
170 IF N$="END" THEN END
180 IF N$="SAVE" THEN 960
190 IF N$="BACK" THEN 1740
200 IF N$="E2" THEN PITCH=48
210 IF N$="D2" THEN PITCH=46
220 IF N$="C2" THEN PITCH=44
230 IF N$="B1" THEN PITCH=43
240 IF N$="A1" THEN PITCH=41
250 IF N$="G1" THEN PITCH=39
260 IF N$="F1" THEN PITCH=37
270 IF N$="E1" THEN PITCH=36
280 IF N$="D1" THEN PITCH=34
290 IF N$="C1" THEN PITCH=32
300 IF N$="B" THEN PITCH=31
310 IF N$="A" THEN PITCH=29
320 IF N$="G" THEN PITCH=27
330 IF N$="F" THEN PITCH=25
340 IF N$="E" THEN PITCH=24
350 IF N$="D" THEN PITCH=22
360 IF N$="C" THEN PITCH=20
370 IF N$="B-1" THEN PITCH=19
380 IF N$="A-1" THEN PITCH=17
390 IF N$="G-1" THEN PITCH=15
400 IF N$="F-1" THEN PITCH=13
410 IF N$="E-1" THEN PITCH=12
420 IF N$="D-1" THEN PITCH=10
430 IF N$="C-1" THEN PITCH=8
440 IF N$="B-2" THEN PITCH=7
450 IF N$="A-2" THEN PITCH=5
460 IF N$="G-2" THEN PITCH=3
470 IF N$="F-2" THEN PITCH=1
480 REM SHARP, FLAT?
490 IF N$="E2-" OR N$="D2+" THEN PITCH=47
500 IF N$="D2-" OR N$="C2+" THEN PITCH=45
510 IF N$="B1-" OR N$="A1+" THEN PITCH=42
520 IF N$="A1-" OR N$="G1+" THEN PITCH=40
530 IF N$="G1-" OR N$="F1+" THEN PITCH=38
540 IF N$="E1-" OR N$="D1+" THEN PITCH=35
550 IF N$="D1-" OR N$="C1+" THEN PITCH=33
560 IF N$="B-" OR N$="A+" THEN PITCH=30
570 IF N$="A-" OR N$="G+" THEN PITCH=28
580 IF N$="G-" OR N$="F+" THEN PITCH=26
590 IF N$="E-" OR N$="D+" THEN PITCH=23
600 IF N$="D-" OR N$="C+" THEN PITCH=21
610 IF N$="B-1-" OR N$="A-1+" THEN PITCH=18
620 IF N$="A-1-" OR N$="G-1+" THEN PITCH=16
630 IF N$="G-1-" OR N$="F-1+" THEN PITCH=14
640 IF N$="E-1-" OR N$="D-1+" THEN PITCH=11
650 IF N$="D-1-" OR N$="C-2+" THEN PITCH=9
660 IF N$="B-2-" OR N$="A-2+" THEN PITCH=6
670 IF N$="A-2-" OR N$="G-2+" THEN PITCH=4
680 IF N$="G-2-" OR N$="F-2+" THEN PITCH=2
690 INPUT "DURATION",T
700 IF N$="R" THEN PITCH=0
710 IF T>8 OR T<1 THEN 690
720 N(CURRENTNOTE)=PITCH
730 D(CURRENTNOTE)=T
740 CURRENTNOTE=CURRENTNOTE+1
750 GOSUB 760:GOTO 110
760 X1=G(PITCH):Y1=Y1+2
770 IF Y1=10 OR Y1=20 OR Y1=30 THEN Y1=Y1+2
780 IF Y1<39 THEN 800
790 GOSUB 1670:Y1=2
800 COLOR= T:IF PITCH=0 THEN COLOR= 0
810 PLOT Y1,X1
820 RETURN
830 ALL=CURRENTNOTE-1
840 IF Q$="Y" THEN GOSUB 1670
850 FOR CURRENTNOTE=1 TO ALL
860 T=D(CURRENTNOTE)
870 PITCH=N(CURRENTNOTE)
880 IF Q$="Y" THEN GOSUB 760
890 POKE 767,PITCH
900 IF T=1 THEN TI=255:IF T=2 THEN TI=127:IF T=3 THEN TI=63:IF T=4 THEN TI=31:IF T=5 THEN TI=15:IF T=6 THEN TI=7
910 IF T=7 THEN TI=3:IF T=8 THEN TI=1: POKE 766,TI
920 CALL M
930 NEXT CURRENTNOTE
940 GOSUB 1670
950 RETURN
960 TEXT :CALL -936
970 PRINT "FILE NAME?":INPUT N$
980 PRINT "OPEN MUSIC.";N$
990 PRINT "WRITEMUSIC.";N$
1000 PRINT CURRENTNOTE
1010 FOR A=1 TO CURRENTNOTE
1020 PRINT N(A):PRINT D(A)
1030 NEXT A
1040 PRINT "CLOSE"
1050 PRINT " D O N E ":FOR A=1 TO 750:NEXT A
1060 GOTO 110
1070 TEXT :CALL -936
1080 PRINT "FILE NAME?":INPUT N$
1090 PRINT "OPEN MUSIC.";N$
1100 PRINT "READ MUSIC.";N$
1110 INPUT NUM:CURRENTNOTE=NUM
1120 FOR A=1 TO NUM
1130 INPUT N(A):INPUT D(A)
1140 NEXT A
1150 PRINT "CLOSE"
1160 GOTO 110
1170 REM SET UP GRAPHICS
1180 G(48)=4
1190 G(47)=4
1200 G(46)=5
1210 G(45)=6
1220 G(44)=6
1230 G(43)=7
1240 G(42)=7
1250 G(41)=8
1260 G(40)=8
1270 G(39)=9
1280 G(38)=10
1290 G(37)=10
1300 G(36)=11
1310 G(35)=11
1320 G(34)=12
1330 G(33)=13
1340 G(32)=13
1350 G(31)=14
1360 G(30)=14
1370 G(29)=15
1380 G(28)=15
1390 G(27)=16
1400 G(26)=17
1410 G(25)=17
1420 G(24)=18
1430 G(23)=18
1440 G(22)=19
1450 G(21)=20
1460 G(20)=20
1470 G(19)=21
1480 G(18)=21
1490 G(17)=22
1500 G(16)=22
1510 G(15)=23
1520 G(14)=24
1530 G(13)=24
1540 G(12)=25
1550 G(11)=25
1560 G(10)=26
1570 G(9)=27
1580 G(8)=27
1590 G(7)=28
1600 G(6)=28
1610 G(5)=29
1620 G(4)=29
1630 G(3)=30
1640 G(2)=31
1650 G(1)=31
1660 RETURN
1670 GR :COLOR= 15
1680 HLIN 0,39 AT 10:HLIN 0,39 AT 12:HLIN 0,39 AT 14:HLIN 0,39 AT 16:HLIN 0,39 AT 18
1690 HLIN 0,39 AT 22:HLIN 0,39 AT 24:HLIN 0,39 AT 26:HLIN 0,39 AT 28:HLIN 0,39 AT 30
1700 VLIN 10,30 AT 0
1710 FOR A=10 TO 30 STEP 10:VLIN 10,18 AT A:VLIN 22,30 AT A:NEXT A
1720 Y1=0
1730 RETURN
1740 CURRENTNOTE=CURRENTNOTE-1
1750 Y1=Y1-2
1760 IF Y1=0 THEN Y1=2
1770 PRINT "RE-ENTER ";:GOTO 110
1780 CALL -936:PRINT "INSTRUCTIONS:"
1790 PRINT :PRINT "THIS PROGRAM WILL ALLOW"
1800 PRINT :PRINT "YOU TO PLAY ONE PART MUSICAL"
1810 PRINT :PRINT "PIECES UP TO 500 NOTES LONG."
1820 PRINT :PRINT "NOTES ARE ENTERED BY A CODE AS FOLLOWS:"
1830 PRINT "NOTE RANGE FROM TWO OCTAVES ABOVE"
1840 PRINT :PRINT "THE E ABOVE MIDDLE C TO THE F TWO"
1850 PRINT :PRINT "OCTAVES BELOW THE C."
1860 PRINT :PRINT "THE EXTREME NOTES ARE ENTERED AS"
1870 PRINT :PRINT "'E2' AND 'F-2'"
1880 VTAB 23:INPUT "HIT RETURN...",I$
1890 CALL -936:PRINT "MIDDLE C WOULD BE ENTERED AS 'C'"
1900 PRINT :PRINT "SHARPS AND FLATS ARE ENTERED BY ADDING"
1910 PRINT :PRINT "A PLUS SIGN OR A MINUS SIGN TO THE"
1920 PRINT :PRINT "NOTE. NOTES SUCH AS C- ARE NOT ALLOWED"
1930 PRINT :PRINT :PRINT "TIME IS THEN ENTERED BY A NUMBER FROM"
1940 PRINT :PRINT "1 TO 8. ONE CORRESPONDS TO A FULL"
1950 PRINT
1960 PRINT "NOTE, 2 TO A HALF, 3 TO A QUARTER,"
1970 PRINT :PRINT "ETC. TO 8 FOR A 1/128TH NOTE."
1980 PRINT :PRINT "THESE ARE NOT REALLY ACCURATE BUT THEY"
1990 PRINT :PRINT "WORK."
2000 VTAB 23:INPUT "HIT RETURN...",I$
2010 CALL -936:PRINT "TO SAVE A SONG TYPE 'SAVE' AT THE"
2020 PRINT :PRINT "'NOTE?' PROMPT. THE PROGRAM WILL ASK"
2030 PRINT :PRINT "YOU FOR A FILE NAME. TYPE IN A NAME"
2040 PRINT :PRINT "AND HIT RETURN."
2050 PRINT :PRINT :PRINT "TO RECALL A SONG TYPE 'RECALL' AND"
2060 PRINT :PRINT "ANSWER THE 'FILE NAME' PROMPT."
2070 PRINT :PRINT :PRINT "TO PLAY A SONG TYPE 'PLAY'"
2080 PRINT :PRINT :PRINT "TO CORRECT A NOTE, TYPE 'BACK' AT THE"
2090 PRINT :PRINT "'NOTE?' PROMPT AND RE-ENTER THE NOTE."
2100 VTAB 23:INPUT "HIT RETURN...",I$
2110 CALL -936:PRINT "FINALLY, TO START ANEW, TYPE 'NEW'"
2120 PRINT
2130 PRINT :PRINT "MEASURE BARS ARE SHOWN BUT"
2140 PRINT :PRINT "DO NOT FUNCTION. THEY ARE MERELY"
2150 PRINT :PRINT "FOR EFFECT."
2160 PRINT :PRINT :PRINT "TO ENTER A REST TYPE AN 'R' AND THEN":PRINT "TYPE THE DURATION."
2170 VTAB 23:INPUT "HIT RETURN...",I$:RETURN
32770 REM
32780 REM BY LAWRENCE GUST
32790 REM
32800 REM 1/1/81
32810 REM
32820 REM
Text found in 030_Music_and_Sound_Effects.dsk/MUSICAL KEYBOARD.int:
0 DIM WAIT$(100)
20 CALL -936
30 TAB 15: POKE 50,63:PRINT "PIANO KEYBOARD"
40 POKE 50,255
50 PRINT
60 PRINT " PIANO KEYBOARD IS A MACHINE LANGUAGE"
70 PRINT "PROGRAM WHICH REPLACE THE VIDEO OUTPUT"
80 PRINT "ROUTINE WITH A SPECIAL TONE GENERATING "
90 PRINT "SUBROUTINE"
95 GOSUB 400
100 PRINT
110 POKE 50,63
130 TAB 14:PRINT "TO INITIALIZE": POKE 50,255
140 PRINT
150 PRINT " TO INITIALIZE PIANO KEYBOARD EITHER"
160 PRINT "BRUN IT, OR ENTER THE MONITOR AND TYPE;"
165 GOSUB 400
170 PRINT
180 PRINT " EEEG"
190 PRINT
200 POKE 50,63:TAB 13:PRINT "SPECIAL FEATURES"
210 POKE 50,255
220 PRINT
230 PRINT " WHILE USING PIANO KEYBOARD YOU CAN END "
240 PRINT "THE PROGRAM BY TYPING CTRL N"
250 PRINT "IF YOU DESIRE TO REINIT THE PROGRAM TYPE"
260 PRINT "CTRL N AGAIN"
270 PRINT
280 GOSUB 400
281 POKE 50,255
290 CALL -936:PRINT :PRINT " THE PIANO KEYBOARD ALSO "
300 PRINT " CHANGES 4 CTRL FEATURES. THEY ARE-"
310 PRINT
320 PRINT " ESC D == ESC E"
330 PRINT " ESC C == ESC D"
340 PRINT " ESC B == ESC C"
350 PRINT " ESC A == ESC B"
370 PRINT
380 GOSUB 400
385 PRINT " BRUN MUSICAL KEYBOARD.X"
389 REM
390 POKE -16368,0:TEXT :CALL -936:VTAB 10:TAB 10:PRINT "* * * THE END * * *":END
400 VTAB 21:PRINT " PRESS 'ESC' TO END"
410 VTAB 22:PRINT "< PRESS THE SPACE BAR TO CONTINUE...>"
420 IF PEEK (-16384)=155 THEN 390
430 IF PEEK (-16384)<>160 THEN 410
440 POKE -16368,0:TEXT :CALL -936:RETURN
65000 REM
65000 REM *******************
65010 REM ** **
65020 REM ** JOHN UHLEY **
65030 REM ** APPLE PIANO **
65040 REM ** JUNE 1979 **
65050 REM ** **
65060 REM ** APPLE PIANO **
65070 REM ** SITS IN MEM- **
65080 REM ** ORY FROM **
65090 REM ** EEE TO F80 **
65000 REM ** **
65010 REM ** 36 AND 37 **
65020 REM ** CONTAIN **
65030 REM ** THE VIDIO **
65040 REM ** OUTPUT **
65050 REM ** ADDRESS **
65060 REM ** **
65070 REM *******************
65080 REM
65090 REM THIS PROGRAM GIVEN TO APPLE CORE OF SAN FRANCISCO FOR USE OF MEMBERS BY AUTHOR: JOHN UHLEY..
65100 REM PROGRAM CLASSIFIED - PUBLIC DOMAIN -
Text found in 030_Music_and_Sound_Effects.dsk/MUSICAL MEMORY.bas:
10 T = 0:KB% = -16384:KF% = -16368:KZ% = 128
100 DIM A(99),N$(200),T(200):MM% = 769:X% = 0:N% = 1
200 D$ = CHR$(4)
210 NA = 0
300 GOTO 1100
309 REM KEYBOARD MONITOR
310 T = 0
311 X% = PEEK(KB%):T = T +1: IF X% 2 THEN 800
720 TH = INT(T/256): POKE 808,TH +1
730 POKE DUR,T -TH *256: GOTO 1000
800 X% = PDL(0): IF X% = 0 THEN X% = 1
900 POKE DUR,X%: POKE 808,1
1000 CALL MM%: RETURN
1100 GOSUB 9900
1200 FOR X = 0 TO 99:A(X) = 2000: NEXT
1300 REM 2000 IS THE DEFAULT NOTE
1400 READ K$,X
1500 IF K$ = " " THEN 1800
1600 A( ASC(K$)) = X
1700 GOTO 1400
1800 Z$ = "*"
1900 TEXT : HOME : INVERSE
1910 SPEED= 255
2000 HTAB 5
2100 PRINT " M U S I C A L M E M O R Y "
2200 PRINT : PRINT " A = APPLE SPEAKER "
2300 PRINT " C = CASSETTE OUTPUT ": PRINT
2400 NORMAL : INPUT "SELECT OUTPUT MODE:";OM$
2500 IF OM$ = "A" THEN POKE 774,48: GOTO 4800
2600 IF OM$ < >"C" THEN 1900
2700 POKE 774,32
2710 GOTO 4800
2800 INVERSE : HOME :N% = 1
2900 H = 1: FOR V = 1 TO 13 STEP 4
3000 GOSUB 9400:H = H +2: NEXT V
3100 H0 = 2: FOR V = 2 TO 14 STEP 4
3200 FOR H = H0 TO H0 +29 STEP 3
3300 READ X$: VTAB V: HTAB H
3400 IF RIGHT$(X$,1) = "#" THEN NORMAL : GOTO 3600
3500 INVERSE
3600 PRINT LEFT$(X$,1);" ";: REM KEY ID
3700 VTAB V +1: HTAB H: PRINT MID$ (X$,2,2);: REM NOTE
3800 VTAB V +2: HTAB H: PRINT RIGHT$(X$,1);" ";: REM SHARP OR NATURAL
3900 NEXT H:H0 = H0 +2: NEXT V
4000 PRINT : PRINT
4100 PRINT "TO OBTAIN NOTES SHOWN, PADDLE-1 MUST BE AT MAXIMUM COUNTER-CLOCKWISE POSITION"
4200 PRINT : PRINT "PADDLE-0 CONTROLS NOTE DURATION"
4300 PRINT "PADDLE-1 CONTROLS PITCH"
4400 PRINT "TYPE '*' TO END COMPOSITION."
4500 GOSUB 310:N$(N%) = X$:T(N% -1) = T:N% = N% +1
4600 IF X$ = Z$ THEN NN% = N% -2: GOTO 4800
4700 GOSUB 400: GOTO 4500
4800 HOME : INVERSE
4900 PRINT "1 - ENTER COMPOSITION FROM KEYBOARD"
5000 PRINT : PRINT "2 - REPLAY FROM MEMORY"
5100 PRINT : PRINT "3 - SAVE CURRENT COMPOSITION"
5200 PRINT : PRINT "4 - QUIT"
5300 PRINT : PRINT "5 - LOAD OLD COMPOSITION FROM DISK"
5400 NORMAL : PRINT : INPUT "SELECT NEXT ACTION:";NA
5500 IF NA < > INT(NA) OR NA <1 OR NA >5 THEN PRINT CHR$(7): GOTO 4800
5600 ON NA GOTO 5900,6300,6600,7500,7600
5700 STOP : REM SHOULD NOT GET HERE
5800 REM REACTIVATE KEYBOARD ROUTINE
5900 RESTORE
6000 READ K$,X: IF K$ < >" " THEN 6000
6100 GOTO 2800
6200 REM REPLAY ROUTINE
6300 INPUT "TEMPO:";TEMPO
6350 FOR I = 1 TO NN%
6400 X$ = N$(I)
6401 T = T(I) * SQR(TEMPO)
6410 FOR J = 1 TO TEMPO: NEXT J
6420 GOSUB 400: NEXT I
6500 GOTO 4800
6600 HOME : INVERSE : REM SAVE ROUTINE
6700 INPUT "NAME OF THIS COMPOSITION:";NC$
6800 PRINT D$;"OPEN";NC$
6900 PRINT D$;"DELETE";NC$
7000 PRINT D$;"OPEN";NC$
7100 PRINT D$;"WRITE";NC$
7200 FOR I = 1 TO NN%
7210 PRINT ASC(N$(I));",";T(I)
7220 NEXT I
7300 PRINT D$;"CLOSE";NC$
7400 GOTO 4800
7500 HOME : INVERSE : END : REM QUIT
7600 HOME : INVERSE : REM LOAD ROUTINE
7700 INPUT "NAME OF COMPOSITION:";NC$
7800 N% = 1
7900 PRINT D$;"OPEN";NC$
8000 PRINT D$;"READ";NC$
8100 ONERR GOTO 8300
8200 INPUT J,T(N%)
8210 N$(N%) = CHR$(J)
8220 N% = N% +1: GOTO 8200
8300 POKE 216,0: PRINT D$
8400 PRINT D$;"CLOSE";NC$
8500 IF N% = 1 THEN 8700
8600 NN% = N% -1: GOTO 4800
8700 PRINT NC$;" NOT FOUND."
8800 PRINT D$;"DELETE";NC$
8900 GOTO 7700
9000 PRINT "+";: FOR I = 1 TO 10: PRINT "--+";
9100 NEXT I: PRINT : RETURN
9200 PRINT "!";: FOR I = 1 TO 10: PRINT " !";
9300 NEXT I: PRINT : RETURN
9400 VTAB V: HTAB H: GOSUB 9000
9500 HTAB H: GOSUB 9200: HTAB H: GOSUB 9200: HTAB H: GOSUB 9200: HTAB H: GOSUB 9000
9600 RETURN
9700 REM --------------
9800 REM LOAD TONE GENERATION SUBROUTINE
9900 DHI = 777:DLO = 779:DUR = 768: REM DEFINE VARIABLE LOCATIONS
10000 POKE 769,24
10100 POKE 770,216
10200 POKE 771,169
10300 POKE 772,0
10400 POKE 773,141
10500 POKE 774,32
10600 POKE 775,192
10700 POKE 776,162
10800 POKE 777,0
10900 POKE 778,160
11000 POKE 779,0
11100 POKE 780,136
11200 POKE 781,240
11300 POKE 782,11
11400 POKE 783,105
11500 POKE 784,1
11600 POKE 785,144
11700 POKE 786,249
11800 POKE 787,24
11900 POKE 788,206
12000 POKE 789,0
12100 POKE 790,3
12200 POKE 791,208
12300 POKE 792,243
12400 POKE 793,96
12500 POKE 794,202
12600 POKE 795,208
12700 POKE 796,239
12800 POKE 797,76
12900 POKE 798,5
13000 POKE 799,3
13010 REM PATCH TO ORIGINAL ROUTINE
13020 POKE 791,76: POKE 792,32: POKE 793,3
13030 POKE 800,208: POKE 801,234
13040 POKE 802,206: POKE 803,40
13050 POKE 804,3: POKE 805,208
13060 POKE 806,229: POKE 807,96
13070 POKE 808,0
13100 RETURN
13200 REM --- NOTE DATA ---
13300 DATA "Z",516,"S",487,"X",459,"C",434,"F",409,"V",386
13400 DATA "G",364,"B",344,"N",325,"J",306,"M",289,"K",273
13500 DATA ",",257,"L",243,".",229,"/",216,"1",204,"Q",193
13600 DATA "2",182,"W",172,"E",162,"4",153,"R",144,"5",136
13700 DATA "T",128,"6",121,"Y",114,"U",108,"I",54,"O",26
13800 DATA "A",546
13900 DATA " ",0: REM END OF NOTE DATA
14000 REM KEYBOARD LAYOUT DATA
14100 DATA "1C5#","2D5#","3 ","4F5#"
14200 DATA "5G5#","6A5#","7 ","8 "
14300 DATA "9 ","0 ","QD5 ","WE5 "
14400 DATA "EF5 ","RG5 ","TA5 ","YB5 "
14500 DATA "UC6 ","IC7 ","OC8 ","P "
14600 DATA "AG3#","SA3#","D ","FC4#"
14700 DATA "GD4#","H ","JF4#","KG4#"
14800 DATA "LA4#","; ","ZA3 ","XB3 "
14900 DATA "CC4 ","VD4 ","BE4 ","NF4 "
15000 DATA "MG4 ",",A4 ",".B4 ","/C5 "
15100 REM END OF KEYBOARD DATA
15200 END
16000 REM BRUCE W. CHRISTOPHER
16010 REM MUSICAL MEMORY
Text found in 030_Music_and_Sound_Effects.dsk/NAME THAT TUNE.int:
1000 CALL -936
1020 PRINT :PRINT :PRINT :PRINT :PRINT :PRINT " NAME THAT TUNE"
1040 PRINT :PRINT :PRINT :PRINT " BY JIM BECK"
1060 PRINT :PRINT :PRINT :PRINT " NSAUG CONTEST"
1080 PRINT :PRINT :PRINT :PRINT " DECEMBER 1980"
1100 IF PEEK (-16384)>127 THEN 1110:GOTO 1100
1110 PRINT :PRINT :PRINT " NAME THE TUNE IS A TUNE GUESSING GAME FOR TWO PLAYERS. "
1111 PRINT :PRINT " THE TUNE WILL BEGIN WHEN EITHER PLAYER PUSHES THE PADDLE BUTTON"
1112 PRINT :PRINT " WHEN YOU THINK YOU KNOW THE TUNE PUSH THE BUTTON AGAIN AND ENTER THE TUNE NUMBER FROM THE LIST"
1113 PRINT :PRINT " THE SOONER YOU GUESS THE HIGHER YOUR SCORE WILL BE. BUT IF YOU GUESS WRONG YOULL LOSE MORE TOO."
1114 PRINT :PRINT " THE LENGTH OF EACH TUNE IS DIFFERENT SO DECIDE QUICKLY"
1115 PRINT :PRINT " IF YOU TAKE TOO LONG TO ENTER YOUR GUESS YOU LOSE 5 POINTS"
1116 POKE -16368,0:PRINT :PRINT " PROGRAMMERS AID #1 REQUIRED"
1117 POKE -16368,0
1118 IF PEEK (-16384)>127 THEN 1120:GOTO 1118
1119 POKE -16368,0
1120 DIM P(50),T(50)
1140 GR
1160 S0=0:S1=0
1180 POKE -16368,0
1200 K= RND (46)+1
1220 PRINT :PRINT :PRINT
1240 PRINT "PLAYER #1 SCORE IS ";S0
1260 PRINT "PLAYER #2 SCORE IS ";S1
1280 POKE -16368,0
1300 D$=""
1320 PRINT D$;"OPEN TUNES, L200"
1340 PRINT D$;"READ TUNES, R";K
1360 FOR H=1 TO 50
1380 INPUT P(H)
1400 IF P(H)<0 THEN 1440
1420 NEXT H
1440 PRINT D$;"CLOSE TUNES"
1460 GR
1480 MUSIC=-10473
1500 PITCH=767
1520 TIME=766
1540 TIMBRE=765
1560 POKE TIMBRE,2^( RND (4)+3)
1580 FOR J=1 TO 50
1600 IF P(J)<0 THEN 2340
1620 POKE PITCH,P(J)/10
1640 T(J)=P(J)-(P(J)/10)*10
1660 COLOR= T(J)
1680 IF J>39 THEN 1740
1700 IF P(J)/10<18 THEN 1740
1720 PLOT J,57-P(J)/10
1740 POKE TIME,31*T(J)
1760 X= PEEK (-16287)
1780 Y= PEEK (-16286)
1800 IF X>127 THEN 1900
1820 IF Y>127 THEN 2120
1840 CALL MUSIC
1860 NEXT J
1880 GOTO 1200
1900 PRINT :PRINT :PRINT "ENTER TUNE # PLAYER #1"
1920 FOR X=1 TO 1500:IF PEEK (-16384)>127 THEN 1960:NEXT X:PRINT :PRINT "SORRY-TOO LATE"
1940 POKE PITCH,5: POKE TIME,120:CALL MUSIC:S0=S0-5:GOTO 2080
1960 INPUT N
1980 IF N<>K THEN S0=S0-10+J/5
2000 IF N=K THEN S0=S0+10-J/5
2020 PRINT :PRINT
2040 IF N=K THEN PRINT "VERY GOOD PLAYER #1!! THAT IS CORRECT."
2060 IF N<>K THEN PRINT " SORRY PLAYER #1!! THAT IS NOT CORRECT"
2080 FOR X=1 TO 1000:NEXT X
2100 GOTO 2340
2120 PRINT :PRINT :PRINT "ENTER TUNE # PLAYER #2"
2140 FOR X=1 TO 1500:IF PEEK (-16384)>127 THEN 2180:NEXT X:PRINT :PRINT "SORRY-TOO LATE "
2160 POKE PITCH,5: POKE TIME,120:CALL MUSIC:S1=S1-5:GOTO 2080
2180 INPUT N
2200 IF N<>K THEN S1=S1-10+J/5
2220 IF N=K THEN S1=S1+10-J/5
2240 PRINT :PRINT
2260 IF N=K THEN PRINT "VERY GOOD PLAYER #2!! THAT IS CORRECT."
2280 IF N<>K THEN PRINT " SORRY PLAYER #2!! THAT IS NOT CORRECT"
2300 FOR X=1 TO 1000:NEXT X
2320 GOTO 2340
2340 X=1
2360 PRINT "PLAYER #1 SCORE IS ";S0
2380 PRINT "PLAYER #2 SCORE IS ";S1
2400 PRINT "PUSH BUTTON FOR TUNE HIT KEY TO STOP"
2420 IF PEEK (-16287)>127 THEN 1200
2440 IF PEEK (-16384)>127 THEN 2500
2460 IF PEEK (-16286)>127 THEN 1200
2480 GOTO 2420
2500 TEXT :CALL -936:END
Text found in 030_Music_and_Sound_Effects.dsk/SOUND EFFECTS DEMOS.int:
5 DIM C(4): POKE 2,173: POKE 3,48: POKE 4,192: POKE 5,165: POKE 6,0: POKE 7,32: POKE 8,168: POKE 9,252: POKE 10,165: POKE 11,1: POKE 12,208
7 POKE 13,4: POKE 14,198: POKE 15,24: POKE 16,240: POKE 17,5: POKE 18,198: POKE 19,1: POKE 20,76: POKE 21,2: POKE 22,0: POKE 23,96
10 CALL -936
11 X=0
12 POKE 32,6
15 VTAB 2
17 TAB 11
20 PRINT "WHICH DEMO ?"
21 PRINT :PRINT :PRINT "1 UP UP AND AWAY"
22 PRINT :PRINT "2 WHAT GOES UP MUST COME DOWN"
23 PRINT :PRINT "3 FASTER UP UP"
24 PRINT :PRINT "4 FASTER DOWN"
25 PRINT :PRINT "5 DEATH RAY"
26 PRINT :PRINT "6 DRIP"
27 PRINT :PRINT "7 DROP"
29 PRINT :PRINT "8 BIONIC CRICKET"
30 PRINT :PRINT "9 SCALES"
31 PRINT
35 INPUT C
40 IF C>10 THEN 10:GOTO C*100
100 FOR T=100 TO 1 STEP -1
110 POKE 0,T
120 POKE 1,10
130 POKE 24,1
140 CALL 2
150 NEXT T
160 GOTO 10
200 FOR T=1 TO 100
210 POKE 0,T
220 POKE 1,10
230 POKE 24,1
240 CALL 2
250 NEXT T
260 GOTO 10
300 FOR T=100 TO 1 STEP -1
310 POKE 0,T
320 POKE 1,1
330 POKE 24,1
340 CALL 2
350 NEXT T
360 GOTO 10
400 FOR T=1 TO 100
410 POKE 0,T
420 POKE 1,1
430 POKE 24,1
440 CALL 2
450 NEXT T
460 GOTO 10
500 FOR T=1 TO 10
510 POKE 0,T
520 POKE 1,10
530 POKE 24,1
540 CALL 2
550 NEXT T
560 FOR T=10 TO 1 STEP -1
565 POKE 0,T
570 POKE 1,10
575 POKE 24,1
580 CALL 2
585 NEXT T:X=X+1
587 IF X>=10 THEN 10
590 GOTO 500
600 FOR T=20 TO 1 STEP -1
610 POKE 0,T
620 POKE 1,10
630 POKE 24,1
640 CALL 2
650 NEXT T
660 GOTO 10
700 FOR T=1 TO 20
710 POKE 0,T
720 POKE 1,10
730 POKE 24,1
740 CALL 2
750 NEXT T
760 GOTO 10
800 FOR I=1 TO 10
810 FOR Z=1 TO 300:NEXT Z
840 FOR T=1 TO 10
850 POKE 0,10
860 POKE 1,40
870 POKE 24,1
880 CALL 2
890 NEXT T
891 NEXT I
895 GOTO 10
900 FOR T=1 TO 15
905 POKE 0,T
910 POKE 1,100
915 POKE 24,1
920 CALL 2
925 NEXT T
930 FOR T=15 TO 1 STEP -1
935 POKE 0,T
940 POKE 1,100
945 POKE 24,1
950 CALL 2
955 NEXT T
960 X=X+1
965 IF X<=2 THEN 900
970 GOTO 10
Text found in 030_Music_and_Sound_Effects.dsk/SOUND EFFECTS HOW TO.bas:
100 DATA 173,48,192,136,208,5,206,173,3,240,9,202,208,245,174,172,3,76,174,3,96
200 FOR I = 1 TO 21: READ X: POKE 941 +I,X: NEXT
300 TEXT : HOME : VTAB 5: PRINT "INSTRUCTIONS FOR APPLESOFT TONE WITH DOS"
400 PRINT TAB( 10)"BY [ DOGFISH SOFTWORKS ]"
500 VTAB 10: PRINT "TO USE THIS TONE ROUTINE FIRST POKE AS FOLLOWS:":
600 PRINT "THE FOLLOWING LIST OF DATA:": PRINT : PRINT "(TOUCH A KEY TO CONTINUE)": CALL -756
700 HOME : LIST 100,200
800 PRINT : PRINT "THIS WILL PLACE THE TONE ROUTINE IN": PRINT "MEMORY STARTING AT 942 ($3AE) TO": PRINT "963 ($3C2)."
900 PRINT : PRINT "TO USE THIS USE THE SAME TYPE OF POKES AS YOU WOULD WITH THE ROUTINE IN THE APPLEII REFERENCE MANUEL WITH THE"
1000 PRINT "FOLLOWING DIFFERENCES:": PRINT
1100 PRINT "INSTEAD OF 0 FOR FREQUENCY POKE 940": PRINT "INSTEAD OF 1 FOR DURATION POKE 941"
1200 PRINT "INSTEAD OF CALL2 USE CALL942": PRINT
1300 PRINT "(TOUCH A KEY TO CONTINUE ) ": CALL -756: HOME
1400 VTAB 3: PRINT "I WILL NOW BEGIN THE FOLLOWING TONE TEST "
1500 LIST 1600,1700
1600 FOR I = 1 TO 255: POKE 940,I: POKE 941,10: CALL 942
1700 NEXT I: END
Text found in 030_Music_and_Sound_Effects.dsk/SOUND EFFECTS RANDOM.int:
5 CALL -936:GOSUB 210
10 REM SOUND EFFECTS #1
20 POKE 1,160: POKE 3,165: POKE 4,0: POKE 5,41: POKE 6,31: POKE 7,24: POKE 8,105: POKE 10,32: POKE 11,168: POKE 12,252: POKE 13,173: POKE 14,48: POKE 15,192
30 POKE 16,136: POKE 17,208: POKE 18,240: POKE 20,0: POKE 21,208: POKE 22,234: POKE 23,96
40 POKE 2, RND (4)+1: POKE 9, RND (8)+7: POKE 19,198+32* RND (2):CALL 1
100 REM
110 POKE 1,160: POKE 3,165: POKE 4,0: POKE 5,41: POKE 6,31: POKE 7,24: POKE 8,105: POKE 10,32: POKE 11,168: POKE 12,252: POKE 13,173: POKE 14,48: POKE 15,192
120 POKE 16,136: POKE 17,208: POKE 18,240: POKE 20,0: POKE 21,208: POKE 22,234: POKE 23,96
130 POKE 16,136: POKE 17,208: POKE 18,240: POKE 20,0: POKE 21,208: POKE 22,234: POKE 23,96
140 POKE 2, RND (4)+1: POKE 9, RND (8)+7: POKE 19,198+32* RND (2):CALL 1
150 LET Z=Z+1:IF Z>8 THEN 200:GOTO 10
160 REM
170 REM ' SOUND EFFECTS '
180 REM
200 POKE -16368,0:TEXT :CALL -936:VTAB 10:TAB 10:PRINT "* * * THE END * * *":END
210 CALL -936:VTAB 5:TAB 10:PRINT "SOUND EFFECTS":PRINT
220 TAB 10:PRINT "AUTHOR UNKNOWN":PRINT
230 PRINT :PRINT
240 TAB 4:PRINT "THIS PROGRAMS GENERATES SOUND":PRINT
250 TAB 8:PRINT "EFFECTS (NO GRAPHICS)":PRINT
260 VTAB 21:PRINT " PRESS 'ESC' TO END"
270 VTAB 22:PRINT "< PRESS THE SPACE BAR TO CONTINUE...>"
280 IF PEEK (-16384)=155 THEN 200
290 IF PEEK (-16384)<>160 THEN 270
300 POKE -16368,0:TEXT :CALL -936:RETURN
310 REM
320 REM LAST MOD JULY 1979
330 REM
400 REM 'SOUND EFFECTS'
Listing error: possible embedded machine code.
Text found in 030_Music_and_Sound_Effects.dsk/SOUND ROUTINE.bas:
1 REM REVISED APPLESOFT TONE SUBROUTINE
2 REM HERE IS THE SAME TONE SUBROUTINE THAT APPEARED IN THE OCTOBER CALL-APPLE WITH A DIFFERENT METHOD OF POKING IT INTO MEMORY
3 REM THE DATA STATEMENT IS VERY USEFUL FOR THIS TYPE OF OPERATION.
5 REM BY GENE JACKSON
10 GOSUB 32000
20 INPUT "PITCH,DURATION?";P,D
25 POKE 776,P: POKE 777,D: CALL 778
30 GOTO 20
32000 FOR LOC = 776 TO 798: READ BYTE: POKE LOC,BYTE: NEXT : RETURN
32010 DATA 255,255,173,48,192,136,208,5,206,9,3,240,9,202,208,245,174,8,3,76,10,3,96
Text found in 030_Music_and_Sound_Effects.dsk/SOUNDS AND MUSIC STARWARS.int:
1 REM SUBROUTINE 2000 CREATES A TONE
2 REM BY POKING PITCH (I) AND DUR-
3 REM RATION (K), AND CALLING 2.
6 CALL -936:VTAB (10):PRINT "VARIOUS SOUND EFFECTS":PRINT "BY GARY J. SHANNON ESQ.":PRINT
7 PRINT "BROUGHT TO YOU THROUGH THE COURTESY OF"
8 PRINT "RAINBOW COMPUTING, INC."
9 FOR I=1 TO 2000:NEXT I
10 POKE 2,173: POKE 3,48: POKE 4,192: POKE 5,165: POKE 6,0: POKE 7,32: POKE 8,168: POKE 9,252: POKE 10,165: POKE 11,1: POKE 12,208
20 POKE 13,4: POKE 14,198: POKE 15,24: POKE 16,240: POKE 17,5: POKE 18,198: POKE 19,1: POKE 20,76: POKE 21,2: POKE 22,0: POKE 23,96
22 CALL -936:VTAB (10):PRINT "SCALES"
23 FOR I=1 TO 40:K=32767/(I*I):GOSUB 2000:NEXT I
25 CALL -936:VTAB (10):PRINT "R2-D2":L= RND (20)+10:FOR G=1 TO L
30 I= RND (10)+1
50 K= RND (250)+ RND (250)+1
60 POKE 0,I
70 POKE 1,K MOD 256
80 POKE 24,(K>255)+1
90 CALL 2
100 NEXT G
110 FOR I=1 TO RND (500)+100
111 NEXT I
112 IF RND (10)>7 THEN 25
114 IF RND (10)>3 THEN GOSUB 700
115 L= RND (8)+3:FOR G=1 TO L
120 CALL -936:VTAB (10):PRINT "BLASTER":FOR I=1 TO 15
130 K=5
140 POKE 0,I: POKE 1,K: POKE 24,1
150 CALL 2
160 NEXT I
165 NEXT G:IF RND (10)<8 THEN 175
170 IF RND (10)>3 THEN 114
171 IF RND (10)>8 THEN 25
172 GOTO 115
175 CALL -936:VTAB (10):PRINT "EXPLOSION":FOR J=1 TO RND (60)+5
180 I= RND (50)+J
190 K= RND (3)
200 POKE 0,I: POKE 1,K: POKE 24,1:CALL 2
210 NEXT J
230 IF RND (100)>30 THEN 114:GOSUB 700:CALL -936:VTAB (10):PRINT "ALARM"
231 FOR Q3=1 TO 20:I=10:K=100:GOSUB 2000:FOR Q4=1 TO 25:NEXT Q4,Q3
232 FOR Q3=1 TO 100:NEXT Q3
235 IF RND (100)>24 THEN 25
236 CALL -936:VTAB (10):PRINT "MUSICAL INTERLUDE":FOR Q2=1 TO 2
240 FOR Q1=1 TO 2
260 FOR Q=1 TO 3:I=40:K=45:GOSUB 2000:NEXT Q
270 I=34:K=450:GOSUB 2000
280 I=27:K=600:GOSUB 2000
285 FOR Q=1 TO 2
290 I=29:K=75:GOSUB 2000
300 I=30:K=75:GOSUB 2000
310 I=32:K=75:GOSUB 2000
320 I=23:K=700:GOSUB 2000
330 I=27:K=250:GOSUB 2000
340 NEXT Q
350 I=29:K=75:GOSUB 2000
360 I=30:K=75:GOSUB 2000
370 I=29:K=75:GOSUB 2000
380 I=32:K=600:GOSUB 2000
390 NEXT Q1
395 FOR Q1=1 TO 2
400 FOR Q=1 TO 3:I=40:K=40:GOSUB 2000:NEXT Q
410 I=38:K=200:GOSUB 2000
420 FOR I=1 TO 25:NEXT I
430 I=38:K=100:GOSUB 2000
440 I=29:K=200:GOSUB 2000
450 I=30:K=100:GOSUB 2000
460 I=32:K=150:GOSUB 2000
470 I=34:K=75:GOSUB 2000
475 IF Q1=2 THEN 560
480 FOR I=1 TO 25:NEXT I
490 I=34:K=75:GOSUB 2000
500 I=32:K=75:GOSUB 2000
510 I=30:K=75:GOSUB 2000
520 I=32:K=150:GOSUB 2000
530 I=38:K=75:GOSUB 2000
540 I=35:K=200:GOSUB 2000
550 NEXT Q1
555 GOTO 590
560 I=27:K=400:GOSUB 2000
570 I=32:K=400:GOSUB 2000
580 Q1=3:GOTO 400
590 I=40:K=100:GOSUB 2000
595 FOR I=1 TO 25:NEXT I:I=40:K=25:GOSUB 2000
600 I=34:K=100:GOSUB 2000
610 I=36:K=100:GOSUB 2000
620 I=38:K=175:GOSUB 2000
630 I=40:K=25:GOSUB 2000
640 I=43:K=90:GOSUB 2000
650 I=46:K=60:GOSUB 2000
660 I=48:K=60:GOSUB 2000
670 I=50:K=60:GOSUB 2000
680 I=40:K=200:GOSUB 2000
690 NEXT Q2
695 GOTO 25
700 CALL -936:VTAB (10):PRINT "TIE-FIGHTER":FOR Q2=1 TO 28
710 I=Q2:K=4
720 GOSUB 2000
721 I=Q2*2:K=3:GOSUB 2000
725 NEXT Q2
726 FOR I=1 TO 50:NEXT I
730 RETURN
999 GOTO 25
2000 POKE 0,I: POKE 1,K MOD 256: POKE 24,K/256+1:CALL 2
3000 RETURN
Text found in 030_Music_and_Sound_Effects.dsk/SWANEE RIVER.int:
0 CALL -936
1 VTAB 12:TAB 15:PRINT "SWANEE RIVER"
2 VTAB 20
4 FOR J=1 TO 2
5 T=16:I=5
6 INPUT "TIME=(4 TO 7)",B:PRINT
7 INPUT "KEY=(1 TO 24)",A
8 FOR J=1 TO 2
9 T=16:I=5
10 GOSUB 1000
15 T=4:I=3
20 GOSUB 1000
25 T=4:I=1
30 GOSUB 1000
35 T=4:I=5
40 GOSUB 1000
45 T=4:I=3
50 GOSUB 1000
55 T=8:I=1
60 GOSUB 1000
65 T=8:I=13
70 GOSUB 1000
75 T=4:I=10
80 GOSUB 1000
85 T=12:I=13
90 GOSUB 1000
91 IF J>1 THEN 128
95 T=16:I=8
100 GOSUB 1000
105 T=8:I=5
110 GOSUB 1000
115 T=8:I=1
120 GOSUB 1000
125 T=32:I=3
126 GOSUB 1000
127 NEXT J
128 T=8:I=8
129 GOSUB 1000
130 T=4:I=5
135 GOSUB 1000
140 T=4:I=1
145 GOSUB 1000
150 T=8:I=3
155 GOSUB 1000
160 T=8:I=3
165 GOSUB 1000
170 T=32:I=1
171 GOSUB 1000
172 IF J=3 THEN 999
176 T=12:I=12:GOSUB 1000
177 T=4:I=13:GOSUB 1000
178 T=8:I=15
180 GOSUB 1000
185 T=8:I=8
190 GOSUB 1000
195 T=12:I=8
200 GOSUB 1000
205 T=4:I=10
210 GOSUB 1000
215 T=8:I=8
220 GOSUB 1000
225 T=8:I=13
230 GOSUB 1000
235 T=8:I=13
240 GOSUB 1000
245 T=8:I=10
250 GOSUB 1000
255 T=8:I=6
260 GOSUB 1000
265 T=8:I=10
270 GOSUB 1000
275 T=32:I=8
280 GOSUB 1000
281 J=3
282 GOTO 9
999 END
1000 MUSIC=-10473:PITCH=767:TIME=766:TIMBRE=765
1010 POKE TIME,T*B
1015 POKE TIMBRE,32
1020 POKE PITCH,I+A
1030 CALL MUSIC
1040 RETURN
Text found in 030_Music_and_Sound_Effects.dsk/TUNES.txt:
391
391
391
361
391
411
391
362
361
343
361
342
39391
391
391
361
391
411
391
362
361
343
-98
342
391
391
391
361
391
411
391
362
342
361
341
324
-98
391
391
391
361
391
411
391
362
361
343
361
342
391
391
391
361
391
411
391
362
342
361
341
324
-109
43
413
373
323
341
361
371
342
371
323
-109
93
443
413
373
341
361
371
392
411
393
392
411
421
411
341
361
382
412
413
431
412
382
343
361
382
382
362
342
366
341
361
382
412
413
431
412
372
343
361
382
382
362
362
346
-109
443
413
373
323
341
361
371
342
371
323
323
393
443
413
373
341
361
371
392
411
393
392
411
421
411
391
442
411
391
373
-109
392
382
392
442
1
391
364
2
362
352
362
392
1
361
324
2
362
342
322
342
1
341
344
2
372
362
342
392
1
361
324
-109
392
486
484
462
448
442
442
444
434
412
396
361
361
372
392
412
394
362
372
392
412
394
431
441
416
484
462
468
-109
384
361
341
381
361
342
462
431
463
414
382
342
366
2
374
361
341
381
361
342
462
431
463
412
381
341
362
362
346
-109
432
434
442
436
412
396
362
342
396
4
392
412
432
432
442
432
432
392
382
392
418
-109
362
342
322
342
362
362
364
1
342
342
344
1
362
392
394
-109
344
433
411
392
362
341
393
-109
392
483
461
442
462
442
412
392
366
-109
443
421
412
392
372
392
412
372
391
411
421
391
413
391
372
362
374
-109
393
411
392
366
393
411
392
366
-109
362
362
364
362
362
364
362
392
323
341
368
-109
391
411
392
362
441
411
394
441
461
483
461
441
431
444
-109
322
362
394
394
394
394
396
442
392
2
362
372
394
394
372
346
328
-109
392
362
394
392
362
394
392
362
393
411
392
362
394
-109
371
371
391
411
371
411
391
321
371
371
371
411
372
362
8
-109
392
393
361
362
392
393
341
342
362
372
392
412
432
396
8
-109
392
392
412
383
391
412
432
432
442
433
411
392
411
392
382
396
8
-109
341
341
342
341
341
342
341
341
392
412
432
341
341
342
341
341
342
432
412
382
342
341
341
342
341
341
342
341
341
392
412
432
391
431
465
441
431
411
392
432
392
-109
432
432
432
461
441
414
412
412
412
441
431
394
432
412
392
391
381
384
412
392
362
361
341
344
-109
374
391
421
411
391
442
442
441
461
411
421
392
392
391
421
411
391
371
491
481
461
441
421
411
391
374
-109
392
392
466
441
461
422
411
391
411
421
448
462
412
391
371
342
342
396
412
392
371
361
371
361
348
-109
394
381
391
412
364
344
324
311
321
342
298
314
331
342
361
414
344
394
391
382
361
348
4
-109
342
392
434
432
412
394
412
392
362
396
8
-109
342
342
382
412
466
438
432
392
412
432
418
8
-109
431
342
361
393
411
431
431
432
434
431
342
361
393
391
362
346
8
-109
322
371
371
373
391
411
421
461
445
491
481
465
441
461
441
411
445
6
-109
391
391
361
394
361
323
391
412
392
8
-109
344
342
412
392
412
363
371
362
346
414
442
464
442
412
432
392
414
8
-109
342
374
392
413
431
412
394
362
323
341
362
374
342
343
321
342
364
322
294
8
-109
352
402
392
402
422
372
424
402
392
372
392
404
354
352
402
392
402
422
372
424
402
392
372
392
406
-109
442
441
431
412
412
392
391
371
362
361
361
392
322
342
372
363
341
324
8
-109
473
451
451
431
421
431
454
403
451
453
471
451
421
401
381
435
8
-109
362
362
372
392
392
372
362
342
322
322
342
362
362
342
344
8
-109
321
361
371
395
321
361
371
395
321
361
371
392
362
322
362
345
4
-109
272
322
342
366
326
362
342
322
346
8
-109
461
481
441
412
431
391
1
461
481
441
412
431
391
1
341
361
321
291
291
311
291
301
292
-109
342
382
413
411
416
432
432
418
342
382
413
411
416
392
382
368
4
-109
341
341
391
411
431
431
431
441
361
361
412
411
341
381
391
411
431
411
411
391
361
342
-109
323
323
322
341
363
362
341
362
371
396
8
-109
396
362
396
362
393
411
392
372
362
394
392
322
322
322
342
362
394
392
412
342
342
362
346
-109
372
412
443
411
442
462
444
412
442
468
444
8
-109
324
394
394
394
372
362
342
322
324
414
414
418
8
-109
322
322
324
272
362
362
364
324
322
362
394
394
372
362
348
6
-109
364
394
324
364
362
342
378
344
372
372
314
344
342
322
368
6
-109
- Addeddate
- 2014-08-18 00:51:12
- Emulator
- apple2e
- Emulator_ext
- dsk
- Identifier
- riag_010_030_Music_and_Sound_Effects
- Scanner
- Internet Archive Python library 0.7.0