1 CLS:LFILESV:GOTO90:'Modified for POWR-DOS by Ronnie Riche 2 A=INKEY$:IFA=""THEN2ELSERETURN 3 Z=1-Z:PRINT@110,CHR$(147+Z);:RETURN 4 IFLEN(A)<10THENA=A+SPACE$(10-LEN(A)):RETURNELSEA=LEFT$(A,10):RETURN 5 M=0:FORL=1TOU(K):M=M+(Q(K,L)+1279)/1280:NEXTL:K=79-M:RETURN 6 OPENGFORINPUTAS1:OPENGFOROUTPUTAS2:RETURN 7 CLS:RESTORE:FORI=1TO8:READA:PRINT@I*20+25,"("LEFT$(A,1)")"RIGHT$(A,LEN(A)-1);:NEXTI 8 DATA Log disk,Options,Directory,Free,Write,View,Read,Exit 9 GOSUB2:IFA=""THEN9 10 I=(INSTR("LlDdFfOoEeWwVvSsRr",A)+1)/2:IFITHENONIGOTO40,74,20,75,78,79,38,95,91ELSEBEEP:GOTO9 11 GOSUB2:GOTO7 12 CLS:PRINT@90,"Reading";:GOSUB6:GOSUB24:K=0:L=1:M=6:R=0:GOSUB25:GOSUB16:IFKTHEN15 13 L=2:M=5:FORI=1TO39:IFKTHEN15 14 GOSUB25: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:RETURN 20 CLS:PRINT@45,"Disks"STRING$(15,".")T"/"O:N=0:FORI=1TOT:N=N+U(I):NEXTI:PRINT@85,"Files"STRING$(15,".")N"/"O*40 21 PRINT@125,"Free"STRING$(16,".")FRE("")"/ 8000";:GOTO11 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 27 CLS:PRINT@90,"Reading "F;:ONERRORGOTO36:OPENFFORINPUTAS1:T=0:N=0 28 IFEOF(1)THEN34 29 LINEINPUT#1,A:IFLEFT$(A,1)="<"THEN31 30 N=N+1:C(T,N)=LEFT$(A,9)+RIGHT$(A,LEN(A)-16):Q(T,N)=VAL(MID$(A,11,5)):GOTO28 31 IFT>0THENU(T)=N 32 IFT=OTHENE="Max disks":CLOSE:GOTO89 33 GOSUB3:T=T+1:D(T)=MID$(A,2,10):H(T)=MID$(A,12,8):N=0:GOTO28 34 U(T)=N:CLOSE1 35 RETURN 36 IFERR<>52THEN87 37 T=0:RESUME35 38 IFT=0THEN88 39 CLS:FORI=1TOT:PRINTUSING"##) ";I;:PRINTD(I)" "H(I)" Files"U(I):NEXTI:GOTO11 40 CLS:A="":INPUT"Disk name ";A:IFA=""THEN7 41 GOSUB4:W=0:IFT=0THEN44 42 FORI=1TOT:IFA=D(I)THEN45 43 NEXTI 44 W=1:T=T+1:I=T:D(I)=A 45 S=I:H(S)=DATE$:IFT<=OTHEN48 46 IFWTHENT=T-1 47 E="Max disks":GOTO89 48 GOSUB12:IFR=0THEN88 49 FORI=1TOR:Q(S,I)=V(I):NEXTI:CLS:IFWTHEN64 50 PRINT@90,"Updating old disk";:J=1:K=1:N=U(S):M=N:FORI=1TON:A=LEFT$(C(S,J),9) 51 IFK>RTHEN54 52 IFA=B(K)THEN56 53 IFA>B(K)THENK=K+1:GOTO51 54 IFJ=MTHENM=M-1:GOTO58 55 M=M-1:FORL=JTOM:Q(S,L)=Q(S,L+1):C(S,L)=C(S,L+1):NEXTL:GOTO57 56 K=K+1:J=J+1 57 NEXTI 58 J=1:FORI=1TOR:IFJ>MTHEN61 59 A=LEFT$(C(S,J),9):IFA=B(I)THEN62 60 M=M+1:FORK=MTOJ+1STEP-1:Q(S,K)=Q(S,K-1):C(S,K)=C(S,K-1):NEXTK 61 C(S,J)=B(I):Q(S,J)=V(I):V(I)=1:GOTO63 62 V(I)=0 63 J=J+1:NEXTI:U(S)=R 64 FORI=1TOR:IFW=0 ANDV(I)=0THEN72 65 CLS:PRINT"Enter description for "B(I):FORJ=1TOT-W:IFJ=STHEN68 66 FORK=1TOU(J):IFB(I)=LEFT$(C(J,K),9)THEN69 67 NEXTK 68 NEXTJ:A="*":GOTO70 69 A=RIGHT$(C(J,K),LEN(C(J,K))-9):PRINT" = "A:IFXTHEN71 70 PRINT@90,STRING$(30,"_");:PRINT@88,;:INPUTA:IFLEN(A)>30THENA=LEFT$(A,30) 71 C(S,I)=B(I)+A 72 NEXTI:U(S)=R:IFYTHENGOSUB80 73 GOTO7 74 GOSUB12:CLS:FORI=1TOR:PRINT" "B(I);:NEXTI:GOTO11 75 CLS:PRINT@45,"0) Menu";:PRINT@125,"1) Auto write"SPACE$(13)HH(Y);:PRINT@165,"2) Auto old name"SPACE$(10)HH(X); 76 GOSUB2:IFA="0"THEN7ELSEIFA="1"THENY=1-YELSEIFA="2"THENX=1-XELSEBEEP:GOTO76 77 GOTO75 78 GOSUB80:MAXFILES=1:ONERRORGOTO96:CALL16954:CLS:RUN"DMENU.BA 79 GOSUB80:GOTO7 80 IFT=0THENRETURN 81 GOSUB97:GOSUB98:CLS:PRINT@90,"Writing "F;:OPENFFOROUTPUTAS1:FORI=1TOT:V(I)=I:NEXTI:IFT=1THEN85 82 FORI=1TOT-1:K=I+1:FORJ=KTOT:IFD(V(I))CHR$(13)THEN98ELSECALL16954:PRINT@280,CHR$(27);"p DSKLOG.BA for Tandy PDD with POWR-DOS";CHR$(27);"q";:CALL16949:RETURN