Browse code

Cleaning up Nasu

neauoire authored on 04/03/2021 17:07:33
Showing 2 changed files
... ...
@@ -192,6 +192,14 @@ drawdebugger(Uint32 *dst, Uxn *u)
192 192
 		drawicn(dst, x, y, icons[(b >> 4) & 0xf], 1 + (u->wst.ptr == i), 0);
193 193
 		drawicn(dst, x + 8, y, icons[b & 0xf], 1 + (u->wst.ptr == i), 0);
194 194
 	}
195
+	for(x = 0; x < 32; ++x) {
196
+		drawpixel(dst, x, HEIGHT / 2, 2);
197
+		drawpixel(dst, WIDTH - x, HEIGHT / 2, 2);
198
+		drawpixel(dst, WIDTH / 2, HEIGHT - x, 2);
199
+		drawpixel(dst, WIDTH / 2, x, 2);
200
+		drawpixel(dst, WIDTH / 2 - 16 + x, HEIGHT / 2, 2);
201
+		drawpixel(dst, WIDTH / 2, HEIGHT / 2 - 16 + x, 2);
202
+	}
195 203
 }
196 204
 
197 205
 void
... ...
@@ -24,75 +24,76 @@
24 24
 
25 25
 |0100 @RESET
26 26
 	
27
-	~dev/screen.width #0002 DIV2 #0098 SUB2 =bankview.x ~dev/screen.height #0002 DIV2 #0040 SUB2 =bankview.y ,bank1 =bankview.addr
28
-	~dev/screen.width #0002 DIV2 #0008 SUB2 =tileview.x ~dev/screen.height #0002 DIV2 #0040 SUB2 =tileview.y ,bank1 #0448 ADD2 =tileview.addr
27
+	~dev/screen.width #0002 DIV2 #008a SUB2 =bankview.x 
28
+	~dev/screen.height #0002 DIV2 #0040 SUB2 =bankview.y 
29
+	,bank1 =bankview.addr
30
+
31
+	~dev/screen.width #0002 DIV2 #0004 ADD2 =tileview.x 
32
+	~dev/screen.height #0002 DIV2 #0040 SUB2 =tileview.y 
33
+	,bank1 #0448 ADD2 =tileview.addr
29 34
 
30 35
 	,redraw JSR
31 36
 
32 37
 BRK
33 38
 
34
-|0200 @FRAME 
39
+@FRAME 
35 40
 	
41
+	( keyboard controls )
42
+
36 43
 	,no-ctrl ~dev/ctrl.buttons #00 EQU JMP? POP2
37 44
 
38 45
 		,no-ctrl-up ~dev/ctrl.buttons #10 EQU JMP? POP2
39 46
 			~tileview.addr #0080 ADD2 =tileview.addr
40
-			~tileview.addr #0800 DIV2 #0800 MUL2 =bankview.addr
41
-			,redraw JSR
42 47
 		@no-ctrl-up
43
-
44 48
 		,no-ctrl-down ~dev/ctrl.buttons #20 EQU JMP? POP2
45 49
 			~tileview.addr #0080 SUB2 =tileview.addr
46
-			~tileview.addr #0800 DIV2 #0800 MUL2 =bankview.addr
47
-			,redraw JSR
48 50
 		@no-ctrl-down
49
-
50 51
 		,no-ctrl-left ~dev/ctrl.buttons #40 EQU JMP? POP2
51 52
 			~tileview.addr #0008 ADD2 =tileview.addr
52
-			~tileview.addr #0800 DIV2 #0800 MUL2 =bankview.addr
53
-			,redraw JSR
54 53
 		@no-ctrl-left
55
-
56 54
 		,no-ctrl-right ~dev/ctrl.buttons #80 EQU JMP? POP2
57 55
 			~tileview.addr #0008 SUB2 =tileview.addr
58
-			~tileview.addr #0800 DIV2 #0800 MUL2 =bankview.addr
59
-			,redraw JSR
60 56
 		@no-ctrl-right
57
+		~tileview.addr #0800 DIV2 #0800 MUL2 =bankview.addr
58
+		,redraw JSR
61 59
 
62 60
 	@no-ctrl
63 61
 
62
+	( mouse controls )
63
+
64 64
 	,click-end ~dev/mouse.state #00 EQU JMP? POP2
65 65
 
66
+		( bankview )
67
+
66 68
 		~dev/mouse.x ~bankview.x GTH2 ~dev/mouse.x ~bankview.x #0080 ADD2 LTH2 #0101 EQU2
67 69
 		~dev/mouse.y ~bankview.y GTH2 ~dev/mouse.y ~bankview.y #0080 ADD2 LTH2 #0101 EQU2
68 70
 		#0101 NEQ2 ,no-bank-click ROT JMP? POP2
69 71
 
