100 ! MASS PROTECTOR BY BARRY TRAVER, 835 GREEN VALLEY DRIVE, PHILADELPHIA, PA 1 9128 (PHONE: 215/483-1379) 110 INPUT "DISK DRIVE? ":D :: CALL LINK("READ",D,1,D$,K$):: D$=D$&SEG$(K$,1,126) 120 FOR I=1 TO 255 STEP 2 :: IF I<>255 THEN G$=SEG$(D$,I,1):: H$=SEG$(D$,I+1,1)E LSE G$=SEG$(K$,127,1):: H$=SEG$(K$,128,1) 130 F=ASC(G$)*256+ASC(H$):: IF F=0 THEN 180 140 CALL LINK("READ",D,F,P$,Q$):: CALL B(ASC(SEG$(P$,13,1)),B$):: IF LEN(B$)<8 T HEN B$=SEG$("0000000"&B$,LEN(B$),8) 150 IF SEG$(B$,5,1)="0" THEN CALL M(B$,"1",5)ELSE 170 160 CALL D(B$,T):: CALL M(P$,CHR$(T),13):: CALL LINK("WRITE",D,F,P$,Q$) 170 NEXT I 180 PRINT "ALL FILES PROTECTED!" :: GOTO 110 190 SUB B(T,B$):: B$="" 200 Q=INT(T/2):: B$=SEG$("01",T-2*Q+1,1)&B$ :: IF Q<>0 THEN T=Q :: GOTO 200 210 SUBEND 220 SUB D(B$,D):: D=0 :: L=LEN(B$):: FOR I=1 TO L :: D=D+(POS("01",SEG$(B$,I,1), 1)-1)*2^(L-I):: NEXT I :: SUBEND 230 SUB M(A$,B$,S):: C=(LEN(B$))+S :: A$=SEG$(A$,1,S-1)&B$&SEG$(A$,C,LEN(A$)-C+1 ):: SUBEND