... | ... |
@@ -189,6 +189,10 @@ RTN |
189 | 189 |
DUP .browser/last LDZ ! ,&has-changed JCN |
190 | 190 |
POP RTN |
191 | 191 |
&has-changed |
192 |
+ ( beyond ) |
|
193 |
+ DUP ;dir/lines LDA < ,&valid JCN |
|
194 |
+ POP RTN |
|
195 |
+ &valid |
|
192 | 196 |
|
193 | 197 |
#00 ;draw-browser JSR2 |
194 | 198 |
DUP .browser/sel STZ |
... | ... |
@@ -263,6 +267,9 @@ RTN |
263 | 267 |
|
264 | 268 |
@draw-browser ( mask -- ) |
265 | 269 |
|
270 |
+ ( when empty ) |
|
271 |
+ ;dir/lines LDA #01 = ;draw-browser-empty JCN2 |
|
272 |
+ |
|
266 | 273 |
STH |
267 | 274 |
|
268 | 275 |
( draw hand ) |
... | ... |
@@ -273,18 +280,32 @@ RTN |
273 | 280 |
( draw files ) |
274 | 281 |
LINES-COUNT #00 |
275 | 282 |
&loop |
283 |
+ ( reached end ) |
|
284 |
+ DUP INC ;dir/lines LDA > ,&end JCN |
|
285 |
+ ( has file ) |
|
276 | 286 |
.browser/x LDZ2 .Screen/x DEO2 |
277 | 287 |
DUP TOS 10** .browser/y LDZ2 ++ .Screen/y DEO2 |
278 | 288 |
DUP .browser/scroll LDZ + ;get-entry JSR2 |
279 | 289 |
DUP2 ;get-type JSR2 ;draw-type JSR2 |
280 | 290 |
#01 STHkr * ;draw-str JSR2 |
281 | 291 |
INC GTHk ,&loop JCN |
292 |
+ &end |
|
282 | 293 |
POP2 |
283 | 294 |
|
284 | 295 |
POPr |
285 | 296 |
|
286 | 297 |
RTN |
287 | 298 |
|
299 |
+@draw-browser-empty ( mask -- ) |
|
300 |
+ |
|
301 |
+ POP |
|
302 |
+ .browser/x LDZ2 .Screen/x DEO2 |
|
303 |
+ .browser/y LDZ2 .Screen/y DEO2 |
|
304 |
+ ;&empty-txt #01 ;draw-str JSR2 |
|
305 |
+ |
|
306 |
+RTN |
|
307 |
+ &empty-txt "Empty 20 "Folder $1 |
|
308 |
+ |
|
288 | 309 |
@get-type ( line* -- type ) |
289 | 310 |
|
290 | 311 |
;scap JSR2 #0004 -- ;&rom-ext ;scmp JSR2 |