image of READY prompt

Wang2200.org

Listing of file='IDS2PU88' on disk='vmedia/701-2715B.wvd.zip'

# Sector 701, program filename = 'IDS2PU88'
1000 REM - "IDS2PU88" -- Release 2.1 --  KEY FILE RECOVERY
1030 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
   : DIM C$(6)83
   : GOSUB '32("IDS2sU88")
1060 GOSUB '34(1)
   : E2$=E$
   : E3$=E2$OR ALL(20)
   : GOSUB '39(E3$,5)
   : IF Q=2THEN 1080
   : GOSUB '38(106," ")
   : GOTO 1060
1080 DATA LOAD DA T#P,(A)C$()
   : CONVERT STR(C$(),10,1)TO T
   : IF T=2OR T=3THEN 1100
   : IF T=1OR T=4THEN GOSUB '38(109," ")
   : IF T>4THEN GOSUB '38(110," ")
   : GOTO 1060
1100 GOSUB '45(2,"N")
   : GOSUB '34(2)
   : IF E$="Y"OR E$="y"OR Q=1THEN K=9
1130 GOSUB '38(129," ")
   : GOSUB '34(250)
   : IF Q=32THEN 1140
   : IF Q=31THEN LOAD TR3$(1)1000,
   : IF Q=33THEN 1060
   : GOTO 1130
1140 MAT SEARCHE1$(),=STR(E2$,,8)TO F9$STEP 8
   : V=INT((VAL(F9$,2)+55)/56)
   : IF V>0THEN 1620
   : IF F6$(53)<>"Y"THEN 1190
   : GOSUB '38(105," ")
   : KEYIN E6$
   : LOAD T#4,R3$(1)
1190 GOSUB '39(E3$,5)
   : MAT SEARCHC$()<275,128>,=HEX(2020202020202020)TO F9$STEP 8
   : CONVERT STR(C$(),217,1)TO V
   : H=V+(VAL(STR(F9$),2)-1)/8
   : IF F9$=HEX(0000)THEN H=V+16
   : CONVERT STR(C$(),199,2)TO E
   : E=E+3
   : F0$="IDS2SUB1IDS2SUB2IDS2SUB3IDS2SUB4IDS2SUB5IDS2SUB6IDS2LOCL"
1220 G=500
   : COM CLEAR Y
   : IF F6$(17)=HEX(60)THEN 1230
   : LOAD T#2,"IDS2P001"1000,1001BEG 1250
