Listing of file='KFAM307U' on disk='vmedia/701-2427C.wvd.zip'
# Sector 517, program filename = 'KFAM307U'
0010 REM KFAM307U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC.
0022 IF H=4THEN LOAD T"KFAM230S"10,0BEG 24
0024 %THIS MUST BE LINE 24
0049 COM Z9$8,R9$(16),Q6$64
: COM F0$3,K0$3,F1$8,K1$8,A2,E2,C2,A3,E3,F9,O2,O4,E,E1
0053 COM T0$16,V7$16,V8,T8,V3$2,V2$2,Q3$2,Q2$2,V8$1,V6$1
0056 COM V7$(3)8,V0$(3)21,T5$(3)58
0058 COM Q2,Q3,Q$1,T6$1,T0,T2$2,T8$1,T$(3)48,T3$3,T7$30,V,T2
: COM V7,Q,V1,V4$4,S2,V6,T1,V0$2,T$8,T2$(8)2,T9,T1$30,T9$2
: COM V0,T6,T4$3,T0$(4)60,T4,T3,T5,V9$2,T
0130 GOTO 4000
4000 % THIS MUST BE STATEMENT 120
4005 DIM I$1,P$,A$4
: DIM Z$(3)83,Q5$64
: S1$="ISS.200SISS.254SISS.050S"
: LOAD T<LEN(S1$)/8>S1$10,0BEG 4085
4085 IF H<>4THEN SELECT @PART"KFAM"
: F9=3
: GOSUB '50(17)
: $UNPACK(F=HEX(A008A003A003A010A001))Z$(Z1)TO F1$,F0$,K0$,P$,I$
: GOSUB '60("REORGANIZE IN PLACE",5)
: GOSUB '61("USER FILE NAME",F1$,"80"," ")
: GOSUB '61("USER FILE ADDRESS",F0$,"81","DISK")
: GOSUB '61("KEY FILE NUMBER",I$,"83"," ")
4140 GOSUB '61("KEY FILE ADDRESS",K0$,"84","DISK")
: GOSUB '61("PASSWORD",P$,"82"," ")
4155 GOSUB '70
: GOSUB '200("YNyn"," ",1,1,"ARE THERE BACKUP COPIES OF USER FILE AND KEY F
ILE (Y/N)",2)
: IF Q6$="Y"THEN 4220
: PRINT AT(10,0,);"Any error during the running of 'REORGANIZE IN PLACE'"
: PRINT "will destroy both files."
: PRINT
: PRINT "Make copies of the disk platter(s) containing"
4195 PRINT "the user file and the key file before"
: PRINT "running this program."
: GOSUB '254
: GOTO 4155
4220 SELECT #1<K0$>
: SELECT #2<F0$>
: GOSUB 4315
: GOSUB 4500
4255 LOAD T"KFAM317U"
: ERRORGOTO 4260
4260 PRINT AT(1,0);"RE-MOUNT ISS DISK AT ";S$;TAB(S0)
: GOSUB '254
: F9$="M"
: GOTO 4255
4280 DEFFN'15
: RETURN CLEAR ALL
4287 PRINT AT(1,0,3*S0);
: GOTO 4155
4315 K1$=F1$
: STR(K1$,5,2)="K"&I$
: CONVERT I$TO K9
4335 PRINT AT(1,0,S0);"MOUNT PLATTERS AT INDICATED ADDRESSES"
: GOSUB '254
: LIMITS T#1,K1$,A1,E1,C1,D1
: ERRORGOTO 4335
4350 LIMITS T#2,F1$,A2,E2,C2,D2
: ERRORGOTO 4335
4360 A$="USER"
: L=D2
: L1=2
4380 Q5$="NOT A DATA FILE"
: IF ABS(L)=1THEN 4470
: Q5$="NOT FOUND"
: IF L<>2THEN 4470
: IF L1=1THEN RETURN
: Q6$="WRONG PASSWORD"
: DATA LOAD BA T#2,(E2)R9$()
: IF STR(R9$(),4,4)=HEX(FD4D5558)AND R9$(2)<>P$THEN 4475
: A$="KEY"
: L=D1
: L1=1
: GOTO 4380
4470 Q6$=A$&" FILE IS "&Q5$
4475 GOSUB '113(Q6$,3)
4500 IF O4=1THEN 4530
: LIMITS T#0,"KFAMWORK",A3,E3,L,L
: GOSUB '217("KFAMWORK",0,S2,0,4," ",S$,0)
: IF Q$<>" "THEN GOSUB '113("WORK FILE NOT AVAILABLE",3)
: O4=1
4530 GOSUB '230(1,1,2,K9,F1$,4,P$,K0$,F0$)
: IF Q$="P"THEN GOSUB '113("WRONG PASSWORD",3)
: IF Q$="A"THEN GOSUB '113("FILE NOT AVAILABLE",3)
: IF Q$<>" "THEN GOSUB '113("ERROR OPENING FILES",3)
: O2=2
: RETURN
4580 DEFFN'81
: GOSUB '40("ENTER USER FILE ADDRESS")
: Z$,F0$=Z1$
: RETURN
4605 DEFFN'84
: GOSUB '40("ENTER KEY FILE ADDRESS")
: Z$,K0$=Z1$
: RETURN
4630 DEFFN'80
4635 GOSUB '200(" "," ",8,0,"ENTER USER FILE NAME (SSSSFJNN)",2)
: IF STR(Q6$,5,1)<>"F"OR STR(Q6$,6,1)<"0"OR STR(Q6$,6,1)>"9"THEN GOSUB '113
(", NOT A KFAM FILE",1)
: Z$,F1$=Q6$
: RETURN
4660 DEFFN'82
: GOSUB '200(" "," ",16,0,"ENTER PASSWORD",2)
: Z$,P$=Q6$
: RETURN
4685 DEFFN'83
: Q6$="1"
: GOSUB '200("1","9",1,0,"ENTER KEY FILE NUMBER (NORMAL = 1)",3)
: Z$,I$=Q6$
: RETURN
4715 DEFFN'113(Q6$,E1)
: RETURN CLEAR
4725 IF E1=3THEN 4745
: PRINT HEX(07);AT(3,0,S0);"RE-ENTER";Q6$
: ON E1GOTO 4635
4745 RETURN CLEAR
4750 PRINT HEX(07);AT(1,0,3*S0);Q6$;AT(2,0);
: Q6$=" "
: INPUT "KEY RETURN(EXEC) TO RESUME",Q6$
: GOTO 4155
4785 DEFFN'51
: $PACK(F=HEX(A008A003A003A010A001))Z$(Z1)FROMF1$,F0$,K0$,P$,I$
: RETURN
4815 DEFFN'31
4820 LOAD T"KFAM997U"
: ERRORGOTO 4825
4825 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$
: GOSUB '254
: GOTO 4820