Browse code

Launcher now assembles tal files

neauoire authored on 15/01/2022 19:15:47
Showing 1 changed files
... ...
@@ -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