70
-		( touch in bankview )
71
-		~dev/mouse.x ~bankview.x SUB2 #0008 DIV2 #0008 MUL2 
72
-		~dev/mouse.y ~bankview.y SUB2 #0008 DIV2 #0008 MUL2 #0010 MUL2 ADD2
73
-		~bankview.addr ADD2 =tileview.addr
74
-		,redraw JSR ,click-end JMP
72
+			~dev/mouse.x ~bankview.x SUB2 #0008 DIV2 #0008 MUL2 
73
+			~dev/mouse.y ~bankview.y SUB2 #0008 DIV2 #0008 MUL2 #0010 MUL2 ADD2
74
+			~bankview.addr ADD2 =tileview.addr
75
+			,redraw JSR ,click-end JMP
75 76
 
76 77
 		@no-bank-click
77 78
 
79
+		( tileview )
80
+
78 81
 		~dev/mouse.x ~tileview.x GTH2 ~dev/mouse.x ~tileview.x #0080 ADD2 LTH2 #0101 EQU2
79 82
 		~dev/mouse.y ~tileview.y GTH2 ~dev/mouse.y ~tileview.y #0080 ADD2 LTH2 #0101 EQU2
80 83
 		#0101 NEQ2 ,click-end ROT JMP? POP2
81 84
 
82
-		( touch in tileview )
85
+			~dev/mouse.x ~tileview.x SUB2 #0008 DIV2 #0008 MUL2 #0040 DIV2 
86
+			~dev/mouse.y ~tileview.y SUB2 #0008 DIV2 #0008 MUL2 #0040 DIV2 #0002 MUL2 ADD2 
87
+			#0008 MUL2
88
+			~tileview.addr ADD2 =addr ( addr offset )
83 89
 
84
-		~dev/mouse.x ~tileview.x SUB2 #0008 DIV2 #0008 MUL2 #0040 DIV2 
85
-		~dev/mouse.y ~tileview.y SUB2 #0008 DIV2 #0008 MUL2 #0040 DIV2 #0002 MUL2 ADD2 
86
-		#0008 MUL2
87
-		~tileview.addr ADD2 =addr ( addr offset )
90
+			~dev/mouse.x ~tileview.x SUB2 ~dev/mouse.x ~tileview.x SUB2 #0040 DIV2 #0040 MUL2 SUB2 =pos.x
91
+			~dev/mouse.y ~tileview.y SUB2 ~dev/mouse.y ~tileview.y SUB2 #0040 DIV2 #0040 MUL2 SUB2 =pos.y
88 92
 
89
-		~dev/mouse.x ~tileview.x SUB2 ~dev/mouse.x ~tileview.x SUB2 #0040 DIV2 #0040 MUL2 SUB2 =pos.x
90
-		~dev/mouse.y ~tileview.y SUB2 ~dev/mouse.y ~tileview.y SUB2 #0040 DIV2 #0040 MUL2 SUB2 =pos.y
91
-
92
-		( load ) ~addr ~pos.y #0008 DIV2 ADD2 LDR
93
-		( mask ) #01 #07 ~pos.x #0008 DIV2 SWP POP SUB ROL 
94
-		XOR
95
-		( save ) ~addr ~pos.y #0008 DIV2 ADD2 STR
93
+			( load ) ~addr ~pos.y #0008 DIV2 ADD2 LDR
94
+			( mask ) #01 #07 ~pos.x #0008 DIV2 SWP POP SUB ROL 
95
+			XOR
96
+			( save ) ~addr ~pos.y #0008 DIV2 ADD2 STR
96 97
 
97 98
 		,redraw JSR
98 99
 
... ...
@@ -119,15 +120,34 @@ RTS
119 120
 	~bankview.y #0010 SUB2 =dev/sprite.y
120 121
 	~bankview.addr ,draw-short JSR
121 122
 
123
+	( toolbar )
124
+
125
+	~bankview.x #0060 ADD2 =dev/sprite.x
126
+	~bankview.y #0010 SUB2 =dev/sprite.y
127
+	,tool_selector =dev/sprite.addr
128
+	#01 =dev/sprite.color
129
+
130
+	~dev/sprite.x #0008 ADD2 =dev/sprite.x
131
+	,tool_hand =dev/sprite.addr
132
+	#02 =dev/sprite.color
133
+
134
+	~dev/sprite.x #0008 ADD2 =dev/sprite.x
135
+	,tool_eraser =dev/sprite.addr
136
+	#02 =dev/sprite.color
137
+
138
+	~dev/sprite.x #0008 ADD2 =dev/sprite.x
139
+	,tool_copy =dev/sprite.addr
140
+	#02 =dev/sprite.color
141
+
122 142
 	( guides )
123 143
 
124 144
 	#00 =i ,font_hex =dev/sprite.addr
125 145
 	@draw-bankview-guides
126
-		~bankview.x #000a SUB2 =dev/sprite.x
146
+		~bankview.x #0010 SUB2 =dev/sprite.x
127 147
 		~bankview.y #00 ~i #08 MUL ADD2 =dev/sprite.y
128 148
 		( draw ) #02 =dev/sprite.color
129 149
 		~bankview.x #00 ~i #08 MUL ADD2 =dev/sprite.x
