| ... | ... |
@@ -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 [ |