Browse code

(clock.tal) Optimizations

Devine Lu Linvega authored on 19/11/2021 16:37:27
Showing 1 changed files
... ...
@@ -5,26 +5,24 @@
5 5
 %++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 } 
6 6
 %<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 } 
7 7
 
8
-%4* { #20 SFT }
9
-%8* { #30 SFT }
10
-%10* { #40 SFT }
11
-%2// { #01 SFT2 }
12
-%4// { #02 SFT2 }
13
-%2** { #10 SFT2 }
8
+%4*   { #20 SFT }
9
+%10*  { #40 SFT }
10
+%2**  { #10 SFT2 } %2// { #01 SFT2 }
11
+%4//  { #02 SFT2 }
14 12
 %10** { #40 SFT2 }
15
-
16
-%DIAMETER  { #0080 }
17
-%RADIUS    { DIAMETER 2// }
13
+%20** { #50 SFT2 }
18 14
 
19 15
 %TOS     { #00 SWP }
20 16
 %RTN     { JMP2r }
21 17
 %MOD     { DUP2 DIV MUL SUB }
22 18
 %ABS2    { DUP2 #0f SFT2 EQU #05 JCN #0000 SWP2 -- }
19
+%LTS2    { #8000 ++ SWP2 #8000 ++ GTH2 }
20
+%GTS2    { #8000 ++ SWP2 #8000 ++ LTH2 }
21
+
22
+%RADIUS    { #0040 }
23 23
 %SCALEX  { 2// .center/x LDZ2 ++ RADIUS -- }
24 24
 %SCALEY  { 2// .center/y LDZ2 ++ RADIUS -- }
25 25
 %12HOURS { #0c MOD }
26
-%LTS2    { #8000 ++ SWP2 #8000 ++ GTH2 }
27
-%GTS2    { #8000 ++ SWP2 #8000 ++ LTH2 }
28 26
 
29 27
 ( devices )
30 28
 
... ...
@@ -75,7 +73,7 @@
75 73
 		INC GTHk ,&loop JCN
76 74
 	POP2
77 75
 
78
-BRK
76
+( continue )
79 77
 
80 78
 @on-frame ( -> )
81 79
 
... ...
@@ -94,9 +92,12 @@ BRK
94 92
 @draw-needles ( mul -- )
95 93
 
96 94
 	STH
97
-	.center/x LDZ2 .center/y LDZ2 .needles/sx LDZ2 .needles/sy LDZ2 #02 STHkr * ;draw-line JSR2
98
-	.center/x LDZ2 .center/y LDZ2 .needles/mx LDZ2 .needles/my LDZ2 #01 STHkr * ;draw-line JSR2
99
-	.center/x LDZ2 .center/y LDZ2 .needles/hx LDZ2 .needles/hy LDZ2 #01 STHr * ;draw-line JSR2
95
+	.center/x LDZ2 .center/y LDZ2 
96
+		OVR2 OVR2 
97
+		OVR2 OVR2
98
+		.needles/sx LDZ2 .needles/sy LDZ2 #02 STHkr * ;draw-line JSR2
99
+		.needles/mx LDZ2 .needles/my LDZ2 #01 STHkr * ;draw-line JSR2
100
+		.needles/hx LDZ2 .needles/hy LDZ2 #01 STHr * ;draw-line JSR2
100 101
 
101 102
 RTN
102 103
 
... ...
@@ -106,8 +107,8 @@ RTN
106 107
 		TOS SCALEY .needles/sy STZ2
107 108
 		TOS SCALEX .needles/sx STZ2
108 109
 	#00 .DateTime/minute DEI 2** ;table ++ LDA2
109
-		TOS #0020 ** RADIUS ++ #0024 // SCALEY #0007 ++ .needles/my STZ2
110
-		TOS #0020 ** RADIUS ++ #0024 // SCALEX #0007 ++ .needles/mx STZ2
110
+		TOS 20** RADIUS ++ #0024 // SCALEY #0007 ++ .needles/my STZ2
111
+		TOS 20** RADIUS ++ #0024 // SCALEX #0007 ++ .needles/mx STZ2
111 112
 	#00 .DateTime/hour DEI 12HOURS #20 SFTk NIP ADD 2** ;table ++ LDA2
112 113
 		TOS 4// DUP2k ++ ++ #0020 ++ SCALEY .needles/hy STZ2
113 114
 		TOS 4// DUP2k ++ ++ #0020 ++ SCALEX .needles/hx STZ2