Browse code

Optimized examples to use relative jumping whenever available

neauoire authored on 26/03/2021 18:45:10
Showing 12 changed files
... ...
@@ -45,10 +45,10 @@ BRK
45 45
 
46 46
 @print-label ( text )
47 47
 	
48
-	$loop NOP
49
-		( send ) DUP2 LDR =Console.char
48
+	$loop
49
+		( send ) DUP2 PEK2 =Console.char
50 50
 		( incr ) #0001 ADD2
51
-		( loop ) DUP2 LDR #00 NEQ ^$loop MUL JMP 
51
+		( loop ) DUP2 PEK2 #00 NEQ ^$loop JNZ
52 52
 	POP2
53 53
 
54 54
 RTN    
... ...
@@ -28,7 +28,7 @@ else
28 28
 fi
29 29
 
30 30
 echo "Assembling.."
31
-./bin/assembler projects/software/noodle.usm bin/boot.rom
31
+./bin/assembler projects/examples/gui.shapes.usm bin/boot.rom
32 32
 
33 33
 echo "Running.."
34 34
 if [ "${2}" = '--cli' ]; 
... ...
@@ -21,10 +21,10 @@ BRK
21 21
 
22 22
 @print-label ( text )
23 23
 	
24
-	$loop NOP
24
+	$loop
25 25
 		( send ) DUP2 PEK2 =Console.char
26 26
 		( incr ) #0001 ADD2
27
-		( loop ) DUP2 PEK2 #00 NEQ ^$loop MUL JMP 
27
+		( loop ) DUP2 PEK2 #00 NEQ ^$loop JNZ
28 28
 	POP2
29 29
 
30 30
 RTN    
... ...
@@ -42,21 +42,21 @@ BRK
42 42
 	( hold ctrl key to change slime color )
43 43
 
44 44
 	~Controller.p1 #0f AND
45
-		DUP #01 NEQ ,$no-ctrl JNZ2 #05 =slime $no-ctrl
46
-		DUP #02 NEQ ,$no-alt JNZ2 #0f =slime $no-alt
45
+		DUP #01 NEQ ^$no-ctrl JNZ #05 =slime $no-ctrl
46
+		DUP #02 NEQ ^$no-alt JNZ #0f =slime $no-alt
47 47
 	POP
48 48
 
49 49
 	( clear ) #10 =Sprite.color
50 50
 
51 51
 	( detect movement )
52 52
 	~Controller.p1 #f0 AND
53
-		DUP #04 SFT #01 AND #01 NEQ ,$no-up JNZ2 
53
+		DUP #04 SFT #01 AND #01 NEQ ^$no-up JNZ 
54 54
 			( move ) ~Sprite.y -- =Sprite.y ,up_icn =Sprite.addr $no-up
55
-		DUP #05 SFT #01 AND #01 NEQ ,$no-down JNZ2 
55
+		DUP #05 SFT #01 AND #01 NEQ ^$no-down JNZ 
56 56
 			( move ) ~Sprite.y ++ =Sprite.y ,down_icn =Sprite.addr $no-down
57
-		DUP #06 SFT #01 AND #01 NEQ ,$no-left JNZ2 
57
+		DUP #06 SFT #01 AND #01 NEQ ^$no-left JNZ 
58 58
 			( move ) ~Sprite.x -- =Sprite.x ,left_icn =Sprite.addr $no-left
59
-		DUP #07 SFT #01 AND #01 NEQ ,$no-right JNZ2 
59
+		DUP #07 SFT #01 AND #01 NEQ ^$no-right JNZ 
60 60
 			( move ) ~Sprite.x ++ =Sprite.x ,right_icn =Sprite.addr $no-right
61 61
 	POP
62 62
 
... ...
@@ -15,10 +15,10 @@
15 15
 
16 16
 @FRAME
17 17
 	
18
-	~Keys #00 EQU ,$end JNZ2
18
+	~Keys #00 EQU ^$end JNZ
19 19
 
20 20
 	( enter key )
21
-	~Keys #0d NEQ ,$no-return JNZ2
21
+	~Keys #0d NEQ ^$no-return JNZ
22 22
 		#0000 =Sprite.x
23 23
 		( incr ) ~Sprite.y 8+ =Sprite.y
24 24
 		( release ) #00 =Keys
... ...
@@ -27,7 +27,7 @@ BRK
27 27
 
28 28
 	,draw-cursor JSR2
29 29
 
