home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1993 August
/
64er_Magazin_93-08_1993_Markt__Technik_de_Side_B.d64
/
musikbaum64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
3KB
|
126 lines
5 print chr$(147):rem clear screen
10 si=54272:rem sid adresse
20 fl=si :rem adresse freq.low-byte
30 fh=si+1 :rem adresse freq.high-byte
40 l=si+24 :rem adresse lautstaerke
50 w=si+4 :rem adresse wellenform
60 a=si+5 :rem adresse anschlag
70 h=si+6 :rem adresse halten
80 v=0 :rem anfangswert lautstaerke
90 s=0 :rem anfangswert wellenform
100 y=peek(54298):rem einlesen paddel y
110 d=y/2.71 :rem 0...255->0...94,.
120 nr=int(d) :rem 0...255->0...94.0
121 rem zuordnung freq.in notenliste
130 if nr=0 then hi=1:lo=22
131 if nr=1 then hi=1:lo=39
132 if nr=2 then hi=1:lo=57
133 if nr=3 then hi=1:lo=75
134 if nr=4 then hi=1:lo=95
135 if nr=5 then hi=1:lo=116
136 if nr=6 then hi=1:lo=138
137 if nr=7 then hi=1:lo=161
138 if nr=8 then hi=1:lo=186
139 if nr=9 then hi=1:lo=212
140 if nr=10 then hi=1:lo=240
141 if nr=11 then hi=2:lo=14
142 if nr=12 then hi=2:lo=45
143 if nr=13 then hi=2:lo=78
144 if nr=14 then hi=2:lo=113
145 if nr=15 then hi=2:lo=150
146 if nr=16 then hi=2:lo=190
147 if nr=17 then hi=2:lo=231
148 if nr=18 then hi=3:lo=20
149 if nr=19 then hi=3:lo=66
150 if nr=20 then hi=3:lo=116
151 if nr=21 then hi=3:lo=169
152 if nr=22 then hi=3:lo=224
153 if nr=23 then hi=4:lo=27
154 if nr=24 then hi=4:lo=90
155 if nr=25 then hi=4:lo=156
156 if nr=26 then hi=4:lo=226
157 if nr=27 then hi=5:lo=45
158 if nr=28 then hi=5:lo=123
159 if nr=29 then hi=5:lo=207
160 if nr=30 then hi=6:lo=39
161 if nr=31 then hi=6:lo=133
162 if nr=32 then hi=6:lo=232
163 if nr=33 then hi=7:lo=81
164 if nr=34 then hi=7:lo=193
165 if nr=35 then hi=8:lo=55
166 if nr=36 then hi=8:lo=180
167 if nr=37 then hi=9:lo=56
168 if nr=38 then hi=9:lo=196
169 if nr=39 then hi=10:lo=89
170 if nr=40 then hi=10:lo=247
171 if nr=41 then hi=11:lo=158
172 if nr=42 then hi=12:lo=87
173 if nr=43 then hi=13:lo=10
174 if nr=44 then hi=13:lo=208
175 if nr=45 then hi=14:lo=162
176 if nr=46 then hi=15:lo=129
177 if nr=47 then hi=16:lo=109
178 if nr=48 then hi=17:lo=103
179 if nr=49 then hi=18:lo=112
180 if nr=50 then hi=19:lo=137
181 if nr=51 then hi=20:lo=178
182 if nr=52 then hi=21:lo=237
183 if nr=53 then hi=23:lo=59
184 if nr=54 then hi=24:lo=157
185 if nr=55 then hi=26:lo=20
186 if nr=56 then hi=27:lo=160
187 if nr=57 then hi=29:lo=69
188 if nr=58 then hi=31:lo=3
189 if nr=59 then hi=32:lo=219
190 if nr=60 then hi=34:lo=207
191 if nr=61 then hi=36:lo=225
192 if nr=62 then hi=39:lo=18
193 if nr=63 then hi=41:lo=101
194 if nr=64 then hi=43:lo=219
195 if nr=65 then hi=46:lo=118
196 if nr=66 then hi=49:lo=58
197 if nr=67 then hi=52:lo=39
198 if nr=68 then hi=55:lo=65
199 if nr=69 then hi=58:lo=138
200 if nr=70 then hi=62:lo=5
201 if nr=71 then hi=65:lo=181
202 if nr=72 then hi=69:lo=157
203 if nr=73 then hi=73:lo=193
204 if nr=74 then hi=78:lo=36
205 if nr=75 then hi=82:lo=201
206 if nr=76 then hi=87:lo=182
207 if nr=77 then hi=92:lo=237
208 if nr=78 then hi=98:lo=115
209 if nr=79 then hi=104:lo=78
210 if nr=80 then hi=110:lo=130
211 if nr=81 then hi=117:lo=20
212 if nr=82 then hi=124:lo=10
213 if nr=83 then hi=131:lo=106
214 if nr=84 then hi=139:lo=59
215 if nr=85 then hi=147:lo=130
216 if nr=86 then hi=156:lo=72
217 if nr=87 then hi=165:lo=147
218 if nr=88 then hi=175:lo=107
219 if nr=89 then hi=185:lo=218
220 if nr=90 then hi=196:lo=231
221 if nr=91 then hi=208:lo=156
222 if nr=92 then hi=221:lo=4
223 if nr=93 then hi=234:lo=40
224 if nr=94 then hi=248:lo=20
225 rem ende notenliste
230 get a$ :rem tastendruck?
231 if a$="+" then v=v+1:rem lauter
232 if a$="-" then v=v-1:rem leiser
233 if v<0 then v=0 :rem vmin=0
234 if v>15 then v=15 :rem vmax=15
235 if a$="e" then s=17 :rem ton ein
236 if a$="a" then s=0 :rem ton aus
240 print v,nr,hi,lo
260 poke l,v:rem lautstaerke
270 poke a,o*16+5:rem anschlag+abshwel.
280 poke h,15*16+0:rem halten+auskling.
290 poke fh,hi:poke fl,lo:rem frequenz
291 poke si+23,240:rem resonanz
300 poke w,s:rem wellenform
310 goto 100