Browse code

Housekeeping on some of the example files

Devine Lu Linvega authored on 22/07/2022 18:57:45
Showing 10 changed files
... ...
@@ -183,7 +183,7 @@ JMP2r
183 183
 
184 184
 	;sprite/length LDA2
185 185
 	( don't let length go below 0 )
186
-	DUP2 #0000 EQU2 ,&bail JCN
186
+	ORAk #00 EQU ,&bail JCN
187 187
 	( clear the old sprite location )
188 188
 	DUP2 #0001 SUB2 #30 SFT2 ;sprite/array ADD2
189 189
 	( top )
... ...
@@ -217,7 +217,7 @@ JMP2r
217 217
 	( z = a )
218 218
 	,&a LDR DUP ,&z STR
219 219
 	( a = z ^ t ^ (z >> 1) ^ (t << 1) )
220
-	DUP DUP ADD EOR SWP DUP #01 SFT EOR EOR
220
+	DUPk ADD EOR SWP DUP #01 SFT EOR EOR
221 221
 	DUP ,&a STR
222 222
 
223 223
 JMP2r
... ...
@@ -43,22 +43,22 @@ BRK
43 43
 		STHk
44 44
 		#00 .timer LDZ [ #00 STHkr INC #07 AND #60 SFT ADD2 ] #00ff AND2 ;table ADD2 LDA #01 SFT
45 45
 		#00 .timer LDZ [ #00 STHkr #60 SFT ADD2 ] #00ff AND2 ;table ADD2 LDA #02 SFT [ #00 STHkr #62 SFT2 ADD2 ]
46
-		.cube/v0 STHr #10 SFT ADD STZ2
46
+		.cube/v0 STHr DUP ADD ADD STZ2
47 47
 		INC GTHk ,&loop JCN
48 48
 	POP2
49 49
 	( vertices )
50 50
 	#0800
51 51
 	&ver-loop
52
-		DUP #10 SFT .cube ADD LDZ2 ;draw-vertex JSR2
52
+		DUP DUP ADD .cube ADD LDZ2 ;draw-vertex JSR2
53 53
 		INC GTHk ,&ver-loop JCN
54 54
 	POP2
55 55
 	( lines )
56 56
 	#0400
57 57
 	&line-loop
58 58
 		STHk
59
-		.cube/v0 STHkr #10 SFT ADD .cube/v0 STHkr INC #03 AND #10 SFT ADD ,trace JSR
60
-		.cube/v0 STHkr #10 SFT ADD .cube/v4 STHkr #10 SFT ADD ,trace JSR
61
-		.cube/v4 STHkr #10 SFT ADD .cube/v4 STHr INC #03 AND #10 SFT ADD ,trace JSR
59
+		.cube/v0 STHkr DUP ADD ADD .cube/v0 STHkr INC #03 AND DUP ADD ADD ,trace JSR
60
+		.cube/v0 STHkr DUP ADD ADD .cube/v4 STHkr DUP ADD ADD ,trace JSR
61
+		.cube/v4 STHkr DUP ADD ADD .cube/v4 STHr INC #03 AND DUP ADD ADD ,trace JSR
62 62
 		INC GTHk ,&line-loop JCN
63 63
 	POP2
64 64
 
... ...
@@ -22,7 +22,7 @@
22 22
 	#00 .DateTime/minute DEI #60 SFT2 EOR2
23 23
 	#00 .DateTime/hour   DEI #c0 SFT2 EOR2 ;prng/x STA2
24 24
 	#00 .DateTime/hour   DEI #04 SFT2
25
-	#00 .DateTime/day    DEI #10 SFT2 EOR2
25
+	#00 .DateTime/day    DEI DUP2 ADD2 EOR2
26 26
 	#00 .DateTime/month  DEI #60 SFT2 EOR2
27 27
 	    .DateTime/year  DEI2 #a0 SFT2 EOR2 ;prng/y STA2
28 28
 	;prng/x LDA2 ;prng/y LDA2 EOR2
... ...
@@ -160,7 +160,7 @@
160 160
 	( rabbit is in-between two frames )
161 161
 	#08 OVR SUB ,&from-weight STR
162 162
 	,&to-weight STR ( color n / frame )
163
-	#00 SWP #10 SFT2 ;rabbits ADD2 #00c8 #00 STHr MUL2 ADD2 ( color from-addr* )
163
+	#00 SWP DUP2 ADD2 ;rabbits ADD2 #00c8 #00 STHr MUL2 ADD2 ( color from-addr* )
164 164
 	LDA2k STH2 #00c8 ADD2 LDA2
165 165
 	&draw ( color to-x to-y / from-x from-y )
166 166
 	STHr ,&mix JSR LIT2 &yoffset $2 ADD2 .Screen/y DEO2
... ...
@@ -181,7 +181,7 @@
181 181
 	&static ( color n counter / frame )
182 182
 	INCr
183 183
 	POP
184
-	#00 SWP #10 SFT2 ;rabbits ADD2 #00c8 #00 STHr MUL2 ADD2
184
+	#00 SWP DUP2 ADD2 ;rabbits ADD2 #00c8 #00 STHr MUL2 ADD2
185 185
 	LDA2 STH2k
186 186
 	,&draw JMP
187 187
 
... ...
@@ -168,7 +168,7 @@ JMP2r
168 168
 	LITr 00
169 169
 	#0800
170 170
 	&loop
171
-		#00 OVR DUP2 ADD2 ;&mask ADD2 LDA2 [ LIT2 &origin $2 ]
171
+		#00 OVRk ADD2 ;&mask ADD2 LDA2 [ LIT2 &origin $2 ]
172 172
 		ROT ADD STH ADD STHr ;get-cell JSR2 STH ADDr
173 173
 		INC GTHk ,&loop JCN
174 174
 	POP2
... ...
@@ -187,11 +187,11 @@ JMP2r
187 187
 	#00 .Screen/auto DEO
188 188
 	#4000
189 189
 	&ver
190
-		#00 OVR DUP2 ADD2 .anchor/y LDZ2 ADD2 .Screen/y DEO2
190
+		#00 OVRk ADD2 .anchor/y LDZ2 ADD2 .Screen/y DEO2
191 191
 		STHk
192 192
 		#4000
193 193
 		&hor
194
-			#00 OVR DUP2 ADD2 .anchor/x LDZ2 ADD2 .Screen/x DEO2
194
+			#00 OVRk ADD2 .anchor/x LDZ2 ADD2 .Screen/x DEO2
195 195
 			DUP STHkr ;get-cell JSR2 INC .Screen/pixel DEO
196 196
 			INC GTHk ,&hor JCN
197 197
 		POP2
... ...
@@ -217,8 +217,8 @@ JMP2r
217 217
 			( bl ) #0001 SUB2 LDAk #03 NEQ JMP INCr
218 218
 			( bc ) INC2 LDAk #03 NEQ JMP INCr
219 219
 			( br ) INC2 LDA #03 NEQ JMP INCr
220
-		STHkr #02 EQU STHr #01 EQU #0000 GTH2
221
-		#10 SFT INC JMP2r
220
+		STHkr #02 EQU STHr #01 EQU ORA
221
+		DUP ADD INC JMP2r
222 222
 		&no-cond
223 223
 	( unknown )
224 224
 	NIP NIP
... ...
@@ -81,7 +81,7 @@ BRK
81 81
 	#03 STHkr #03 SFT #01 AND DUP ADD SUB .Screen/sprite DEO
82 82
 
83 83
 	( buttons )
84
-	.center/y LDZ2 #0000 ADD2 .Screen/y DEO2
84
+	.center/y LDZ2 .Screen/y DEO2
85 85
 	.center/x LDZ2 #0018 ADD2 .Screen/x DEO2
86 86
 	;controller-icn/button .Screen/addr DEO2
87 87
 	#03 STHkr #01 SFT #01 AND SUB .Screen/sprite DEO
... ...
@@ -89,7 +89,7 @@ BRK
89 89
 		;font-hex #0058 ADD2 .Screen/addr DEO2
90 90
 		#03 .Screen/sprite DEO
91 91
 
92
-	.center/y LDZ2 #0000 ADD2 .Screen/y DEO2
92
+	.center/y LDZ2 .Screen/y DEO2
93 93
 	.center/x LDZ2 #0024 ADD2 .Screen/x DEO2
94 94
 	;controller-icn/button .Screen/addr DEO2
95 95
 	#03 STHr #01 AND SUB .Screen/sprite DEO
... ...
@@ -4,7 +4,7 @@
4 4
 
5 5
 |0100 ( -> ) @reset
6 6
 
7
-	#0000 #0001
7
+	#0000 INC2k
8 8
 	&loop
9 9
 		DUP2 ,is-prime JSR #00 EQU ,&skip JCN
10 10
 			( print ) DUP2 ,print/short JSR
... ...
@@ -30,14 +30,14 @@ BRK
30 30
  	.a LDZ2 #ffff EQU2 ,&input JCN
31 31
 	.b LDZ2 #ffff EQU2 ,&output JCN
32 32
 	( SUBLEQ )
33
-	.b LDZ2 STH2k ,&get JSR .a LDZ2 ,&get JSR SUB2 STH2r #10 SFT2 ;program ADD2 STA2
33
+	.b LDZ2 STH2k ,&get JSR .a LDZ2 ,&get JSR SUB2 STH2r DUP2 ADD2 ;program ADD2 STA2
34 34
 	( SET )
35 35
 	.b LDZ2 ,&get JSR #0001 SUB2 #8000 LTH2 ,&end JCN POP2 .c LDZ2 &end
36 36
 
37 37
 JMP2r
38 38
 	&input ( -- ) JMP2r
39 39
 	&output ( -- ) .a LDZ2 ,&get JSR NIP #18 DEO JMP2r
40
-	&get ( a* -- b* ) #10 SFT2 ;program ADD2 LDA2 JMP2r
40
+	&get ( a* -- b* ) DUP2 ADD2 ;program ADD2 LDA2 JMP2r
41 41
 
42 42
 @program ( hello world )
43 43
 	000f 0011 ffff 0011 ffff ffff 0010 0001
... ...
@@ -172,12 +172,12 @@ JMP2r
172 172
 	#3c00
173 173
 	&loop
174 174
 		( dots )
175
-		#00 OVR DUP2 ADD2 ;table ADD2 LDA2
175
+		#00 OVRk ADD2 ;table ADD2 LDA2
176 176
 			#0018 ;circle JSR2
177 177
 			.Screen/x DEO2 .Screen/y DEO2 #01 .Screen/pixel DEO
178 178
 		( markers )
179 179
 		DUP #05 ;mod JSR2 ,&no-marker JCN
180
-			#00 OVR DUP2 ADD2 ;table ADD2 LDA2
180
+			#00 OVRk ADD2 ;table ADD2 LDA2
181 181
 			STH2k #0018 ;circle JSR2 SWP2
182 182
 			STH2r #001c ;circle JSR2 SWP2
183 183
 				#01 ;draw-line JSR2
... ...
@@ -207,7 +207,7 @@ JMP2r
207 207
 	.Screen/y .lines/addr STZ
208 208
 
209 209
 	&draw-line ( v1* v2* -- )
210
-	OVR2 OVR2 LTH2 #01 JCN SWP2
210
+	LTH2k #01 JCN SWP2
211 211
 	STH2
212 212
 
213 213
 	&loop
... ...
@@ -231,7 +231,7 @@ JMP2r
231 231
 	JMP2r
232 232
 
233 233
 @modf ( dividend* divisor* SUB2 remainder* quotient* )
234
-	OVR2 OVR2 DIV2 STH2k MUL2 SUB2 STH2r JMP2r
234
+	DIV2k STH2k MUL2 SUB2 STH2r JMP2r
235 235
 
236 236
 @mul2hi ( a* b* -- product-top-16-bits* )
237 237
 	(