Browse code

Progress on Nasu

neauoire authored on 03/03/2021 21:49:25
Showing 1 changed files
... ...
@@ -28,24 +28,60 @@
28 28
 |0100 @RESET
29 29
 	
30 30
 	#0010 =bankview.x #0060 =bankview.y ,bank1 =bankview.addr
31
-	#00b0 =tileview.x #0060 =tileview.y ,bank1 #0123 ADD2 =tileview.addr
32
-	#00b0 =overview.x #0020 =overview.y
31
+	#00b0 =tileview.x #0060 =tileview.y ,bank1 #0448 ADD2 =tileview.addr
32
+	#0010 =overview.x #0010 =overview.y
33 33
 
34
-	,draw-bankview JSR
35
-	,draw-tileview JSR
36
-	,draw-overview JSR
34
+	,redraw JSR
37 35
 
38 36
 BRK
39 37
 
40 38
 |0200 @FRAME 
39
+	
40
+	,no-ctrl ~dev/ctrl.buttons #00 EQU JMP? POP2
41
+
42
+		,no-ctrl-up ~dev/ctrl.buttons #10 EQU JMP? POP2
43
+			~tileview.addr #0008 ADD2 =tileview.addr
44
+			,redraw JSR
45
+		@no-ctrl-up
46
+
47
+		,no-ctrl-down ~dev/ctrl.buttons #20 EQU JMP? POP2
48
+			~tileview.addr #0008 SUB2 =tileview.addr
49
+			,redraw JSR
50
+		@no-ctrl-down
51
+
52
+	@no-ctrl
53
+
54
+	,no-click ~dev/mouse.state #00 EQU JMP? POP2
55
+
56
+		~dev/mouse.x ~bankview.x GTH2 ~dev/mouse.x ~bankview.x #0080 ADD2 LTH2 #0101 EQU2
57
+		~dev/mouse.y ~bankview.y GTH2 ~dev/mouse.y ~bankview.y #0080 ADD2 LTH2 #0101 EQU2
58
+		#0101 NEQ2 ,no-click ROT JMP? POP2
59
+
60
+		( touch in bankview )
61
+		~dev/mouse.x ~bankview.x SUB2 #0008 DIV2 #0008 MUL2 
62
+		~dev/mouse.y ~bankview.y SUB2 #0008 DIV2 #0008 MUL2 #0010 MUL2 ADD2
63
+		~bankview.addr ADD2 =tileview.addr
64
+		,redraw JSR
65
+
66
+
67
+
68
+	@no-click
41 69
 
42 70
 	,draw-cursor JSR
43 71
 
44 72
 BRK 
45 73
 
74
+@redraw
75
+	
76
+	,draw-bankview JSR
77
+	,draw-tileview JSR
78
+	,draw-overview JSR
79
+
80
+RTS
81
+
46 82
 @draw-bankview
47 83
 	
48
-	~bankview.x #0002 SUB2 ~bankview.y #0002 SUB2 ~bankview.x #0090 ADD2 ~bankview.y #0090 ADD2 #03 ,line-rect JSR
84
+	~bankview.x #0002 SUB2 ~bankview.y #0002 SUB2 ~bankview.x #0081 ADD2 ~bankview.y #0081 ADD2 #03 ,line-rect JSR
49 85
 
50 86
 	( position )
51 87
 
... ...
@@ -58,10 +94,10 @@ BRK
58 94
 	#00 =i ,font_hex =dev/sprite.addr
59 95
 	@draw-bankview-guides
60 96
 		~bankview.x #000a SUB2 =dev/sprite.x
61
-		~bankview.y #00 ~i #09 MUL ADD2 =dev/sprite.y
97
+		~bankview.y #00 ~i #08 MUL ADD2 =dev/sprite.y
62 98
 		( draw ) #02 =dev/sprite.color
63
-		~bankview.x #00 ~i #09 MUL ADD2 =dev/sprite.x
64
-		~bankview.y #0092 ADD2 =dev/sprite.y
99
+		~bankview.x #00 ~i #08 MUL ADD2 =dev/sprite.x
100
+		~bankview.y #0083 ADD2 =dev/sprite.y
65 101
 		( draw ) #02 =dev/sprite.color
66 102
 		~dev/sprite.addr #0008 ADD2 =dev/sprite.addr
67 103
 		( incr ) ~i #01 ADD =i
... ...
@@ -71,33 +107,28 @@ BRK
71 107
 
72 108
 	~bankview.x =dev/sprite.x ~bankview.y =dev/sprite.y
73 109
 	#00 =pt.x #00 =pt.y ~bankview.addr =dev/sprite.addr
74
-
75 110
 	@draw-bankview-tiles-ver
76 111
 		#00 =pt.x
