Reading The Directory - Commodore 1541 User Manual

Disk drive
Hide thumbs Also See for 1541:
Table of Contents

Advertisement

READING THE DIRECTORY
The directory of the diskette may be read just like a sequential file. Just use $ for
the file name, and OPEN 5, 8,5, "$". Now the GET# statement works to examine the
directory. The format here is identical to the format of a program file: the file sizes are
the line numbers, and names are stored as characters within quote marks.
Here's a program that lets you read the directory of the diskette:
SET LENGTH OF OPERATING SYSTEM STRING
10
OPEN1,8,2,"$"
20
FOR X= 1TO141:GET#1,A$:NEXT<
30
T$(0) = "DEL":T$(1) = "SEQ":T$(2) = "PRG":T$(3) = "USR":
T$(4) = "REL"
40
J=17:GOSUB500«
(DISK NAME>
50
N$ = B$
£0
j _ 2 ^
/ SET LENGTH OF ID STRING
70
GOSUB500
80
I$ = B$
85
GET#1,A$
90
J =
100 GOSUB500
110 O$ = B$
120 FORL=1TO88
130
140 NEXT
160 PRINT CHR$ (147) "DISK NAME:"N$,"ID:"I$,"OS:"O$
161 PRINT "LENGTH","TYPE","NAME"
165 FORP=1TO1.
170 GET#l,T$tS$]A$
^
_
180 IF T$ = "" THEN T$ = CHR$(128)^^gT LENGTH OF FILE NAME STRING
190 J = 15<
200 GOSUB500
210 N$ = B$
220 GET#1,A$,A$,A$,A$,A$,A$,A$,A$,A$,C$,H$
225 L=ASC(L$ + CHR$(0)) + 256*ASC(H$+ CHR$(0)):IF L = 0 THEN 260
227 IF ST THEN CLOSE1:END
230 PRINT L,T$(ASC(T$)-128),N$
250 IF P< 8 THEN GET#1,A$,A$
260 NEXT P:GOTO165
500 B$ = ""
510 FORL = 0TOJ
520 GET#1,A$
(
STRING
530 IF A$ <>CHR$(96) THEN IF A$OCHR$(160) THEN B$ = B$ + A$ > BUILDING
540 NEXT
I ROUTINE
550 RETURN
LOW & HIGH BYTES
, OF FILE LENGTH
24

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents