home *** CD-ROM | disk | FTP | other *** search
- 10 rem**read base freqs**
- 12 dimf(11):fori=0to11:readf(i):next
- 14 rem**read title & variables**
- 16 readz$,qm,qn,p1,p2:p3=p1-p2:ifp3<1thenp3=1
- 18 dimb(qm):b=49152:fori=0toqm:b(i)=b+qn*i*2:next:gosub182
- 20 rem**read & compile melodies**
- 22 a=b(1):fori=1toqm:forj=0toqn-1:readn$
- 24 a$=left$(n$,1):ifa$="0"thenl=0:goto44
- 28 n=(asc(a$)-67)*2:n=n+(n>4)-(n<0)*13
- 30 b$=mid$(n$,2,1)
- 32 ifb$="+"thenn=n+1
- 34 ifb$="-"thenn=n-1
- 36 oc=val(right$(n$,1))
- 38 f=f(n)/(2^(7-oc))
- 40 h=int(f/256):l=int(f-h*256)
- 42 pokea+1,h
- 44 pokea,l:a=a+2:next:next
- 46 rem**set melody #0**
- 48 fori=btob(1)-1:pokei,0:next
- 50 rem**set sid addresses**
- 52 sid=54272:fori=0to2:a=sid+i*7
- 54 x(i)=a:y(i)=a+1:z(i)=a+4:next
- 56 gosub152:pokesid+24,15
- 60 rem**read instruments**
- 62 fori=0to2:readw$,a,d,s,r,pf
- 64 w(i)=-(w$="t")*17-(w$="s")*33-(w$="p")*65-(w$="n")*129
- 66 pokex(i)+5,a*16+d:pokex(i)+6,s*16+r
- 68 ph=int(pf/256):pokex(i)+3,ph:pokex(i)+2,pf-ph*256:next
- 100 rem**play tune**
- 102 t=ti
- 104 fori=0to2:readm:ifm=-1then142
- 106 printm,:a(i)=b(m):next
- 108 fori=0toqn-1
- 110 t=t+p2
- 112 ift>tithen112
- 114 forj=0to2:l(j)=peek(a(j)):h(j)=peek(a(j)+1)
- 116 pokez(j),w(j)-1:a(j)=a(j)+2:next
- 118 t=t+p3
- 120 ift>tithen120
- 122 forj=0to2:ifl(j)=0then126
- 124 pokex(j),l(j):pokey(j),h(j):pokez(j),w(j)
- 126 next:next:printchr$(145):goto104
- 140 rem**end**
- 142 printchr$(147):gosub152:end
- 150 rem**sub:clear sound chip**
- 152 fori=sidtosid+28:pokei,0:next:return
- 180 rem**sub:display title**
- 182 printchr$(147)chr$(159)
- 184 print"the sidney chipp orchestra plays---":print:print
- 186 printchr$(18)z$:print:print:return
- 200 rem**freq data**
- 202 data34334,36376,38539,40830,43258,45830,48556,51443,54502,57743,61176,64814
- 300 rem**title**
- 302 datapachelbel's canon
- 310 rem**no.of melodies,notes per melody**
- 312 data7,32
- 320 rem**note duration,gate duration**
- 322 data16,4
- 400 rem **melody data**
- 410 rem #1
- 412 datac3,0,0,0,g2,0,0,0,a2,0,0,0,e2,0,0,0
- 414 dataf2,0,0,0,c2,0,0,0,f2,0,0,0,g2,0,0,0
- 420 rem #2
- 422 datae6,0,0,0,d6,0,0,0,c6,0,0,0,b5,0,0,0
- 424 dataa5,0,0,0,g5,0,0,0,a5,0,0,0,b5,0,0,0
- 430 rem #3
- 432 datac5,0,e5,0,g5,0,f5,0,e5,0,c5,0,e5,0,d5,0
- 434 datac5,0,a4,0,c5,0,g4,0,c5,0,a4,0,c5,0,d5,0
- 440 rem #4
- 442 datac5,b4,c5,0,g4,0,b4,0,c5,0,e5,0,g5,0,a5,0
- 444 dataf5,e5,d5,f5,e5,d5,c5,e5,d5,0,a4,0,c5,0,b4,0
- 450 rem #5
- 452 datac5,0,0,e5,e5,f5,e5,d5,c5,0,0,c6,c6,d6,c6,b5
- 454 dataa5,b5,c5,0,g5,0,c6,0,a5,0,c6,0,c6,0,b5,0
- 460 rem #6
- 462 datac3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 464 datac3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 470 rem #7
- 472 datac5,0,0,0,a5,0,g5,0,g5,0,f5,0,f5,0,e5,0
- 474 datae5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- 600 rem**instrument data**
- 602 data p,0,0,15,15,4000
- 604 data p,4,5,13,14,3700
- 606 data p,1,6,10,11,3400
- 700 rem**plan**
- 702 data1,0,0
- 704 data1,2,0
- 706 data1,2,3
- 708 data1,2,4
- 710 data1,3,4
- 712 data1,2,5
- 714 data1,3,5
- 716 data1,4,5
- 718 data0,2,3
- 720 data0,4,5
- 722 data4,2,3
- 724 data5,4,3
- 726 data1,3,4
- 728 data1,4,5
- 730 data6,7,7
- 732 data-1
-