8-Bit Software Online Conversion
:0.$.Envelop - Listing
10*|" Envelope Editor.. v.2
20*|" v2 done 8/8/91 (c)
30*|" John Carpenter..
40*|"
50*|" See end REMS for any notes..
60*|"
70ON ERROR PROCmenu
80*KEY 0 0|M100|M20|M
90*KEY 1 1|M100|M20|M
100MODE7
110VDU141,129,157:PRINT" Resolve E
nvelope Editor v2"
120 VDU141,132,157:PRINT" Resolve
Envelope Editor v2"
130PRINT"
££££££££££"
140VDU28,0,24,39,3
150A=1
160N=1
170CLS:PRINT" First,select a preset
envelope.."
180PRINT''" 1) The First list of 10 en
velopes"
190PRINT " 2) The Second list of 6 en
velopes"
200A$=GET$
210IFA$="1"THEN PROCpreset
220IFA$="2"THEN PROCpreset2
230CLS
240PROCmenu
250GOTO 230
260DEF PROCmenu
270CLS
280PRINT'" Written by John Carpenter <
C> 1989"
290PRINT" ESCAPE returns to this menu"
300PRINT'
310PRINT" "
320PRINT"
340PRINT"
360PRINT"
370PRINT"
380PRINT"
390PRINT"
400PRINT" "
410PRINT'''" Select number:";
420IFA=1THEN GOTO240
430A$=GET$
440IFA$="2"THEN PROCplay
450IFA$="1"THEN PROCmake
460IFA$="3"THEN PROCpreset
470IFA$="4"THEN PROCpreset2
480PROCmenu
490ENDPROC
500DEF PROCpreset
510CLS
520PRINT
530PRINT" Preset Envelopes.. press n
umber.."
540PRINT
550PRINT" <1> Crescendo"
560PRINT" <2> Splosh"
570PRINT" <3> Echo"
580PRINT" <4> Beep"
590PRINT" <5> Echo explosion"
600PRINT" <6> Warbley echo"
610PRINT" <7> Warbley crescendo"
620PRINT" (8) Pee-ow! (ie a bit odd)"
630PRINT" (9) Quiet Crescendo"
640PRINT" (0) Echo 2"
650PRINT
660PRINT" Select:";
670A$=GET$
680A=2
690IFA$="1"THEN PROCone
700IFA$="2"THEN PROCtwo
710IFA$="3"THEN PROCthree
720IFA$="4"THEN PROCfour
730IFA$="5"THEN PROCfive
740IFA$="6"THEN PROCsix
750IFA$="7"THEN PROCseven
760IFA$="8"THEN PROCeight
770IFA$="9"THEN PROCnine
780IFA$="0"THEN PROCten
790GOTO670
800ENDPROC
810DEF PROCone
820T=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
830PROCmenu
840ENDPROC
850DEF PROCtwo
860T=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
870PROCmenu
880ENDPROC
890DEF PROCthree
900T=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
910PROCmenu
920ENDPROC
930 DEF PROCfour
940T=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
950PROCmenu
960ENDPROC
970DEF PROCfive
980T=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
990PROCmenu
1000ENDPROC
1010DEF PROCsix
1020T=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
1030PROCmenu
1040ENDPROC
1050DEF PROCseven
1060T=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
1070PROCmenu
1080ENDPROC
1090DEF PROCeight
1100T=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
1110PROCmenu
1120ENDPROC
1130DEF PROCnine
1140T=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
1150PROCmenu
1160ENDPROC
1170DEF PROCten
1180T=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
1190PROCmenu
1200ENDPROC
1210DEF PROCmenu
1220ENDPROC
1230DEF PROCplay
1240CLS
1250PRINT''
1260PRINT" ENVELOPE 1,";T;",";PI1;",";P
I2;",";PI3;",";PN1;",";PN2
1270PRINT" ";PN3;",";AA;",";AD;",";AS;"
,";AR;",";ALA;",";ALD
1280ENVELOPE 1,T,PI1,PI2,PI3,PN1,PN2,PN
3,AA,AD,AS,AR,ALA,ALD
1290 PRINT" Press F0 for standard sound
effect"
1300 PRINT" Press F1 for standard note(
s)"
1310PRINT'" Sound channel";
1320INPUTB
1330IFB<>1 AND B<>2 AND B<>3 AND B<>0 T
HEN GOTO 1310
1340PRINT'" Pitch(0-255)";
1350INPUTC
1360 IFC>255 OR C<0 THEN GOTO1340
1370PRINT'" Length(0-255)";
1380INPUTD
1390IFD>255 OR D<0 THEN GOTO1370
1400SOUNDB,1,C,D
1410PRINT" Again?";
1420A$=GET$
1430IFA$="Y"THEN PRINT'" There may be a
short wait..."'
1440IFA$="Y"THEN GOTO1400
1450IFA$="N"THEN PROCmenu ELSE 1420
1460ENDPROC
1470DEF PROCmake
1480CLS
1490PRINT'" Editing Envelopes..."
1500PRINT'" Press number to change"
1510PRINT " (ESCAPE for menu)"
1520PRINT'" <1>T.....";T
1530 PRINT" <2>PI1...";PI1
1540PRINT" <3>PI2...";PI2
1550PRINT" <4>PI3...";PI3
1560PRINT" <5>PN1...";PN1
1570PRINT" <6>PN2...";PN2
1580PRINT" <7>PN3...";PN3
1590PRINT" <8>AA....";AA
1600PRINT" <9>AD....";AD
1610 PRINT" <0>AS....";AS
1620PRINT" <A>AR....";AR
1630PRINT" <B>ALA...";ALA
1640PRINT" <C>ALD...";ALD
1650A$=GET$
1660IFA$="1"THEN PROCT
1670IFA$="2"THEN PROCPI1
1680IFA$="3"THEN PROCPI2
1690IFA$="4"THEN PROCPI3
1700IFA$="5"THEN PROCPN1
1710IFA$="6"THEN PROCPN2
1720IFA$="7"THEN PROCPN3
1730IFA$="8"THEN PROCAA
1740IFA$="9"THEN PROCAD
1750IFA$="0"THEN PROCAS
1760IFA$="A"THEN PROCAR
1770IFA$="B"THEN PROCALA
1780IFA$="C"THEN PROCALD
1790GOTO1650
1800ENDPROC
1810DEF PROCT
1820PRINT" Input length step in 100ths
of a "'" second(0 to 127)";
1830INPUTT
1840IFT<0 OR T>127 THEN GOTO1820
1850PROCmake
1860ENDPROC
1870DEF PROCPI1
1880PRINT" Input change of pitch per st
ep in"'" section 1(-128 to 127)";
1890INPUTPI1
1900IFPI1<-128 OR PI1>127 THEN GOTO 188
0
1910PROCmake
1920ENDPROC
1930DEF PROCPI2
1940PRINT" Input change of pitch per st
ep in "'" section 2(-128 to 127)";
1950INPUTPI2
1960IFPI2<-128 OR PI2>127 THEN GOTO1940
1970PROCmake
1980ENDPROC
1990DEF PROCPI3
2000PRINT" Input change of pitch per st
ep in "'" section 3(-128 to 127)";
2010INPUTPI3
2020IFPI3<-128 OR PI3>127 THEN GOTO2000
2030PROCmake
2040ENDPROC
2050DEF PROCPN1
2060PRINT" Input number of steps in sec
tion 1"'" (0 to 255)";
2070INPUTPN1
2080IFPN1<0 OR PN1>255 THEN GOTO2070
2090PROCmake
2100ENDPROC
2110DEF PROCPN2
2120PRINT" Input number of steps in sec
tion 2"'" (0 to 255)";
2130INPUTPN2
2140IFPN2<0 OR PN2>255 THEN GOTO2120
2150PROCmake
2160ENDPROC
2170DEF PROCPN3
2180PRINT" Input number of steps in sec
tion 3"'" (0 to 255)";
2190INPUTPN3
2200IFPN3<0 OR PN3>255 THEN GOTO2180
2210PROCmake
2220ENDPROC
2230DEF PROCAA
2240PRINT" Input change of amplitude(lo
udness)"'" per step during the attack ph
ase"'" (-127 to 127)";
2250INPUTAA
2260IFAA<-127 OR A>127 THEN GOTO2240
2270PROCmake
2280ENDPROC
2290DEF PROCAD
2300PRINT" Input change of amplitude(lo
udness)"'" per step during the decay pha
se"'" (-127 to 127)";
2310INPUTAD
2320IFAD<-127 OR AD>127 THEN GOTO2300
2330PROCmake
2340ENDPROC
2350DEF PROCAS
2360PRINT" Input change of amplitude(lo
udness)"'" per step during the sustain p
hase"'" (-127 to 127)";
2370INPUTAS
2380IFAS<-127 OR AS>127 THEN GOTO 2360
2390PROCmake
2400ENDPROC
2410DEF PROCAR
2420PRINT" Input change of amplitude(lo
udness)"'" per step during the release p
hase"'" (-127 to 127)";
2430INPUTAR
2440IFAR<-127 OR AR>127 THEN GOTO2420
2450PROCmake
2460ENDPROC
2470DEF PROCALA
2480PRINT" Input target of level at end
of "'" attack phase(0 to 126)";
2490INPUTALA
2500IF ALA<0 OR ALA>126 THEN 2490
2510PROCmake
2520ENDPROC
2530DEF PROCALD
2540PRINT" Input target of level at end
of decay"'" phase(0 to 126)";
2550INPUTALD
2560IF ALD<0 OR ALD>126 THEN 2490
2570PROCmake
2580ENDPROC
2590DEF PROCpreset2
2600CLS
2610PRINT" Preset Envelopes 2 Press n
o to select"
2620PRINT" (1) Short hit / bing!"
2630PRINT" (2) Warbley note"
2640PRINT" (3) Explosion"
2650PRINT" (4) Chop / Short beep"
2660PRINT" (5) Explosion 2"
2670PRINT" (6) Warbley thing"
2680PRINT'" Input number of envelope ";
2690A$=GET$
2700A=2
2710IFA$="1"THEN PROC1
2720IFA$="2"THEN PROC2
2730IFA$="3"THEN PROC3
2740IFA$="4"THEN PROC4
2750IFA$="5"THEN PROC5
2760IFA$="6"THEN PROC6
2770GOTO2690
2780ENDPROC
2790DEF PROC1
2800T=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
2810PROCmenu
2820ENDPROC
2830DEF PROC2
2840T=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
2850PROCmenu
2860 ENDPROC
2870DEF PROC3
2880T=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
2890PROCmenu
2900ENDPROC
2910DEF PROC4
2920T=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
2930PROCmenu
2940ENDPROC
2950DEF PROC5
2960T=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
2970PROCmenu
2980ENDPROC
2990DEF PROC6
3000T=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
3010PROCmenu
3020ENDPROC
3030 *|" E n v e l o p e Constructor
3040 *|" and Player
3050 *|" (C)opyright 1988 by
3060 *|" John Carpenter
3070 *|"
3080 *|" Not very well written,but
3090 *|" it serves its purpose.
3100 *|"
3110 *|" There are loads better
3120 *|" downloads than this on
3130 *|" Resolve Communications
3140 *|" (0582) 832653
3150 *|" 24 hours every day
3160 *|" Viewdata & Colour Terminal
3170 *|" 1200/75,75/1200,300/300
3180 *|"
3190 *|" Resolve is changing number
3200 *|" as from August 23rd to
3210 *|" 0438 832934
3220 *|"
3230 *|" Incidentally,if you wish to
3240 *|" change this,please do..just
3250 *|" keep my name in it.This prog
3260 *|" is Public Domain