Compucolor.org – Virtual Media

Listing of file='PRTDIR.BAS;01' on disk='vmedia/catalog_32-sector.ccvf'

100 REM 	 PRTDIR 14/3/81
110 PLOT 12:CLEAR 2000
120 PLOT 6,48,14,3,12,0:PRINT "   D I R E C T O R Y   L I S T E R   ":PLOT 6,2,15,3,0,5
130 CC= 0:D= 0:D1= 0:D9= 0:DMY= 0:DR= 0:I= 0:J= 0:M= 0:M1= 0:N= 0:N1= 0:N2= 0:PP= 0:PR= 0:RE= 0:TM= 0:Y= 0:Y1= 0
140 Z= 0:Z1= 0:Z2= 0
150 B$= "":DR$= "":DS$= "":IN$= "":NN$= "":S1$= "":S2$= "":S3$= "":SB$= "":ST$= "":SZ$= "":YN$= ""
160 TM= PEEK (32940)+ PEEK (32941)* 256
170 DR= PEEK (TM+ 1):DR$= MID$ (STR$ (DR),2)+ ":":PR= PEEK (TM+ 2)
180 FOR I= 0TO 9:N$(I)= MID$ (STR$ (I),2):NEXT I
185 PRINT "SETTING UP THE FILES.":PRINT
190 FILE "R",1,"INDEX.RND",1:FILE "R",2,"INDEX.INF",1
200 GET 2,1,9;N1,N2,DMY:M= INT (DMY/ 3200):D= INT ((DMY- M* 3200)/ 100):Y= DMY- (INT (DMY/ 100)* 100)
210 GET 1,1;ST$[1]
220 IF PR= 0THEN 260
230 INPUT "OUTPUT TO SCREEN OR PRINTER? ";YN$:PRINT
240 IF YN$= "P"THEN PP= 1:INPUT "PRESS ENTER WHEN PRINTER ALIGNED. ";YN$:PRINT :PLOT 27,13:GOTO 260
250 IF YN$< > "S"THEN 230
260 PRINT "LISTING OF DIRECTORY NAMES STORED AT "D" /"M" /"Y:PRINT
270 PRINT "DATA DISK #1 CONTAINS "N1" ENTRIES":PRINT
280 PRINT "DATA DISK #2 CONTAINS "N2" ENTRIES":PRINT
290 PRINT "NO."TAB( 8)"NAME"TAB( 20)"SIZE"TAB( 26)"SBLK"TAB( 32)"DATE INPUT"TAB( 48)"DATA DISK":PRINT
300 FOR J= 0TO 9:RE= J* 20+ 1:IN$= CHR$ (65+ J)
310 FOR I= 0TO 19:N= INT (I/ 2)
320 IF I- 2* N= 0THEN DS$= "F":GOTO 340
330 DS$= "B"
340 GET 1,RE+ I;ST$[1]:IF ASC (ST$)= 0THEN 420
350 GET 1,RE+ I;NN$[10],S1$[1],S2$[1],S3$[1],D$[1],M$[1],Y$[1]
360 D9= 1- (ASC (S1$)> 127)
370 Z= (ASC (S1$)AND 127):GOSUB 480:SZ$= B$:Z= ASC (S3$)* 256+ ASC (S2$):GOSUB 480:SB$= B$
380 D1= ASC (D$):M1= ASC (M$):Y1= ASC (Y$)
390 PRINT IN$N$(N)" "DS$TAB( 8)NN$TAB( 20)SZ$TAB( 26)SB$TAB( 32)D1"/"M1"/"YTAB( 52)D9
400 IF PP= 1THEN 420
410 CC= CC+ 1:IF CC= 26THEN CC= 0:PRINT :INPUT "PRESS ENTER FOR NEXT PAGE. ";YN$
420 NEXT I,J
430 PRINT :PRINT
440 IF PP= 1THEN POKE 33265,0
450 INPUT "ANOTHER LISTING  Y/N ? ";YN$:PRINT
460 IF LEFT$ (YN$,1)= "Y"THEN PRINT :PRINT :GOTO 220
470 FILE "C",1,2:PLOT 1
480 B$= "":Z2= Z
500 Z1= Z2- INT (Z2/ 16)* 16:Z2= INT (Z2/ 16)
510 IF Z1< 10THEN B$= CHR$ (48+ Z1)+ B$
520 IF Z1> 9THEN B$= CHR$ (55+ Z1)+ B$
530 IF Z2= 0THEN RETURN
540 GOTO 500