... | ... |
@@ -48,6 +48,7 @@ |
48 | 48 |
@browser |
49 | 49 |
&x $2 &y $2 &x2 $2 &y2 $2 |
50 | 50 |
&sel $1 &last $1 &scroll $1 |
51 |
+ &lines $1 |
|
51 | 52 |
|
52 | 53 |
( init ) |
53 | 54 |
|
... | ... |
@@ -119,7 +120,7 @@ BRK |
119 | 120 |
DUP .browser/scroll LDZ + ;scroll-to JSR2 |
120 | 121 |
&no-up |
121 | 122 |
DUP #01 ! ,&no-down JCN |
122 |
- .browser/scroll LDZ ;dir/lines LDA = ,&no-down JCN |
|
123 |
+ .browser/scroll LDZ .browser/lines LDZ = ,&no-down JCN |
|
123 | 124 |
DUP .browser/scroll LDZ + ;scroll-to JSR2 |
124 | 125 |
&no-down |
125 | 126 |
POP |
... | ... |
@@ -149,7 +150,7 @@ BRK |
149 | 150 |
POP BRK |
150 | 151 |
&no-up |
151 | 152 |
DUP #20 ! ,&no-down JCN |
152 |
- .browser/sel LDZ INC ;dir/lines LDA = ,&no-down JCN |
|
153 |
+ .browser/sel LDZ INC .browser/lines LDZ = ,&no-down JCN |
|
153 | 154 |
.browser/sel LDZ INC ;select-file JSR2 |
154 | 155 |
;follow-selection JSR2 |
155 | 156 |
POP BRK |
... | ... |
@@ -175,13 +176,14 @@ BRK |
175 | 176 |
#1000 .File/length DEO2 |
176 | 177 |
;dir/data .File/read DEO2 |
177 | 178 |
.File/success DEI2 ;dir/length STA2 |
179 |
+ #00 .browser/lines STZ |
|
178 | 180 |
|
179 | 181 |
( split with null-char ) |
180 | 182 |
;dir/data |
181 | 183 |
&while |
182 | 184 |
LDAk #1f > ,&no-lb JCN |
183 | 185 |
( split ) STH2k #00 STH2r STA |
184 |
- ( count lines ) ;dir/lines LDA INC ;dir/lines STA |
|
186 |
+ ( count lines ) .browser/lines LDZk INC SWP STZ |
|
185 | 187 |
&no-lb |
186 | 188 |
INC2 LDAk ,&while JCN |
187 | 189 |
POP2 |
... | ... |
@@ -195,7 +197,7 @@ RTN |
195 | 197 |
POP RTN |
196 | 198 |
&has-changed |
197 | 199 |
( beyond ) |
198 |
- DUP ;dir/lines LDA < ,&valid JCN |
|
200 |
+ DUP .browser/lines LDZ < ,&valid JCN |
|
199 | 201 |
POP RTN |
200 | 202 |
&valid |
201 | 203 |
|
... | ... |
@@ -216,7 +218,7 @@ RTN |
216 | 218 |
#0080 .Screen/y DEO2 |
217 | 219 |
.browser/sel LDZ #02 ;draw-byte JSR2 |
218 | 220 |
LIT '/ #02 ;draw-char JSR2 |
219 |
- ;dir/lines LDA #01 - #02 ;draw-byte JSR2 |
|
221 |
+ .browser/lines LDZ #01 - #02 ;draw-byte JSR2 |
|
220 | 222 |
AUTO-NONE |
221 | 223 |
|
222 | 224 |
RTN |
... | ... |
@@ -238,7 +240,7 @@ RTN |
238 | 240 |
|
239 | 241 |
STH |
240 | 242 |
( more lines than visible ) |
241 |
- ;dir/lines LDA LINES-COUNT |
|
243 |
+ .browser/lines LDZ LINES-COUNT |
|
242 | 244 |
DUP2 > ,&can-scroll JCN |
243 | 245 |
POPr POP2 RTN |
244 | 246 |
&can-scroll |
... | ... |
@@ -257,10 +259,9 @@ RTN |
257 | 259 |
;get-entry JSR2 #0005 ++ |
258 | 260 |
|
259 | 261 |
DUP2 ;check-rom JSR2 ,&valid JCN |
260 |
- |
|
261 | 262 |
( check if tal file ) |
262 |
- |
|
263 | 263 |
DUP2 ;scap JSR2 #0004 -- ;&tal-ext ;scmp JSR2 #01 ! ,&no-tal JCN |
264 |
+ ( assemble tal file ) |
|
264 | 265 |
DUP2 ;&output-path ;scpy JSR2 |
265 | 266 |
;&rom-ext ;&output-path ;scat JSR2 |
266 | 267 |
;&output-path ;asma-assemble-file JSR2 |
... | ... |
@@ -268,10 +269,8 @@ RTN |
268 | 269 |
;redraw JSR2 |
269 | 270 |
RTN |
270 | 271 |
&no-tal |
271 |
- |
|
272 | 272 |
POP2 RTN |
273 | 273 |
&valid |
274 |
- |
|
275 | 274 |
;load-rom JSR2 |
276 | 275 |
|
277 | 276 |
RTN |
... | ... |
@@ -290,7 +289,7 @@ RTN |
290 | 289 |
@draw-browser ( mask -- ) |
291 | 290 |
|
292 | 291 |
( when empty ) |
293 |
- ;dir/lines LDA #01 = ;draw-browser-empty JCN2 |
|
292 |
+ .browser/lines LDZ #01 = ;draw-browser-empty JCN2 |
|
294 | 293 |
|
295 | 294 |
STH |
296 | 295 |
|
... | ... |
@@ -303,7 +302,7 @@ RTN |
303 | 302 |
LINES-COUNT #00 |
304 | 303 |
&loop |
305 | 304 |
( reached end ) |
306 |
- DUP INC ;dir/lines LDA > ,&end JCN |
|
305 |
+ DUP INC .browser/lines LDZ > ,&end JCN |
|
307 | 306 |
( has file ) |
308 | 307 |
.browser/x LDZ2 .Screen/x DEO2 |
309 | 308 |
DUP TOS 10** .browser/y LDZ2 ++ .Screen/y DEO2 |
... | ... |
@@ -561,7 +560,6 @@ JMP2r |
561 | 560 |
|
562 | 561 |
@dir |
563 | 562 |
&path ". $1 |
564 |
- &lines $1 |
|
565 | 563 |
&length $2 |
566 | 564 |
&data $1000 |
567 | 565 |
|