Browse code

JNZ now uses the flag last

neauoire authored on 26/03/2021 18:19:19
Showing 13 changed files
... ...
@@ -28,7 +28,7 @@ else
28 28
 fi
29 29
 
30 30
 echo "Assembling.."
31
-./bin/assembler projects/examples/gui.shapes.usm bin/boot.rom
31
+./bin/assembler projects/software/noodle.usm bin/boot.rom
32 32
 
33 33
 echo "Running.."
34 34
 if [ "${2}" = '--cli' ]; 
... ...
@@ -30,7 +30,7 @@ BRK
30 30
 
31 31
 @FRAME 
32 32
 
33
-	,on-ctrl-arrows ~Controller.p1 JNZ2
33
+	~Controller.p1 ,on-ctrl-arrows JNZ2
34 34
 
35 35
 BRK
36 36
 
... ...
@@ -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 ROT JNZ2 #05 =slime $no-ctrl
46
-		DUP #02 NEQ ,$no-alt ROT JNZ2 #0f =slime $no-alt
45
+		DUP #01 NEQ ,$no-ctrl JNZ2 #05 =slime $no-ctrl
46
+		DUP #02 NEQ ,$no-alt JNZ2 #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 ROT JNZ2 
53
+		DUP #04 SFT #01 AND #01 NEQ ,$no-up JNZ2 
54 54
 			( move ) ~Sprite.y -- =Sprite.y ,up_icn =Sprite.addr $no-up
55
-		DUP #05 SFT #01 AND #01 NEQ ,$no-down ROT JNZ2 
55
+		DUP #05 SFT #01 AND #01 NEQ ,$no-down JNZ2 
56 56
 			( move ) ~Sprite.y ++ =Sprite.y ,down_icn =Sprite.addr $no-down
57
-		DUP #06 SFT #01 AND #01 NEQ ,$no-left ROT JNZ2 
57
+		DUP #06 SFT #01 AND #01 NEQ ,$no-left JNZ2 
58 58
 			( move ) ~Sprite.x -- =Sprite.x ,left_icn =Sprite.addr $no-left
59
-		DUP #07 SFT #01 AND #01 NEQ ,$no-right ROT JNZ2 
59
+		DUP #07 SFT #01 AND #01 NEQ ,$no-right JNZ2 
60 60
 			( move ) ~Sprite.x ++ =Sprite.x ,right_icn =Sprite.addr $no-right
61 61
 	POP
62 62
 
... ...
@@ -15,9 +15,10 @@
15 15
 
16 16
 @FRAME
17 17
 	
18
-	~Keys #00 EQU BRK?
18
+	~Keys #00 EQU ,$end JNZ2
19 19
 
20
-	,$no-return ~Keys #0d NEQ JNZ2
20
+	( enter key )
21
+	~Keys #0d NEQ ,$no-return JNZ2
21 22
 		#0000 =Sprite.x
22 23
 		( incr ) ~Sprite.y 8+ =Sprite.y
23 24
 		( release ) #00 =Keys
... ...
@@ -29,6 +30,8 @@
29 30
 	( incr ) ~Sprite.x 8+ =Sprite.x
30 31
 	( release ) #00 =Keys
31 32
 
33
+	$end
34
+
32 35
 BRK
33 36
 
34 37
 @font ( spectrum-zx font ) 
... ...
@@ -27,11 +27,10 @@ BRK
27 27
 
28 28
 	,draw-cursor JSR2
29 29
 
30
-	,$no-touch ~Mouse.state #00 EQU JNZ2
30
+	~Mouse.state #00 EQU ,$no-touch JNZ2
31 31
 		~Mouse.x =circle.xc
32 32
 		~Mouse.y =circle.yc
33 33
 		#0000 =circle.r
34
-
35 34
 	$no-touch
36 35
 
37 36
  	( draw )
... ...
@@ -66,7 +65,7 @@ RTN
66 65
 	( draw ) ,$seg JSR2
67 66
 	$loop
68 67
 		( incr ) ~circle.x ++ =circle.x
69
-		,$else ~circle.d #0000 #0001 ADD2 LTS2 JNZ2
68
+		~circle.d #0000 #0001 ADD2 LTS2 ,$else JNZ2
70 69
 			( decr ) ~circle.y -- =circle.y
71 70
 			~circle.x ~circle.y SUB2 #0004 MUL2 ~circle.d ADD2 #000a ADD2 =circle.d
72 71
 			,$end JMP2
... ...
@@ -74,7 +73,7 @@ RTN
74 73
 			~circle.x #0004 MUL2 ~circle.d ADD2 #0006 ADD2 =circle.d
75 74
 		$end
76 75
 		( draw ) ,$seg JSR2
77
-		,$loop ~circle.y ~circle.x #0001 SUB2 GTS2 JNZ2
76
+		~circle.y ~circle.x #0001 SUB2 GTS2 ,$loop JNZ2
78 77
 	RTN
79 78
 	$seg
80 79
 		~circle.xc ~circle.x ADD2 =Screen.x ~circle.yc ~circle.y ADD2 =Screen.y ~color =Screen.color
... ...
@@ -50,29 +50,29 @@
50 50
 	( draw hor line )
51 51
 	#0000 =Screen.x ~center.y =Screen.y
52 52
 	#0000 ~Screen.width ( from/to )
53
-	$draw-hor NOP
53
+	$draw-hor
54 54
 		( draw ) #01 =Screen.color
55 55
 		( incr ) SWP2 #0002 ADD2 DUP2 =Screen.x SWP2
56
-		OVR2 OVR2 LTH2 ^$draw-hor SWP JNZ
56
+		OVR2 OVR2 LTH2 ^$draw-hor JNZ
57 57
 	POP2 POP2
58 58
 
59 59
 	( draw ver line )
60 60
 	~center.x =Screen.x #0000 =Screen.y
61 61
 	#0000 ~Screen.height ( from/to )
62
-	$draw-ver NOP
62
+	$draw-ver
63 63
 		( draw ) #02 =Screen.color
64 64
 		( incr ) SWP2 #0002 ADD2 DUP2 =Screen.y SWP2
65
-		OVR2 OVR2 LTH2 ^$draw-ver SWP JNZ
65
+		OVR2 OVR2 LTH2 ^$draw-ver JNZ
66 66
 	POP2 POP2
67 67
 
68 68
 	( draw blending modes )
69 69
 	#0020 =Sprite.x #0020 =Sprite.y ,icon_icn =Sprite.addr
70 70
 	#00 #10
71
-	$draw-blends NOP
71
+	$draw-blends
72 72
 		( move ) OVR #00 SWP #0008 MUL2 #0020 ADD2 =Sprite.x
73 73
 		( draw ) OVR =Sprite.color
74 74
 		( incr ) SWP #01 ADD SWP 
75
-		DUP2 LTH ^$draw-blends SWP JNZ
75
+		DUP2 LTH ^$draw-blends JNZ
76 76
 	POP POP
77 77
 
78 78
 	,update-theme JSR2
... ...
@@ -82,28 +82,28 @@ BRK
82 82
 
83 83
 @FRAME 
84 84
 	
85
-	,$no-touch ~Mouse.state #00 EQU JNZ2
85
+	~Mouse.state #00 EQU ,$no-touch JNZ2
86 86
 
87 87
 		~Mouse.y ~window.y1 SUB2 STEP8 
88 88
 
89
-		DUP2 #0010 NEQ2 ,$no-touch-red ROT JNZ2
90
-			,$no-touch-red ~Mouse.x ~window.x1 #0050 ADD2 LTH2 JNZ2
91
-			,$no-touch-red ~Mouse.x ~window.x1 #008c ADD2 GTH2 JNZ2
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
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 ROT JNZ2
95
-			,$no-touch-green ~Mouse.x ~window.x1 #0050 ADD2 LTH2 JNZ2
96
-			,$no-touch-green ~Mouse.x ~window.x1 #008c ADD2 GTH2 JNZ2
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
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 ROT JNZ2
100
-			,$no-touch-blue ~Mouse.x ~window.x1 #0050 ADD2 LTH2 JNZ2
101
-			,$no-touch-blue ~Mouse.x ~window.x1 #008c ADD2 GTH2 JNZ2
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
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 ROT JNZ2
105
-			,$no-touch-radio ~Mouse.x ~window.x1 #0050 ADD2 LTH2 JNZ2
106
-			,$no-touch-radio ~Mouse.x ~window.x1 #008c ADD2 GTH2 JNZ2
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
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
-		,$loop ~Sprite.x ~slider.x2 #0008 ADD2 LTH2 JNZ2
231
+		~Sprite.x ~slider.x2 #0008 ADD2 LTH2 ,$loop JNZ2
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
-			,$hor ~Screen.x ~rect.x2 LTH2 JNZ2
251
+			~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
252 252
 		( incr ) ~Screen.y ++ =Screen.y
253
-		,$ver ~Screen.y ~rect.y2 LTH2 JNZ2
253
+		~Screen.y ~rect.y2 LTH2 ,$ver JNZ2
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
-		,$hor ~Screen.x ~rect.x2 LTH2 JNZ2
264
+		~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
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
-		,$ver ~Screen.y ~rect.y2 ++ LTH2 JNZ2
270
+		~Screen.y ~rect.y2 ++ LTH2 ,$ver JNZ2
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 ROT JNZ2
281
+		DUP2 PEK2 #00 NEQ ,$loop JNZ2
282 282
 	POP2
283 283
 
284 284
 RTN
... ...
@@ -34,15 +34,15 @@ BRK
34 34
 
35 35
 @FRAME 
36 36
 
37
-	,no-ctrl ~Controller.buttons #00 EQU JNZ2
37
+	~Controller.buttons #00 EQU ,no-ctrl JNZ2
38 38
 
39
-		,no-ctrl-up ~Controller.buttons #10 EQU JNZ2
39
+		~Controller.buttons #10 EQU ,no-ctrl-up JNZ2
40 40
 			~editor.addr #0001 ADD2 =editor.addr
41 41
 			,draw-window JSR2
42 42
 			,draw-editor JSR2
43 43
 		@no-ctrl-up
44 44
 
45
-		,no-ctrl-down ~Controller.buttons #20 EQU JNZ2
45
+		~Controller.buttons #20 EQU ,no-ctrl-down JNZ2
46 46
 			~editor.addr #0001 SUB2 =editor.addr
47 47
 			,draw-window JSR2
48 48
 			,draw-editor JSR2
... ...
@@ -50,7 +50,7 @@ BRK
50 50
 
51 51
 	@no-ctrl
52 52
 
53
-	,no-click ~Mouse.state #00 EQU JNZ2
53
+	~Mouse.state #00 EQU ,no-click JNZ2
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 
... ...
@@ -93,10 +93,10 @@ RTN
93 93
 			( draw ) #08 =Sprite.color
94 94
 			( incr ) ~Sprite.x #0008 ADD2 =Sprite.x
95 95
 			( incr ) ~pixel.x #01 ADD =pixel.x
