Listing of file='IDS2PU89' on disk='vmedia/701-2715B.wvd.zip'
# Sector 719, program filename = 'IDS2PU89' 1000 REM "IDS2PU89" -- Release 2.1 -- KEY FILE RECOVERY D22 1020 R3$(1)="IDEAS2" : IF F6$(53)="Y"THEN R3$(1)=STR(F4$,4,8) : F9=0 : DIM C$1 : IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM" : F1=U+1 : GOSUB '32("IDS2sU89") : IF Z=0THEN Z=1 : E2$=STR(E0$(),,8) : E3$=E2$OR ALL(20) : GOSUB '39(E3$,5) : MAT REDIM E$(6)83 : DATA LOAD DA T#P,(A)E$() : FOR N=1TO 16 1130 PRINT AT(9+N-8*INT((N-1)/8),32+38*INT((N-1)/8));STR(E$(),275+8*(N-1),8) : NEXT N : MAT SEARCHE1$(),=STR(E2$,,8)TO F9$STEP 56 : Q,V,C9=INT((VAL(F9$,2)+55)/56) : GOSUB '47 : D5=D : C5=B : F5=S : D9=VAL(STR(E1$(V),45)) : E5=E : C6=H : J5=P : C7=1+VAL(STR(E1$(V),13,2),2) : GOSUB '39(E2$,D5) : D5=P : C1=A : IF Q=2THEN 1210 : GOSUB '38(107," ") : END 1210 PRINT AT(3,32);E2$ : PRINT AT(5,35);C5 : PRINT AT(6,35);Z : PRINT AT(8,32);E2$ : D7=D9/8 : R1=0 : FOR J1=1TO C5 : IF F1>C5THEN F1=1 : PRINT AT(5,70);J1 : FOR D6=1TO D7 : E2$()=ALL(00) : MAT REDIM E2$(24)83 : DATA LOAD DA T#D5,(C1+F5*(F1-1)+8*(D6-1))E2$() : R5=1+(VAL(STR(E2$(),4),2)-VAL(STR(E2$(),3)))/E5 : E2$()=STR(E2$(),C6+VAL(STR(E2$(),3))) 1360 MAT REDIM E2$(R5)E5 : FOR R7=R5TO 1STEP -1 : P=J5 : GOSUB '67(C9,STR(E2$(R7),,J5),0) : X=5 : J=0 : GOSUB '79 : IF POS(STR(F$(),1,C7-1)>HEX(20))=0THEN 1490 : F$()=STR(F$(),1,C7-1) : F6$(14)="N" : GOSUB '42(E2$,0) : IF H<>0THEN 1480 : GOSUB '69(V) : GOSUB '41(E2$,E$,0) : IF Q<>0THEN 1470 : GOSUB 2000 1470 GOSUB '67(C9,STR(E2$(R7),,J5),0) : STR(E3$(),C-1,C7)=HEX(FF)&ALL(20) : DATA SAVE DA T#D,(U)E3$() 1480 R1=R1+1 : PRINT AT(6,70);R1 1490 PRINT AT(3,59);ROUND((100*((R5*((J1-1)*D7+D6)-R7)/(C5*D7*R5)),2) : NEXT R7 : NEXT D6 : F1=F1+1 : NEXT J1 1540 COM CLEAR E() : $CLOSE#1 : P=2 : IF F6$(53)="Y"THEN P=4 : LOAD T#P,R3$(1),1000 1560 END : STOP 2000 IF F9=9THEN 2100 : GOSUB '38(112," ") : PRINT AT(18,4);"To prevent the loss of records you must examine your alte rnate keys and" : PRINT AT(19,4);" change the key fields. You must then re-run this utilit y to recover the keys." : PRINT AT(20,4);"Do you wish to continue?" 2033 KEYIN C$ : IF C$="Y"OR C$="y"THEN 2080 : IF C$="N"OR C$="n"THEN 1540 : GOTO 2033 2080 PRINT AT(21,4);"Do you wish to print out records being erased?" : KEYIN C$ : IF C$="N"OR C$="n"THEN RETURN : IF C$<>"Y"AND C$<>"y"THEN 2080 : F0$=HEX(0C) : E0$()=BIN(LEN(F0$)+1)&F0$ : GOSUB '49(0) : F0$="RECORDS DELETED DURING KEY FILE RECOVERY"&HEX(0D) : GOSUB '48(1,F0$,45) : GOSUB '49(45) 2100 F9=9 : $OPEN #1 : F9=9 : $OPEN #1 : GOSUB '48(1,F$(),C7-1) : GOSUB '49(C7-1) : GOSUB '38(113," ") : RETURN 2199 GOTO 2199 3699 ON ERRORE1$,E2$GOTO 3700 3700 DEFFN'31 : E$="IDS2PU89" : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000, : STOP "ERROR" 9000 DEFFN'0"LIST S HEX(03020400000E) D 10,";HEX(0D) 9060 DEFFN'126"LIST S HEX(03020400000E) D 2000,";HEX(0D) 9070 DEFFN'127"J9$=";HEX(22);"IDS2PU89";HEX(22);":SCRATCH T J9$:SAVE T () J9$: LIST S HEX(03020400000E) D 10,";HEX(0D)