Browse code

(boot.tal) Fixed issue with empty folders

neauoire authored on 09/01/2022 01:42:38
Showing 1 changed files
... ...
@@ -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