home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
compuserve
/
Basic
/
PROTEC.XB
< prev
next >
Wrap
Text File
|
2006-10-19
|
991b
|
20 lines
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