home *** CD-ROM | disk | FTP | other *** search
/ Commodore 64 Scene Diskmags Assortment / Your_Computer_5_19xx_-.d64 / pro-synth (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  6KB  |  223 lines

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