8-Bit Software Online Conversion
Envelope Creator - Listing
10ON ERROR PROCmenu
20*KEY 0 0|M100|M20|M
30*KEY 1 1|M100|M20|M
40A=1
50N=1
60GOTO120
70PRINT" Preset 1 or 2?Key 1 or 2"
80A$=GET$
90IFA$="1"THEN PROCpreset
100IFA$="2"THEN PROCpreset2
110GOTO80
120MODE7
130 VDU141,129,157:PRINT" Resolve
Envelope Editor"
140 VDU141,132,157:PRINT" Resolve
Envelope Editor"
150PRINT"
££££££££££"
160VDU28,0,24,39,3
170PROCmenu
180DEF PROCmenu
190CLS
200PRINT'" Written by John Carpenter <
C> 1989"
210PRINT" ESCAPE returns to this menu"
220PRINT'
230VDU141,157:PRINT" <1> Construct Env
elope ";
240VDU156:PRINT
250VDU141,157:PRINT" (1> Construct Env
elope ";
260VDU156:PRINT
270VDU141,157:PRINT" <2> Play Envelope
";
280VDU156:PRINT
290VDU141,157:PRINT" <2> Play Envelope
";
300VDU156:PRINT
310VDU141,157:PRINT" <3> Preset Envelo
pes ";
320VDU156:PRINT
330VDU141,157:PRINT" <3> Preset Envelo
pes ";
340VDU156:PRINT
350VDU141,157:PRINT" <4> More preset e
nvelopes ";
360VDU156:PRINT
370VDU141,157:PRINT" <4> More preset e
nvelopes ";
380VDU156:PRINT
390PRINT'''" Select number:";
400IFA=1THEN GOTO70
410A$=GET$
420IFA$="2"THEN PROCplay
430IFA$="1"THEN PROCmake
440IFA$="3"THEN PROCpreset
450IFA$="4"THEN PROCpreset2
460PROCmenu
470ENDPROC
480DEF PROCpreset
490PRINT
500PRINT" Press number next to envelop
e"
510PRINT" <1>ENVELOPE 1,1,0,0,0,0,0,0,
2,0,-10,"'" -5,120,0"
520PRINT" <2>ENVELOPE 1,3,0,0,0,0,0,0,
121,-10,"'" -5,-2,120,120"
530PRINT" <3>ENVELOPE 1,7,2,1,1,1,1,1,
121,-10,"'" -5,-2,120,120"
540PRINT" <4>ENVELOPE 1,1,0,0,0,0,0,0,
61,0,-10,"'" -120,120,0"
550PRINT" <5>ENVELOPE 1,8,1,-1,1,1,1,1
,121,-10,"'" -5,-2,120,120"
560PRINT" <6>ENVELOPE 1,8,-1,1,-1,2,2,
2,107,"'" -10,-5,-2,120,120"
570PRINT" <7>ENVELOPE 1,0,0,1,-1,2,2,2
,2,3,-10,"'" 24,110,120"
580PRINT" <8>ENVELOPE 1,0,-128,127,19,
35,68,"'" 200,2,3,-10,24,110,120"
590PRINT" <9>ENVELOPE 1,4,1,-1,1,1,2,1
,100,-1,"'" -2,-3,110,40"
600PRINT" <0>ENVELOPE 1,4,4,1,-1,1,1,2
,1,127,0,"'" -2,-2,110,100"
610PRINT" Select:";
620A$=GET$
630A=2
640IFA$="1"THEN PROCone
650IFA$="2"THEN PROCtwo
660IFA$="3"THEN PROCthree
670IFA$="4"THEN PROCfour
680IFA$="5"THEN PROCfive
690IFA$="6"THEN PROCsix
700IFA$="7"THEN PROCseven
710IFA$="8"THEN PROCeight
720IFA$="9"THEN PROCnine
730IFA$="0"THEN PROCten
740GOTO620
750ENDPROC
760DEF PROCone
770T=1:PI1=0:PI2=0:PI3=0:PN1=0:PN2=0:P
N3=0:AA=2:AD=0:AS=-10:AR=-5:ALA=120:ALD=
0
780PROCmenu
790ENDPROC
800DEF PROCtwo
810T=3:PI1=0:PI2=0:PI3=0:PN1=0:PN2=0:P
N3=0:AA=121:AD=-10:AS=-5:AR=-2:ALA=120:A
LD=120
820PROCmenu
830ENDPROC
840DEF PROCthree
850T=7:PI1=2:PI2=1:PI3=1:PN1=1:PN2=1:P
N3=1:AA=121:AD=-10:AS=-5:AR=-2:ALA=120:A
LD=120
860PROCmenu
870ENDPROC
880 DEF PROCfour
890T=1:PI1=0:PI2=0:PI3=0:PN1=0:PN2=0:P
N3=0:AA=61:AD=0:AS=-10:AR=-120:ALA=120:A
LD=0
900PROCmenu
910ENDPROC
920DEF PROCfive
930T=8:PI1=1:PI2=-1:PI3=1:PN1=1:PN2=1:
PN3=1:AA=121:AD=-10:AS=-5:AR=-2:ALA=120:
ALD=120
940PROCmenu
950ENDPROC
960DEF PROCsix
970T=8:PI1=-1:PI2=1:PI3=-1:PN1=2:PN2=2
:PN3=2:AA=107:AD=-10:AS=-5:AR=-2:ALA=120
:ALD=120
980PROCmenu
990ENDPROC
1000DEF PROCseven
1010T=0:PI1=0:PI2=1:PI3=-1:PN1=2:PN2=2:
PN3=2:AA=2:AD=3:AS=-10:AR=24:ALA=110:ALD
=120
1020PROCmenu
1030ENDPROC
1040DEF PROCeight
1050T=0:PI1=-128:PI2=127:PI3=19:PN1=35:
PN2=68:PN3=200:AA=2:AD=3:AS=-10:AR=24:AL
A=110:ALD=120
1060PROCmenu
1070ENDPROC
1080DEF PROCnine
1090T=4:PI11:PI2=-1:PI3=1:PN1=1:PN2=2:P
N3=1:AA=100:AD=-1:AS=-2:AR=-3:ALA=110:AL
D=40
1100PROCmenu
1110ENDPROC
1120DEF PROCten
1130T=4:PI1=1:PI2=-1:PI3=1:PN1=1:PN2=2:
PN3=1:AA=127:AD=0:AS=-2:AR=-2:ALA=110:AL
D=100
1140PROCmenu
1150ENDPROC
1160DEF PROCmenu
1170ENDPROC
1180DEF PROCplay
1190PRINT''
1200PRINT"ENVELOPE 1,";T;",";PI1;",";PI
2;",";PI3;",";PN1;",";PN2;",";PN3;",";AA
;",";AD;","
1210PRINTAS;",";AR;",";ALA;",";ALD
1220ENVELOPE 1,T,PI1,PI2,PI3,PN1,PN2,PN
3,AA,AD,AS,AR,ALA,ALD
1230 PRINT" Press F0 for standard sound
effect"
1240 PRINT" Press F1 for standard note(
s)"
1250PRINT'" Sound channel";
1260INPUTB
1270IFB<>1 AND B<>2 AND B<>3 AND B<>0 T
HEN GOTO 1250
1280PRINT'" Pitch(0-255)";
1290INPUTC
1300 IFC>255 OR C<0 THEN GOTO1280
1310PRINT'" Length(0-255)";
1320INPUTD
1330IFD>255 OR D<0 THEN GOTO1310
1340SOUNDB,1,C,D
1350PRINT" Again?";
1360A$=GET$
1370IFA$="Y"THEN PRINT'" There may be a
short wait..."'
1380IFA$="Y"THEN GOTO1340
1390IFA$="N"THEN PROCmenu ELSE 1360
1400ENDPROC
1410DEF PROCmake
1420PRINT'" Press number to change"
1430PRINT " (ESCAPE for menu)"
1440PRINT'" <1>T.....";T
1450 PRINT" <2>PI1...";PI1
1460PRINT" <3>PI2...";PI2
1470PRINT" <4>PI3...";PI3
1480PRINT" <5>PN1...";PN1
1490PRINT" <6>PN2...";PN2
1500PRINT" <7>PN3...";PN3
1510PRINT" <8>AA....";AA
1520PRINT" <9>AD....";AD
1530 PRINT" <0>AS....";AS
1540PRINT" <A>AR....";AR
1550PRINT" <B>ALA...";ALA
1560PRINT" <C>ALD...";ALD
1570A$=GET$
1580IFA$="1"THEN PROCT
1590IFA$="2"THEN PROCPI1
1600IFA$="3"THEN PROCPI2
1610IFA$="4"THEN PROCPI3
1620IFA$="5"THEN PROCPN1
1630IFA$="6"THEN PROCPN2
1640IFA$="7"THEN PROCPN3
1650IFA$="8"THEN PROCAA
1660IFA$="9"THEN PROCAD
1670IFA$="0"THEN PROCAS
1680IFA$="A"THEN PROCAR
1690IFA$="B"THEN PROCALA
1700IFA$="C"THEN PROCALD
1710GOTO1570
1720ENDPROC
1730DEF PROCT
1740PRINT" Input length step in 100ths
of a "'" second(0 to 127)";
1750INPUTT
1760IFT<0 OR T>127 THEN GOTO1740
1770PROCmake
1780ENDPROC
1790DEF PROCPI1
1800PRINT" Input change of pitch per st
ep in"'" section 1(-128 to 127)";
1810INPUTPI1
1820IFPI1<-128 OR PI1>127 THEN GOTO 180
0
1830PROCmake
1840ENDPROC
1850DEF PROCPI2
1860PRINT" Input change of pitch per st
ep in "'" section 2(-128 to 127)";
1870INPUTPI2
1880IFPI2<-128 OR PI2>127 THEN GOTO1860
1890PROCmake
1900ENDPROC
1910DEF PROCPI3
1920PRINT" Input change of pitch per st
ep in "'" section 3(-128 to 127)";
1930INPUTPI3
1940IFPI3<-128 OR PI3>127 THEN GOTO1920
1950PROCmake
1960ENDPROC
1970DEF PROCPN1
1980PRINT" Input number of steps in sec
tion 1"'" (0 to 255)";
1990INPUTPN1
2000IFPN1<0 OR PN1>255 THEN GOTO1990
2010PROCmake
2020ENDPROC
2030DEF PROCPN2
2040PRINT" Input number of steps in sec
tion 2"'" (0 to 255)";
2050INPUTPN2
2060IFPN2<0 OR PN2>255 THEN GOTO2040
2070PROCmake
2080ENDPROC
2090DEF PROCPN3
2100PRINT" Input number of steps in sec
tion 3"'" (0 to 255)";
2110INPUTPN3
2120IFPN3<0 OR PN3>255 THEN GOTO2100
2130PROCmake
2140ENDPROC
2150DEF PROCAA
2160PRINT" Input change of amplitude(lo
udness)"'" per step during the attack ph
ase"'" (-127 to 127)";
2170INPUTAA
2180IFAA<-127 OR A>127 THEN GOTO2160
2190PROCmake
2200ENDPROC
2210DEF PROCAD
2220PRINT" Input change of amplitude(lo
udness)"'" per step during the decay pha
se"'" (-127 to 127)";
2230INPUTAD
2240IFAD<-127 OR AD>127 THEN GOTO2220
2250PROCmake
2260ENDPROC
2270DEF PROCAS
2280PRINT" Input change of amplitude(lo
udness)"'" per step during the sustain p
hase"'" (-127 to 127)";
2290INPUTAS
2300IFAS<-127 OR AS>127 THEN GOTO 2280
2310PROCmake
2320ENDPROC
2330DEF PROCAR
2340PRINT" Input change of amplitude(lo
udness)"'" per step during the release p
hase"'" (-127 to 127)";
2350INPUTAR
2360IFAR<-127 OR AR>127 THEN GOTO2340
2370PROCmake
2380ENDPROC
2390DEF PROCALA
2400PRINT" Input target of level at end
of "'" attack phase(0 to 126)";
2410INPUTALA
2420IF ALA<0 OR ALA>126 THEN 2410
2430PROCmake
2440ENDPROC
2450DEF PROCALD
2460PRINT" Input target of level at end
of decay"'" phase(0 to 126)";
2470INPUTALD
2480IF ALD<0 OR ALD>126 THEN 2410
2490PROCmake
2500ENDPROC
2510DEF PROCpreset2
2520PRINT'" Press number beside envelop
e"
2530PRINT" <1>ENVELOPE 2,0,0,0,0,0,0,12
6,-10,"'" -60,-5,126,0"
2540PRINT" <2>ENVELOPE 2,1,-1,0,1,1,0,1
27,-1,-3,"'" -5,90,0"
2550PRINT" <3>ENVELOPE 1,30,1,50,-50,5,
2,2,119,"'" 120,-2,110,120,126"
2560PRINT" <4>ENVELOPE 1,3,1,1,1,5,2,2,
119,-1,5,"'" 110,120,120"
2570PRINT" <5>ENVELOPE 1,30,1,1,1,5,2,2
,119,-1,"'" 5,110,120,120"
2580PRINT" <6>ENVELOPE 1,0,0,1,1,1,1,1,
121,-10,"'" 0,-2,120,120"
2590A$=GET$
2600A=2
2610IFA$="1"THEN PROC1
2620IFA$="2"THEN PROC2
2630IFA$="3"THEN PROC3
2640IFA$="4"THEN PROC4
2650IFA$="5"THEN PROC5
2660IFA$="6"THEN PROC6
2670GOTO2590
2680ENDPROC
2690DEF PROC1
2700T=2:PI1=0:PI2=0:PI3=0:PN1=0:PN2=0:P
N3=0:AA=126:AD=-10:AS=-60:AR=-5:ALA=126:
ALD=0
2710PROCmenu
2720ENDPROC
2730DEF PROC2
2740T=2:PI1=1:PI2=-1:PI3=0:PN1=1:PN2=1:
PN3=0:AA=127:AD=-1:AS=-3:AR=-4:ALA=105:A
LD=0
2750PROCmenu
2760 ENDPROC
2770DEF PROC3
2780T=30:PI1=1:PI2=50:PI3=-50:PN1=5:PN2
=2:PN3=2:AA=119:AD=120:AS=-2:AR=110:ALA=
120:ALD=126
2790PROCmenu
2800ENDPROC
2810DEF PROC4
2820T=3:PI1=1:PI2=1:PI3=1:PN1=5:PN2=2:P
N3=2:AA=119:AD=-1:AS=5:AR=110:ALA=120:AL
D=126
2830PROCmenu
2840ENDPROC
2850DEF PROC5
2860T=30:PI1=1:PI2=1:PI3=1:PN1=5:PN2=2:
PN3=2:AA=119:AD=-1:AS=5:AR=110:ALA=120:A
LD=126
2870PROCmenu
2880ENDPROC
2890DEF PROC6
2900T=0:PI1=0:PI2=1:PI3=1:PN1=1:PN2=1:P
N3=1:AA=121:AD=-10:AS=0:AR=-2:ALA=120:AL
D=120
2910PROCmenu
2920ENDPROC
2930 *|" E n v e l o p e Constructor
2940 *|" and Player
2950 *|" (C)opyright 1988 by
2960 *|" John Carpenter
2970 *|"
2980 *|" Not very well written,but
2990 *|" it serves its purpose.
3000 *|"
3010 *|" There are loads better
3020 *|" downloads than this on
3030 *|" Resolve Communications
3040 *|" (0582) 832653
3050 *|" 24 hours every day
3060 *|" Viewdata & Colour Terminal
3070 *|" 1200/75,75/1200,300/300