77 112
 		~bankview.x =dev/sprite.x
78 113
 		@draw-bankview-tiles-hor
79
-
80 114
 			( draw ) #01 =dev/sprite.color
81
-
82
-			( TODO )
83
-			,no-highlight ~dev/sprite.addr ~tileview.addr NEQ2 JMP? POP2
84
-				( draw ) #02 =dev/sprite.color
115
+			,no-highlight ~dev/sprite.addr ~tileview.addr LTH2 JMP? POP2
116
+				,no-highlight ~dev/sprite.addr ~tileview.addr #0018 ADD2 GTH2 JMP? POP2
117
+				( draw ) #0c =dev/sprite.color
85 118
 			@no-highlight
86
-
87
-
88
-			( incr ) ~dev/sprite.x #0009 ADD2 =dev/sprite.x
119
+			( incr ) ~dev/sprite.x #0008 ADD2 =dev/sprite.x
89 120
 			( incr ) ~dev/sprite.addr #0008 ADD2 =dev/sprite.addr
90 121
 			( incr ) ~pt.x #01 ADD =pt.x
91 122
 			,draw-bankview-tiles-hor ~pt.x #10 LTH JMP? POP2
92 123
 		( incr ) ~pt.y #01 ADD =pt.y
93
-		( incr ) ~dev/sprite.y #0009 ADD2 =dev/sprite.y
124
+		( incr ) ~dev/sprite.y #0008 ADD2 =dev/sprite.y
94 125
 		,draw-bankview-tiles-ver ~pt.y #10 LTH JMP? POP2
95 126
 
96 127
 RTS
97 128
 
98 129
 @draw-tileview
99 130
 
100
-	~tileview.x #0002 SUB2 ~tileview.y #0002 SUB2 ~tileview.x #0090 ADD2 ~tileview.y #0090 ADD2 #03 ,line-rect JSR
131
+	~tileview.x #0002 SUB2 ~tileview.y #0002 SUB2 ~tileview.x #0081 ADD2 ~tileview.y #0081 ADD2 #03 ,line-rect JSR
101 132
 
102 133
 	( position )
103 134
 
... ...
@@ -105,50 +136,67 @@ RTS
105 136
 	~tileview.y #0010 SUB2 =dev/sprite.y
106 137
 	~tileview.addr ,draw-short JSR
107 138
 
108
-	( draw ver line )
109
-	~tileview.y #0008 SUB2 =dev/screen.y
110
-	~tileview.x #0047 ADD2 =dev/screen.x
111
-	@draw-hor
112
-		( draw ) #02 =dev/screen.color
113
-		( incr ) ~dev/screen.y #0002 ADD2 =dev/screen.y
114
-	~dev/screen.y ~tileview.y #0098 ADD2 LTH2 ,draw-hor ROT JMP? POP2
115
-
116
-	( draw hor line )
117
-	~tileview.y #0047 ADD2 =dev/screen.y
118
-	~tileview.x #0008 SUB2 =dev/screen.x
119
-	@draw-ver
120
-		( draw ) #02 =dev/screen.color
121
-		( incr ) ~dev/screen.x #0002 ADD2 =dev/screen.x
122
-	~dev/screen.x ~tileview.x #0098 ADD2 LTH2 ,draw-ver ROT JMP? POP2
123
-
124 139
 	( body )
125 140
 
126 141
 	~tileview.x =dev/sprite.x
127 142
 	~tileview.y =dev/sprite.y
128
-	~tileview.addr #02f0 ADD2 =tileview.addr
143
+	~tileview.addr =tileview.addr
129 144
 	,draw-tileview-icn JSR
130 145
 
131
-	~tileview.x #0048 ADD2 =dev/sprite.x
146
+	~tileview.x #0040 ADD2 =dev/sprite.x
132 147
 	~tileview.y =dev/sprite.y
133 148
 	~tileview.addr #0008 ADD2 =tileview.addr
134 149
 	,draw-tileview-icn JSR
135 150
 
136 151
 	~tileview.x =dev/sprite.x
137
-	~tileview.y #0048 ADD2 =dev/sprite.y
138
-	~tileview.addr #0010 ADD2 =tileview.addr
152
+	~tileview.y #0040 ADD2 =dev/sprite.y
153
+	~tileview.addr #0008 ADD2 =tileview.addr
139 154
 	,draw-tileview-icn JSR
140 155
 
141
-	~tileview.x #0048 ADD2 =dev/sprite.x
142
-	~tileview.y #0048 ADD2 =dev/sprite.y
143
-	~tileview.addr #0018 ADD2 =tileview.addr
156
+	~tileview.x #0040 ADD2 =dev/sprite.x
157
+	~tileview.y #0040 ADD2 =dev/sprite.y
158
+	~tileview.addr #0008 ADD2 =tileview.addr
144 159
 	,draw-tileview-icn JSR