30
-	~Mouse.state #00 EQU ,$no-touch JNZ2
30
+	~Mouse.state #00 EQU ^$no-touch JNZ
31 31
 		~Mouse.x =circle.xc
32 32
 		~Mouse.y =circle.yc
33 33
 		#0000 =circle.r
... ...
@@ -65,7 +65,7 @@ RTN
65 65
 	( draw ) ,$seg JSR2
66 66
 	$loop
67 67
 		( incr ) ~circle.x ++ =circle.x
68
-		~circle.d #0000 #0001 ADD2 LTS2 ,$else JNZ2
68
+		~circle.d #0000 #0001 ADD2 LTS2 ^$else JNZ
69 69
 			( decr ) ~circle.y -- =circle.y
70 70
 			~circle.x ~circle.y SUB2 #0004 MUL2 ~circle.d ADD2 #000a ADD2 =circle.d
71 71
 			,$end JMP2
... ...
@@ -73,7 +73,7 @@ RTN
73 73
 			~circle.x #0004 MUL2 ~circle.d ADD2 #0006 ADD2 =circle.d
74 74
 		$end
75 75
 		( draw ) ,$seg JSR2
76
-		~circle.y ~circle.x #0001 SUB2 GTS2 ,$loop JNZ2
76
+		~circle.y ~circle.x #0001 SUB2 GTS2 ^$loop JNZ
77 77
 	RTN
78 78
 	$seg
79 79
 		~circle.xc ~circle.x ADD2 =Screen.x ~circle.yc ~circle.y ADD2 =Screen.y ~color =Screen.color
... ...
@@ -86,24 +86,24 @@ BRK
86 86
 
87 87
 		~Mouse.y ~window.y1 SUB2 STEP8 
88 88
 
89
-		DUP2 #0010 NEQ2 ,$no-touch-red JNZ2
90
-			~Mouse.x ~window.x1 #0050 ADD2 LTH2 ,$no-touch-red JNZ2
91
-			~Mouse.x ~window.x1 #008c ADD2 GTH2 ,$no-touch-red JNZ2
89
+		DUP2 #0010 NEQ2 ^$no-touch-red JNZ
90
+			~Mouse.x ~window.x1 #0050 ADD2 LTH2 ^$no-touch-red JNZ
91
+			~Mouse.x ~window.x1 #008c ADD2 GTH2 ^$no-touch-red JNZ
92 92
 			( get new value ) ~Mouse.x ~window.x1 SUB2 #0050 SUB2 #0004 DIV2 S2B ,theme.r1 #00 ~selection ADD2 POK2
93 93
 		$no-touch-red
94
-		DUP2 #0020 NEQ2 ,$no-touch-green JNZ2
95
-			~Mouse.x ~window.x1 #0050 ADD2 LTH2 ,$no-touch-green JNZ2
96
-			~Mouse.x ~window.x1 #008c ADD2 GTH2 ,$no-touch-green JNZ2
94
+		DUP2 #0020 NEQ2 ^$no-touch-green JNZ
95
+			~Mouse.x ~window.x1 #0050 ADD2 LTH2 ^$no-touch-green JNZ
96
+			~Mouse.x ~window.x1 #008c ADD2 GTH2 ^$no-touch-green JNZ
97 97
 			( get new value ) ~Mouse.x ~window.x1 SUB2 #0050 SUB2 #0004 DIV2 S2B ,theme.g1 #00 ~selection ADD2 POK2
98 98
 		$no-touch-green
99
-		DUP2 #0030 NEQ2 ,$no-touch-blue JNZ2
100
-			~Mouse.x ~window.x1 #0050 ADD2 LTH2 ,$no-touch-blue JNZ2
101
-			~Mouse.x ~window.x1 #008c ADD2 GTH2 ,$no-touch-blue JNZ2
99
+		DUP2 #0030 NEQ2 ^$no-touch-blue JNZ
100
+			~Mouse.x ~window.x1 #0050 ADD2 LTH2 ^$no-touch-blue JNZ
101
+			~Mouse.x ~window.x1 #008c ADD2 GTH2 ^$no-touch-blue JNZ
102 102
 			( get new value ) ~Mouse.x ~window.x1 SUB2 #0050 SUB2 #0004 DIV2 S2B ,theme.b1 #00 ~selection ADD2 POK2
103 103
 		$no-touch-blue
