0 REM SAD.BA Tim Peters CIS 72227,2416 1 MAXFILES=1:CLEAR2E3:DEFINTA-Z:GOTO46 2 W=W+LEN(O$):IFW>WWTHENPRINT#1,:PRINT#1,SPACE$(4);:W=4+LEN(O$) 3 PRINT#1,O$;:RETURN 4 GOSUB2:PRINT#1,:W=0:RETURN 5 FORI=LEN(I$)TO1STEP-1:IFASC(MID$(I$,I))=32THENNEXT 6 I$=LEFT$(I$,I):RETURN 7 PRINT#1,USING" \ \ ###,### ###.##%";I$,X!,X!/T!*100:RETURN 8 I$=MID$(DR$,2,9):GOSUB5:N$(CL)=I$:IFCLTHENO$="Folder 0"ELSEO$="Disk 0 10 PRINT#1,:GOSUB2:FORI=0TOCL:O$=":"+N$(I):GOSUB2:NEXT:PRINT#1,:W=0:RETURN 11 I=ASC(MID$(DR$,Y+J)):J=ASC(MID$(DR$,Y+J+1)):D$="/":C=J\16:GOSUB15:C=(JAND15)*2+I\127:GOSUB15:C=IAND127:D$=SPACE$(2) 15 O$=RIGHT$(STR$(100+C),2)+D$:GOTO2 16 DC$="":DL$="":DC=DC+1:T=CC\3:S=(CCMOD3)*6+1:FORX=0TO1:MID$(DR$,1)=DSKI$(0,T,S+2*X,0):MID$(DR$,129)=DSKI$(0,T,S+2*X,1):IFX=0THENGOSUB8 22 FORY=18+1TO12*18+1STEP18:K=ASC(MID$(DR$,Y)):IFKTHENGOSUB29 25 NEXT:NEXT:C$=DC$+C$:L$=DL$+L$:RETURN 29 AC=AC+1:IFAC>62THENI=33ELSEIFAC>52THENI=AC-5ELSEIFAC>26THENI=AC+70ELSEI=AC+64 30 TG$=CHR$(I):IFK=240THENI$=MID$(DR$,Y+1,9)ELSEI$=MID$(DR$,Y+1,6):GOSUB5:O$=MID$(DR$,Y+7,2):IFO$<>SPACE$(2)THENI$=I$+"."+O$ 32 O$=I$+SPACE$(11-LEN(I$)):GOSUB2:J=12:GOSUB11:J=14:GOSUB11:IFK=192THENO$="DO"ELSEIFK=128THENO$="BA"ELSEIFK=160THENO$="CO"ELSEIFK=240THENO$="FOLDER"ELSEO$="?"+MID$(STR$(K),2)+"? 35 O$=O$+" "+TG$:GOSUB4:U=ASC(MID$(DR$,Y+11)):O$=" "+STR$(U):GOSUB2:MID$(AC$,U+1)=TG$:IFK=240THENPRINT#1,:W=0:DC$=DC$+CHR$(U):DL$=DL$+CHR$(CL+1):RETURN 40 X!=ASC(MID$(DR$,Y+10))+1:U1=X! 41 MID$(AC$,U+1)=TG$:U=ASC(MID$(AT$,U+1)):FC=FC+1:IFU<240THENO$=","+MID$(STR$(U),2):GOSUB2:X!=X!+1536:GOTO41 44 X!=X!+(U-241)*256:G!=G!+X!:O$="("+MID$(STR$(U-240),2)+":"+MID$(STR$(U1+256*(X!=0)),2)+") ="+STR$(X!):GOTO4 46 I$="LCD:":INPUT"Output file (LCD:)";I$:OPENI$FOROUTPUTAS1:WW=39:INPUT"Width (39)";WW:DIMN$(10):AT$=DSKI$(0,0,5,0)+LEFT$(DSKI$(0,0,5,1),112):AC$=STRING$(240,"-") 52 FORI=1TO240:IFASC(MID$(AT$,I))THENTC=TC+1:MID$(AC$,I)="? 53 NEXT:MID$(AC$,1)="A":AC=1:DR$=SPACE$(234) 55 GOSUB16:IFC$>""THENCC=ASC(C$):CL=ASC(L$):C$=MID$(C$,2):L$=MID$(L$,2):GOTO55 56 PRINT#1,:PRINT#1,AC"files (including folders)":PRINT#1,:PRINT#1,"Clusters (240)":T!=240:I$="folder":X!=DC:GOSUB7:I$="file":X!=FC:GOSUB7:I$="reserved":X!=TC-DC-FC:GOSUB7:I$="free":X!=T!-TC:GOSUB7 64 PRINT#1,:PRINT#1,"Bytes (368,640)":T!=368640:I$="folder":X!=DC*1536:GOSUB7:I$="file used":X!=G!:GOSUB7:I$="file lost":X!=FC*1536-G!:GOSUB7:I$="reserved":X!=(TC-FC-DC)*1536:GOSUB7 70 I$="free":X!=T!-TC*1536:GOSUB7:PRINT#1,:PRINT#1,"Allocation map":PRINT#1," 0....5....0....5....0....5...9":FORI=0TO210STEP30:PRINT#1,USING"### ";I;:PRINT#1,MID$(AC$,I+1,30):NEXT:CLOSE