... | ... |
@@ -146,7 +146,8 @@ BRK |
146 | 146 |
|
147 | 147 |
@on-touch-wave-view ( -> ) |
148 | 148 |
|
149 |
- .Mouse/x DEI2 .wave-view/x1 LDZ2 SUB2 .Audio0/length DEO2 |
|
149 |
+ .Mouse/x DEI2 .wave-view/x1 LDZ2 SUB2 |
|
150 |
+ ( min ) #0010 GTH2k JMP SWP2 POP2 .Audio0/length DEO2 |
|
150 | 151 |
draw-wave |
151 | 152 |
|
152 | 153 |
BRK |
... | ... |
@@ -286,20 +287,38 @@ JMP2r |
286 | 287 |
|
287 | 288 |
@draw-wave ( -- ) |
288 | 289 |
|
289 |
- ( #01 draw-wave-length ) |
|
290 |
- ( dotted zero ) |
|
291 |
- |
|
290 |
+ ( background ) |
|
291 |
+ .wave-view/x1 LDZ2 .Screen/x DEO2 |
|
292 |
+ .wave-view/y1 LDZ2 .Screen/y DEO2 |
|
293 |
+ ;fill-icn .Screen/addr DEO2 |
|
294 |
+ [ LIT2 75 -Screen/auto ] DEO |
|
295 |
+ #e0 &lbg |
|
296 |
+ ;dotted-icn .Screen/addr DEO2 |
|
297 |
+ [ LIT2 03 -Screen/sprite ] DEO |
|
298 |
+ INC DUP ?&lbg |
|
299 |
+ POP |
|
292 | 300 |
.wave-view/x1 LDZ2 .Screen/x DEO2 |
293 | 301 |
|
294 | 302 |
( waveform ) |
295 | 303 |
[ LIT2 01 -Screen/auto ] DEO |
296 | 304 |
;sin-pcm/end ;sin-pcm |
297 | 305 |
&loop |
298 |
- LDAk #00 SWP #02 SFT2 .wave-view/y1 LDZ2 ADD2 .Screen/y DEO2 |
|
299 |
- ( draw ) DUP2 ;sin-pcm SUB2 NIP .Audio0/length DEI2 NIP GTH INC INC .Screen/pixel DEO |
|
306 |
+ |
|
307 |
+ DUP2 ;sin-pcm SUB2 .Audio0/length DEI2 DIV2k MUL2 SUB2 ;sin-pcm ADD2 LDA |
|
308 |
+ |
|
309 |
+ |
|
310 |
+ #00 SWP #02 SFT2 .wave-view/y1 LDZ2 ADD2 .Screen/y DEO2 |
|
311 |
+ ( draw ) DUP2 ;sin-pcm SUB2 NIP .Audio0/length DEI2 NIP #01 SUB GTH INC .Screen/pixel DEO |
|
300 | 312 |
INC2 GTH2k ?&loop |
301 | 313 |
POP2 POP2 |
302 | 314 |
|
315 |
+ ( length line ) |
|
316 |
+ .wave-view/x1 LDZ2 .Audio0/length DEI2 #0001 SUB2 ADD2 .Screen/x DEO2 |
|
317 |
+ .wave-view/y1 LDZ2 .Screen/y DEO2 |
|
318 |
+ ;line-icn .Screen/addr DEO2 |
|
319 |
+ [ LIT2 71 -Screen/auto ] DEO |
|
320 |
+ [ LIT2 05 -Screen/sprite ] DEO |
|
321 |
+ |
|
303 | 322 |
( range ) |
304 | 323 |
#01 .Screen/auto DEO |
305 | 324 |
.wave-view/x1 LDZ2 .Screen/x DEO2 |
... | ... |
@@ -311,31 +330,6 @@ JMP2r |
311 | 330 |
|
312 | 331 |
JMP2r |
313 | 332 |
|
314 |
-@draw-wave-length ( color -- ) |
|
315 |
- |
|
316 |
- ( clear background ) |
|
317 |
- #f2 .Screen/auto DEO |
|
318 |
- .wave-view/x1 LDZ2 DUP2 .Screen/x DEO2 |
|
319 |
- .wave-view/y1 LDZ2 DUP2 .Screen/y DEO2 |
|
320 |
- ,&wipe JSR |
|
321 |
- .Screen/y DEO2 |
|
322 |
- #0080 ADD2 .Screen/x DEO2 |
|
323 |
- ,&wipe JSR |
|
324 |
- #00 .Screen/auto DEO |
|
325 |
- |
|
326 |
- STH |
|
327 |
- .wave-view/x1 LDZ2 .Audio0/length DEI2 ADD2 .Screen/x DEO2 |
|
328 |
- .wave-view/y1 LDZ2 DUP2 #0020 ADD2 SWP2 |
|
329 |
- &loop |
|
330 |
- DUP2 .Screen/y DEO2 |
|
331 |
- ( draw ) STHkr .Screen/pixel DEO |
|
332 |
- INC2 GTH2k ?&loop |
|
333 |
- POP2 POP2 |
|
334 |
- POPr |
|
335 |
- |
|
336 |
-JMP2r |
|
337 |
- &wipe #00 .Screen/sprite DEOk DEOk DEOk DEO JMP2r |
|
338 |
- |
|
339 | 333 |
@draw-knob ( x* y* value -- ) |
340 | 334 |
|
341 | 335 |
STH |
... | ... |
@@ -396,6 +390,20 @@ JMP2r |
396 | 390 |
|
397 | 391 |
@|assets ) |
398 | 392 |
|
393 |
+@dotted-icn [ |
|
394 |
+ 0000 0000 0000 0000 |
|
395 |
+ 0000 0000 0000 0000 |
|
396 |
+ 0000 0000 0000 0000 |
|
397 |
+ 0000 0000 0000 0000 |
|
398 |
+ aa00 0000 0000 0000 |
|
399 |
+ 0000 0000 0000 0000 |
|
400 |
+ 0000 0000 0000 0000 |
|
401 |
+ 0000 0000 0000 0000 ] |
|
402 |
+@line-icn [ |
|
403 |
+ 8080 8080 8080 8080 |
|
404 |
+ ] |
|
405 |
+@fill-icn [ |
|
406 |
+ ffff ffff ffff ffff ] |
|
399 | 407 |
@cursor-icn [ |
400 | 408 |
80c0 e0f0 f8e0 1000 ] |
401 | 409 |
@arrow-icns [ |