104
-		DUP2 #0040 NEQ2 ,$no-touch-radio JNZ2
105
-			~Mouse.x ~window.x1 #0050 ADD2 LTH2 ,$no-touch-radio JNZ2
106
-			~Mouse.x ~window.x1 #008c ADD2 GTH2 ,$no-touch-radio JNZ2
104
+		DUP2 #0040 NEQ2 ^$no-touch-radio JNZ
105
+			~Mouse.x ~window.x1 #0050 ADD2 LTH2 ^$no-touch-radio JNZ
106
+			~Mouse.x ~window.x1 #008c ADD2 GTH2 ^$no-touch-radio JNZ
107 107
 			~Mouse.x ~window.x1 SUB2 #0050 SUB2 STEP8 2/ #0008 DIV2 S2B =selection
108 108
 		$no-touch-radio
109 109
 
... ...
@@ -228,7 +228,7 @@ RTN
228 228
 	$loop
229 229
 		( incr ) ~Sprite.x 8+ =Sprite.x
230 230
 		( draw ) #05 =Sprite.color
231
-		~Sprite.x ~slider.x2 #0008 ADD2 LTH2 ,$loop JNZ2
231
+		~Sprite.x ~slider.x2 #0008 ADD2 LTH2 ^$loop JNZ
232 232
 
233 233
 	( incr ) ~Sprite.x #0004 ADD2 =Sprite.x
234 234
 	,sliderc_icn =Sprite.addr
... ...
@@ -248,9 +248,9 @@ RTN
248 248
 		$hor
249 249
 			( draw ) ~color =Screen.color
250 250
 			( incr ) ~Screen.x ++ =Screen.x
251
-			~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
251
+			~Screen.x ~rect.x2 LTH2 ^$hor JNZ
252 252
 		( incr ) ~Screen.y ++ =Screen.y
253
-		~Screen.y ~rect.y2 LTH2 ,$ver JNZ2
253
+		~Screen.y ~rect.y2 LTH2 ^$ver JNZ
254 254
 
255 255
 RTN
256 256
 
... ...
@@ -261,13 +261,13 @@ RTN
261 261
 		( incr ) ~Screen.x ++ =Screen.x
262 262
 		( draw ) ~rect.y1 =Screen.y ~color =Screen.color
263 263
 		( draw ) ~rect.y2 =Screen.y ~color =Screen.color
264
-		~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
264
+		~Screen.x ~rect.x2 LTH2 ^$hor JNZ
265 265
 	~rect.y1 =Screen.y
266 266
 	$ver
267 267
 		( draw ) ~rect.x1 =Screen.x ~color =Screen.color
268 268
 		( draw ) ~rect.x2 =Screen.x ~color =Screen.color
269 269
 		( incr ) ~Screen.y ++ =Screen.y
270
-		~Screen.y ~rect.y2 ++ LTH2 ,$ver JNZ2
270
+		~Screen.y ~rect.y2 ++ LTH2 ^$ver JNZ
271 271
 
272 272
 RTN
273 273
 
... ...
@@ -278,7 +278,7 @@ RTN
278 278
 		( draw ) DUP2 PEK2 #00 SWP #0008 MUL2 ,font ADD2 =Sprite.addr ~color =Sprite.color
279 279
 		( incr ) ++
280 280
 		( incr ) ~Sprite.x 8+ =Sprite.x
281
-		DUP2 PEK2 #00 NEQ ,$loop JNZ2
281
+		DUP2 PEK2 #00 NEQ ^$loop JNZ
282 282
 	POP2
283 283
 
284 284
 RTN
... ...
@@ -34,23 +34,23 @@ BRK
34 34
 
35 35
 @FRAME 
36 36
 
37
-	~Controller.buttons #00 EQU ,no-ctrl JNZ2
37
+	~Controller.buttons #00 EQU ^$no-ctrl JNZ
38 38
 
39
-		~Controller.buttons #10 EQU ,no-ctrl-up JNZ2
39
+		~Controller.buttons #10 EQU ^$no-ctrl-up JNZ
40 40
 			~editor.addr #0001 ADD2 =editor.addr
41 41
 			,draw-window JSR2
42 42
 			,draw-editor JSR2
43
-		@no-ctrl-up
43
+		$no-ctrl-up
44 44
 
45
-		~Controller.buttons #20 EQU ,no-ctrl-down JNZ2
45
+		~Controller.buttons #20 EQU ^$no-ctrl-down JNZ
46 46
 			~editor.addr #0001 SUB2 =editor.addr
47 47
 			,draw-window JSR2
48 48
 			,draw-editor JSR2
