0 REM CAT is DVI catalog program copyright by Jeffrey R. Baylis, June 15 1986-send him $20 at Dept. of Zoology, Univ. of Wis. Madison, Wi 53706 if you use. 1 CLEAR1000,HIMEM:MAXFILES=2:DEFSTRA,D,E,F,G,W:DEFINTK,I,L,J,X,Y,Z:KEY1,"File":KEY2,"Load":KEY3,"Size":KEY4,"Run":KEY5,"Kill":KEY6,"Prev":KEY7,"Name":KEY8,"Quit":SCREEN1,1:ONKEYGOSUB27,28,57,43,51,60,54,56:DIMF(240),XX(128):E=CHR$(27):WIDTH40 2 CLS:PRINT"Drive: ";:M=VAL(INPUT$(1)):IFM>1THENGOTO2 3 C=0:CLS:KEYON:FORK=1TO15:FORI=0TO1:G=DSKI$(M,20,K,I):FORL=0TO7:F(C)=MID$(G,(16*L)+1,10):IFLEFT$(F(C),1)=CHR$(255)THENGOTO7 4 IFLEFT$(F(C),1)=CHR$(0)THENGOTO6 5 C=C+1 NEXTL:NEXTI:NEXTK:GOTO11 7 C=C-1:B=0:G=DSKI$(M,20,16,0):FORL=1TO80:XX(L)=ASC(MID$(G,L,1)):IFXX(L)=255THENLETB=B+1 10 NEXTL 11 KEYON:CLS:PRINTE;"p";"Disk drive ";M;" ";B*256*9;" Bytes Free";E;"q":FORJ=0TOC:F(J)=LEFT$(F(J),6)+"."+RIGHT$(F(J),4):IFASC(RIGHT$(F(J),1))=0THENPRINT" "; 12 IFASC(RIGHT$(F(J),1))=1THENPRINT"*"; 13 IFASC(RIGHT$(F(J),1))=128THENPRINTCHR$(157); 14 PRINTUSING"\ \";LEFT$(F(J),10);:IFJMOD3=2THENPRINT" "; 15 NEXTJ:Z=C:PRINTE;"P";:GOTO26 16 G=INKEY$:IFG=""THENGOTO16 17 IFASC(G)<28ORASC(G)>31THENGOTO16 18 ON(ASC(G)-27)GOTO19,21,23,25:GOTO16 19 Z=Z+1:IFZ>CTHENLETZ=0 20 GOTO26 21 Z=Z-1:IFZ<0THENLETZ=C 22 GOTO26 23 Z=Z-3:IFZ<0THENLETZ=C 24 GOTO26 25 Z=Z+3:IFZ>CTHENLETZ=0 26 X=Z/3:Y=(ZMOD3)*13:PRINTE;"Y";CHR$(33+X);CHR$(32+Y);:GOTO16 27 KEYOFF:GOTO2:RETURN 28 PRINTE;"Q";:KEYOFF:IFASC(RIGHT$(F(Z),1))=128THENGOTO31 29 IFASC(RIGHT$(F(Z),1))=1THENGOTO33 30 IFASC(RIGHT$(F(Z),1))=0THENGOTO35 31 CLS:PRINT"Loading ";LEFT$(F(Z),10):CALL23164,0,23366:CALL27795:KEY6,"Edit"+CHR$(13):KEY7,"Kill"+CHR$(34):ONMGOTO32:LOAD"0:"+LEFT$(F(Z),10):RETURN 32 LOAD"1:"+LEFT$(F(Z),10) 33 CALL23164,0,23366:CALL27795:KEY6,"Edit"+CHR$(13):KEY7,"Kill"+CHR$(34):ONMGOTO34:LOADM"0:"+LEFT$(F(Z),10):GOTO42 34 LOADM"1:"+LEFT$(F(Z),10):GOTO42 35 ONMGOTO36:OPEN"0:"+LEFT$(F(Z),10)FORINPUTAS1:GOTO37 36 OPEN"1:"+LEFT$(F(Z),10)FORINPUTAS1 37 OPENLEFT$(F(Z),6)+".DO"FOROUTPUTAS2 38 IFEOF(1)THENGOTO41 39 LINEINPUT#1,A:IFLEN(A)=255THENPRINT#2,A;ELSEPRINT#2,A 40 GOTO38 41 CLOSE1,2 42 KEY1,"File":KEY2,"Load":KEY3,"Size":KEY4,"un":KEY5,"Kill":KEY6,"Prev":KEY7,"Name":KEY8,"Quit":SCREEN1,1:PRINTE;"P";:KEYON:GOTO26 43 PRINTE;"Q";:KEYOFF:CALL23164,0,23366:CALL27795:KEY6,"Edit"+CHR$(13):KEY7,"Kill"+CHR$(34):IFASC(RIGHT$(F(Z),1))=128THENGOTO46 44 IFASC(RIGHT$(F(Z),1))=1THENGOTO48 45 IFASC(RIGHT$(F(Z),1))=0THENGOTO50 46 CLS:ONMGOTO47:RUN"0:"+LEFT$(F(Z),10) 47 RUN"1:"+LEFT$(F(Z),10) 48 CLS:ONMGOTO49:RUNM"0:"+LEFT$(F(Z),10) 49 RUNM"1:"+LEFT$(F(Z),10) 50 SCREEN1,0:PRINTE;"Y";CHR$(32+25);CHR$(32);:PRINTCHR$(7);"Cannot RUN text file!";:PRINTCHR$(7);:FORK=1TO1000:NEXTK:PRINTE;"M";:PRINTE;"Y";CHR$(32+X);CHR$(32+Y);:GOTO42 51 KEYOFF:CLS:PRINT"Press to Kill ";:PRINTE;"p";LEFT$(F(Z),10);E;"q":G=INPUT$(1):IFG<>CHR$(13)THENGOTO11 52 ONMGOTO53:KILL"0:"+LEFT$(F(Z),10):GOTO3 53 KILL"1:"+LEFT$(F(Z),10):GOTO3 54 KEYOFF:CLS:PRINT"Rename ";LEFT$(F(Z),10);" as ";:INPUTW:ONMGOTO55:NAME"0:"+LEFT$(F(Z),10)AS"0:"+W:GOTO3 55 NAME"1:"+LEFT$(F(Z),10)AS"1:"+W:GOTO3 56 KEYOFF:CALL23164,0,23366:CALL27795:KEY6,"Edit"+CHR$(13):KEY7,"Kill"+CHR$(34):CLS:PRINT"Going to MENU":MENU 57 ONMGOTO58:OPEN"0:"+LEFT$(F(Z),10)FORINPUTAS1:GOTO59 58 OPEN"1:"+LEFT$(F(Z),10)FORINPUTAS1 59 SCREEN1,0:PRINTE;"Y";CHR$(32+25);CHR$(32);:PRINTCHR$(7);"Size = ";LOF(1)*256;" Bytes";:PRINTCHR$(7);:CLOSE1:FORK=1TO1000:NEXTK:PRINTE;"M";:PRINTE;"Y";CHR$(32+X);CHR$(32+Y);CHR$(27);"P";:SCREEN1,1:GOTO42 60 PRINTE;"Q";:KEYOFF 62 SCREEN1,0:CLS:PRINTE;"p";" for more; any other key ends";E;"q":ONMGOTO63:OPEN"0:"+LEFT$(F(Z),10)FORINPUTAS1:GOTO64 63 OPEN"1:"+LEFT$(F(Z),10)FORINPUTAS1 64 IFEOF(1)THENGOTO67 65 LINEINPUT#1,A:IFLEN(A)=255THENPRINTA;ELSEPRINTA 66 A=INPUT$(1):IFA=CHR$(32)THENGOTO64 67 CLOSE1:SCREEN1,1:GOTO11