Browse code

Added theme support for the calculator

neauoire authored on 21/09/2021 23:37:19
Showing 1 changed files
... ...
@@ -73,8 +73,8 @@
73 73
 	;on-button .Controller/vector DEO2
74 74
 
75 75
 	( setup synth )
76
-	#0208 .Audio0/adsr DEO2
77
-	;saw-wav .Audio0/addr DEO2
76
+	#0110 .Audio0/adsr DEO2
77
+	;sin-pcm .Audio0/addr DEO2
78 78
 	#0100 .Audio0/length DEO2
79 79
 	#dd .Audio0/volume DEO ( TODO: turn ON )
80 80
 
... ...
@@ -103,7 +103,8 @@
103 103
 	DUP2 .input-frame/y STZ2
104 104
 		#0010 ++ .input-frame/y2 STZ2
105 105
 
106
-	;redraw JSR2
106
+	( theme support )
107
+	;load-theme JSR2
107 108
 
108 109
 BRK
109 110
 
... ...
@@ -214,7 +215,7 @@ BRK
214 215
 
215 216
 @push-input ( key -- )
216 217
 
217
-	DUP TOS ;keypad/notes ++ LDA .Audio0/pitch DEO
218
+	DUP #50 + .Audio0/pitch DEO
218 219
 	DUP TOS ;keypad/series ++ LDA ;draw-keypad JSR2
219 220
 	TOS .input/value LDZ2 #40 SFT2 ++ .input/value STZ2
220 221
 	.input/length LDZ INC .input/length STZ
... ...
@@ -247,6 +248,7 @@ RTN
247 248
 	.stack/length LDZ #07 < ,&continue JCN
248 249
 		RTN
249 250
 		&continue
251
+	#40 .Audio0/pitch DEO
250 252
 	.input/value LDZ2 ;push JSR2
251 253
 
252 254
 RTN
... ...
@@ -255,6 +257,7 @@ RTN
255 257
 
256 258
 	#0000 .input/value STZ2
257 259
 	.stack/length LDZ #00 = ,&continue JCN
260
+		#41 .Audio0/pitch DEO
258 261
 		;pop JSR2 POP2
259 262
 		;draw-stack JSR2
260 263
 		&continue
... ...
@@ -270,6 +273,7 @@ RTN
270 273
 
271 274
 	( stack empty ) .stack/length LDZ #01 > RTN?
272 275
 
276
+	#42 .Audio0/pitch DEO
273 277
 	#00 ;draw-modpad JSR2
274 278
 	;pop JSR2 ;pop JSR2 SWP2 ADD2 ;push JSR2
275 279
 
... ...
@@ -282,6 +286,8 @@ RTN
282 286
 		&no-push
283 287
 
284 288
 	( stack empty ) .stack/length LDZ #01 > RTN?
289
+
290
+	#43 .Audio0/pitch DEO
285 291
 	#01 ;draw-modpad JSR2
286 292
 	;pop JSR2 ;pop JSR2 SWP2 SUB2 ;push JSR2
287 293
 
... ...
@@ -294,6 +300,8 @@ RTN
294 300
 		&no-push
295 301
 
296 302
 	( stack empty ) .stack/length LDZ #01 > RTN?
303
+
304
+	#44 .Audio0/pitch DEO
297 305
 	#02 ;draw-modpad JSR2
298 306
 	;pop JSR2 ;pop JSR2 SWP2 MUL2 ;push JSR2
299 307
 
... ...
@@ -306,6 +314,8 @@ RTN
306 314
 		&no-push
307 315
 
308 316
 	( stack empty ) .stack/length LDZ #01 > RTN?
317
+
318
+	#45 .Audio0/pitch DEO
309 319
 	#03 ;draw-modpad JSR2
310 320
 	;pop JSR2 ;pop JSR2 SWP2 DIV2 ;push JSR2
311 321
 
... ...
@@ -475,6 +485,25 @@ RTN
475 485
 RTN
476 486
 	&color $1 &state $1 &glyph $2
477 487
 
