Browse code

Optimized a few examples

Devine Lu Linvega authored on 14/08/2022 19:17:44
Showing 5 changed files
... ...
@@ -44,30 +44,6 @@ BRK
44 44
 
45 45
 BRK
46 46
 
47
-@clear-ball ( -- )
48
-
49
-	.ball/x LDZ2 .Screen/x DEO2
50
-	.ball/y LDZ2 .Screen/y DEO2
51
-	#76 .Screen/auto DEO
52
-	#0800
53
-	&loop-bg
54
-		#40 .Screen/sprite DEO
55
-		INC GTHk ,&loop-bg JCN
56
-	POP2
57
-
58
-JMP2r
59
-
60
-@move-ball ( -- )
61
-
62
-	,clear-ball JSR
63
-	.ball/vx LDZ2k STH2k ROT STZ2
64
-	.ball/x LDZ2k STH2r ADD2 ,check-flip-vx JSR ROT STZ2
65
-	.ball/vy LDZ2k INC2 STH2k ROT STZ2
66
-	.ball/y LDZ2k STH2r ADD2 ,check-flip-vy JSR ROT STZ2
67
-	,draw-ball JSR
68
-
69
-JMP2r
70
-
71 47
 @check-flip-vx ( x -- x )
72 48
 
73 49
 	( left ) DUP2 #0010 LTH2 ,&flip JCN 
... ...
@@ -85,6 +61,23 @@ JMP2r
85 61
 
86 62
 JMP2r
87 63
 
64
+@move-ball ( -- )
65
+
66
+	( clear )
67
+	.ball/x LDZ2 .Screen/x DEO2
68
+	.ball/y LDZ2 .Screen/y DEO2
69
+	#76 .Screen/auto DEO
70
+	#0800
71
+	&loop-bg
72
+		#40 .Screen/sprite DEO
73
+		INC GTHk ,&loop-bg JCN
74
+	POP2
75
+
76
+	.ball/vx LDZ2k STH2k ROT STZ2
77
+	.ball/x LDZ2k STH2r ADD2 ,check-flip-vx JSR ROT STZ2
78
+	.ball/vy LDZ2k INC2 STH2k ROT STZ2
79
+	.ball/y LDZ2k STH2r ADD2 ,check-flip-vy JSR ROT STZ2
80
+
88 81
 @draw-ball ( -- )
89 82
 
90 83
 	( shadow )
... ...
@@ -90,9 +90,6 @@ JMP2r
90 90
 	[ .center/x LDZ2 #0008 ADD2 ] 
91 91
 	[ .center/y LDZ2 #0018 ADD2 ] 
92 92
 	.DateTime/second DEI #0a ;mod JSR2 
93
-	;draw-number JSR2
94
-
95
-JMP2r
96 93
 
97 94
 @draw-number ( x* y* n -- )
98 95
 	
... ...
@@ -110,9 +110,9 @@ BRK
110 110
 	( top )
111 111
 	[ LDA2k ] #05 SFT2 .Screen/x DEO2
112 112
 	[ INC2 INC2 LDA2 ] #05 SFT2 .Screen/y DEO2
113
-	#85 ,draw-sprite JSR
113
+	#85 ,draw-sprite ( .. )
114 114
 
115
-JMP2r
115
+JMP
116 116
 
117 117
 @draw-sprite ( color -- )
118 118
 
... ...
@@ -31,11 +31,11 @@
31 31
 	;on-mouse .Mouse/vector DEO2
32 32
 	;on-control .Controller/vector DEO2
33 33
 	( glider )
34
-	#07 #03 ;set-cell JSR2
35
-	#07 #04 ;set-cell JSR2
36
-	#05 #04 ;set-cell JSR2
37
-	#07 #05 ;set-cell JSR2
38
-	#06 #05 ;set-cell JSR2
34
+	#0703 ;set-cell JSR2
35
+	#0704 ;set-cell JSR2
36
+	#0504 ;set-cell JSR2
37
+	#0705 ;set-cell JSR2
38
+	#0605 ;set-cell JSR2
39 39
 	( center )
40 40
 	.Screen/width DEI2 #01 SFT2 #0040 SUB2
41 41
 		DUP2 .anchor/x STZ2
... ...
@@ -118,9 +118,9 @@ BRK
118 118
 	( move buffer )
119 119
 	;bank2 ;bank1 #1000 ;mcpy JSR2
120 120
 	( draw )
121
-	;draw-grid JSR2
121
+	;draw-grid ( .. )
122 122
 
123
-JMP2r
123
+JMP2
124 124
 
125 125
 @run-cell ( x y -- )
126 126
 
... ...
@@ -130,13 +130,13 @@ JMP2r
130 130
 	#00 EQU ,&dead JCN
131 131
 		DUP #02 LTH ,&dies JCN
132 132
 		DUP #03 GTH ,&dies JCN
133
-		POP ;&save JSR2 JMP2r
133
+		POP ;&save JMP2
134 134
 		&dies POP POP2 JMP2r
135 135
 	&dead
136 136
 		DUP #03 EQU ,&birth JCN POP POP2 JMP2r
137
-		&birth POP ;&save JSR2
137
+		&birth POP ;&save ( .. )
138 138
 
139
-JMP2r
139
+JMP2
140 140
 	&save ( x y -- ) 
141 141
 		STH2 #01 STH2r ,get-index JSR [ #1000 ADD2 ] STA
142 142
 		.world/count LDZ2 INC2 .world/count STZ2
... ...
@@ -54,9 +54,9 @@ BRK
54 54
 	#81 .Screen/sprite DEO
55 55
 	( eye/tail )
56 56
 	#00 ,draw-eye JSR
57
-	#00 ;draw-tail JSR2
57
+	#00 ;draw-tail ( .. )
58 58
 
59
-JMP2r
59
+JMP2
60 60
 
61 61
 @on-mouse ( -> )
62 62