96
-			,$hor ~Sprite.x ~editor.x1 #0040 ADD2 LTH2 JNZ2
96
+			~Sprite.x ~editor.x1 #0040 ADD2 LTH2 ,$hor JNZ2
97 97
 		( incr ) ~Sprite.y #0008 ADD2 =Sprite.y
98 98
 		( incr ) ~pixel.y #01 ADD =pixel.y
99
-		,$ver ~Sprite.y ~editor.y1 #0040 ADD2 LTH2 JNZ2
99
+		~Sprite.y ~editor.y1 #0040 ADD2 LTH2 ,$ver JNZ2
100 100
 	~editor.addr =Sprite.addr
101 101
 	~window.y1 =Sprite.y
102 102
 	~window.x2 #0008 SUB2 =Sprite.x
... ...
@@ -1,7 +1,7 @@
1 1
 ( draw routines )
2 2
 
3 3
 %RTN { JMP2r }
4
-%RTN? { #00 EQU #02 SWP JNZ STH2r JMP2 }
4
+%RTN? { #00 EQU #02 JNZ STH2r JMP2 }
5 5
 
6 6
 ;color { byte 1 }
7 7
 ;pointer { x 2 y 2 sprite 2 } 
... ...
@@ -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 ROT JNZ2 #02 =color ,hand_icn =pointer.sprite 
36
+	#0101 NEQ2 ,$draw1 JNZ2 #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
-	,$draw2 ~Mouse.x ~r2.x1 GTH2 ~Mouse.x ~r2.x2 LTH2 #0101 NEQ2 JNZ2
42
-		,$draw2 ~Mouse.y ~r2.y1 GTH2 ~Mouse.y ~r2.y2 LTH2 #0101 NEQ2 JNZ2
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
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
-	,$draw3 ~Mouse.x ~r3.x1 LTH2 JNZ2
49
-		,$draw3 ~Mouse.x ~r3.x2 GTH2 JNZ2
50
-			,$draw3 ~Mouse.y ~r3.y1 LTH2 JNZ2
51
-				,$draw3 ~Mouse.y ~r3.y2 GTH2 JNZ2
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
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
-		,$hor ~Screen.x ~rect.x2 LTH2 JNZ2
85
+		~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
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
-		,$ver ~Screen.y ~rect.y2 #0001 ADD2 LTH2 JNZ2
91
+		~Screen.y ~rect.y2 #0001 ADD2 LTH2 ,$ver JNZ2
92 92
 
93 93
 RTN
94 94
 
... ...
@@ -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
-		,$hor ~Sprite.x ~pict.width ~pict.x ADD2 LTH2 JNZ2
28
+		~Sprite.x ~pict.width ~pict.x ADD2 LTH2 ,$hor JNZ2
29 29
 		( incr ) ~Sprite.y #0008 ADD2 =Sprite.y
30
-	,$ver ~Sprite.y ~pict.height ~pict.y ADD2 LTH2 JNZ2
30
+	~Sprite.y ~pict.height ~pict.y ADD2 LTH2 ,$ver JNZ2
31 31
 
32 32
 RTN
33 33
 
... ...
@@ -4,7 +4,7 @@
4 4
 %++  { #0001 ADD2 }
5 5
 %--  { #0001 SUB2 }
6 6
 %8+  { #0008 ADD2 }
7
-%ABS2 { DUP2 #000f SFT2 EQU #04 SWP JNZ #ffff MUL2 }
7
+%ABS2 { DUP2 #000f SFT2 EQU #04 JNZ #ffff MUL2 }
8 8
 
9 9
 ;pict { x 2 y 2 width 2 height 2 color 1 addr 2 }
10 10
 ;rect { x1 2 y1 2 x2 2 y2 2 }
... ...
@@ -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
-		,$end ~line.x ~line.x0 EQU2 ~line.y ~line.y0 EQU2 #0101 EQU2 JNZ2
56
+		~line.x ~line.x0 EQU2 ~line.y ~line.y0 EQU2 #0101 EQU2 ,$end JNZ2
57 57
 		~line.e1 #0002 MUL2 =line.e2
58
-		,$skipy ~line.e2 ~line.dy LTS2 JNZ2
58
+		~line.e2 ~line.dy LTS2 ,$skipy JNZ2
59 59
 			~line.e1 ~line.dy ADD2 =line.e1
60 60
 			~line.x ~line.sx ADD2 =line.x
61 61
 		$skipy
62
-		,$skipx ~line.e2 ~line.dx GTS2 JNZ2
62
+		~line.e2 ~line.dx GTS2 ,$skipx JNZ2
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
-		,$hor ~Screen.x ~rect.x2 LTH2 JNZ2
79
+		~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
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
-		,$ver ~Screen.y ~rect.y2 ++ LTH2 JNZ2
85
+		~Screen.y ~rect.y2 ++ LTH2 ,$ver JNZ2
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
-			,$hor ~Screen.x ~rect.x2 LTH2 JNZ2
97
+			~Screen.x ~rect.x2 LTH2 ,$hor JNZ2
98 98
 		( incr ) ~Screen.y ++ =Screen.y
99
-		,$ver ~Screen.y ~rect.y2 LTH2 JNZ2
99
+		~Screen.y ~rect.y2 LTH2 ,$ver JNZ2
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
-		,$hor ~Sprite.x ~pict.width ~pict.x ADD2 LTH2 JNZ2
112
+		~Sprite.x ~pict.width ~pict.x ADD2 LTH2 ,$hor JNZ2
113 113
 		( incr ) ~Sprite.y 8+ =Sprite.y
114
-	,$ver ~Sprite.y ~pict.height ~pict.y ADD2 LTH2 JNZ2
114
+	~Sprite.y ~pict.height ~pict.y ADD2 LTH2 ,$ver JNZ2
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
-		,$else ~circle.d #0000 #0001 ADD2 LTS2 JNZ2
126
+		~circle.d #0000 #0001 ADD2 LTS2 ,$else JNZ2
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
-		,$loop ~circle.y ~circle.x #0001 SUB2 GTS2 JNZ2
134
+		~circle.y ~circle.x #0001 SUB2 GTS2 ,$loop JNZ2
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
... ...
@@ -16,7 +16,7 @@
16 16
 )  
17 17
 
18 18
 %RTN { JMP2r }
19
-%RTN? { #00 EQU #02 SWP JNZ STH2r JMP2 }
19
+%RTN? { #00 EQU #02 JNZ STH2r JMP2 }
20 20
 
21 21
 %++ { #0001 ADD2 } %-- { #0001 SUB2 }
22 22
 %8/ { #0003 SFT2 } %8* { #0030 SFT2 }
... ...
@@ -69,62 +69,62 @@ BRK
69 69
 
70 70
 	( ctrl )
71 71
 
72
-	,ctrl-end ~Controller #00 EQU ~lock #00 NEQ #0000 NEQ2 JNZ2
72
+	~Controller #00 EQU ~lock #00 NEQ #0000 NEQ2 ,ctrl-end JNZ2
73 73
 		( lock ) #04 =lock
74
-		,no-ctrl-up ~Controller #10 NEQ JNZ2
75
-			( clamp ) ,no-ctrl-up ~position.y #0000 EQU2 JNZ2
74
+		~Controller #10 NEQ ,no-ctrl-up JNZ2
75
+			( clamp ) ~position.y #0000 EQU2 ,no-ctrl-up JNZ2
76 76
 			,find-lineoffset JSR2 =position.x 
77 77
 			~position.y -- =position.y 
78 78
 			,find-selection JSR2 DUP2 =selection.from ++ =selection.to
79 79
 			,clamp-selection JSR2 ,follow-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
80 80
 		@no-ctrl-up
81
-		,no-ctrl-down ~Controller #20 NEQ JNZ2
81
+		~Controller #20 NEQ ,no-ctrl-down JNZ2
82 82
 			,find-lineoffset JSR2 =position.x ~position.y ++ =position.y 
83 83
 			,find-selection JSR2 DUP2 =selection.from ++ =selection.to
84 84
 			,clamp-selection JSR2 ,follow-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
85 85
 		@no-ctrl-down
86
-		,no-ctrl-left ~Controller #40 NEQ JNZ2
87
-			( clamp ) ,no-ctrl-left ~selection.from ,document.body EQU2 JNZ2
86
+		~Controller #40 NEQ ,no-ctrl-left JNZ2
87
+			( clamp ) ~selection.from ,document.body EQU2 ,no-ctrl-left JNZ2
88 88
 			~selection.from -- DUP2 =selection.from ++ =selection.to
89 89
 			,clamp-selection JSR2 ,follow-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
90 90
 		@no-ctrl-left
91
-		,no-ctrl-right ~Controller #80 NEQ JNZ2
91
+		~Controller #80 NEQ ,no-ctrl-right JNZ2
92 92
 			~selection.from ++ DUP2 =selection.from ++ =selection.to
93 93
 			,clamp-selection JSR2 ,follow-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
94 94
 		@no-ctrl-right
95 95
 		( alt )
96
-		,no-alt ~Controller #0f AND #02 NEQ JNZ2
97
-			,no-aup ~Controller #04 SFT #01 NEQ JNZ2
96
+		~Controller #0f AND #02 NEQ ,no-alt JNZ2
97
+			~Controller #04 SFT #01 NEQ ,no-aup JNZ2
98 98
 				,find-wordstart JSR2 =selection.to
99 99
 				,clamp-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
100 100
 			@no-aup
101
-			,no-adown ~Controller #04 SFT #02 NEQ JNZ2
101
+			~Controller #04 SFT #02 NEQ ,no-adown JNZ2
102 102
 				,find-wordend JSR2 =selection.to
103 103
 				,clamp-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
104 104
 			@no-adown
105
-			,no-aleft ~Controller #04 SFT #04 NEQ JNZ2
105
+			~Controller #04 SFT #04 NEQ ,no-aleft JNZ2
106 106
 				~selection.to -- =selection.to
107 107
 				,clamp-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
108 108
 			@no-aleft
109
-			,no-aright ~Controller #04 SFT #08 NEQ JNZ2
109
+			~Controller #04 SFT #08 NEQ ,no-aright JNZ2
110 110
 				~selection.to ++ =selection.to
111 111
 				,clamp-selection JSR2 ,redraw JSR2 ,ctrl-end JMP2
112 112
 			@no-aright
113 113
 		@no-alt
114 114
 		( ctrl )
115
-		,no-ctrl ~Controller #0f AND #01 NEQ JNZ2
116
-			,no-cup ~Controller #04 SFT #01 NEQ JNZ2
115
+		~Controller #0f AND #01 NEQ ,no-ctrl JNZ2
116
+			~Controller #04 SFT #01 NEQ ,no-cup JNZ2
117 117
 				#0004 ,scroll-up JSR2
118 118
 				,redraw JSR2 ,ctrl-end JMP2
119 119
 			@no-cup
120
-			,no-cdown ~Controller #04 SFT #02 NEQ JNZ2
120
+			~Controller #04 SFT #02 NEQ ,no-cdown JNZ2
121 121
 				#0004 ,scroll-down JSR2
122 122
 				,redraw JSR2 ,ctrl-end JMP2
123 123
 			@no-cdown
124
-			,no-cleft ~Controller #04 SFT #04 NEQ JNZ2
124
+			~Controller #04 SFT #04 NEQ ,no-cleft JNZ2
125 125
 				,goto-linestart JSR2 ,redraw JSR2 ,ctrl-end JMP2
126 126
 			@no-cleft
127
-			,no-cright ~Controller #04 SFT #08 NEQ JNZ2
127
+			~Controller #04 SFT #08 NEQ ,no-cright JNZ2
128 128
 				,goto-lineend JSR2 ,redraw JSR2 ,ctrl-end JMP2
129 129
 			@no-cright
130 130
 		@no-ctrl
... ...
@@ -133,11 +133,11 @@ BRK
133 133
 
134 134
 	( keys )
135 135
 
136
-	,no-keys ~Keys #00 EQU JNZ2
136
+	~Keys #00 EQU ,no-keys JNZ2
137 137
 
138
-		,$no-backspace ~Keys #08 NEQ JNZ2
138
+		~Keys #08 NEQ ,$no-backspace JNZ2
139 139
 			( erase )
140
-			,$erase-multiple ~selection.to ~selection.from SUB2 #0001 NEQ2 JNZ2
140
+			~selection.to ~selection.from SUB2 #0001 NEQ2 ,$erase-multiple JNZ2
141 141
 				~selection.to ~selection.from SUB2 ,shift-left JSR2
142 142
 				,$erase-end JMP2
143 143
 			$erase-multiple
... ...
@@ -162,28 +162,28 @@ BRK
162 162
 
163 163
 	( mouse )
164 164
 
165
-	,no-change ~Mouse.state ~touch.state EQU JNZ2
165
+	~Mouse.state ~touch.state EQU ,no-change JNZ2
166 166
 	
167 167
 		#0000 =Sprite.x ~Screen.height 8- =Sprite.y
168 168
 		,mouse00icn =Sprite.addr
169
-		,nobutton1 ~Mouse.state #01 NEQ JNZ2 ,mouse01icn =Sprite.addr @nobutton1
170
-		,nobutton2 ~Mouse.state #10 NEQ JNZ2 ,mouse10icn =Sprite.addr @nobutton2
171
-		,nobutton3 ~Mouse.state #11 NEQ JNZ2 ,mouse11icn =Sprite.addr @nobutton3
169
+		~Mouse.state #01 NEQ ,nobutton1 JNZ2 ,mouse01icn =Sprite.addr @nobutton1
170
+		~Mouse.state #10 NEQ ,nobutton2 JNZ2 ,mouse10icn =Sprite.addr @nobutton2
171
+		~Mouse.state #11 NEQ ,nobutton3 JNZ2 ,mouse11icn =Sprite.addr @nobutton3
172 172
 		#01 =Sprite.color
173 173
 
174 174
 	@no-change
175 175
 
176
-	,touch-end ~Mouse.state #00 EQU JNZ2
176
+	~Mouse.state #00 EQU ,touch-end JNZ2
177 177
 
178
-		,touch-linebar ~Mouse.x #0010 LTH2 JNZ2
179
-		,touch-body ~Mouse.x ~Screen.width 8- LTH2 JNZ2
178
+		~Mouse.x #0010 LTH2 ,touch-linebar JNZ2
179
+		~Mouse.x ~Screen.width 8- LTH2 ,touch-body JNZ2
180 180
 		,touch-scrollbar JMP2
181 181
 
182 182
 	@touch-end
183 183
 
184 184
 	~Mouse.state =touch.state
185 185
 
186
-	( unlock ) ,skip-unlock ~lock #00 EQU JNZ2 ~lock #01 SUB =lock @skip-unlock
186
+	( unlock ) ~lock #00 EQU ,skip-unlock JNZ2 ~lock #01 SUB =lock @skip-unlock
187 187
 
188 188
 	,draw-cursor JSR2
189 189
 
... ...
@@ -191,11 +191,11 @@ BRK
191 191
 
192 192
 @touch-scrollbar
193 193
 
194
-	,$no-up ~Mouse.y #0008 GTH2 JNZ2
194
+	~Mouse.y #0008 GTH2 ,$no-up JNZ2
195 195
 		( decr ) ~scroll.y #00 ~scroll.y #0000 NEQ2 SUB2 =scroll.y
196 196
 		^$end JMP
197 197
 	$no-up 
198
-	,$no-down ~Mouse.y ~Screen.height 8- LTH2 JNZ2
198
+	~Mouse.y ~Screen.height 8- LTH2 ,$no-down JNZ2
199 199
 		( incr ) ~scroll.y ++ =scroll.y
200 200
 		^$end JMP
201 201
 	$no-down 
... ...
@@ -220,20 +220,20 @@ RTN
220 220
 	~Mouse.y 8/ ~scroll.y ADD2 =position.y
221 221
 	~Mouse.x ~textarea.x1 SUB2 #0007 ADD2 #0007 DIV2 =position.x
222 222
 
223
-	,$no-chord-cut ~Mouse.chord #01 NEQ JNZ2
223
+	~Mouse.chord #01 NEQ ,$no-chord-cut JNZ2
224 224
 		,cut JSR2
225 225
 		( release ) #00 DUP =Mouse.state =Mouse.chord
226 226
 		^$end JMP
227 227
 	$no-chord-cut
228
-	,$no-chord-paste ~Mouse.chord #10 NEQ JNZ2
228
+	~Mouse.chord #10 NEQ ,$no-chord-paste JNZ2
229 229
 		,paste JSR2
230 230
 		( release ) #00 DUP =Mouse.state =Mouse.chord
231 231
 		^$end JMP
232 232
 	$no-chord-paste
233 233
 
234
-	,$end ~Mouse.state #11 EQU JNZ2
234
+	~Mouse.state #11 EQU ,$end JNZ2
235 235
 
236
-	,$no-drag ~Mouse.state ~touch.state NEQ ~Controller #0f AND #02 NEQ #0101 EQU2 JNZ2
236
+	~Mouse.state ~touch.state NEQ ~Controller #0f AND #02 NEQ #0101 EQU2 ,$no-drag JNZ2
237 237
 		( on drag )
238 238
 		,find-selection JSR2 ++ =selection.to
239 239
 		,clamp-selection JSR2
... ...
@@ -260,7 +260,7 @@ RTN
260 260
 
261 261
 @scroll-up ( length )
262 262
 	
263
-	DUP2 ~scroll.y LTH2 ,$clamp ROT JNZ2
263
+	DUP2 ~scroll.y LTH2 ,$clamp JNZ2
264 264
 		#0000 =scroll.y POP2 RTN
265 265
 	$clamp
266 266
 	~scroll.y SWP2 SUB2 =scroll.y
... ...
@@ -300,10 +300,10 @@ RTN
300 300
 
301 301
 @follow-selection
302 302
 
303
-	,$no-up ~position.y ~scroll.y GTH2 JNZ2
303
+	~position.y ~scroll.y GTH2 ,$no-up JNZ2
304 304
 		~position.y =scroll.y RTN
305 305
 	$no-up
306
-	,$no-down ~position.y ~Screen.height #0010 SUB2 8/ ~scroll.y ADD2 LTH2 JNZ2
306
+	~position.y ~Screen.height #0010 SUB2 8/ ~scroll.y ADD2 LTH2 ,$no-down JNZ2
307 307
 		~position.y ~Screen.height #0010 SUB2 8/ SUB2 =scroll.y RTN
308 308
 	$no-down
309 309
 
... ...
@@ -347,9 +347,9 @@ RTN
347 347
 	~selection.to =j
348 348
 	$loop NOP
349 349
 		( decr ) ~j -- =j
350
-		,$end ~j PEK2 #20 EQU JNZ2
351
-		,$end ~j PEK2 #0a EQU JNZ2
352
-		,$end ~j PEK2 #0d EQU JNZ2
350
+		~j PEK2 #20 EQU ,$end JNZ2
351
+		~j PEK2 #0a EQU ,$end JNZ2
352
+		~j PEK2 #0d EQU ,$end JNZ2
353 353
 		~j ,document.body GTH2 ^$loop MUL JMP
354 354
 	$end 
355 355
 	( return ) ~j --
... ...
@@ -361,9 +361,9 @@ RTN
361 361
 	~selection.to =j
362 362
 	$loop NOP
363 363
 		( incr ) ~j ++ =j
364
-		,$end ~j PEK2 #20 EQU JNZ2
365
-		,$end ~j PEK2 #0a EQU JNZ2
366
-		,$end ~j PEK2 #0d EQU JNZ2
364
+		~j PEK2 #20 EQU ,$end JNZ2
365
+		~j PEK2 #0a EQU ,$end JNZ2
366
+		~j PEK2 #0d EQU ,$end JNZ2
367 367
 		~j ,document.body GTH2 ^$loop MUL JMP
368 368
 	$end 
369 369
 	( return ) ~j ++
... ...
@@ -375,8 +375,8 @@ RTN
375 375
 	#0000 =j
376 376
 	$loop NOP
377 377
 		( incr ) ~j ++ =j
378
-		,$end ~selection.from ~j SUB2 PEK2 #0a EQU JNZ2
379
-		,$end ~selection.from ~j SUB2 PEK2 #0d EQU JNZ2
378
+		~selection.from ~j SUB2 PEK2 #0a EQU ,$end JNZ2
379
+		~selection.from ~j SUB2 PEK2 #0d EQU ,$end JNZ2
380 380
 		~selection.from ~j SUB2 ,document.body GTH2 ^$loop MUL JMP
381 381
 	$end 
382 382
 	( return ) ~j
... ...
@@ -387,8 +387,8 @@ RTN
387 387
 
388 388
 	,document.body =j #0000 =pt.y
389 389
 	$loop NOP
390
-		,$end ~pt.y ~position.y -- GTH2 JNZ2
391
-		,$no-space ~j PEK2 #0a NEQ ~j PEK2 #0d NEQ #0101 EQU2 JNZ2
390
+		~pt.y ~position.y -- GTH2 ,$end JNZ2
391
+		~j PEK2 #0a NEQ ~j PEK2 #0d NEQ #0101 EQU2 ,$no-space JNZ2
392 392
 			( incr ) ~pt.y ++ =pt.y
393 393
 		$no-space
394 394
 		( incr ) ~j ++ =j
... ...
@@ -403,8 +403,8 @@ RTN
403 403
 	,find-line JSR2 ( find line )
404 404
 	#0000 =pt.x
405 405
 	$loop NOP
406
-		,$end ~j ~pt.x ADD2 PEK2 #0a EQU JNZ2
407
-		,$end ~j ~pt.x ADD2 PEK2 #0d EQU JNZ2
406
+		~j ~pt.x ADD2 PEK2 #0a EQU ,$end JNZ2
407
+		~j ~pt.x ADD2 PEK2 #0d EQU ,$end JNZ2
408 408
 		( incr ) ~pt.x ++ =pt.x
409 409
 		~pt.x ~position.x -- LTH2 ^$loop MUL JMP
410 410
 	$end
... ...
@@ -448,17 +448,17 @@ RTN
448 448
 	
449 449
 	,document.body =selection.from #0000 =pt.x #0000 =pt.y
450 450
 	$loop
451
-		,$no-space ~selection.from PEK2 #0a NEQ ~selection.from PEK2 #0d NEQ #0101 EQU2 JNZ2
451
+		~selection.from PEK2 #0a NEQ ~selection.from PEK2 #0d NEQ #0101 EQU2 ,$no-space JNZ2
452 452
 			( incr ) ~pt.y ++ =pt.y
453 453
 			#0000 =pt.x
454 454
 		$no-space
455
-		,$no-reached ~pt.y ~position.y -- GTH2 ~pt.x ~position.x -- GTH2 #0101 NEQ2 JNZ2
455
+		~pt.y ~position.y -- GTH2 ~pt.x ~position.x -- GTH2 #0101 NEQ2 ,$no-reached JNZ2
456 456
 			~selection.from ++ =selection.to
457 457
 			RTN
458 458
 		$no-reached
459 459
 		( incr ) ~pt.x ++ =pt.x
460 460
 		( incr ) ~selection.from ++ =selection.from
461
-	,$loop ~selection.from PEK2 #00 NEQ JNZ2
461
+	~selection.from PEK2 #00 NEQ ,$loop JNZ2
462 462
 
463 463
 RTN
464 464
 
... ...
@@ -530,8 +530,8 @@ RTN
530 530
 	( scroll to position )
531 531
 	#0000 =j ( j is linebreaks )
532 532
 	$find-offset NOP
533
-		,$find-offset-end ~scroll.y ~j EQU2 JNZ2
534
-		,$no-break ~textarea.addr PEK2 #0a NEQ ~textarea.addr PEK2 #0d NEQ #0101 EQU2 JNZ2
533
+		~scroll.y ~j EQU2 ,$find-offset-end JNZ2
534
+		~textarea.addr PEK2 #0a NEQ ~textarea.addr PEK2 #0d NEQ #0101 EQU2 ,$no-break JNZ2
535 535
 			( incr ) ~j ++ =j
536 536
 		$no-break
537 537
 		( incr ) ~textarea.addr ++ =textarea.addr
... ...
@@ -543,7 +543,7 @@ RTN
543 543
 
544 544
 	$loop
545 545
 
546
-		,$end ~Sprite.y ~Screen.height #0010 SUB2 GTH2 JNZ2
546
+		~Sprite.y ~Screen.height #0010 SUB2 GTH2 ,$end JNZ2
547 547
 
548 548
 		( get character )
549 549
 		,font #00 ~i PEK2 #20 SUB 8* ADD2 =Sprite.addr
... ...
@@ -553,7 +553,7 @@ RTN
553 553
 		~i ~selection.to LTH2 #0101 EQU2
554 554
 		#05 MUL ADD ~i ~selection.from EQU2 ADD =Sprite.color
555 555
 
556
-		,$no-linebreak ~i PEK2 #0a NEQ ~i PEK2 #0d NEQ #0101 EQU2 JNZ2
556
+		~i PEK2 #0a NEQ ~i PEK2 #0d NEQ #0101 EQU2 ,$no-linebreak JNZ2
557 557
 			( draw linebreak )
558 558
 			,linebreak_icn =Sprite.addr
559 559
 			( draw ) #02
... ...
@@ -565,7 +565,7 @@ RTN
565 565
 				( incr ) ~Sprite.x 8+ =Sprite.x
566 566
 				,font =Sprite.addr
567 567
 				#01 =Sprite.color
568
-				,$fill-clear ~Sprite.x ~Screen.width 8- LTH2 JNZ2
568
+				~Sprite.x ~Screen.width 8- LTH2 ,$fill-clear JNZ2
569 569
 
570 570
 			( draw line number )
571 571
 
... ...
@@ -585,7 +585,7 @@ RTN
585 585
 		( incr ) ~i ++ =i
586 586
 		( incr ) ~Sprite.x #0007 ADD2 =Sprite.x
587 587
 
588
-	,$loop ~i PEK2 #00 NEQ JNZ2
588
+	~i PEK2 #00 NEQ ,$loop JNZ2
589 589
 
590 590
 	$end
591 591
 
... ...
@@ -8,7 +8,7 @@
8 8
 )
9 9
 
10 10
 %RTN   { JMP2r }
11
-%RTN?  { #00 EQU #02 SWP JNZ STH2r JMP2 }
11
+%RTN?  { #00 EQU #02 JNZ STH2r JMP2 }
12 12
 %STEP8 { #0033 SFT2 }
13 13
 
14 14
 %++ { #0001 ADD2 }
... ...
@@ -62,28 +62,28 @@ BRK
62 62
 
63 63
 	( keyboard controls )
64 64
 
65
-	,no-key ~Keys #00 EQU JNZ2
65
+	~Keys #00 EQU ,no-key JNZ2
66 66
 
67
-		,no-key ~Keys #31 LTH JNZ2
68
-		,no-key ~Keys #33 GTH JNZ2
67
+		~Keys #31 LTH ,no-key JNZ2
68
+		~Keys #33 GTH ,no-key JNZ2
69 69
 		( select ) ~Keys #31 SUB =bankview.mode
70 70
 		( release ) #00 =Keys
71 71
 		,redraw JSR2 
72 72
 
73 73
 	@no-key
74 74
 
75
-	,no-ctrl ~Controller.buttons #00 EQU JNZ2
75
+	~Controller.buttons #00 EQU ,no-ctrl JNZ2
76 76
 
77
-		,no-ctrl-up ~Controller.buttons #10 EQU JNZ2
77
+		~Controller.buttons #10 EQU ,no-ctrl-up JNZ2
78 78
 			~tileview.addr #0080 ADD2 =tileview.addr
79 79
 		@no-ctrl-up
80
-		,no-ctrl-down ~Controller.buttons #20 EQU JNZ2
80
+		~Controller.buttons #20 EQU ,no-ctrl-down JNZ2
81 81
 			~tileview.addr #0080 SUB2 =tileview.addr
82 82
 		@no-ctrl-down
83
-		,no-ctrl-left ~Controller.buttons #40 EQU JNZ2
83
+		~Controller.buttons #40 EQU ,no-ctrl-left JNZ2
84 84
 			~tileview.addr 8+ =tileview.addr
85 85
 		@no-ctrl-left
86
-		,no-ctrl-right ~Controller.buttons #80 EQU JNZ2
86
+		~Controller.buttons #80 EQU ,no-ctrl-right JNZ2
87 87
 			~tileview.addr 8- =tileview.addr
88 88
 		@no-ctrl-right
89 89
 		~tileview.addr #0800 DIV2 #0800 MUL2 =bankview.addr
... ...
@@ -93,27 +93,27 @@ BRK
93 93
 
94 94
 	( mouse controls )
95 95
 
96
-	,click-end ~Mouse.state #00 EQU JNZ2
96
+	~Mouse.state #00 EQU ,click-end JNZ2
97 97
 
98 98
 		( toolbar )
99 99
 
100
-		,no-toolbar-click ~Mouse.y ~bankview.y #0010 SUB2 SUB2 8/ #0000 NEQ2 JNZ2
100
+		~Mouse.y ~bankview.y #0010 SUB2 SUB2 8/ #0000 NEQ2 ,no-toolbar-click JNZ2
101 101
 
102 102
 			( brush )
103
-			,no-brush-click ~Mouse.x ~bankview.x SUB2 8/ #000d LTH2 JNZ2
104
-			,no-brush-click ~Mouse.x ~bankview.x SUB2 8/ #000f GTH2 JNZ2
103
+			~Mouse.x ~bankview.x SUB2 8/ #000d LTH2 ,no-brush-click JNZ2
104
+			~Mouse.x ~bankview.x SUB2 8/ #000f GTH2 ,no-brush-click JNZ2
105 105
 				( select ) ~mouse.x ~bankview.x SUB2 8/ #000d SUB2 SWP POP =bankview.mode
106 106
 				( release ) #00 =Mouse.state
107 107
 				,redraw JSR2 ,click-end JMP2
108 108
 			@no-brush-click
109 109
 
110
-			,no-load-click ~Mouse.x ~tileview.x SUB2 8/ #000e NEQU2 JNZ2
110
+			~Mouse.x ~tileview.x SUB2 8/ #000e NEQU2 ,no-load-click JNZ2
111 111
 				( load ) ,filepath  =File.name #0800 =File.length ~bankview.addr =File.load
112 112
 				( release ) #00 =Mouse.state
113 113
 				,redraw JSR2 ,click-end JMP2
114 114
 			@no-load-click
115 115
 
116
-			,no-save-click ~Mouse.x ~tileview.x SUB2 8/ #000f NEQU2 JNZ2
116
+			~Mouse.x ~tileview.x SUB2 8/ #000f NEQU2 ,no-save-click JNZ2
117 117
 				( save ) ,filepath  =File.name #0800 =File.length ~bankview.addr =File.save
118 118
 				( release ) #00 =Mouse.state
119 119
 				,redraw JSR2 ,click-end JMP2
... ...
@@ -125,9 +125,9 @@ BRK
125 125
 
126 126
 		~Mouse.x ~bankview.x GTH2 ~Mouse.x ~bankview.x #0080 ADD2 LTH2 #0101 EQU2
127 127
 		~Mouse.y ~bankview.y GTH2 ~Mouse.y ~bankview.y #0080 ADD2 LTH2 #0101 EQU2
128
-		#0101 NEQ2 ,no-bank-click ROT JNZ2
128
+		#0101 NEQ2 ,no-bank-click JNZ2
129 129
 
130
-			,not-copy-mode ~bankview.mode #01 NEQ JNZ2
130
+			~bankview.mode #01 NEQ ,not-copy-mode JNZ2
131 131
 				#00 =i
132 132
 				@copy-loop NOP
133 133
 					( load ) ~tileview.addr ~i ADD PEK2 
... ...
@@ -140,7 +140,7 @@ BRK
140 140
 				,redraw JSR2 ,click-end JMP2
141 141
 			@not-copy-mode
142 142
 
143
-			,not-erase-mode ~bankview.mode #02 NEQ JNZ2
143
+			~bankview.mode #02 NEQ ,not-erase-mode JNZ2
144 144
 				#00 =i
145 145
 				@erase-loop NOP
146 146
 					#00 
... ...
@@ -164,7 +164,7 @@ BRK
164 164
 
165 165
 		~Mouse.x ~tileview.x GTH2 ~Mouse.x ~tileview.x #0080 ADD2 LTH2 #0101 EQU2
166 166
 		~Mouse.y ~tileview.y GTH2 ~Mouse.y ~tileview.y #0080 ADD2 LTH2 #0101 EQU2
167
-		#0101 NEQ2 ,no-tile-click ROT JNZ2
167
+		#0101 NEQ2 ,no-tile-click JNZ2
168 168
 
169 169
 			~Mouse.x ~tileview.x SUB2 STEP8 #0040 DIV2 
170 170
 			~Mouse.y ~tileview.y SUB2 STEP8 #0040 DIV2 2* ADD2 
... ...
@@ -172,7 +172,7 @@ BRK
172 172
 			~tileview.addr ADD2 =addr ( addr offset )
173 173
 			~Mouse.x ~tileview.x SUB2 ~Mouse.x ~tileview.x SUB2 #0040 DIV2 #0040 MUL2 SUB2 =pos.x
174 174
 			~Mouse.y ~tileview.y SUB2 ~Mouse.y ~tileview.y SUB2 #0040 DIV2 #0040 MUL2 SUB2 =pos.y
175
-			,no-erase-mode ~Mouse.state #10 NEQ JNZ2
175
+			~Mouse.state #10 NEQ ,no-erase-mode JNZ2
176 176
 				( load ) ~addr ~pos.y 8/ ADD2 PEK2
177 177
 				( mask ) #01 #07 ~pos.x 8/ SWP POP SUB SFL 
178 178
 				#ff EOR AND
... ...
@@ -189,15 +189,15 @@ BRK
189 189
 
190 190
 		( operations )
191 191
 
192
-		,no-operations ~Mouse.y ~tileview.y SUB2 8/ #000c NEQ2 JNZ2
192
+		~Mouse.y ~tileview.y SUB2 8/ #000c NEQ2 ,no-operations JNZ2
193 193
 
194
-			,no-move-up ~Mouse.x ~tileview.x SUB2 8/ #0011 NEQ2 JNZ2
194
+			~Mouse.x ~tileview.x SUB2 8/ #0011 NEQ2 ,no-move-up JNZ2
195 195
 				,op_shiftup JSR2 
196 196
 				( release ) #00 =Mouse.state
197 197
 				,redraw JSR2 ,click-end JMP2
198 198
 			@no-move-up
199 199
 
200
-			,no-move-down ~Mouse.x ~tileview.x SUB2 8/ #0012 NEQ2 JNZ2
200
+			~Mouse.x ~tileview.x SUB2 8/ #0012 NEQ2 ,no-move-down JNZ2
201 201
 				,op_shiftdown JSR2 
202 202
 				( release ) #00 =Mouse.state
203 203
 				,redraw JSR2 ,click-end JMP2
... ...
@@ -297,7 +297,7 @@ RTN
297 297
 		( draw ) #02 =Sprite.color
298 298
 		~Sprite.addr 8+ =Sprite.addr
299 299
 		( incr ) ~i #01 ADD =i
300
-		,$guides ~i #10 LTH JNZ2
300
+		~i #10 LTH ,$guides JNZ2
301 301
 
302 302
 	( body )
303 303
 
... ...
@@ -314,10 +314,10 @@ RTN
314 314
 			( incr ) ~Sprite.x 8+ =Sprite.x
315 315
 			( incr ) ~Sprite.addr 8+ =Sprite.addr
316 316
 			( incr ) ~pt.x #01 ADD =pt.x
317
-			,$hor ~pt.x #10 LTH JNZ2
317
+			~pt.x #10 LTH ,$hor JNZ2
318 318
 		( incr ) ~pt.y #01 ADD =pt.y
319 319
 		( incr ) ~Sprite.y 8+ =Sprite.y
320
-		,$ver ~pt.y #10 LTH JNZ2
320
+		~pt.y #10 LTH ,$ver JNZ2
321 321
 
322 322
 RTN
323 323
 
... ...
@@ -364,7 +364,7 @@ RTN
364 364
 	$line-hor
365 365
 		( draw ) #03 =Screen.color
366 366
 		( incr ) ~Screen.x #0002 ADD2 =Screen.x
367
-	~Screen.x ~tileview.x #0082 ADD2 LTH2 ,$line-hor ROT JNZ2
367
+	~Screen.x ~tileview.x #0082 ADD2 LTH2 ,$line-hor JNZ2
368 368
 
369 369
 	( line ver )
370 370
 	~tileview.y =Screen.y
... ...
@@ -372,7 +372,7 @@ RTN
372 372
 	$line-ver
373 373
 		( draw ) #03 =Screen.color
374 374
 		( incr ) ~Screen.y #0002 ADD2 =Screen.y
375
-	~Screen.y ~tileview.y #0081 ADD2 LTH2 ,$line-ver ROT JNZ2
375
+	~Screen.y ~tileview.y #0081 ADD2 LTH2 ,$line-ver JNZ2
376 376
 
377 377
 	( rewind ) ~tileview.addr #0018 SUB2 =tileview.addr
378 378
 
... ...
@@ -389,7 +389,7 @@ RTN
389 389
 		( draw ) #02 =Sprite.color
390 390
 		( incr ) ~i #01 ADD =i
391 391
 		( incr ) ~Sprite.y 8+ =Sprite.y
392
-	,$bytes ~i #08 LTH JNZ2
392
+	~i #08 LTH ,$bytes JNZ2
393 393
 
394 394
 	( operations )
395 395
 
... ...
@@ -412,10 +412,10 @@ RTN
412 412
 			( incr ) ~Sprite.x 8+ =Sprite.x
413 413
 			( incr ) ~Sprite.addr 8+ =Sprite.addr
414 414
 			( incr ) ~pt.x #01 ADD =pt.x
415
-			,$tiles-hor ~pt.x #02 LTH JNZ2
415
+			~pt.x #02 LTH ,$tiles-hor JNZ2
416 416
 		( incr ) ~pt.y #01 ADD =pt.y
417 417
 		( incr ) ~Sprite.y 8+ =Sprite.y
418
-		,$tiles-ver ~pt.y #02 LTH JNZ2
418
+		~pt.y #02 LTH ,$tiles-ver JNZ2
419 419
 
420 420
 RTN
421 421
 
... ...
@@ -432,11 +432,11 @@ RTN
432 432
 			( draw ) #01 =Sprite.color
433 433
 			( incr ) ~Sprite.x 8+ =Sprite.x
434 434
 			( incr ) ~pt.x #01 ADD =pt.x
435
-			,$hor ~pt.x #08 LTH JNZ2
435
+			~pt.x #08 LTH ,$hor JNZ2
436 436
 		( incr ) ~Sprite.y 8+ =Sprite.y
437 437
 		( incr ) ~pt.y #01 ADD =pt.y
438 438
 		~Sprite.x #0040 SUB2 =Sprite.x
439
-		,$ver ~pt.y #08 LTH JNZ2
439
+		~pt.y #08 LTH ,$ver JNZ2
440 440
 
441 441
 RTN
442 442
 
... ...
@@ -18,8 +18,8 @@
18 18
 )
19 19
 
20 20
 %RTN   { JMP2r }
21
-%RTN? { #00 EQU #02 SWP JNZ STH2r JMP2 }
22
-%ABS2 { DUP2 #000f SFT2 EQU #04 SWP JNZ #ffff MUL2 }
21
+%RTN? { #00 EQU #02 JNZ STH2r JMP2 }
22
+%ABS2 { DUP2 #000f SFT2 EQU #04 JNZ #ffff MUL2 }
23 23
 %STEP8 { #0033 SFT2 }
24 24
 %MOD8 { #0007 AND2  }
25 25
 %SFL { #40 SFT SFT }
... ...
@@ -111,7 +111,7 @@ BRK
111 111
 	,draw-cursor JSR2
112 112
 
113 113
 	( release drag )
114
-	,$no-release ~Mouse.state #00 EQU ~brush.drag #01 EQU #0101 NEQ2 JNZ2
114
+	~Mouse.state #00 EQU ~brush.drag #01 EQU #0101 NEQ2 ,$no-release JNZ2
115 115
 		~origin.x1 #0002 SUB2 ~origin.y1 #0002 SUB2 ~origin.x2 #0002 ADD2 ~origin.y2 #0002 ADD2 #00 ,fill-rect JSR2
116 116
 		~canvas.x1 -- ~canvas.y1 -- ~canvas.x2 ~canvas.y2 #10 ,line-rect JSR2
117 117
 		,draw-background JSR2
... ...
@@ -123,32 +123,32 @@ BRK
123 123
 	$no-release
124 124
 
125 125
 	( operations on release line/rect )
126
-	,$no-touch-change ~Mouse.state ~brush.last EQU JNZ2
127
-	,$no-touch-change ~Mouse.x CLN2r ~canvas.x1 GTS2 STH2r ~canvas.x2 LTS2 #0101 NEQ2 JNZ2
128
-	,$no-touch-change ~Mouse.y CLN2r ~canvas.y1 GTS2 STH2r ~canvas.y2 LTS2 #0101 NEQ2 JNZ2
129
-		,$no-touch-ondown ~Mouse.state #00 EQU JNZ2
126
+	~Mouse.state ~brush.last EQU ,$no-touch-change JNZ2
127
+	~Mouse.x CLN2r ~canvas.x1 GTS2 STH2r ~canvas.x2 LTS2 #0101 NEQ2 ,$no-touch-change JNZ2
128
+	~Mouse.y CLN2r ~canvas.y1 GTS2 STH2r ~canvas.y2 LTS2 #0101 NEQ2 ,$no-touch-change JNZ2
129
+		~Mouse.state #00 EQU ,$no-touch-ondown JNZ2
130 130
 			( on down )
131 131
 			~Mouse.x =cursor.dx
132 132
 			~Mouse.y =cursor.dy
133 133
 		$no-touch-ondown
134
-		,$no-touch-onup ~Mouse.state #00 NEQ JNZ2
134
+		~Mouse.state #00 NEQ ,$no-touch-onup JNZ2
135 135
 			( on up )
136
-			,$no-touch-line ~brush.tool #02 NEQ JNZ2
136
+			~brush.tool #02 NEQ ,$no-touch-line JNZ2
137 137
 				~cursor.dx ~canvas.x1 SUB2 ~cursor.dy ~canvas.y1 SUB2 ~Mouse.x ~canvas.x1 SUB2 ~Mouse.y ~canvas.y1 SUB2 ,paint-line JSR2
138 138
 				,$touch-end JMP2
139 139
 			$no-touch-line
140
-			,$no-touch-rect ~brush.tool #03 NEQ JNZ2
140
+			~brush.tool #03 NEQ ,$no-touch-rect JNZ2
141 141
 				~cursor.dx ~canvas.x1 SUB2 ~cursor.dy ~canvas.y1 SUB2 ~Mouse.x ~canvas.x1 SUB2 ~Mouse.y ~canvas.y1 SUB2 ,paint-rect JSR2
142 142
 				,$touch-end JMP2
143 143
 			$no-touch-rect
144 144
 		$no-touch-onup
145 145
 	$no-touch-change
146 146
 
147
-	,$no-touch ~Mouse.state #00 EQU JNZ2
147
+	~Mouse.state #00 EQU ,$no-touch JNZ2
148 148
 
149 149
 		( drag )
150
-		,$no-drag ~Controller #02 NEQ JNZ2
151
-			,$no-drag-start ~brush.drag #00 NEQ JNZ2
150
+		~Controller #02 NEQ ,$no-drag JNZ2
151
+			~brush.drag #00 NEQ ,$no-drag-start JNZ2
152 152
 				~canvas.x1 =origin.x1
153 153
 				~canvas.y1 =origin.y1
154 154
 				~canvas.x2 =origin.x2
... ...
@@ -165,8 +165,8 @@ BRK
165 165
 		$no-drag
166 166
 
167 167
 		( in sizepane )
168
-		,$no-touch-sizepane ~Mouse.x CLN2r ~sizepane.x1 GTH2 STH2r ~sizepane.x2 LTH2 #0101 NEQ2 JNZ2
169
-		,$no-touch-sizepane ~Mouse.y CLN2r ~sizepane.y1 GTH2 STH2r ~sizepane.y2 LTH2 #0101 NEQ2 JNZ2
168
+		~Mouse.x CLN2r ~sizepane.x1 GTH2 STH2r ~sizepane.x2 LTH2 #0101 NEQ2 ,$no-touch-sizepane JNZ2
169
+		~Mouse.y CLN2r ~sizepane.y1 GTH2 STH2r ~sizepane.y2 LTH2 #0101 NEQ2 ,$no-touch-sizepane JNZ2
170 170
 			( release ) #00 =Mouse.state
171 171
 			#01 =brush.tool
172 172
 			~Mouse.x ~sizepane.x1 SUB2 8/ SWP POP =brush.size
... ...
@@ -176,8 +176,8 @@ BRK
176 176
 		$no-touch-sizepane
177 177
 
178 178
 		( in pattpane )
179
-		,$no-touch-pattpane ~Mouse.x CLN2r ~pattpane.x1 GTH2 STH2r ~pattpane.x2 LTH2 #0101 NEQ2 JNZ2
180
-		,$no-touch-pattpane ~Mouse.y CLN2r ~pattpane.y1 GTH2 STH2r ~pattpane.y2 LTH2 #0101 NEQ2 JNZ2
179
+		~Mouse.x CLN2r ~pattpane.x1 GTH2 STH2r ~pattpane.x2 LTH2 #0101 NEQ2 ,$no-touch-pattpane JNZ2
180
+		~Mouse.y CLN2r ~pattpane.y1 GTH2 STH2r ~pattpane.y2 LTH2 #0101 NEQ2 ,$no-touch-pattpane JNZ2
181 181
 			( release ) #00 =Mouse.state
182 182
 			~Mouse.x ~pattpane.x1 SUB2 8/ SWP POP =brush.patt
183 183
 			( draw ) ,draw-pattpane JSR2
... ...
@@ -185,8 +185,8 @@ BRK
185 185
 		$no-touch-pattpane
186 186
 
187 187
 		( in toolpane )
188
-		,$no-touch-toolpane ~Mouse.x CLN2r ~toolpane.x1 GTH2 STH2r ~toolpane.x2 LTH2 #0101 NEQ2 JNZ2
189
-		,$no-touch-toolpane ~Mouse.y CLN2r ~toolpane.y1 GTH2 STH2r ~toolpane.y2 LTH2 #0101 NEQ2 JNZ2
188
+		~Mouse.x CLN2r ~toolpane.x1 GTH2 STH2r ~toolpane.x2 LTH2 #0101 NEQ2 ,$no-touch-toolpane JNZ2
189
+		~Mouse.y CLN2r ~toolpane.y1 GTH2 STH2r ~toolpane.y2 LTH2 #0101 NEQ2 ,$no-touch-toolpane JNZ2
190 190
 			( release ) #00 =Mouse.state
191 191
 			~Mouse.x ~toolpane.x1 SUB2 8/ SWP POP =brush.tool
192 192
 			( draw ) ,draw-toolpane JSR2
... ...
@@ -194,23 +194,23 @@ BRK
194 194
 		$no-touch-toolpane
195 195
 
196 196
 		( in canvas )
197
-		,$no-touch-canvas ~Mouse.x CLN2r ~canvas.x1 GTS2 STH2r ~canvas.x2 LTS2 #0101 NEQ2 JNZ2
198
-		,$no-touch-canvas ~Mouse.y CLN2r ~canvas.y1 GTS2 STH2r ~canvas.y2 LTS2 #0101 NEQ2 JNZ2
197
+		~Mouse.x CLN2r ~canvas.x1 GTS2 STH2r ~canvas.x2 LTS2 #0101 NEQ2 ,$no-touch-canvas JNZ2
198
+		~Mouse.y CLN2r ~canvas.y1 GTS2 STH2r ~canvas.y2 LTS2 #0101 NEQ2 ,$no-touch-canvas JNZ2
199 199
 
200 200
 			( set cursor operation )
201
-			,add-pixel ,$no-oper ~Mouse.state #01 EQU JNZ2 POP2 ,remove-pixel $no-oper =brush.oper
201
+			,add-pixel ~Mouse.state #01 EQU ,$no-oper JNZ2 POP2 ,remove-pixel $no-oper =brush.oper
202 202
 
203
-			,$no-touch-pen ~brush.tool #00 NEQ JNZ2
203
+			~brush.tool #00 NEQ ,$no-touch-pen JNZ2
204 204
 				~cursor.x0 ~canvas.x1 SUB2 ~cursor.y0 ~canvas.y1 SUB2 ~Mouse.x ~canvas.x1 SUB2 ~Mouse.y ~canvas.y1 SUB2 ,paint-line JSR2
205 205
 				,$touch-end JMP2
206 206
 			$no-touch-pen
207 207
 
208
-			,$no-touch-brush ~brush.tool #01 NEQ JNZ2
208
+			~brush.tool #01 NEQ ,$no-touch-brush JNZ2
209 209
 				~Mouse.x ~canvas.x1 SUB2 ~Mouse.y ~canvas.y1 SUB2 ,paint-brush JSR2
210 210
 				,$touch-end JMP2
211 211
 			$no-touch-brush
212 212
 
213
-			,$no-touch-zoom ~brush.tool #04 NEQ JNZ2
213
+			~brush.tool #04 NEQ ,$no-touch-zoom JNZ2
214 214
 				~zoom.active #00 EQU =zoom.active
215 215
 				( release ) #00 =Mouse.state
216 216
 				~Mouse.x ~canvas.x1 SUB2 ~canvas.w 2/ SUB2 =zoom.x
... ...
@@ -222,14 +222,14 @@ BRK
222 222
 		$no-touch-canvas
223 223
 
224 224
 		( background interface )
225
-		,$no-touch-background ~Mouse.y STEP8 ~Screen.height #0010 SUB2 NEQ2 JNZ2
225
+		~Mouse.y STEP8 ~Screen.height #0010 SUB2 NEQ2 ,$no-touch-background JNZ2
226 226
 			~Mouse.x ~Screen.width #0020 SUB2 SUB2 8/ 
227
-			DUP2 #0001 NEQ2 ,$no-load-button ROT JNZ2
227
+			DUP2 #0001 NEQ2 ,$no-load-button JNZ2
228 228
 				,filepath ,load-file JSR2
229 229
 				,draw-canvas JSR2
230 230
 				( release ) #00 =Mouse.state
231 231
 			$no-load-button
232
-			DUP2 #0002 NEQ2 ,$no-save-button ROT JNZ2
232
+			DUP2 #0002 NEQ2 ,$no-save-button JNZ2
233 233
 				,filepath ,save-file JSR2
234 234
 				( release ) #00 =Mouse.state
235 235
 			$no-save-button
... ...
@@ -242,34 +242,34 @@ BRK
242 242
 	$no-touch
243 243
 
244 244
 	~Controller.buttons #f0 AND
245
-		DUP #04 SFT #01 AND #01 NEQ ,$no-up ROT JNZ2
245
+		DUP #04 SFT #01 AND #01 NEQ ,$no-up JNZ2
246 246
 			( move ) ~zoom.y -- =zoom.y $no-up
247
-		DUP #05 SFT #01 AND #01 NEQ ,$no-down ROT JNZ2
247
+		DUP #05 SFT #01 AND #01 NEQ ,$no-down JNZ2
248 248
 			( move ) ~zoom.y ++ =zoom.y $no-down
249
-		DUP #06 SFT #01 AND #01 NEQ ,$no-left ROT JNZ2
249
+		DUP #06 SFT #01 AND #01 NEQ ,$no-left JNZ2
250 250
 			( move ) ~zoom.x -- =zoom.x $no-left
251
-		DUP #07 SFT #01 AND #01 NEQ ,$no-right ROT JNZ2
251
+		DUP #07 SFT #01 AND #01 NEQ ,$no-right JNZ2
252 252
 			( move ) ~zoom.x ++ =zoom.x $no-right
253
-	#00 EQU #04 SWP JNZ ,draw-canvas JSR2
253
+	#00 EQU #04 JNZ ,draw-canvas JSR2
254 254
 	
255
-	,$no-keys ~Keys #00 EQU JNZ2
255
+	~Keys #00 EQU ,$no-keys JNZ2
256 256
 		~Keys 
257
-		DUP #20 NEQ ,$no-space ROT JNZ2
257
+		DUP #20 NEQ ,$no-space JNZ2
258 258
 			( toggle zoom ) ~zoom.active #00 EQU =zoom.active ,redraw JSR2 $no-space 
259
-		DUP #08 NEQ ,$no-backspace ROT JNZ2
259
+		DUP #08 NEQ ,$no-backspace JNZ2
260 260
 			( erase ) ,clear JSR2 $no-backspace
261
-		DUP #71 NEQ ,$no-qkey ROT JNZ2
261
+		DUP #71 NEQ ,$no-qkey JNZ2
262 262
 			( tool0 ) #00 =brush.tool ,draw-toolpane JSR2 $no-qkey
263
-		DUP #77 NEQ ,$no-wkey ROT JNZ2
263
+		DUP #77 NEQ ,$no-wkey JNZ2
264 264
 			( tool0 ) #01 =brush.tool ,draw-toolpane JSR2 $no-wkey
265
-		DUP #65 NEQ ,$no-ekey ROT JNZ2
265
+		DUP #65 NEQ ,$no-ekey JNZ2
266 266
 			( tool0 ) #02 =brush.tool ,draw-toolpane JSR2 $no-ekey
267
-		DUP #72 NEQ ,$no-rkey ROT JNZ2
267
+		DUP #72 NEQ ,$no-rkey JNZ2
268 268
 			( tool0 ) #03 =brush.tool ,draw-toolpane JSR2 $no-rkey
269
-		DUP #74 NEQ ,$no-tkey ROT JNZ2
269
+		DUP #74 NEQ ,$no-tkey JNZ2
270 270
 			( tool0 ) #04 =brush.tool ,draw-toolpane JSR2 $no-tkey
271 271
 		DUP 
272
-			DUP #30 GTH SWP #39 LTH #0101 NEQ2 ,$no-numkey ROT JNZ2
272
+			DUP #30 GTH SWP #39 LTH #0101 NEQ2 ,$no-numkey JNZ2
273 273
 			( size ) ~Keys #31 SUB =brush.size ,draw-sizepane JSR2 $no-numkey
274 274
 		POP
275 275
 		( release ) #00 =Keys
... ...
@@ -288,7 +288,7 @@ BRK
288 288
 	$loop NOP
289 289
 		OVR2 #00 ROT ROT POK2
290 290
 		( incr ) SWP2 #0001 ADD2 SWP2
291
-		OVR2 OVR2 LTH2 ^$loop SWP JNZ
291
+		OVR2 OVR2 LTH2 ^$loop JNZ
292 292
 	POP2 POP2
293 293
 	,redraw JSR2
294 294
 
... ...
@@ -320,7 +320,7 @@ RTN
320 320
 	( load ) =line.y1 =line.x1 =line.y2 =line.x2
321 321
 
322 322
 	( trim if zoomed )
323
-	,$no-zoom ~zoom.active #01 NEQ JNZ2
323
+	~zoom.active #01 NEQ ,$no-zoom JNZ2
324 324
 		~line.x1 8/ ~zoom.x ADD2 =line.x1
325 325
 		~line.y1 8/ ~zoom.y ADD2 =line.y1
326 326
 		~line.x2 8/ ~zoom.x ADD2 =line.x2
... ...
@@ -334,13 +334,13 @@ RTN
334 334
 	~line.dx ~line.dy ADD2 =line.e1
335 335
 	$loop
336 336
 		( paint ) ~line.x2 ~line.y2 ~brush.oper JSR2
337
-		,$end ~line.x2 ~line.x1 EQU2 ~line.y2 ~line.y1 EQU2 #0101 EQU2 JNZ2
337
+		~line.x2 ~line.x1 EQU2 ~line.y2 ~line.y1 EQU2 #0101 EQU2 ,$end JNZ2
338 338
 		~line.e1 #0002 MUL2 =line.e2
339
-		,$skipy ~line.e2 ~line.dy LTS2 JNZ2
339
+		~line.e2 ~line.dy LTS2 ,$skipy JNZ2
340 340
 			~line.e1 ~line.dy ADD2 =line.e1
341 341
 			~line.x2 ~line.sx ADD2 =line.x2
342 342
 		$skipy
343
-		,$skipx ~line.e2 ~line.dx GTS2 JNZ2
343
+		~line.e2 ~line.dx GTS2 ,$skipx JNZ2
344 344
 			~line.e1 ~line.dx ADD2 =line.e1
345 345
 			~line.y2 ~line.sy ADD2 =line.y2
346 346
 		$skipx
... ...
@@ -360,7 +360,7 @@ RTN
360 360
 	( load ) =rect.y2 =rect.x2 =rect.y1 =rect.x1
361 361
 
362 362
 	( trim if zoomed )
363
-	,$no-zoom ~zoom.active #01 NEQ JNZ2
363
+	~zoom.active #01 NEQ ,$no-zoom JNZ2
364 364
 		~rect.x1 8/ ~zoom.x ADD2 =rect.x1
365 365
 		~rect.y1 8/ ~zoom.y ADD2 =rect.y1
366 366
 		~rect.x2 8/ ~zoom.x ADD2 #0001 ADD2 =rect.x2
... ...
@@ -374,13 +374,13 @@ RTN
374 374
 		~rect.x1 =pt2.x
375 375
 		$hor
376 376
 			~pt2.x SWP POP =px.x ~pt2.y SWP POP =px.y
377
-			,$no-pixel ,patternize JSR2 #00 EQU JNZ2
377
+			,patternize JSR2 #00 EQU ,$no-pixel JNZ2
378 378
 				( draw ) ~pt2.x ~pt2.y ~brush.oper JSR2
379 379
 			$no-pixel
380 380
 			( incr ) ~pt2.x ++ =pt2.x
381
-			,$hor ~pt2.x ~rect.x2 LTS2 JNZ2
381
+			~pt2.x ~rect.x2 LTS2 ,$hor JNZ2
382 382
 		~pt2.y ++ =pt2.y
383
-		,$ver ~pt2.y ~rect.y2 LTS2 JNZ2
383
+		~pt2.y ~rect.y2 LTS2 ,$ver JNZ2
384 384
 
385 385
 	,draw-canvas JSR2
386 386
 	,draw-toolpane JSR2
... ...
@@ -394,7 +394,7 @@ RTN
394 394
 	#0003 SUB2 =pt0.y #0003 SUB2 =pt0.x ( cursor offset )
395 395
 
396 396
 	( trim if zoomed )
397
-	,$no-zoom ~zoom.active #01 NEQ JNZ2
397
+	~zoom.active #01 NEQ ,$no-zoom JNZ2
398 398
 		~pt0.x 8/ ~zoom.x ADD2 #0003 SUB2 =pt0.x
399 399
 		~pt0.y 8/ ~zoom.y ADD2 #0003 SUB2 =pt0.y
400 400
 	$no-zoom
... ...
@@ -405,14 +405,14 @@ RTN
405 405
 		$hor
406 406
 			( addr ) ,size_icn #00 ~brush.size 8* ADD2
407 407
 			( byte ) #00 ~px.y ADD2 PEK2 #07 ~px.x SUB SFT #01 AND 
408
-			#00 EQU ,$no-pixel ROT JNZ2
409
-				,$no-pixel ,patternize JSR2 #00 EQU JNZ2
408
+			#00 EQU ,$no-pixel JNZ2
409
+				,patternize JSR2 #00 EQU ,$no-pixel JNZ2
410 410
 				~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 ~brush.oper JSR2
411 411
 			$no-pixel
412 412
 			( incr ) ~px.x #01 ADD =px.x
413
-			,$hor ~px.x #08 LTH JNZ2
413
+			~px.x #08 LTH ,$hor JNZ2
414 414
 		( incr ) ~px.y #01 ADD =px.y
415
-		,$ver ~px.y #08 LTH JNZ2
415
+		~px.y #08 LTH ,$ver JNZ2
416 416
 
417 417
 	,draw-canvas JSR2
418 418
 	,draw-toolpane JSR2
... ...
@@ -423,44 +423,44 @@ RTN
423 423
 
424 424
 @patternize
425 425
 
426
-	,$noplain ~brush.patt #00 NEQ JNZ2
426
+	~brush.patt #00 NEQ ,$noplain JNZ2
427 427
 		#01 RTN
428 428
 	$noplain
429 429
 
430
-	,$notone1 ~brush.patt #01 NEQ JNZ2
430
+	~brush.patt #01 NEQ ,$notone1 JNZ2
431 431
 		~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 ADD2 #0001 AND2 #0000 EQU2 
432 432
 		~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 SUB2 #0001 AND2 #0000 EQU2 
433 433
 		#0101 EQU2
434 434
 		RTN
435 435
 	$notone1
436 436
 
437
-	,$notone2 ~brush.patt #02 NEQ JNZ2
437
+	~brush.patt #02 NEQ ,$notone2 JNZ2
438 438
 		~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 ADD2 #0003 AND2 #0000 EQU2 
439 439
 		~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 SUB2 #0003 AND2 #0000 EQU2 
440 440
 		#0101 EQU2
441 441
 		RTN
442 442
 	$notone2
443 443
 
444
-	,$notone3 ~brush.patt #03 NEQ JNZ2
444
+	~brush.patt #03 NEQ ,$notone3 JNZ2
445 445
 		~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 ADD2 #0005 AND2 #0000 EQU2 
446 446
 		~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 SUB2 #0005 AND2 #0000 EQU2 
447 447
 		#0101 EQU2
448 448
 		RTN
449 449
 	$notone3
450 450
 
451
-	,$notone4 ~brush.patt #04 NEQ JNZ2
451
+	~brush.patt #04 NEQ ,$notone4 JNZ2
452 452
 		~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 ADD2 #0003 AND2 #0000 EQU2  RTN
453 453
 	$notone4
454 454
 
455
-	,$notone5 ~brush.patt #05 NEQ JNZ2
455
+	~brush.patt #05 NEQ ,$notone5 JNZ2
456 456
 		~pt0.x #00 ~px.x ADD2 ~pt0.y #00 ~px.y ADD2 SUB2 #0003 AND2 #0000 EQU2  RTN
457 457
 	$notone5
458 458
 
459
-	,$notone6 ~brush.patt #06 NEQ JNZ2
459
+	~brush.patt #06 NEQ ,$notone6 JNZ2
460 460
 		~pt0.x #00 ~px.x ADD2 #0001 AND2 SWP POP RTN
461 461
 	$notone6
462 462
 
463
-	,$notone7 ~brush.patt #07 NEQ JNZ2
463
+	~brush.patt #07 NEQ ,$notone7 JNZ2
464 464
 		~pt0.y #00 ~px.y ADD2 #0001 AND2 SWP POP RTN
465 465
 	$notone7
466 466
 
... ...
@@ -512,7 +512,7 @@ RTN
512 512
 
513 513
 @draw-canvas
514 514
 	
515
-	,draw-canvas-zoom ~zoom.active #01 EQU JNZ2
515
+	~zoom.active #01 EQU ,draw-canvas-zoom JNZ2
516 516
 
517 517
 	~canvas.y1 =Sprite.y
518 518
 	,data =Sprite.addr
... ...
@@ -522,9 +522,9 @@ RTN
522 522
 			( draw ) #09 =Sprite.color
523 523
 			( incr ) ~Sprite.x 8+ =Sprite.x
524 524
 			( incr ) ~Sprite.addr 8+ =Sprite.addr
525
-		,$hor ~Sprite.x ~canvas.x2 NEQ2 JNZ2
525
+		~Sprite.x ~canvas.x2 NEQ2 ,$hor JNZ2
526 526
 		( incr ) ~Sprite.y 8+ =Sprite.y
527
-	,$ver ~Sprite.y ~canvas.y2 NEQ2 JNZ2
527
+	~Sprite.y ~canvas.y2 NEQ2 ,$ver JNZ2
528 528
 
529 529
 RTN
530 530
 
... ...
@@ -541,10 +541,10 @@ RTN
541 541
 			( draw ) #09 =Sprite.color
542 542
 			( incr ) ~Sprite.x 8+ =Sprite.x
543 543
 			( incr ) ~pt1.x ++ =pt1.x
544
-		,$hor ~Sprite.x ~canvas.x2 NEQ2 JNZ2
544
+		~Sprite.x ~canvas.x2 NEQ2 ,$hor JNZ2
545 545
 		( incr ) ~Sprite.y 8+ =Sprite.y
546 546
 		( incr ) ~pt1.y ++ =pt1.y
547
-	,$ver ~Sprite.y ~canvas.y2 NEQ2 JNZ2
547
+	~Sprite.y ~canvas.y2 NEQ2 ,$ver JNZ2
548 548
 
549 549
 RTN
550 550
 
... ...
@@ -574,20 +574,20 @@ RTN
574 574
 	~Mouse.y =cursor.y
575 575
 
576 576
 	( draw size cursor )
577
-	,$outside-canvas ~brush.tool #01 NEQ JNZ2
578
-	,$outside-canvas ~Mouse.x CLN2r ~canvas.x1 GTH2 STH2r ~canvas.x2 LTH2 #0101 NEQ2 JNZ2
579
-	,$outside-canvas ~Mouse.y CLN2r ~canvas.y1 GTH2 STH2r ~canvas.y2 LTH2 #0101 NEQ2 JNZ2	
577
+	~brush.tool #01 NEQ ,$outside-canvas JNZ2
578
+	~Mouse.x CLN2r ~canvas.x1 GTH2 STH2r ~canvas.x2 LTH2 #0101 NEQ2 ,$outside-canvas JNZ2
579
+	~Mouse.y CLN2r ~canvas.y1 GTH2 STH2r ~canvas.y2 LTH2 #0101 NEQ2 ,$outside-canvas JNZ2	
580 580
 		( do not draw size in toolpane )
581
-		,$outside-canvas ~Mouse.x CLN2r ~toolpane.x1 GTH2 STH2r ~toolpane.x2 LTH2 #0101 EQU2 ~Mouse.y CLN2r ~toolpane.y1 GTH2 STH2r ~toolpane.y2 LTH2 #0101 EQU2 #0101 EQU2 JNZ2
582
-		,$outside-canvas ~Mouse.x CLN2r ~sizepane.x1 GTH2 STH2r ~sizepane.x2 LTH2 #0101 EQU2 ~Mouse.y CLN2r ~sizepane.y1 GTH2 STH2r ~sizepane.y2 LTH2 #0101 EQU2 #0101 EQU2 JNZ2
583
-		,$outside-canvas ~Mouse.x CLN2r ~pattpane.x1 GTH2 STH2r ~pattpane.x2 LTH2 #0101 EQU2 ~Mouse.y CLN2r ~pattpane.y1 GTH2 STH2r ~pattpane.y2 LTH2 #0101 EQU2 #0101 EQU2 JNZ2
581
+		~Mouse.x CLN2r ~toolpane.x1 GTH2 STH2r ~toolpane.x2 LTH2 #0101 EQU2 ~Mouse.y CLN2r ~toolpane.y1 GTH2 STH2r ~toolpane.y2 LTH2 #0101 EQU2 #0101 EQU2 ,$outside-canvas JNZ2
582
+		~Mouse.x CLN2r ~sizepane.x1 GTH2 STH2r ~sizepane.x2 LTH2 #0101 EQU2 ~Mouse.y CLN2r ~sizepane.y1 GTH2 STH2r ~sizepane.y2 LTH2 #0101 EQU2 #0101 EQU2 ,$outside-canvas JNZ2
583
+		~Mouse.x CLN2r ~pattpane.x1 GTH2 STH2r ~pattpane.x2 LTH2 #0101 EQU2 ~Mouse.y CLN2r ~pattpane.y1 GTH2 STH2r ~pattpane.y2 LTH2 #0101 EQU2 #0101 EQU2 ,$outside-canvas JNZ2
584 584
 		( do not draw size when holding alt )
585
-		,$outside-canvas ~Controller #02 EQU JNZ2
585
+		~Controller #02 EQU ,$outside-canvas JNZ2
586 586
 		~cursor.x #0003 SUB2 =Sprite.x
587 587
 		~cursor.y #0003 SUB2 =Sprite.y
588 588
 		,brush_view #00 ~brush.size 8* ADD2 =Sprite.addr
589 589
 		#11 ~Mouse.state #02 MUL ADD =Sprite.color
590
-		,$outside-canvas ~Mouse.state #00 EQU JNZ2
590
+		~Mouse.state #00 EQU ,$outside-canvas JNZ2
591 591
 			RTN
592 592
 	$outside-canvas
593 593
 
... ...
@@ -611,9 +611,9 @@ RTN
611 611
 		( draw ) #01 ~Sprite.x ~pattpane.x1 SUB2 8/ SWP POP ~brush.tool EQU #02 MUL ADD =Sprite.color
612 612
 		( incr ) ~Sprite.x 8+ =Sprite.x
613 613
 		( incr ) ~Sprite.addr 8+ =Sprite.addr
614
-		,$tools ~Sprite.x ~toolpane.x2 LTH2 JNZ2
614
+		~Sprite.x ~toolpane.x2 LTH2 ,$tools JNZ2
615 615
 
616
-	,$no-zoom ~zoom.active #01 NEQ JNZ2
616
+	~zoom.active #01 NEQ ,$no-zoom JNZ2
617 617
 		~Sprite.x #0008 SUB2 =Sprite.x
618 618
 		,tool_icn #0028 ADD2 =Sprite.addr
619 619
 		#01 #04 ~brush.tool EQU #02 MUL ADD =Sprite.color
... ...
@@ -634,7 +634,7 @@ RTN
634 634
 		( draw ) #01 ~Sprite.x ~pattpane.x1 SUB2 8/ SWP POP ~brush.patt EQU #02 MUL ADD =Sprite.color
635 635
 		( incr ) ~Sprite.x 8+ =Sprite.x
636 636
 		( incr ) ~Sprite.addr 8+ =Sprite.addr
637
-		,$patterns ~Sprite.x ~pattpane.x2 LTH2 JNZ2
637
+		~Sprite.x ~pattpane.x2 LTH2 ,$patterns JNZ2
638 638
 
639 639
 RTN
640 640
 
... ...
@@ -651,7 +651,7 @@ RTN
651 651
 		( draw ) #01 ~Sprite.x ~sizepane.x1 SUB2 8/ SWP POP ~brush.size EQU #02 MUL ADD =Sprite.color
652 652
 		( incr ) ~Sprite.x 8+ =Sprite.x
653 653
 		( incr ) ~Sprite.addr 8+ =Sprite.addr
654
-		,$patterns ~Sprite.x ~sizepane.x2 LTH2 JNZ2
654
+		~Sprite.x ~sizepane.x2 LTH2 ,$patterns JNZ2
655 655
 
656 656
 RTN
657 657
 
... ...
@@ -663,7 +663,7 @@ RTN
663 663
 	$draw-hor NOP
664 664
 		( draw ) #01 =Screen.color
665 665
 		( incr ) SWP2 #0002 ADD2 DUP2 =Screen.x SWP2
666
-		OVR2 OVR2 LTH2 ^$draw-hor SWP JNZ
666
+		OVR2 OVR2 LTH2 ^$draw-hor JNZ
667 667
 	POP2 POP2
668 668
 
669 669
 	( draw ver line )
... ...
@@ -672,7 +672,7 @@ RTN
672 672
 	$draw-ver NOP
673 673
 		( draw ) #01 =Screen.color
674 674
 		( incr ) SWP2 #0002 ADD2 DUP2 =Screen.y SWP2
675
-		OVR2 OVR2 LTH2 ^$draw-ver SWP JNZ
675
+		OVR2 OVR2 LTH2 ^$draw-ver JNZ
676 676
 	POP2 POP2
677 677
 
678 678
 	( draw save/load/guides icons )
... ...
@@ -711,13 +711,13 @@ RTN
711 711
 		( incr ) ~Screen.x ++ =Screen.x
712 712
 		( draw ) ~rect.y1 =Screen.y ~color =Screen.color
713 713
 		( draw ) ~rect.y2 =Screen.y ~color =Screen.color
714
-		,$hor ~Screen.x ~rect.x2 NEQ2 JNZ2
714
+		~Screen.x ~rect.x2 NEQ2 ,$hor JNZ2
715 715
 	~rect.y1 =Screen.y
716 716
 	$ver
717 717
 		( draw ) ~rect.x1 =Screen.x ~color =Screen.color
718 718
 		( draw ) ~rect.x2 =Screen.x ~color =Screen.color
719 719
 		( incr ) ~Screen.y ++ =Screen.y
720
-		,$ver ~Screen.y ~rect.y2 ++ NEQ2 JNZ2
720
+		~Screen.y ~rect.y2 ++ NEQ2 ,$ver JNZ2
721 721
 
722 722
 RTN
723 723
 
... ...
@@ -729,9 +729,9 @@ RTN
729 729
 		$hor
730 730
 			( draw ) ~color =Screen.color
731 731
 			( incr ) ~Screen.x ++ =Screen.x
732
-			,$hor ~Screen.x ~rect.x2 NEQ2 JNZ2
732
+			~Screen.x ~rect.x2 NEQ2 ,$hor JNZ2
733 733
 		( incr ) ~Screen.y ++ =Screen.y
734
-		,$ver ~Screen.y ~rect.y2 NEQ2 JNZ2
734
+		~Screen.y ~rect.y2 NEQ2 ,$ver JNZ2
735 735
 
736 736
 RTN
737 737
 
... ...
@@ -46,7 +46,7 @@ void op_lth(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); push8(u->src, b
46 46
 void op_gts(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); push8(u->src, (Sint8)b > (Sint8)a); }
47 47
 void op_lts(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); push8(u->src, (Sint8)b < (Sint8)a); }
48 48
 void op_jmp(Uxn *u) { Uint8 a = pop8(u->src); u->ram.ptr += (Sint8)a; }
49
-void op_jnz(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); if (a) u->ram.ptr += (Sint8)b; }
49
+void op_jnz(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); if (b) u->ram.ptr += (Sint8)a; }
50 50
 void op_jsr(Uxn *u) { Uint8 a = pop8(u->src); push16(u->dst, u->ram.ptr); u->ram.ptr += (Sint8)a; }
51 51
 /* Memory */
52 52
 void op_pek(Uxn *u) { Uint8 a = pop8(u->src); push8(u->src, mempeek8(u, a)); }
... ...
@@ -80,7 +80,7 @@ void op_lth16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push8(u->sr
80 80
 void op_gts16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push8(u->src, (Sint16)b > (Sint16)a); }
81 81
 void op_lts16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push8(u->src, (Sint16)b < (Sint16)a); }
82 82
 void op_jmp16(Uxn *u) { u->ram.ptr = pop16(u->src); }
83
-void op_jnz16(Uxn *u) { Uint8 a = pop8(&u->wst); Uint16 b = pop16(u->src); if (a) u->ram.ptr = b; }
83
+void op_jnz16(Uxn *u) { Uint16 a = pop16(u->src); Uint8 b = pop8(u->src); if (b) u->ram.ptr = a; }
84 84
 void op_jsr16(Uxn *u) { push16(u->dst, u->ram.ptr); u->ram.ptr = pop16(u->src); }
85 85
 /* Memory(16-bits) */
86 86
 void op_pek16(Uxn *u) { Uint16 a = pop16(u->src); push8(u->src, mempeek8(u, a)); }