... | ... |
@@ -63,6 +63,11 @@ |
63 | 63 |
;on-button .Controller/vector DEO2 |
64 | 64 |
;on-mouse .Mouse/vector DEO2 |
65 | 65 |
|
66 |
+ ( asma debugger ) |
|
67 |
+ #0d ;asma/log-level STA |
|
68 |
+ |
|
69 |
+ ;asma-heap ;heap STA2 |
|
70 |
+ |
|
66 | 71 |
( setup synth ) |
67 | 72 |
#0102 .Audio0/adsr DEO2 |
68 | 73 |
;sin-pcm .Audio0/addr DEO2 |
... | ... |
@@ -252,16 +257,33 @@ RTN |
252 | 257 |
;get-entry JSR2 #0005 ++ |
253 | 258 |
|
254 | 259 |
DUP2 ;check-rom JSR2 ,&valid JCN |
260 |
+ |
|
261 |
+ ( check if tal file ) |
|
262 |
+ |
|
263 |
+ DUP2 ;scap JSR2 #0004 -- ;&tal-ext ;scmp JSR2 #01 ! ,&no-tal JCN |
|
264 |
+ DUP2 ;&output-path ;scpy JSR2 |
|
265 |
+ ;&rom-ext ;&output-path ;scat JSR2 |
|
266 |
+ ;&output-path ;asma-assemble-file JSR2 |
|
267 |
+ ;load-dir JSR2 |
|
268 |
+ ;redraw JSR2 |
|
269 |
+ RTN |
|
270 |
+ &no-tal |
|
271 |
+ |
|
255 | 272 |
POP2 RTN |
256 | 273 |
&valid |
257 | 274 |
|
258 | 275 |
;load-rom JSR2 |
259 | 276 |
|
260 | 277 |
RTN |
278 |
+ &tal-ext ".tal $1 |
|
279 |
+ &rom-ext ".rom $1 |
|
280 |
+ &output-path $20 |
|
261 | 281 |
|
262 | 282 |
@redraw ( -- ) |
263 | 283 |
|
264 |
- ( unused ) |
|
284 |
+ ( force selection ) |
|
285 |
+ #ff .browser/last STZ |
|
286 |
+ #00 ;select-file JSR2 |
|
265 | 287 |
|
266 | 288 |
RTN |
267 | 289 |
|
... | ... |
@@ -451,6 +473,12 @@ JMP2r |
451 | 473 |
|
452 | 474 |
JMP2r |
453 | 475 |
|
476 |
+@scat ( src* dst* -- ) |
|
477 |
+ |
|
478 |
+ DUP2 ,slen JSR ++ ,scpy JSR |
|
479 |
+ |
|
480 |
+JMP2r |
|
481 |
+ |
|
454 | 482 |
@scmp ( a* b* -- flag ) |
455 | 483 |
|
456 | 484 |
STH2 |
... | ... |
@@ -467,6 +495,17 @@ JMP2r |
467 | 495 |
|
468 | 496 |
RTN |
469 | 497 |
|
498 |
+@scpy ( src* dst* -- ) |
|
499 |
+ |
|
500 |
+ STH2 |
|
501 |
+ &while |
|
502 |
+ LDAk STH2kr STA INC2r |
|
503 |
+ INC2 LDAk ,&while JCN |
|
504 |
+ POP2 |
|
505 |
+ #00 STH2r STA |
|
506 |
+ |
|
507 |
+JMP2r |
|
508 |
+ |
|
470 | 509 |
@scap ( str* -- str-end* ) |
471 | 510 |
|
472 | 511 |
( clamp ) LDAk #00 ! JMP RTN |
... | ... |
@@ -474,6 +513,12 @@ RTN |
474 | 513 |
|
475 | 514 |
RTN |
476 | 515 |
|
516 |
+@slen ( str* -- len* ) |
|
517 |
+ |
|
518 |
+ DUP2 ,scap JSR SWP2 -- |
|
519 |
+ |
|
520 |
+JMP2r |
|
521 |
+ |
|
477 | 522 |
@pointer-icn |
478 | 523 |
80c0 e0f0 f8e0 1000 |
479 | 524 |
@hand-icn |
... | ... |
@@ -518,4 +563,13 @@ RTN |
518 | 563 |
&path ". $1 |
519 | 564 |
&lines $1 |
520 | 565 |
&length $2 |
521 |
- &data |
|
566 |
+ &data $1000 |
|
567 |
+ |
|
568 |
+( assembler memory ) |
|
569 |
+ |
|
570 |
+~projects/library/asma.tal |
|
571 |
+ |
|
572 |
+@asma-heap |
|
573 |
+|e000 &end @asma-read-buffer |
|
574 |
+|f800 &end @asma-write-buffer |
|
575 |
+|ffff &end |