488
+( theme )
489
+
490
+@theme-txt ".theme $1
491
+
492
+@load-theme ( -- )
493
+
494
+	;theme-txt .File/name DEO2 
495
+	#0006 .File/length DEO2 
496
+	#fffa .File/load DEO2
497
+
498
+	.File/success DEI2 #0006 !! ,&ignore JCN
499
+		#fffa LDA2 .System/r DEO2
500
+		#fffc LDA2 .System/g DEO2
501
+		#fffe LDA2 .System/b DEO2
502
+		&ignore
503
+	;redraw JSR2
504
+
505
+RTN
506
+
478 507
 @within-rect ( x* y* rect -- flag )
479 508
 	
480 509
 	STH
... ...
@@ -537,30 +566,24 @@ RTN
537 566
 		0101 0102
538 567
 		0101 0102
539 568
 		0102 0202
540
-	&notes
541
-		484a 4c4d
542
-		4f51 5354
543
-		5658 595b
544
-		5d5f 6062
545
-		6465 6769
546
-
547
-@saw-wav
548
-	0003 0609 0c0f 1215 181b 1e21 2427 2a2d
549
-	3033 3639 3b3e 4143 4649 4b4e 5052 5557
550
-	595b 5e60 6264 6667 696b 6c6e 7071 7274
551
-	7576 7778 797a 7b7b 7c7d 7d7e 7e7e 7e7e
552
-	7f7e 7e7e 7e7e 7d7d 7c7b 7b7a 7978 7776
553
-	7574 7271 706e 6c6b 6967 6664 6260 5e5b
554
-	5957 5552 504e 4b49 4643 413e 3b39 3633
555
-	302d 2a27 2421 1e1b 1815 120f 0c09 0603
556
-	00fd faf7 f4f1 eeeb e8e5 e2df dcd9 d6d3
557
-	d0cd cac7 c5c2 bfbd bab7 b5b2 b0ae aba9
558
-	a7a5 a2a0 9e9c 9a99 9795 9492 908f 8e8c
559
-	8b8a 8988 8786 8585 8483 8382 8282 8282
560
-	8182 8282 8282 8383 8485 8586 8788 898a
561
-	8b8c 8e8f 9092 9495 9799 9a9c 9ea0 a2a5
562
-	a7a9 abae b0b2 b5b7 babd bfc2 c5c7 cacd
563
-	d0d3 d6d9 dcdf e2e5 e8eb eef1 f4f7 fafd 
569
+
570
+@sin-pcm
571
+	8083 8689 8c8f 9295 989b 9ea1 a4a7 aaad
572
+	b0b3 b6b9 bbbe c1c3 c6c9 cbce d0d2 d5d7
573
+	d9db dee0 e2e4 e6e7 e9eb ecee f0f1 f2f4
574
+	f5f6 f7f8 f9fa fbfb fcfd fdfe fefe fefe
575
+	fffe fefe fefe fdfd fcfb fbfa f9f8 f7f6
576
+	f5f4 f2f1 f0ee eceb e9e7 e6e4 e2e0 dedb
577
+	d9d7 d5d2 d0ce cbc9 c6c3 c1be bbb9 b6b3
578
+	b0ad aaa7 a4a1 9e9b 9895 928f 8c89 8683
579
+	807d 7a77 7471 6e6b 6865 625f 5c59 5653
580
+	504d 4a47 4542 3f3d 3a37 3532 302e 2b29
581
+	2725 2220 1e1c 1a19 1715 1412 100f 0e0c
582
+	0b0a 0908 0706 0505 0403 0302 0202 0202
583
+	0102 0202 0202 0303 0405 0506 0708 090a
584
+	0b0c 0e0f 1012 1415 1719 1a1c 1e20 2225
585
+	2729 2b2e 3032 3537 3a3d 3f42 4547 4a4d
586
+	5053 5659 5c5f 6265 686b 6e71 7477 7a7d
564 587
 
565 588
 @font-hex
566 589
 	007c 8282 8282 827c 0030 1010 1010 1010