0 'P_DDIR.BA by RHP (c)1988 ref DSKL.BA 1 GOTO 90 2 A=INKEY$:IFA=""THEN2ELSEA=CHR$(ASC(A)AND223):RETURN 3 Z=1-Z:PRINT@100,CHR$(147+Z);:RETURN 6 OPENGFORINPUTAS1:OPENGFOROUTPUTAS2:RETURN 7 CLS:PRINT"Program to display and/or send disk":PRINT"DIRECTORY to Screen and/or Printer." 8 PRINT"uit to MENU":PRINT" to GO":GOSUB2:IFA="Q"THEN CLOSE:MENU ELSEIFA="Y"THEN CLS:GOTO74 ELSE 8 10 ' 11 GOSUB2:GOTO7 12 PRINT"... Reading Disk Drive ...":GOSUB6:GOSUB24:K=0:L=1:M=6:R=0:GOSUB25:GOSUB16:IFKTHEN15 13 L=2:M=5:FORI=1TO39:IFKTHEN15 14 GOSUB 25:GOSUB16:NEXTI 15 CLOSE:RETURN 16 A=INPUT$(11,1):IFLEFT$(A,2)<>FS$THENE="Disk error":GOTO89 17 IFASC(MID$(A,3,1))=0THENK=1:RETURN 18 R=R+1:B(R)=RIGHT$(A,9):V(R)=-1:A=INPUT$(20,1):V(R)=ASC(MID$(A,17))*256+ASC(MID$(A,18)) 19 GOSUB3:PRINTB(R)V(R):RETURN 22 IFERR<>54THEN87 23 CLOSE:BEEP:GOSUB6:RESUME19 24 PRINT#2,CHR$(7)CHR$(0)"ZZ"CHR$(7)CHR$(0)CHR$(24)CHR$(13);:RETURN 25 FORJ=1TO9:NEXTJ:PRINT#2,CHR$(5)"ZZ"CHR$(0)CHR$(26)CHR$(1);:PRINT#2,";DIS SP/CONT"CHR$(13)CHR$(10)"ERRL1"CHR$(9); 26 PRINT#2,"CALF"CHR$(L)CHR$(M);:RETURN 74 GOSUB12:CLS:FORI=1TOR:PRINT" "B(I);:GOSUB300:NEXTI:GOSUB400:PRINT:PRINT"Free - "(MM-MF)" bytes, "MN" Filenames" 75 PRINT@280,"uit

rintout";:GOSUB2:IFA="Q"THEN 1 ELSE IFA="P"THENGOTO100ELSEBEEP:GOTO75 77 GOTO 75 78 GOSUB80:GOTO7 80 IFT=0THENRETURN 87 PRINT:BEEP:PRINT"Error"ERR"line"ERL:END 89 CLS:BEEP:I=100-LEN(E)/2:PRINT@I,E;:FORM=1TO500:NEXTM:GOTO7 90 ' 93 MAXFILES=2:CLEAR550:DEFSTRA-H:DEFINTI-L:DEFINTN-Z:O=12:X=0:Y=1:DIMB(40),V(40):TN=0 94 R=0:FS$=CHR$(17)+CHR$(28):G="COM:98N1DNN":ONERRORGOTO22:GOTO7 95 STOP 96 'CLOSE:G="MDM:8N1E":CLOSE:RETURN didn't work 97 ' ---- Printer output -------- 100 CLS:LINEINPUT"Disk Name?";F:F="Directory of "+F+" made on "+DATE$:PRINTF 104 PRINT"Printer READY? ":GOSUB2:IFA="Y"THEN 108 105 IFA="N"THEN8 106 IFA="Q"THEN1ELSE100 108 PRINT"Want Condensed Print? ":GOSUB2:IF A="Y"THENTK=1ELSETK=-1 110 INPUT"How many Columns? <1-9>";MX:MX=MX-1 112 IFTKTHENLPRINTCHR$(15)ELSELPRINTCHR$(64) 113 LPRINT 114 IF MX=2THENBL="+"+STRING$(50,"-")+"+":LPRINTBL:NL=1 118 LPRINT" "+F 119 LPRINT" "; 120 FORI=1TOR 125 IF B(I)=""THEN145 130 LPRINT USING"\ \";B(I);:LPRINT USING"#####";V(I);:LPRINT" ";:GOSUB 200 140 NEXT I 145 LPRINT:LPRINTMM-MF" Bytes Free ";:LPRINT MN" Filenames Free" 150 IFNL=15THENLPRINTBL:GOTO 160 155 LPRINT:NL=NL+1:GOTO 150 160 PRINT"Do another disk? ":GOSUB2:IFA="Y"THEN1ELSEEND 200 TN=TN+1:IFTN>MXTHEN NL=NL+1:LPRINT:LPRINT" ";:TN=0:RETURNELSERETURN 299 'add up mem used 300 MM=101120 310 MS=V(I)/1280 312 IF MS=0THEN318 313 IF MS<1 THEN MS=1:GOTO318 315 IFMS/INT(MS)>1THENMS=INT(MS)+1 318 MB=MS*1280 320 MF=MF+MB 330 RETURN 399 'calcs possible # of filenames left 400 MN=INT((MM-MF)/1280) 410 IF (40-R)<=MN THEN MN=40-R 420 RETURN