49
-		@no-ctrl-down
49
+		$no-ctrl-down
50 50
 
51
-	@no-ctrl
51
+	$no-ctrl
52 52
 
53
-	~Mouse.state #00 EQU ,no-click JNZ2
53
+	~Mouse.state #00 EQU ^$no-click JNZ
54 54
 
55 55
 		( load ) ~editor.addr ~Mouse.y ~editor.y1 SUB2 #0008 DIV2 ADD2 PEK2
56 56
 		( mask ) #01 #07 ~Mouse.x ~editor.x1 SUB2 #0008 DIV2 SWP POP SUB #40 SFT SFT 
... ...
@@ -60,7 +60,7 @@ BRK
60 60
 		,draw-window JSR2
61 61
 		,draw-editor JSR2
62 62
 
63
-	@no-click
63
+	$no-click
64 64
 
65 65
 	,draw-cursor JSR2
66 66
 
... ...
@@ -33,22 +33,22 @@ BRK
33 33
 	( matrix comparison )
34 34
 	~Mouse.x ~r1.x1 GTH2 ~Mouse.x ~r1.x2 LTH2 #0101 EQU2
35 35
 	~Mouse.y ~r1.y1 GTH2 ~Mouse.y ~r1.y2 LTH2 #0101 EQU2
36
-	#0101 NEQ2 ,$draw1 JNZ2 #02 =color ,hand_icn =pointer.sprite 
36
+	#0101 NEQ2 ^$draw1 JNZ #02 =color ,hand_icn =pointer.sprite 
37 37
 	$draw1 ~r1.x1 ~r1.y1 ~r1.x2 ~r1.y2 ~color ,line-rect JSR2
38 38
 	
39 39
 	#01 =color
40 40
 	( 2-step comparison )
41
-	~Mouse.x ~r2.x1 GTH2 ~Mouse.x ~r2.x2 LTH2 #0101 NEQ2 ,$draw2 JNZ2
42
-		~Mouse.y ~r2.y1 GTH2 ~Mouse.y ~r2.y2 LTH2 #0101 NEQ2 ,$draw2 JNZ2
41
+	~Mouse.x ~r2.x1 GTH2 ~Mouse.x ~r2.x2 LTH2 #0101 NEQ2 ^$draw2 JNZ
42
+		~Mouse.y ~r2.y1 GTH2 ~Mouse.y ~r2.y2 LTH2 #0101 NEQ2 ^$draw2 JNZ
43 43
 			#03 =color ,hand_icn =pointer.sprite 
44 44
 	$draw2 ~r2.x1 ~r2.y1 ~r2.x2 ~r2.y2 ~color ,line-rect JSR2
45 45
 	
46 46
 	#01 =color
47 47
 	( 4-step comparison )
48
-	~Mouse.x ~r3.x1 LTH2 ,$draw3 JNZ2
49
-		~Mouse.x ~r3.x2 GTH2 ,$draw3 JNZ2
50
-			~Mouse.y ~r3.y1 LTH2 ,$draw3 JNZ2
51
-				~Mouse.y ~r3.y2 GTH2 ,$draw3 JNZ2
48
+	~Mouse.x ~r3.x1 LTH2 ^$draw3 JNZ
49
+		~Mouse.x ~r3.x2 GTH2 ^$draw3 JNZ
50
+			~Mouse.y ~r3.y1 LTH2 ^$draw3 JNZ
51
+				~Mouse.y ~r3.y2 GTH2 ^$draw3 JNZ
52 52
 					#02 =color ,hand_icn =pointer.sprite
53 53
 	$draw3 ~r3.x1 ~r3.y1 ~r3.x2 ~r3.y2 ~color ,line-rect JSR2
54 54
 
... ...
@@ -82,13 +82,13 @@ RTN
82 82
 		( incr ) ~Screen.x #0001 ADD2 =Screen.x
83 83
 		( draw ) ~rect.y1 =Screen.y ~color =Screen.color
84 84
 		( draw ) ~rect.y2 =Screen.y ~color =Screen.color
85
-		~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
85
+		~Screen.x ~rect.x2 LTH2 ^$hor JNZ
86 86
 	~rect.y1 =Screen.y
87 87
 	$ver
88 88
 		( draw ) ~rect.x1 =Screen.x ~color =Screen.color
89 89
 		( draw ) ~rect.x2 =Screen.x ~color =Screen.color
90 90
 		( incr ) ~Screen.y #0001 ADD2 =Screen.y