1230 LOAD T#2,"IDS2P001"0,1001BEG 1240
1240 LOAD T#2,<7>F0$0,999BEG 1250
1250 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
   : DATA LOAD DA T#P,(A)C$()
   : MAT REDIM E3$(9)83
   : F2$="IDS2fs  "
   : IF R0<#PARTTHEN STOP #
   : A=(R0-#PART)/16+1
   : IF A>0THEN CONVERT ATO STR(F2$,7,2),(##)
   : DATA LOAD DC OPEN T#2,F2$
   : DATA LOAD DC #2,E3$()
   : MAT REDIM E$(6)83
   : L=0
   : FOR J=1TO 17
   : J1$=E2$
   : E$()=C$()
   : IF J=1THEN 1370
   : J1$=STR(C$(),259+8*J,8)
   : IF J1$=" "THEN 1480
   : J4$=J1$OR ALL(20)
1350 GOSUB '39(J4$,5)
   : IF Q=2THEN 1360
   : GOSUB '38(78,J4$)
   : END
1360 DATA LOAD DA T#P,(A)E$()
1370 J5$=STR(E$(),105,3)
   : GOSUB 2010
   : GOSUB '39(J1$,R)
   : R=P
   : IF Q=2THEN 1400
   : GOSUB '38(107," ")
   : END
1400 L=L+1
   : E1$(L)=STR(E$(),2,8)&BIN(R)&HEX(0001)&STR(E$(),403,1)&STR(E$(),405,42)&BI
     N(A,2)
   : UNPACK(####)STR(E1$(L),13)TO Q
   : STR(E1$(L),13,2)=BIN(Q,2)
   : S=(N-2)/VAL(STR(E1$(L),43),2)
   : STR(E1$(L),46,2)=BIN(S,2)
   : S=S-VAL(STR(E1$(L),45,1))
   : A=VAL(STR(E1$(L),50))
   : B=VAL(STR(E1$(L),51))
   : STR(E1$(L),19,2)=BIN(S*B/A,2)
1470 IF J=1THEN 1500
   : STR(E1$(L),13,2)=STR(E1$(VAL(STR(E1$(L),10),2)),13,2)
1480 GOTO 1590
1500 IF V=1THEN 1590
   : FOR X=1TO V-1
   : J5$=STR(C$(),251+3*X,3)
   : IF J5$=" "THEN 1590
   : GOSUB 2010
   : GOSUB '39(STR(C$(),2,8),R)
   : R=P
   : IF Q=2THEN 1550
   : GOSUB '38(108," ")
   : END
1550 L=L+1
   : E1$(L)=STR(C$(),2,8)&BIN(R)&HEX(0001)&HEX(00)&STR(C$(),405,42)&BIN(A,2)
   : F9$=BIN((N-2)/VAL(STR(E1$(L),43),2),2)
   : S=VAL(F9$,2)
   : A=VAL(STR(E1$(L),50))
   : B=VAL(STR(E1$(L),51))
   : STR(E1$(L),45,5)=HEX(00)&STR(F9$,,2)&BIN(S*B/A,2)
   : STR(E1$(L),19,2)=STR(E1$(L),48)
   : STR(E1$(L),13,2)=STR(E1$(VAL(STR(E1$(L),10),2)),13,2)
   : NEXT X
1590 NEXT J
   : V=1
1620 GOSUB '47
   : D5=D
   : C5=B
   : J5=S
   : IF R8$>=STR(E1$(),54,1)THEN 1650
   : GOSUB '38(42,R8$)
   : GOTO 1060
1650 GOSUB '39(E2$,D5)
   : D5=P
   : IF Q=2THEN 1660
   : GOSUB '38(107," ")
   : END
1660 J5=(N-2)/C5
   : DIM F2$(256)1
   : C9=1E9
   : Z=0
   : U=0
   : FOR J1=0TO C5-1
   : DATA LOAD BA T#D5,(A+J1*J5)F2$()
   : J=VAL(STR(F2$(),11),2)
   : Z=Z+VAL(STR(F2$(),9),2)
   : GOSUB 2030
   : IF J>=C9OR F9=9THEN 1760
   : C9=J
   : U=J1+1
1760 NEXT J1
   : IF C9=0THEN 1790
1780 GOSUB '38(111," ")
   : GOSUB '34(250)
   : GOTO 1780
1790 IF K<>9THEN 1960
1800 D5=VAL(STR(E1$(V),9))
   : GOSUB '39(E2$,D5)
   : D5=P
   : IF Q=2THEN 1820
1820 FOR S=0TO N-3
   : DATA LOAD BA T#D5,(A+S)F2$()
   : GOSUB 2030
   : IF F=0THEN 1920
   : CONVERT A+STO STR(E8$,8,5),(#####)
   : GOSUB '38(130,STR(E8$,8,5))
   : STR(F2$(),1,1)=HEX(82)
   : STR(F2$(),3,1),STR(F2$(),87,1),STR(F2$(),171,1)=HEX(D3)
   : STR(F2$(),255,1)=HEX(FD)
   : DATA SAVE BA T#D5,(A+S)F2$()
1920 NEXT S
   : V=V+1
   : IF LEN(E1$())/56<VTHEN 1960
   : IF STR(E1$(V),,8)=E2$THEN 1800
1960 LOAD T#2,"IDS2PU90"1000,
1970 F0$="Device address "&STR(C$(),105,3)&" for file "&HEX(22)&STR(C$(),2,8)&
     HEX(22)&" has not been selected."
   : GOTO 1990
1980 F0$="Data file "&HEX(22)&STR(C$(),2,8)&HEX(22)&" not found on device "&ST
     R(E$(),R*3+83,3)&"."
   : GOTO 1990
1990 PRINT AT(20,10);HEX(07);"Error ";HEX(0E);F0$
   : STOP
2010 MAT SEARCHE3$()<#PART*45-17,45>,=J5$TO F9$STEP 3
   : IF F9$=HEX(0000)THEN 1970
   : R=INT((VAL(F9$,2)+2)/3)
   : RETURN
2030 F=0
   : E6$=STR(F2$(),1,1)
   : IF E6$<>HEX(82)AND E6$<>HEX(81)THEN F=9
   : IF STR(F2$(),3,1)<>HEX(D3)OR STR(F2$(),87,1)<>HEX(D3)OR STR(F2$(),171,1)<
     >HEX(D3)OR STR(F2$(),255,1)<>HEX(FD)THEN F=9
   : RETURN
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
   : E$="IDS2PU88"
   : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
   : STOP "ERROR"