Browse code

(calc.tal) Removed leading zeros

neauoire authored on 16/01/2022 18:44:32
Showing 1 changed files
... ...
@@ -31,7 +31,7 @@
31 31
 %RELEASE-MOUSE { #0096 DEO }
32 32
 
33 33
 %RTN { JMP2r }
34
-%RTN? { #01 JCN RTN }
34
+%RTN? { JMP RTN }
35 35
 %TOS { #00 SWP }
36 36
 
37 37
 ( devices )
... ...
@@ -580,11 +580,12 @@ RTN
580 580
 @draw-number ( number* color -- )
581 581
 
582 582
 	,&color STR
583
-	.input/mode LDZ ,&decimal JCN
583
+	( reset zero pad ) 
584
+	#00 ;&zero STA
584 585
 	( hexadecimal )
586
+	.input/mode LDZ ,&decimal JCN
585 587
 		AUTO-X
586
-		,&color LDR #00 ,&color STR 
587
-		#00 ,&digit JSR ,&color STR
588
+		#00 ,&digit JSR
588 589
 		SWP 
589 590
 		STHk #04 SFT ,&digit JSR
590 591
 		STHr #0f AND ,&digit JSR
... ...
@@ -592,7 +593,11 @@ RTN
592 593
 		STHr #0f AND ,&digit JSR
593 594
 		AUTO-NONE
594 595
 	RTN
595
-	&decimal
596
+	&digit ( num -- )
597
+		,&addr JSR .Screen/addr DEO2 
598
+		LIT &color $1 .Screen/sprite DEO 
599
+	RTN
600
+	&decimal ( num* -- )
596 601
 		AUTO-X
597 602
 		#2710 DIV2k DUP2 NIP ,&digit JSR MUL2 SUB2
598 603
 		#03e8 DIV2k DUP2 NIP ,&digit JSR MUL2 SUB2
... ...
@@ -601,12 +606,17 @@ RTN
601 606
 		,&digit JSR
602 607
 		AUTO-NONE
603 608
 	RTN
604
-	&digit 
605
-		8* TOS ;font-hex ++ .Screen/addr DEO2 
606
-		LIT &color $1 .Screen/sprite DEO 
609
+	&addr ( num -- addr* )
610
+		,&zero LDR ,&padded JCN
611
+		DUP ,&no-blank JCN 
612
+			POP ;blank-icn RTN 
613
+			&no-blank
614
+		DUP ,&zero STR
615
+		&padded 8* TOS ;font-hex ++
607 616
 	RTN
608 617
 
609 618
 RTN
619
+	&zero $1
610 620
 
611 621
 ( theme )
612 622
 
... ...
@@ -757,3 +767,5 @@ JMP2r
757 767
 
758 768
 @pointer-icn
759 769
 	80c0 e0f0 f8e0 1000
770
+
771
+@blank-icn
760 772
\ No newline at end of file