91
-		~Screen.y ~rect.y2 #0001 ADD2 LTH2 ,$ver JNZ2
91
+		~Screen.y ~rect.y2 #0001 ADD2 LTH2 ^$ver JNZ
92 92
 
93 93
 RTN
94 94
 
... ...
@@ -23,7 +23,7 @@
23 23
 	$draw-ver
24 24
 		( draw ) #02 =Screen.color
25 25
 		( incr ) ~Screen.y #0002 ADD2 =Screen.y
26
-		,$draw-ver ~Screen.y ~Screen.height LTH2 JNZ2
26
+		~Screen.y ~Screen.height LTH2 ^$draw-ver JNZ
27 27
 
28 28
 	~center.x ~center.y #0010 SUB2 #0c ,text1 ,draw-label-left JSR2
29 29
 	~center.x ~center.y #0c ,text2 ,draw-label-middle JSR2
... ...
@@ -41,7 +41,7 @@ BRK
41 41
 		( draw ) DUP2 PEK2 #00 SWP #0008 MUL2 ,font ADD2 =Sprite.addr ~label.color =Sprite.color
42 42
 		( incr ) #0001 ADD2
43 43
 		( incr ) ~Sprite.x #0008 ADD2 =Sprite.x
44
-		DUP2 PEK2 #00 NEQ ,$loop ROT JNZ2
44
+		DUP2 PEK2 #00 NEQ ^$loop JNZ
45 45
 	POP2
46 46
 
47 47
 RTN
... ...
@@ -55,7 +55,7 @@ RTN
55 55
 		( draw ) DUP2 PEK2 #00 SWP #0008 MUL2 ,font ADD2 =Sprite.addr ~label.color =Sprite.color
56 56
 		( incr ) #0001 ADD2
57 57
 		( incr ) ~Sprite.x #0008 ADD2 =Sprite.x
58
-		DUP2 PEK2 #00 NEQ ,$loop ROT JNZ2
58
+		DUP2 PEK2 #00 NEQ ^$loop JNZ
59 59
 	POP2
60 60
 
61 61
 RTN
... ...
@@ -69,7 +69,7 @@ RTN
69 69
 		( draw ) DUP2 PEK2 #00 SWP #0008 MUL2 ,font ADD2 =Sprite.addr ~label.color =Sprite.color
70 70
 		( incr ) #0001 ADD2
71 71
 		( incr ) ~Sprite.x #0008 ADD2 =Sprite.x
72
-		DUP2 PEK2 #00 NEQ ,$loop ROT JNZ2
72
+		DUP2 PEK2 #00 NEQ ^$loop JNZ
73 73
 	POP2
74 74
 
75 75
 RTN
... ...
@@ -79,7 +79,7 @@ RTN
79 79
 	#0000 ( counter )
80 80
 	$loop
81 81
 		( incr ) #0001 ADD2 OVR2 OVR2 ADD2 
82
-		PEK2 #00 NEQ ,$loop ROT JNZ2
82
+		PEK2 #00 NEQ ^$loop JNZ
83 83
 	SWP2 POP2
84 84
 
85 85
 RTN
... ...
@@ -25,9 +25,9 @@ BRK
25 25
 			( draw ) ~pict.color =Sprite.color
26 26
 			( incr ) ~Sprite.x #0008 ADD2 =Sprite.x
27 27
 			( incr ) ~Sprite.addr #0008 ADD2 =Sprite.addr
28
-		~Sprite.x ~pict.width ~pict.x ADD2 LTH2 ,$hor JNZ2
28
+		~Sprite.x ~pict.width ~pict.x ADD2 LTH2 ^$hor JNZ
29 29
 		( incr ) ~Sprite.y #0008 ADD2 =Sprite.y
30
-	~Sprite.y ~pict.height ~pict.y ADD2 LTH2 ,$ver JNZ2
30
+	~Sprite.y ~pict.height ~pict.y ADD2 LTH2 ^$ver JNZ
31 31
 
32 32
 RTN
33 33
 
... ...
@@ -53,13 +53,13 @@ BRK
53 53
 	~line.dx ~line.dy ADD2 =line.e1
54 54
 	$loop
55 55
 		~line.x =Screen.x ~line.y =Screen.y ~color =Screen.color
56
-		~line.x ~line.x0 EQU2 ~line.y ~line.y0 EQU2 #0101 EQU2 ,$end JNZ2
56
+		~line.x ~line.x0 EQU2 ~line.y ~line.y0 EQU2 #0101 EQU2 ^$end JNZ
57 57
 		~line.e1 #0002 MUL2 =line.e2
