Listing of file='TBO.HASH' on disk='vmedia/toolbox.wvd.zip'
# Sector 217, program filename = 'TBO.HASH' 0010 REM .TBO.HASH 03/14/90 Find files via '229 HASH description 0020 DIM Z9$(16)16,A$80,B$1 0030 DIM D$3,F$8 : D$="D11" : LINPUT "DISK "-D$ 0040 SELECT #1<D$> 0050 DATA LOAD BA T#1,(0,Z3)Z9$() : B$=Z9$() : IF B$=HEX(00)THEN R$="Old" : IF B$=HEX(01)THEN R$="'" 0060 PRINT "Disk = ";D$;" Catalog in ";R$;" index hash" 0070 LINPUT "File Name "-F$ 0080 PRINT "Via formula " : TRACE DISK 0090 GOSUB '229(1,F$) 0100 IF Z6>0THEN 110 : PRINT "none found" : GOTO 130 0110 HEXPRINT Z9$(Z6) : PRINT STR(Z9$(Z6),9,8);"in ";VAL(STR(Z9$(),3),2);VAL(STR(Z9$(),5),2) 0120 PRINT "Sector ";Z8-1;"item =";Z6 0130 PRINT "Via LIMITS "; : LIMITS T#1,F$,A,B,C,D : PRINT A,B 0140 IF D=0THEN PRINT "None found on LIMITS" 0150 GOTO 60 6500 DEFFN'229(Z9,STR(A$,1,8)) : DATA LOAD BA T#Z9,(0,Z3)Z9$() : Z4=VAL(STR(Z9$(),2,1)) : STR(A$,9,8)=STR(A$,1,8) : ON POS(HEX(0001)=STR(Z9$(),,1))GOSUB 6770,6800 : Z5=Z3 : IF Z3=0THEN 6630 6620 DATA LOAD BA T#Z9,(Z3,Z8)Z9$() 6630 Z6=0 : FOR Z7=1TO 16 : IF Z3<>0THEN 6680 : IF Z7=1THEN Z7=2 6680 B$=STR(Z9$(Z7),,1) : ON POS(HEX(001011)=B$)GOTO 6740,6720,6720 : GOTO 6750 6720 IF STR(Z9$(Z7),9,8)<>STR(A$,1,8)THEN 6750 : Z6=Z7 6740 Z7=16 6750 NEXT Z7 : IF B$=HEX(00)THEN RETURN : IF Z6<>0THEN RETURN : B$=HEX(00) : IF V9<>0THEN 6760 : Z3=Z3-1 : IF Z3=Z5THEN RETURN : IF Z3<0THEN Z3=Z4-1 : GOTO 6620 6760 Z3=MOD(Z3+1,Z4) : IF Z3<>Z5THEN 6620 : RETURN 6770 XOR (STR(A$,10,7),STR(A$,9,8)) : B$=STR(A$,16,1) : STR(A$,18,2)=HEX(0000) : ADDC(STR(A$,18,2),B$) : ADDC(STR(A$,18,2),B$) : ADDC(STR(A$,18,2),B$) : ADD(STR(A$,18,1),STR(A$,19,1)) : Z3=VAL(STR(A$,18,2)) : Z3=Z3-INT(Z3/Z4)*Z4 : RETURN 6800 STR(A$,18,1)=HEX(00) : FOR Z5=9TO 16 : IF MOD(Z5,2)>0THEN ROTATE(STR(A$,Z5,1),4) : STR(A$,18,1)=STR(A$,18,1)ADDSTR(A$,Z5,1) : NEXT Z5 : Z3=MOD(VAL(STR(A$,18,1)),Z4) : RETURN