130
-		~bankview.y #0083 ADD2 =dev/sprite.y
150
+		~bankview.y #0089 ADD2 =dev/sprite.y
131 151
 		( draw ) #02 =dev/sprite.color
132 152
 		~dev/sprite.addr #0008 ADD2 =dev/sprite.addr
133 153
 		( incr ) ~i #01 ADD =i
... ...
@@ -216,7 +236,7 @@ RTS
216 236
 	~tileview.y #0018 ADD2 =dev/sprite.y
217 237
 	#00 =i
218 238
 	@draw-tileview-bytes
219
-		~tileview.x #0090 ADD2 =dev/sprite.x
239
+		~tileview.x #0088 ADD2 =dev/sprite.x
220 240
 		,font_hex #00 ~tileview.addr #00 ~i ADD2 LDR #f0 AND #04 ROR #08 MUL ADD2 =dev/sprite.addr
221 241
 		( draw ) #02 =dev/sprite.color
222 242
 		~dev/sprite.x #0008 ADD2 =dev/sprite.x
... ...
@@ -231,7 +251,7 @@ RTS
231 251
 
232 252
 	@draw-tileview-tiles-ver
233 253
 		#00 =pt.x
234
-		~tileview.x #0090 ADD2 =dev/sprite.x
254
+		~tileview.x #0088 ADD2 =dev/sprite.x
235 255
 		@draw-tileview-tiles-hor
236 256
 			( draw ) #03 =dev/sprite.color
237 257
 			( incr ) ~dev/sprite.x #0008 ADD2 =dev/sprite.x
... ...
@@ -242,25 +262,6 @@ RTS
242 262
 		( incr ) ~dev/sprite.y #0008 ADD2 =dev/sprite.y
243 263
 		,draw-tileview-tiles-ver ~pt.y #02 LTH JMP? POP2
244 264
 
245
-	( toolbar )
246
-
247
-	~tileview.x =dev/sprite.x
248
-	~tileview.y #0083 ADD2 =dev/sprite.y
249
-	,tool_selector =dev/sprite.addr
250
-	#01 =dev/sprite.color
251
-
252
-	~dev/sprite.x #0008 ADD2 =dev/sprite.x
253
-	,tool_hand =dev/sprite.addr
254
-	#02 =dev/sprite.color
255
-
256
-	~dev/sprite.x #0008 ADD2 =dev/sprite.x
257
-	,tool_eraser =dev/sprite.addr
258
-	#02 =dev/sprite.color
259
-
260
-	~dev/sprite.x #0008 ADD2 =dev/sprite.x
261
-	,tool_copy =dev/sprite.addr
262
-	#02 =dev/sprite.color
263
-
264 265
 RTS
265 266
 
266 267
 @draw-tileview-icn
... ...
@@ -292,10 +293,20 @@ RTS
292 293
 	#0000 EQU2 RTS? ( Return if unchanged )
293 294
 
294 295
 	( clear last cursor )
295
-	#10 ,blank_icn ~mouse.x ~mouse.y ,draw-sprite JSR
296
+	~mouse.x =dev/sprite.x
297
+	~mouse.y =dev/sprite.y
298
+	,blank_icn =dev/sprite.addr
299
+	#10 =dev/sprite.color
300
+
296 301
 	( record mouse positions )
297
-	~dev/mouse.x =mouse.x ~dev/mouse.y =mouse.y
298
-	#12 ,cursor_icn ~mouse.x ~mouse.y ,draw-sprite JSR
302
+	~dev/mouse.x =mouse.x 
303
+	~dev/mouse.y =mouse.y
304
+
305
+	( draw new cursor )
306
+	~mouse.x =dev/sprite.x
307
+	~mouse.y =dev/sprite.y
308
+	,cursor_icn  =dev/sprite.addr
309
+	#12 =dev/sprite.color
299 310
 
300 311
 RTS
301 312
 
... ...
@@ -335,15 +346,6 @@ RTS
335 346
 
336 347
 RTS
337 348
 
338
-@draw-sprite
339
-
340
-	=dev/sprite.y
341
-	=dev/sprite.x
342
-	=dev/sprite.addr
343
-	=dev/sprite.color
344
-
345
-RTS
346
-
347 349
 @tool_selector [ 80c0 e0f0 f8e0 1000 ]
348 350
 @tool_hand     [ 4040 4070 f8f8 f870 ]
349 351
 @tool_eraser   [ 0814 2244 a850 2d00 ]
... ...
@@ -532,9 +534,7 @@ RTS
532 534
 	0000 4428 1028 4400 0000 4444 443c 0438 0000 7c08 1020 7c00 000c 0810 1008 0c00
533 535
 	0008 0808 0808 0800 0030 1008 0810 3000 0000 0032 4c00 0000 3c42 99a1 a199 423c
534 536
 
535
-]
536
-|F500 @bank3
537
-|F700 @bank4	
537
+]	
538 538
 
539 539
 |FE00 @ERROR BRK 
540 540