58
-		~line.e2 ~line.dy LTS2 ,$skipy JNZ2
58
+		~line.e2 ~line.dy LTS2 ^$skipy JNZ
59 59
 			~line.e1 ~line.dy ADD2 =line.e1
60 60
 			~line.x ~line.sx ADD2 =line.x
61 61
 		$skipy
62
-		~line.e2 ~line.dx GTS2 ,$skipx JNZ2
62
+		~line.e2 ~line.dx GTS2 ^$skipx JNZ
63 63
 			~line.e1 ~line.dx ADD2 =line.e1
64 64
 			~line.y ~line.sy ADD2 =line.y
65 65
 		$skipx
... ...
@@ -76,13 +76,13 @@ RTN
76 76
 		( incr ) ~Screen.x ++ =Screen.x
77 77
 		( draw ) ~rect.y1 =Screen.y ~color =Screen.color
78 78
 		( draw ) ~rect.y2 =Screen.y ~color =Screen.color
79
-		~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
79
+		~Screen.x ~rect.x2 LTH2 ^$hor JNZ
80 80
 	~rect.y1 =Screen.y
81 81
 	$ver
82 82
 		( draw ) ~rect.x1 =Screen.x ~color =Screen.color
83 83
 		( draw ) ~rect.x2 =Screen.x ~color =Screen.color
84 84
 		( incr ) ~Screen.y ++ =Screen.y
85
-		~Screen.y ~rect.y2 ++ LTH2 ,$ver JNZ2
85
+		~Screen.y ~rect.y2 ++ LTH2 ^$ver JNZ
86 86
 
87 87
 RTN
88 88
 
... ...
@@ -94,9 +94,9 @@ RTN
94 94
 		$hor
95 95
 			( draw ) ~color =Screen.color
96 96
 			( incr ) ~Screen.x ++ =Screen.x
97
-			~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
97
+			~Screen.x ~rect.x2 LTH2 ^$hor JNZ
98 98
 		( incr ) ~Screen.y ++ =Screen.y
99
-		~Screen.y ~rect.y2 LTH2 ,$ver JNZ2
99
+		~Screen.y ~rect.y2 LTH2 ^$ver JNZ
100 100
 
101 101
 RTN
102 102
 
... ...
@@ -109,9 +109,9 @@ RTN
109 109
 			( draw ) ~pict.color =Sprite.color
110 110
 			( incr ) ~Sprite.x 8+ =Sprite.x
111 111
 			( incr ) ~Sprite.addr 8+ =Sprite.addr
112
-		~Sprite.x ~pict.width ~pict.x ADD2 LTH2 ,$hor JNZ2
112
+		~Sprite.x ~pict.width ~pict.x ADD2 LTH2 ^$hor JNZ
113 113
 		( incr ) ~Sprite.y 8+ =Sprite.y
114
-	~Sprite.y ~pict.height ~pict.y ADD2 LTH2 ,$ver JNZ2
114
+	~Sprite.y ~pict.height ~pict.y ADD2 LTH2 ^$ver JNZ
115 115
 
116 116
 RTN
117 117
 
... ...
@@ -123,7 +123,7 @@ RTN
123 123
 	( draw ) ,$seg JSR2
124 124
 	$loop
125 125
 		( incr ) ~circle.x ++ =circle.x
126
-		~circle.d #0000 #0001 ADD2 LTS2 ,$else JNZ2
126
+		~circle.d #0000 #0001 ADD2 LTS2 ^$else JNZ
127 127
 			( decr ) ~circle.y -- =circle.y
128 128
 			~circle.x ~circle.y SUB2 #0004 MUL2 ~circle.d ADD2 #000a ADD2 =circle.d
129 129
 			,$end JMP2
... ...
@@ -131,7 +131,7 @@ RTN
131 131
 			~circle.x #0004 MUL2 ~circle.d ADD2 #0006 ADD2 =circle.d
132 132
 		$end
133 133
 		( draw ) ,$seg JSR2
134
-		~circle.y ~circle.x #0001 SUB2 GTS2 ,$loop JNZ2
134
+		~circle.y ~circle.x #0001 SUB2 GTS2 ^$loop JNZ
135 135
 	RTN
136 136
 	$seg
137 137
 		~circle.xc ~circle.x ADD2 =Screen.x ~circle.yc ~circle.y ADD2 =Screen.y ~color =Screen.color