10*FX200 3
30ON ERROR PROCend
40MODE7:VDU23;8202;0;0;0;:PROCscreen:
T%=0:VDU23;8202;0;0;0;:DIMM$(3),E(3),N(3
):V=110:PROCenvs:PROCriffs:M$="ababcdefg
hhiababcdefghhiaj":KEY=0:TEMP=3:*FX15
50REPEAT:FORX=1TOLEN(M$):D=EVAL("FNpa
rt"+MID$(M$,X,1)):E(0)=EVAL("&"+LEFT$(E$
,1)):E(1)=EVAL("&"+MID$(E$,2,1)):E(2)=EV
AL("&"+MID$(E$,3,1)):E(3)=EVAL("&"+RIGHT
$(E$,1)):IFRIGHT$(M$(3),1)="*" GOTO60
60FORL=1TOLENM$(3):FORV=1TO3:P=4*ASC(
MID$(M$(V),L,1)):B%=V OR &200:B%=B%OR-&1
000*(P=128):P=P+(KEY*4)-139*(V=1 ANDE(1)
=0)+48*(V=3):SOUNDB%,E(V),P,TEMP:NEXT:IF
MID$(M$(1),L,1)="*" SOUND0,1,4,TEMP:GOTO
90
70IFMID$(M$(1),L,1)="#" SOUND0,E(0),6
,TEMP:GOTO90
80SOUND-&1000*(MID$(M$(1),L,1)=" "),E
(0),3,TEMP
90NEXT:NEXT:PROCend
100DEFFNbass(B$):Z$=B$+" *"+B$+B$+" *
":=STRING$(2,Z$)
110DEFPROCriffs:ENDPROC
120DEFPROCend
121GOTO121
130DEFPROCenvs:ENVELOPE1,1,0,0,0,0,0,0
,126,-1,0,-1,1100,63:ENVELOPE3,1,0,0,0,0
,0,0,0,-4,0,-1,100,0:ENVELOPE4,1,0,0,0,0
,0,0,126,-1,0,-1,90,0:ENVELOPE6,6,0,0,0,
0,0,0,126,-6,0,-4,110,0:ENVELOPE9,6,0,0,
0,0,0,0,126,-8,0,-1,100,0:ENDPROC
140DEFPROCkeys:CLS:PRINT" B D G I K
N P S U W Z ½ ` a A C E F H J L
M O Q R T V X Y [ ] ^ £ b"''" Z ½ ` a
c f h k m o r t w y ¼Y [ ] ^ £
b d e g i j l n p q s u v x z":PRINT'"*
and # for drums.":VDU28,0,24,39,8:ENDPRO
C
150DEFFNpartdemo:E$="three hex envelop
e numbers":M$(1)="bass line":M$(2)="seco
nd line":M$(3)="third line":=0:REM Start
FNparts here...
160DEFFNparta:E$="0646":M$(1)="K
G I G ":M$(2)="W
S U S ":M$(3)="f ^ f
^ f ` f h e ½ e ½ e c a ` ":=1
170DEFFNpartb:E$="0646":M$(1)="K
G I F ":M$(2)="W
S U R ":M$(3)="^ c c
a f ` f ` e ½ e ½ b c e ce":=2
180DEFFNpartc:E$="0666":M$(1)="G
F D B ":M$(2)="S
R P N ":M$(3)="f ` f
` f ^ f ^ f ½ f ½ f Z f Z ":=3
190DEFFNpartd:E$="0666":M$(1)="G
F D I B
":M$(2)="S R P U
N ":M$(3)="f ` f ` f ^ f
^ f ½ f ½ e a e a ^ Z ^ Z ^ Z ^ Z ":=6
200DEFFNparte:E$="6046":M$(1)="D * P @
@ * G S B * * ":M$(2)="D D D
@ @ @ @@@ G B B B BB ":M$(3)=" c
d d d c d f f c a ` ":=7
210DEFFNpartf:E$="6046":M$(1)="D * P @
* @ * G S B * *** ":M$(2)="D D D
@ @ @ @@@ G B B B BB ":M$(3)="a`
d d d d d d c ` c c a ":=8
220DEFFNpartg:E$="6046":M$(1)="D * P @
@ * G S B * * ":M$(2)="D D D
@ @ @ @@@ G B B B BB ":M$(3)=" c
d d d c c c f f ":=9
230DEFFNparth:E$="6066":M$(1)="? * @
* @ B B B B * ":M$(2)="K
L N N N N ":M$(3)="f f f
f d c a ca ":=10
240DEFFNparti:E$="9096":M$(1)="B
":M$(2)="N M ":M$(3
)="f ^ f ^ f ^ e ^ ":=11
250DEFFNpartj:E$="9099":M$(1)="K I
K":M$(2)="K I K":M$(3)="W c c a c":
=12
260DEFPROCscreen:PRINT" "
270PRINT"
";
280PRINT"
0 `8l0
+t h?!"o4
`¶ ÷! ÷!
j5 kt x% 4";
290PRINT"
¶! k¶1 z%
*¾px'"/t>'
pppppp
";:ENDPROC