home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore 64 Scene Diskmags Assortment
/
Your_Computer_5_19xx_-.d64
/
pro-synth
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
6KB
|
223 lines
5 dimno(70,2):printchr$(14)
10 poke53280,6:poke53281,0
20 print"[147]"
30 print"";
40 forl=1to5:print" [221] [146] [146] [221] [146] [146] [146] [221] [146] [146] [221] [146] [146] [146] [221] [221]"
50 next
60 forl=1to3:print" [221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160][221][160]":next
63 print" [221] [221] [221] [221][208][221][210][221][207][221] [221][211][221][217][221][206][221][212][221][200][221] [221] [221] [221]"
64 print" [221] [221]([221][195][221])[221] [221][160][221][193][221].[221][208][221]a[221]r[221]k[221]e[221]r[221] [221]"
65 print" [173][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][189]"
70 forde=1to4000:next
150 print"[147] [197]nvolven":print"[156] [176][192][178][192][178][192][178][192][174]"
160 print"":forl=1to16:print"[156] [171] [219] [219] [219] [179]":next
170 print"15[157][157]10[157]5[157]0"
180 print" [221][193][221][196][221][211][221][210][221]"
190 print" [171][192][219][192][219][192][219][192][179][157][157][157][157][157][157][157][157][157][221]+[221]+[221]+[221]+[221][157][157][157][157][157][157][157][157][157][171][192][219][192][219][192][219][192][179]";
195 print"[157][157][157][157][157][157][157][157][157][221]-[221]-[221]-[221]-[221][157][157][157][157][157][157][157][157][157][173][192][177][192][177][192][177][192][189]"
200 print""spc(12)"[198]orma de onda [208][215][210] "
210 printspc(35)"[176][192][174]"
215 printspc(12)"[176][192][192][178][192][192][178][192][192][178][192][192][174] [176][192][192][192][192][192][178][179]+[221]"
220 printspc(12)"[221][212]r[221][158][211]a[221][159][208]u[221][156][206]o[221] [221] %[221][171][192][179]"
225 printspc(12)"[173][192][192][177][192][192][177][178][178][177][192][192][189] [173][192][192][178][178][192][177][179]-[221]"
230 printspc(12)" [221][173][192][192][192][192][192][192][192][192][192][192][189][221] [173][192][189]"
235 printspc(12)" [173][192][192][192][192][192][192][192][192][192][192][192][192][189]"
240 print""spc(12)" [195]ontrol [207]sc.3 [198]rec"
250 printspc(12)" [158][176][192][192][178][192][192][174] [176][192][192][192][192][192][192][192][192][192][178][178][192][174]"
255 printspc(12)" [158][221][210][205][158][221][211][217][158][221] [221] [200]z[221][221]+[221]"
260 printspc(12)" [158][173][192][178][177][178][192][189] [173][192][192][192][178][192][178][192][192][192][177][219][192][179]"
265 printspc(12)"[158] [221] [173][192][192][192][192][192][192][192][192][192][189] [221] [221]-[221]"
270 printspc(12)"[158] [173][192][192][192][192][192][192][192][192][192][192][192][192][192][189] [173][192][189]"
280 print:print:print
290 printspc(12)"[195]ontrol [207]scilador "
295 printspc(12)"[156] [176][192][192][192][178][192][192][192][174]"
300 printspc(12)"[156] [221][213]no[156][221][158][196]os[156][221]"
305 printspc(12)"[156] [173][192][192][192][177][192][192][192][189]"
400 data3,0,0,7,128,0,3,192,224,1,225,224,0,241,192,0,121,192,0,127,192,3,255
405 data192,7,255,192,7,207,192,1,243,192,15,253,224,15,254,224,15,159,216
410 data1,239,184,7,247,112,7,254,224,7,253,192,0,11,128,0,7,0,0,0,0
415 poke2040,13
420 forl=0to62:reada:poke832+l,a:next
430 v1=53248:v2=54272
440 pokev1+21,1:pokev1+39,1
500 data12,4,48,23,4,180,20,5,71,31,5,152,28,6,71,39,7,12,36,7,233,47,8,97
505 data44,9,104,55,10,143,62,11,48,9,12,143,14,14,24,17,15,210,22,16,195,25
510 data18,209,30,21,31,33,22,96,38,25,30,41,28,49,46,31,165,49,35,134,13,4,112
520 data11,14,239,19,17,195,24,19,239,32,23,181,35,26,156,40,29,223
525 data-1,-1,-1
530 reada,b,c
535 ifa=-1andb=-1andc=-1then600
540 no(a,1)=b:no(a,2)=c:goto530
600 s=54272:pokes+24,15
610 x=152:y=214
620 at=10:de=8:su=10:re=9
630 wa$="p":sy=0:rm=0:pw=50:of=30000:hf=116:lf=255:s1=1:s2=0
690 d$=""
700 pa=17-at:pd=17-de:ps=17-su:pr=17-re
710 print"";left$(d$,pa)"[192]":print"";left$(d$,pd)"[192]"
720 print"";left$(d$,ps)"[192]":print"";left$(d$,pr)"[192]"
725 print""spc(12)"[221][212]r[221][158][211]a[221][159][208]u[221][156][206]o[221]"
730 ifwa$="t"thenprint""spc(13)"[212]r[146]":wa=17+4*(abs(rm=1))+2*(abs(sy=1))
735 ifwa$="s"thenprint""spc(16)"[158][211]a[146]":wa=33+4*(abs(rm=1))+2*(abs(sy=1))
740 ifwa$="p"thenprint""spc(19)"[159][208]u[146]":wa=65+4*(abs(rm=1))+2*(abs(sy=1))
745 ifwa$="n"thenprint""spc(22)"[156][206]o[146]":wa=129+4*(abs(rm=1))+2*(abs(sy=1))
760 ifrm=1thenprint"";left$(d$,11)spc(14)"[210][205][146]"
765 ifrm=0thenprint"";left$(d$,11)spc(14)"[210][205]"
770 ifsy=1thenprint"";left$(d$,11)spc(17)"[211][217][146]"
775 ifsy=0thenprint"";left$(d$,11)spc(17)"[211][217]"
785 ifs1=1thenprint""left$(d$,20)spc(16)"[207]ne[146]"
790 ifs1=0thenprint""left$(d$,20)spc(16)"[207]ne"
795 ifs2=1thenprint""left$(d$,20)spc(20)"[158][212]wo[146]"
800 ifs2=0thenprint""left$(d$,20)spc(20)"[158][212]wo"
820 gosub2000:gosub3000:gosub3100
825 pokev2+14,f1:pokev2+15,f2
830 pokev1+16,hx:pokev1,lx:pokev1+1,hy
835 pokev1+14,lf:pokev1+15,hf
900 ad=16*at+de:sr=16*su+re
905 b1=pw*40.95
910 ifb1<255thenpl=b1:goto920
915 pl=255:ph=(b1-pl)/256
930 pokev2+2,pl:pokev2+3,ph:pokev2+5,ad:pokev2+6,sr
940 ifs2=0then1000
950 pokev2+9,pl:pokev2+10,ph:pokev2+12,ad:pokev2+13,sr
1000 ke=peek(197):j=peek(56320)
1003 pokev2+14,lf:pokev2+15,hf
1005 ifj<>127then4000
1010 ifno(ke,1)=0then1000
1020 pokev2+1,no(ke,1):pokev2,no(ke,2)
1025 ifs2=0then1040
1030 pokev2+8,no(ke,1):pokev2+7,no(ke,2)
1040 ifs1=1thenpokev2+4,wa
1045 ifs2=1thenpokev2+11,wa
1050 wait197,64
1060 pokev2+4,wa-1:pokev2+11,wa-1
1070 goto1000
2000 l=peek(56320)
2010 ifl=119andx<311thenx=x+8
2020 ifl=126andy>8theny=y-8
2030 ifl=123andx>8thenx=x-8
2040 ifl=125andy<247theny=y+8
2050 hx=int(x/256):lx=x-(256*hx):hy=y
2060 return
3000 ifpw<10thena1=31
3005 ifpw<100thena1=30
3010 ifpw=100thena1=29
3020 l$=str$(pw)
3030 print""spc(29)" "
3035 print""spc(a1)l$
3040 return
3100 ifof<10thena2=28
3105 ifof>9thena2=27
3110 ifof>99thena2=26
3115 ifof>999thena2=25
3120 ifof>9999thena2=24
3130 print""spc(26)" "
3135 print"";spc(a2)str$(of)
3140 return
4000 poke198,0:l=peek(56320)
4005 ifl=111then5000
4010 ifl=119andx<311thenx=x+8
4020 ifl=126andy>8theny=y-8
4030 ifl=123andx>8thenx=x-8
4040 ifl=125andy<247theny=y+8
4050 hx=int(x/256):lx=x-(256*hx):hy=y
4060 pokev1+16,hx:pokev1,lx:pokev1+1,hy
4070 goto950
5000 rem * hand routines *
5005 ifhy>208andlx<100andhx=0then5200
5010 ifhy>208then5300
5020 ifhy>136andhy<146andhx=0then5400
5025 ifhy>72andhy<82andlx<210then5500
5030 ifhy>64andhy<90andlx>50then5600
5035 ifhy>136andhy<162andlx>43andlx<51andhx=1then5700
5200 rem ** adsr **
5205 ifhy>208andhy<218then5215
5210 ifhy>224andhy<234then5255
5212 goto760
5215 ifat=15then5225
5220 iflx>42andlx<50thenprint""spc(3)left$(d$,17-at)" [145][157][192]":at=at+1
5225 ifde=15then5235
5230 iflx>56andlx<66thenprint""spc(5)left$(d$,17-de)" [145][157][192]":de=de+1
5235 ifsu=15then5245
5240 iflx>72andlx<82thenprint""spc(7)left$(d$,17-su)" [145][157][192]":su=su+1
5245 ifre=15then5255
5250 iflx>88andlx<98thenprint""spc(9)left$(d$,17-re)" [145][157][192]":re=re+1
5253 goto700
5255 ifat=0then5265
5260 iflx>42andlx<50thenprint""spc(3)left$(d$,17-at)" [157][192]":at=at-1
5265 ifde=0then5275
5270 iflx>56andlx<66thenprint""spc(5)left$(d$,17-de)" [157][192]":de=de-1
5275 ifsu=0then5285
5280 iflx>78andlx<86thenprint""spc(7)left$(d$,17-su)" [157][192]":su=su-1
5285 ifre=0then5295
5290 iflx>88andlx<98thenprint""spc(9)left$(d$,17-re)" [157][192]":re=re-1
5295 goto760
5300 rem ** voices **
5305 iflx>146andlx<170then5360
5310 iflx>202then700
5313 ifs2=0thens2=1:goto700
5320 ifs2=1thens2=0:goto700
5360 ifs1=1thens1=0:goto700
5370 ifs1=0thens1=1:goto700
5400 rem ** rm and sy **
5405 iflx>152andlx<170then5430
5410 iflx>130andlx<146then5420
5415 goto700
5420 ifrm=1thenrm=0:goto5440
5425 ifrm=0thenrm=1:sy=0:goto5440
5430 ifsy=1thensy=0:goto5440
5435 ifsy=0thensy=1:rm=0
5440 ifwa$="t"andrm=1thenwa=21
5443 ifwa$="t"andsy=1thenwa=19
5445 ifwa$="s"andrm=1thenwa=37
5448 ifwa$="s"andsy=1thenwa=35
5450 ifwa$="p"andrm=1thenwa=69
5453 ifwa$="p"andsy=1thenwa=67
5455 ifwa$="n"andrm=1thenwa=133
5458 ifwa$="n"andsy=1thenwa=131
5460 ifwa$="t"andrm=0andsy=0thenwa=17
5465 ifwa$="s"andrm=0andsy=0thenwa=33
5470 ifwa$="p"andrm=0andsy=0thenwa=65
5475 ifwa$="n"andrm=0andsy=0thenwa=129
5480 goto760
5500 rem ** waveforms **
5510 ifhy>72andhy<82then5520
5515 goto700
5520 iflx>122andlx<136thenwa=17:rm=0:sy=0:wa$="t"
5525 iflx>146andlx<162thenwa=33:rm=0:sy=0:wa$="s"
5535 iflx>170andlx<186thenwa=65:rm=0:sy=0:wa$="p"
5545 iflx>194andlx<210thenwa=129:rm=0:sy=0:wa$="n"
5550 goto700
5600 rem ** pwr **
5610 iflx>50andlx<60then5620
5615 goto700
5620 ifhy>64andhy<74andpw<100thenpw=pw+1
5625 ifhy>80andhy<90andpw>0thenpw=pw-1
5630 gosub3000
5650 ifpeek(56320)=111then5620
5660 goto700
5700 rem ** osc.3 freq **
5710 ifhy>152andhy<162then5800
5715 ifhy>136andhy<146then5725
5720 goto700
5725 k1=peek(197)
5730 ifk1=4andof<65534thenof=of+1
5735 ifk1=5andof<65524thenof=of+10
5740 ifk1=6andof<65434thenof=of+100
5745 ifk1=3andof<64534thenof=of+1000
5750 ifk1=0then5800
5755 gosub3100
5760 goto5725
5800 k1=peek(197)
5805 ifk1=4andof>1thenof=of-1
5810 ifk1=5andof>10thenof=of-10
5815 ifk1=6andof>100thenof=of-100
5820 ifk1=3andof>1000thenof=of-1000
5830 ifk1=0then5900
5835 gosub3100
5840 goto5800
5900 ifof>255then5950
5905 lf=of:hf=0:goto700
5950 lf=255:im=of-255:hf=im/256
5955 goto760