Browse code

Optimized screen.tal

neauoire authored on 02/08/2021 15:59:16
Showing 1 changed files
... ...
@@ -37,21 +37,20 @@ BRK
37 37
 
38 38
 @draw-table ( -- )
39 39
 	
40
-	#00 #10
40
+	#10 #00
41 41
 	&loop
42
-		OVR #08 MUL #00 SWP ;font-hex ADD2 .Screen/addr DEO2
42
+		DUP #08 MUL #00 SWP ;font-hex ADD2 .Screen/addr DEO2
43 43
 		( x-axis ) 
44
-		OVR #08 MUL #00 SWP 
44
+		DUP #08 MUL #00 SWP 
45 45
 		.center/x LDZ2 #0040 SUB2 ADD2 .Screen/x DEO2
46 46
 		.center/y LDZ2 #0050 SUB2 .Screen/y DEO2
47 47
 		( draw ) #01 .Screen/sprite DEO
48 48
 		( y-axis )
49
-		OVR #08 MUL #00 SWP 
49
+		DUP #08 MUL #00 SWP 
50 50
 		.center/y LDZ2 #0040 SUB2 ADD2 .Screen/y DEO2
51 51
 		.center/x LDZ2 #0050 SUB2 .Screen/x DEO2
52 52
 		( draw ) #01 .Screen/sprite DEO
53
-		( incr ) SWP #01 ADD SWP
54
-		LTHk ,&loop JCN
53
+		#01 ADD GTHk ,&loop JCN
55 54
 	POP2
56 55
 
57 56
 RTN
... ...
@@ -61,12 +60,12 @@ RTN
61 60
 	;preview_icn .Screen/addr DEO2
62 61
 	#00 #00
63 62
 	&loop
64
-		( move ) OVR #0f AND #40 SFT #02 DIV #00 SWP 
63
+		( move ) DUP #0f AND #40 SFT #02 DIV #00 SWP 
65 64
 			.center/x LDZ2 #0040 SUB2 ADD2 .Screen/x DEO2
66
-		( move ) OVR #f0 AND #02 DIV #00 SWP 
65
+		( move ) DUP #f0 AND #02 DIV #00 SWP 
67 66
 			.center/y LDZ2 #0040 SUB2 ADD2 .Screen/y DEO2
68
-		( draw ) OVR .Screen/sprite DEO
69
-		( incr ) SWP #01 ADD SWP
67
+		( draw ) DUP .Screen/sprite DEO
68
+		( incr ) #01 ADD
70 69
 		NEQk ,&loop JCN
71 70
 	POP2
72 71
 	
... ...
@@ -74,32 +73,30 @@ RTN
74 73
 
75 74
 @draw-1bpp ( -- )
76 75
 
77
-	#00 #10
76
+	#10 #00
78 77
 	&loop
79
-		( color ) OVR STH
80
-		( y ) OVR #04 DIV [ #00 SWP ] #0010 MUL2 
78
+		( color ) STHk
79
+		( y ) DUP #04 DIV [ #00 SWP ] #0010 MUL2 
81 80
 			[ .center/y LDZ2 #0040 SUB2 ADD2 ] STH2
82
-		( x ) OVR #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 
81
+		( x ) DUP #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 
83 82
 			[ .center/x LDZ2 #0008 ADD2 ADD2 ]
84 83
 		STH2r STHr #00 ;draw-circle JSR2
85
-		SWP #01 ADD SWP
86
-		LTHk ,&loop JCN
84
+		#01 ADD GTHk ,&loop JCN
87 85
 	POP2
88 86
 	
89 87
 RTN
90 88
 
91 89
 @draw-2bpp ( -- )
92 90
 
93
-	#00 #10
91
+	#10 #00
94 92
 	&loop
95
-		( color ) OVR STH
96
-		( y ) OVR #04 DIV [ #00 SWP ] #0010 MUL2 
93
+		( color ) STHk
94
+		( y ) DUP #04 DIV [ #00 SWP ] #0010 MUL2 
97 95
 			[ .center/y LDZ2 ADD2 ] STH2
98
-		( x ) OVR #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 
96
+		( x ) DUP #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 
99 97
 			[ .center/x LDZ2 #0008 ADD2 ADD2 ]
100 98
 		STH2r STHr #80 ;draw-circle JSR2
101
-		SWP #01 ADD SWP
102
-		LTHk ,&loop JCN
99
+		#01 ADD GTHk ,&loop JCN
103 100
 	POP2
104 101
 	
105 102
 RTN