145 160
 
161
+	~tileview.addr #0018 SUB2 =tileview.addr
162
+
146 163
 RTS
147 164
 
148 165
 @draw-overview
149 166
 
150
-	~overview.x #0002 SUB2 ~overview.y #0002 SUB2 ~overview.x #0020 ADD2 ~overview.y #0020 ADD2 #03 ,line-rect JSR
151
-	~overview.x ~overview.y #0010 SUB2 #02 ,over_txt ,draw-label-left JSR
167
+	~overview.x =dev/sprite.x ~overview.y =dev/sprite.y
168
+	#00 =pt.x #00 =pt.y ~tileview.addr =dev/sprite.addr
169
+
170
+	( draw hor line )
171
+	#0040 =dev/screen.y
172
+	#0000 =dev/screen.x
173
+	@draw-ver
174
+		( draw ) #02 =dev/screen.color
175
+		( incr ) ~dev/screen.x #0002 ADD2 =dev/screen.x
176
+	~dev/screen.x ~tileview.x ~dev/screen.width ADD2 LTH2 ,draw-ver ROT JMP? POP2
177
+
178
+	( draw ver line )
179
+	#0000 =dev/screen.y
180
+	#0040 =dev/screen.x
181
+	@draw-hor
182
+		( draw ) #02 =dev/screen.color
183
+		( incr ) ~dev/screen.y #0002 ADD2 =dev/screen.y
184
+	~dev/screen.y #0040 LTH2 ,draw-hor ROT JMP? POP2
185
+
186
+	( body )
187
+
188
+	@draw-overview-tiles-ver
189
+		#00 =pt.x
190
+		~overview.x =dev/sprite.x
191
+		@draw-overview-tiles-hor
192
+			( draw ) #01 =dev/sprite.color
193
+			( incr ) ~dev/sprite.x #0008 ADD2 =dev/sprite.x
194
+			( incr ) ~dev/sprite.addr #0008 ADD2 =dev/sprite.addr
195
+			( incr ) ~pt.x #01 ADD =pt.x
196
+			,draw-overview-tiles-hor ~pt.x #04 LTH JMP? POP2
197
+		( incr ) ~pt.y #01 ADD =pt.y
198
+		( incr ) ~dev/sprite.y #0008 ADD2 =dev/sprite.y
199
+		,draw-overview-tiles-ver ~pt.y #04 LTH JMP? POP2
152 200
 
153 201
 RTS
154 202
 
... ...
@@ -163,12 +211,12 @@ RTS
163 211
 			~tileview.addr #00 ~pt.y ADD2 LDR #07 ~pt.x SUB ROR #01 AND ( get bit )
164 212
 			#0008 MUL2 ADD2 =dev/sprite.addr ( add *8 )
165 213
 			( draw ) #01 =dev/sprite.color
166
-			( incr ) ~dev/sprite.x #0009 ADD2 =dev/sprite.x
214
+			( incr ) ~dev/sprite.x #0008 ADD2 =dev/sprite.x
167 215
 			( incr ) ~pt.x #01 ADD =pt.x
168 216
 			,redraw-hor ~pt.x #08 LTH JMP? POP2
169
-		( incr ) ~dev/sprite.y #0009 ADD2 =dev/sprite.y
217
+		( incr ) ~dev/sprite.y #0008 ADD2 =dev/sprite.y
170 218
 		( incr ) ~pt.y #01 ADD =pt.y
171
-		~dev/sprite.x #0048 SUB2 =dev/sprite.x
219
+		~dev/sprite.x #0040 SUB2 =dev/sprite.x
172 220
 		,redraw-ver ~pt.y #08 LTH JMP? POP2
173 221
 
174 222
 RTS
... ...
@@ -261,7 +309,7 @@ RTS
261 309
 RTS
262 310
 
263 311
 @cell0_icn   [ 0000 0000 0000 0000 ]
264
-@cell1_icn   [ 7eff ffff ffff ff7e ]
312
+@cell1_icn   [ 7cfe fefe fefe 7c00 ]
265 313
 
266 314
 @bank_txt    [ BANKVIEW 00 ]
267 315
 @tile_txt    [ TILEVIEW 00 ]
... ...
@@ -319,7 +367,7 @@ RTS
319 367
 
320 368
 |E000 @bank1 
321 369
 [
322
-	0000 0000 0000 0000 0000 0000 0000 0000
370
+	0103 070f 1f3f 7fff 0000 0000 0000 0000
323 371
 	0000 0000 0000 0000 0000 0000 0000 0000
324 372
 	0000 0000 0000 0000 0000 0000 0000 0000
325 373
 	0000 0000 0000 0000 0000 0000 0000 0000