Listing of file='609.VNTR' on disk='vmedia/731-0067F-disk1.wvd.zip'
# Sector 2852, program filename = '609.VNTR' 0011 REM .SCRATCH T/D11,"609.VNTR" -SAVE DCT/D11,()"609.VNTR" : REM .DGF.86-1-30/-7-30 0015 COM C2,C4$80,J6$8 0020 DIM D8$(2)8,B2$80,J9$90,D0$2,J5$2,J4$(20)2,J8$2,J7$2,I$80,C9$(128)2 : C,D1=0 : B2$=" " : C2=0 : J9$="V o l u m e R e c o v e r yVolume "&D5$&" on disk "&STR(D6$,,3)&" Name Tree Errors "&STR(R2$,,2)&"/"&STR(R2$,3,2)&"/"&STR(R2$,5,2) : SELECT #5<D6$> : PRINT HEX(030D) : GOSUB 1610 0085 REM .GOSUB 1805.DGF : GOSUB 2150 : GOSUB 1685 : FOR I=1TO C5 : IF STR(D9$(I),5,1)=HEX(80)OR STR(D9$(I),5,1)=HEX(84)THEN 145 : IF STR(D9$(I),5,1)<>HEX(00)THEN 145 : J$=STR(D9$(I),,2) : FOR J=1TO C5 : IF STR(D9$(J),5,1)<>HEX(00)THEN 140 : IF STR(D9$(J),3,2)<>J$THEN 140 : STR(D9$(J),5,1)=HEX(10) 0140 NEXT J 0145 NEXT I : GOSUB 2110 : GOSUB 1685 : IF D6$()=HEX(20)THEN 1215 : FOR I=1TO T : IF STR(D6$(I),,1)=HEX(20)THEN 865 : IF STR(D6$(I),,1)<>HEX(04)THEN 465 : C=0 : A=VAL(STR(D6$(I),7,2),2) : $OPEN #5 : D0$=HEX(00) : I9=(J0+A-1) : DATA LOAD BA T#5,(I9)C1$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 0215 J=0 : FOR I1=1TO C5 : IF I9-J0=VAL(D9$(I1),2)THEN J=I1 : NEXT I1 : IF STR(C1$(),3,1)=HEX(00)THEN 335 : FOR I1=1TO C5 : IF STR(D9$(I1),5,1)=HEX(00)THEN 320 : IF VAL(STR(D9$(I1),,2))=I9THEN 320 : DATA LOAD BA T#5,(J0+VAL(D9$(I1),2))C9$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 0275 IF STR(C9$(),3,1)<>HEX(00)THEN 320 : FOR K=1TO VAL(C9$(),2) : IF STR(C9$(),K*16+5,4)<>STR(C1$(),72,4)THEN 315 : STR(C1$(),36,2)=STR(D9$(I1),,2) : DATA SAVE BA T#5,(I9)C1$() : IF J>0THEN STR(D9$(J),5,1)=HEX(14) : STR(D6$(I),,1)=HEX(FF) : K,I1=9E99 0315 NEXT K 0320 NEXT I1 : GOTO 865 0335 J8$=STR(D6$(I),9,2)SUBCHEX(01) : MAT SEARCHSTR(C1$(),2),=J8$TO J4$()STEP 2 : C4$()=C1$() : J8$=J4$()ADDCHEX(01) : J6=VAL(J8$,2)-16 : $CLOSE#5 : FOR I1=1TO C5 : IF STR(D9$(I1),5,1)=HEX(00)THEN 435 : IF VAL(STR(D9$(I1),,2))=I9THEN 435 : DATA LOAD BA T#5,(J0+VAL(D9$(I1),2))C9$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 0395 IF STR(C9$(),3,1)<>HEX(01)THEN 435 : IF STR(C1$(),J6,4)<>STR(C9$(),72,4)OR STR(C9$(),61,1)<>"D"THEN 435 : STR(C1$(),J6+16,2)=STR(D9$(I1),,2) : DATA SAVE BA T#5,(I9)C1$() : IF J>0THEN STR(D9$(J),5,1)=HEX(14) : STR(D6$(I),,1)=HEX(FF) : I1=9E99 0435 NEXT I1 : IF C=1THEN GOSUB 885 : GOTO 865 0450 GOSUB 885 0465 IF STR(D6$(I),2,1)="B"THEN 670 : GOSUB 2120 : GOSUB 1685 : IF STR(D6$(I),,1)=HEX(01)THEN L=1 : IF STR(D6$(I),,1)=HEX(02)THEN L=2 : IF STR(D6$(I),,1)=HEX(03)THEN L=3 : ON LGOTO 495,505,515 0495 J5$=STR(D6$(I),3,2) : L2=3 : GOTO 520 0505 J5$=STR(D6$(I),5,2) : L2=3 : GOTO 520 0515 J5$=STR(D6$(I),7,2) : L2=5 0520 FOR J=1TO C5 : IF STR(D9$(J),5,1)=HEX(80)OR STR(D9$(J),5,1)=HEX(84)THEN 645 : A=VAL(STR(D6$(I),L2,2),2) : $OPEN #5 : D0$=HEX(00) : DATA LOAD BA T#5,(J0+A-1)C1$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 0560 J7$=STR(D6$(I),L2,2)SUBCHEX(01) : IF STR(D9$(J),,2)<>J7$THEN 645 : J8$=STR(D6$(I),L2+2,2)SUBCHEX(01) : MAT SEARCHSTR(C1$(),2),=J8$TO J4$()STEP 2 : C4$()=C1$() : J8$=J4$()ADDCHEX(01) : J6=VAL(J8$,2) : J7$=J7$SUBCHEX(01) : STR(C1$(),J6,2)=J7$ : DATA SAVE BA T#5,(J0+A-1)C1$() : STR(D9$(J),5,1)=HEX(10) : C4$()=C1$() : $CLOSE#5 : C=2 0645 NEXT J : IF C=2THEN 865 : GOSUB 885 : GOTO 865 0670 GOSUB 2130 : GOSUB 1685 : IF STR(D6$(I),2,1)=HEX(02)THEN L=1 : IF STR(D6$(I),2,1)=HEX(03)THEN L=2 : IF STR(D6$(I),2,1)=HEX(04)THEN L=3 : ON LGOTO 695,700,705 0695 J5$=STR(D6$(I),3,2) : GOTO 710 0700 J5$=STR(D6$(I),3,2) : GOTO 710 0705 J5$=STR(D6$(I),5,2) 0710 FOR J=1TO C5 : IF STR(D9$(J),5,1)<>HEX(00)THEN 850 : IF J5$<>STR(D9$(J),,2)THEN 850 : ON LGOTO 730,735,740 0730 A=VAL(STR(D6$(I),3,2),2) : L1=3 : GOTO 745 0735 A=VAL(STR(D6$(I),3,2),2) : L1=3 : GOTO 745 0740 A=VAL(STR(D6$(I),5,2),2) : L1=5 0745 $OPEN #5 : DATA LOAD BA T#5,(J0+A)C1$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 0760 J7$=STR(D6$(I),L1,2)SUBCHEX(01) : IF STR(D9$(),,2)<>J7$THEN 850 : J8$=STR(D6$(I),L2+2)SUBCHEX(01) : MAT SEARCHSTR(C1$(),2),=J8$TO J4$()STEP 2 : C4$()=C1$() : J8$=J4$()ADDCHEX(01) : J6=VAL(J8$,2) : J7$=J7$SUBCHEX(01) : STR(C1$(),J6,2)=J7$ : C4$()=C1$() : DATA SAVE BA T#5,(J0+A-1)C1$() : STR(D9$(J),5,1)=HEX(10) : C4$()=C1$() : $CLOSE#5 : C=3 0850 NEXT J : IF C=3THEN 865 : GOSUB 885 0865 NEXT I : GOSUB 1235 : GOTO 1085 0885 GOSUB 2155 : GOSUB 1685 : IF C=1THEN GOTO 950 : IF STR(D6$(I),2,1)="B"THEN 930 : IF STR(D6$(I),,1)=HEX(01)THEN L1=3 : IF STR(D6$(I),,1)=HEX(02)THEN L1=3 : IF STR(D6$(I),,1)=HEX(03)THEN L1=5 : A=VAL(STR(D6$(I),L1,2),2) : GOTO 955 0930 IF STR(D6$(I),,1)=HEX(01)THEN L2=3 : IF STR(D6$(I),,1)=HEX(02)THEN L2=3 : IF STR(D6$(I),,1)=HEX(03)THEN L2=5 : A=VAL(STR(D6$(I),L2,2),2) : GOTO 955 0950 A=VAL(STR(D6$(I),7,2),2) 0955 $OPEN #5 : D0$=HEX(00) : DATA LOAD BA T#5,(J0+A-1)C1$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 0975 IF STR(D6$(I),,1)<>HEX(04)THEN 995 : J7$=STR(D6$(I),7,2)SUBCHEX(01) : J8$=STR(D6$(I),9,2)SUBCHEX(01) : GOTO 1025 0995 IF STR(D6$(I),2,1)="S"THEN 1015 : J7$=STR(D6$(I),L2,2)SUBCHEX(01) : J8$=STR(D6$(I),L2+2,2)SUBCHEX(01) : GOTO 1025 1015 J7$=STR(D6$(I),L1,2)SUBCHEX(01) : J8$=STR(D6$(I),L1+2)SUBCHEX(01) 1025 STR(C1$(),,2)=STR(C1$(),,2)SUBHEX(01) : MAT SEARCHSTR(C1$(),4),=STR(J8$)TO J4$()STEP 18 : C4$()=C1$() : GOSUB 1705 : C1=VAL(STR(C1$(),,2),2) : C4=VAL(J4$(),2)+3 : C3=(C4-4)/18+1 : IF C3<13THEN STR(C1$(),C4,(13-C3)*18)=STR(C1$(),C4+18,(13-C3)*18) : STR(C1$(),4+(13-1)*18,18)=" " : DATA SAVE BA T#5,(J0+A-1)C1$() : C4$()=C1$() : GOSUB 1685 : $CLOSE#5 1075 RETURN 1085 C=0 : GOSUB 2140 : GOSUB 1685 : FOR I=1TO C5 : IF STR(D9$(I),5,1)<>HEX(00)THEN 1205 : FOR J=ITO C5 : IF STR(D9$(J),3,2)<>STR(D9$(I),,2)THEN 1190 : A=VAL(STR(D9$(J),3,2),2) : $OPEN #5 : D0$=HEX(00) : DATA LOAD BA T#5,(J0+A-1)C1$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 1140 C4$()=C1$() : STR(C1$(),36,2)=STR(D9$(J),3,2) : DATA SAVE BA T#5,(J0+A-1)C1$() : STR(D9$(J),5,1),STR(D9$(I),5,1)=HEX(30) : C4$()=C1$() : $CLOSE#5 : J=C5 : C=4 1190 NEXT J : IF C=4THEN 1205 1205 NEXT I 1215 D8$()="609.VAUR609.VPRT" : LOAD T<2>D8$() 1235 FOR I=1TO T : IF STR(D6$(I),,1)<>HEX(04)THEN 1435 : A=VAL(STR(D6$(I),7,2),2) : $OPEN #5 : D0$=HEX(00) : I9=(J0+A-1) : DATA LOAD BA T#5,(I9)C1$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 1285 IF STR(C1$(),3,1)=HEX(00)THEN 1435 : FOR J=1TO T : IF STR(D6$(J),,1)<>HEX(04)THEN 1420 : A=VAL(STR(D6$(I),7,2),2) : $OPEN #5 : D0$=HEX(00) : I1=(J0+A-1) : DATA LOAD BA T#5,(I1)C9$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 1345 IF STR(C9$(),3,1)=HEX(01)THEN 1420 : J8$=STR(D6$(J),9,2)SUBCHEX(01) : MAT SEARCHSTR(C9$(),2),=J8$TO J4$()STEP 2 : J8$=J4$()ADDCHEX(01) : J6=VAL(J8$,2) : STR(C9$(),J6,2)=BIN(I9,2) : STR(C1$(),36,2)=BIN(I1,2) : DATA SAVE BA T#5,(I9)C1$() : DATA SAVE BA T#5,(I1)C9$() : STR(D6$(I),,1),STR(D6$(J),,1)=HEX(FF) : J=9E99 1420 NEXT J : IF J<>9E99THEN I=9E99 1435 NEXT I : C=1 : FOR J=1TO T : IF STR(D6$(J),,1)<>HEX(04)THEN 1545 : A=VAL(STR(D6$(J),7,2),2) : $OPEN #5 : D0$=HEX(00) : I9=(J0+A-1) : DATA LOAD BA T#5,(I9)C1$() : ERRORD0$=BIN(ERR) : GOSUB 2115 : I3=1 : GOSUB 1685 : $CLOSE#5 : STOP 1515 IF STR(C1$(),3,1)=HEX(00)THEN 1535 : GOTO 1545 1535 I=J : GOSUB 885 1545 NEXT J : RETURN 2110 B2$="Checking Pointers in FCB" : RETURN 2115 B2$="Disk I/O error, Error Code = " : RETURN 2120 B2$="Checking Pointers in Son Nodes" : RETURN 2130 B2$="Checking Pointer in Brother Nodes" : RETURN 2140 B2$="Matching Pointers in Subtrees if Possible" : RETURN 2150 B2$="Checking Error Arrays" : RETURN 2155 B2$="Deleting a Pointer that Cannot be Corrected" : RETURN