0 'written by George Dunsay 1 ' CIS (72325,614) 2 'see rems starting at line 400 8 DIMS(48),X(365),Y(365) 11 DATA0,1,-1,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,0,1,1,1,1,0,1,0,1,0,1,0,1,-1,1,0,1,0,1,-1,1,0,1,-1,1,0,1,-1,1,0,1 12 DATA4,-7,0,-1,1,0,1,-1,1,0,1,0,1,1,0,1,0,1,0,1,-1,1,0,1,-1,1,0,1,-1,1,4,-5,1,-1,1,0,1,1,0,1,-1,1,0,1,0,1,1,1,1,0,1,0 13 DATA1,0,1,-1,1,-1,0,-1,0,-1,-1,0,-1,1,0,1,2,2,1,0,1,-1,1,-1,0,-1,1,-1,1,0,1,1,-1,1,0,1,1,1,1,0,1,0,1,-1,1,-1,0,-1 14 DATA0,-1,1,0,1,1,0,1,0,1,1,1,1,0,1,-1,1,-1,0,-1,0,2,1,1,1,0,1,-1,1,-1,0,-1,0,2,0,1,-1,1,0,1,0,1,0,1,-1,1,0,1,0,1 15 DATA-1,1,0,1,-1,1,-1,1,-1,-1,0,-1,0,-1,1,-1,1,-1,1,-1,1,-1,2,-2,1,-1,1,-1,1,0,1,-1,1,0,1,1,1,1,0,1,0,1,0,1,-1,1,-1,1 16 DATA-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,0,-1,1,-1,0,-1,1,-1,0,-1,0,-1,1,-1,0,-1,0,-1,0,-1,0,-1,0,-1,1,-1,0,-1,0,-1,0 17 DATA-1,1,0,1,1,1,1,-1,0,-1,-3,-1,-1,0,-1,0,-1,0,-1,1,-1,1,-1,1,-1,1,0,1,0,1,-1,1,0,1,0,1,0,1,1,1,0,1,1,1,0,1,1,1 18 DATA1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,-1,1,0,1,-1,1,-1,1,-1,1,-1,1,-1,0,-1,1,-1,0,-1,1,-1,0,-1,0,-1 19 DATA0,-1,-1,-1,-1,0,-1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,1,0,1,0,1,0,1,1,-3,0,-1,1,-1,1,-1,1,0,1,0,1,1,0,1,0,1 20 DATA-1,1,0,1,1,1,1,0,1,-1,1,-1,0,-1,1,-1,1,-1,0,-1,1,0,1,1,-1,1,0,1,0,1,0,1,1,1,1,0,1,-1,1,-1,1,-1,0,-1,1,-1,-1,4 21 DATA1,1,1,0,1,-1,1,-1,1,-1,0,-1,0,-1,1,1,1,1,0,1,0,1,-1,1,-1,0,-1,-1,3,1,1,0,1,-1,1,0,1,-1,1,-1,0,-1,0,-1,0,-1,0,-1 22 DATA1,-1,0,-1,0,-1,0,-1,-2,8,0,1,1,1,1,0,1,-1,1,-1,0,-1,1,-1,1,-1,1,0,0,1,0,1,0,1,-1,1,0,1,2,-3,1,-1,1,1,-1,1,0,1,0,1 23 DATA2,-3,1,0,0,1,-1,1,1,1,1,0,1,-1,1,-1,1,-1,1,0,1,0,1,0,0,1,0,1,-1,1,-1,0,-1,0,-1,-1,5,1,1,0,1,-1,1,-1,1,-1,1,1,1,1 24 DATA-1,1,-1,0,-1,0,4,0,1,0,1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,0,-1,0,-1,-1,-1,0,-1,0,-1,0,-1,0,-1,-1,-1,0,-1,0,-1,0 25 DATA-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-8,0 50 CLS:PRINT@170,"" 52 X=30:Y=10:Z=1 54 READA,B:X=X+A:Y=Y+B:X(Z)=X:Y(Z)=Y 55 Z=Z+1:IFA<>-8THENGOTO54 56 CLS 60 FORX=1TO48:READS(X):NEXTX:GOTO100 62 DATA 415,439,466,493,523,554,587,622,659,698,739,783 64 DATA 830,879,932,987,1046,1108,1174,1244,1318,1396,1479,1567 66 DATA 1660,1758,1864,1975,2092,2216,2348,2484,2636,2793,2959,3134 68 DATA 3321,3516,3728,3950,4184,4433,4697,4976,5272,5586,5918,6269 100 READ A,B,C:IF C=0THENGOTO300 101 R=INT(RND(1)*120):IFX(R)<>0THENPSET(X(R),Y(R)):PSET(X(R+120),Y(R+120)):PSET(X(R+240),Y(R+240)):X(R)=0 102 GOTO110 110 FORY=1TOC*.8:SOUNDS(A),1:SOUNDS(B)+2,1:NEXTY:GOTO100 111 FORY=1TOC*.4:SOUNDS(A),1:SOUNDS(A+3),1:SOUNDS(A),1:SOUNDS(A+7),1:NEXTY:GOTO100 112 SOUNDS(A),C*1.6:GOTO100 200 DATA 28,40,16,16,28,16,17,45,8,19,45,8,21,45,8,23,45,8,24,40,16,24,36,16,24,33,32 201 DATA 0,0,2 202 DATA 28,40,16,19,31,16,21,33,8,23,35,8,24,36,8,26,38,8,28,40,32,28,36,32 203 DATA 0,0,2 204 DATA 28,40,16,28,40,16,26,38,8,26,38,8,28,40,8,26,38,8,24,36,10,21,33,10,19,31,10,17,29,24 205 DATA 0,0,2 206 DATA 19,31,8,20,32,16,20,32,16,18,30,8,20,32,8,21,33,8,23,35,8,21,37,32 207 DATA 0,0,2 208 DATA 21,33,8,23,35,8,24,36,8,26,38,8,28,40,16,16,28,16,17,29,8,19,31,8,21,33,8,23,35,8 210 DATA 24,36,8,24,36,8,24,36,24 211 DATA 0,0,2 212 DATA 28,40,16,19,31,16,21,33,8,23,35,8,24,36,8,26,38,8,28,40,32,28,36,32 213 DATA 0,0,2 214 DATA 28,40,16,28,40,16,26,38,16,28,40,8,26,38,8,24,36,10,21,33,10,19,31,10,17,29,24,19,31,8 216 DATA 21,33,8,24,36,8,19,31,8,21,33,8,23,35,24,29,41,8,28,40,32,0,0,8 218 DATA 28,40,8,29,41,8,28,40,8,18,30,40,19,31,8,21,33,8,22,34,8,21,33,32,0,0,8 220 DATA 28,40,8,29,41,8,28,40,8,18,30,8,19,31,8,18,30,8,19,31,8,18,30,8,19,31,8,21,33,8,23,35,8,21,33,32,0,0,8 222 DATA 28,40,8,29,41,8,28,40,8,20,32,8,21,33,8,20,32,24,21,33,8,23,35,8,25,37,8,23,35,40 223 DATA 0,0,2 224 DATA 25,37,8,23,35,8,25,37,8,26,38,8,26,38,13,26,38,5,26,38,5,26,38,10,26,38,10,26,38,10,26,38,48,0,0,8 226 DATA24,36,8,28,40,16,16,28,16,17,29,8,19,31,8,21,33,8,23,35,8,24,36,16,24,36,16,24,36,24 227 DATA 0,0,2 228 DATA 24,36,8,28,40,16,19,31,16,21,33,8,23,35,8,24,36,8,26,38,8,28,40,32,28,35,16,0,0,8 230 DATA 29,41,8,28,40,16,29,41,8,28,40,8,26,38,16,28,40,8,26,38,8,24,36,16,21,33,8,19,31,8,17,29,16 232 DATA 16,28,8,19,31,8,21,33,16,28,40,32,26,38,16,28,40,16,24,40,16,21,40,16,16,28,16,0,0,0 300 FORX=1TO120 302 IFX(X)<>0THENPSET(X(X),Y(X)):PSET(X(X+120),Y(X+120)):PSET(X(X+240),Y(X+240)) 304 NEXTX 306 PRINT@104,"and a":PRINT@144,"VERY, VERY":PRINT@184," HAPPY":PRINT@224," NEW YEAR!" 308 FORX=1TO2000:NEXTX:MENU 400 'this program simulates 1,2 & 3 402 'voices using the 100's 1 voice. 404 'If line 102 reads you 406 'will get 1 voice. 408 ' gives you 2 voices & 410 ' gives you 3. 412 ' 414 'The process is simply causing the 416 '100 to switch back and forth 418 'between the 2 or 3 note you want 420 'sounded together. It creates a 422 'sound like swiss bells or maybe a 424 'harpschord. 426 ' 428 'Proper selection of the notes is 430 'determined by thye laws of music. 432 'In the goto 110 example you are 434 'moving between the proper note & 436 'the same note 1 octave higher. 438 ' 440 'In the goto 111 example you are 442 'playing predominantly the major 444 'chord of the note you wish. Those 446 'familiar with music can experiment 448 'with minor chords, 7ths etc. 450 ' 452 ' HAVE FUN !! 454 ' 456 ' Any comments or questions to 458 ' George Dunsay (72325,614)