image of READY prompt

Wang2200.org

Listing of file='609.VNTR' on disk='vmedia/701-2738G.wvd.zip'

# Sector 444, 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