Listing of file='KFAM317U' on disk='vmedia/701-2427C.wvd.zip'
# Sector 535, program filename = 'KFAM317U'
0010 REM KFAM317U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC.
0022 IF H=4THEN LOAD T"KFAM232S"10,0BEG 24
0024 % THIS MUST BE LINE 24
0042 COM B,B0,B3,B5,B7,B1$2,B2$1,F6$2,B9,C$40,N,B0$3,K7
0130 GOTO 4000
4000 LOAD T"ISS.254S"10,0BEG 4010
4010 IF H<>4THEN SELECT @PART"KFAM"
: IF F9$=" "THEN 4390
4030 PRINT AT(1,0,S0);"MOUNT PLATTERS AT THE INDICATED ADDRESSES"
: GOSUB '254
: DATA LOAD BA T#1,(0)R9$()
: ERRORGOTO 4030
4060 DATA LOAD BA T#2,(0)R9$()
: ERRORGOTO 4030
4390 DIM Y$1,X1$2
: DIM X$64
: LIMITS T#0,"KFAMWORK",X,Y,Z
: F6$=BIN(X,2)
: $UNPACK(F=H1$)T$(2)TO T0,T2$,Q2$,V2$,T8,V6$,V3$,Q3$,V8$
: V1$=STR(T$(2),18)
: B1$=BIN(A2,2)
: B=VAL(STR(V1$,2))
: B0=VAL(V8$)
: B5=VAL(STR(V1$,5))
: B3=VAL(STR(V1$,3),2)+1
: B2$=V1$
: B9=VAL(V6$)
: IF B9>40THEN 4760
: IF B2$="A"THEN 4900
: K7=1
: IF B2$="B"THEN 4650
: K7=3
4650 INIT(C0)C$
: N=B9
: B7=1
: IF B2$<>"M"THEN 4740
: B7=INT((B3-1)/256)+1
: B3=B3-256*(B7-1)
4740 LOAD T"KFAM327U"4000,8599
4760 GOSUB '51("MORE THAN 40 SECTORS PER RECORD")
4790 DEFFN'51(Q6$)
: PRINT HEX(01)
: PRINT Q6$
: E=1
4840 DEFFN'31
: COM CLEAR B
: LOAD T"KFAM997U"
4900 GOSUB '235(1,0)
: IF Q$<>" "THEN GOSUB '51("NULL FILE")
: V9$=T4$ADDCB1$
: DATA LOAD BA T#2,(V9$)R9$()
: IF STR(R9$(),1,2)=HEX(8101)THEN 4960
4950 GOSUB '51("INVALID RECORD FORMAT")
4960 N=0
: P=3
: C=0
5000 Y$=STR(R9$(),P)
: IF Y$=HEX(FD)THEN 5180
: IF Y$=HEX(08)THEN 5050
: IF Y$<HEX(81)THEN 4950
: IF Y$>HEX(FC)THEN 4950
5050 IF C=0THEN 5080
: IF Y$=STR(C$,N,1)THEN 5110
5070 GOSUB '51("NOT BLOCKED AS SPECIFIED")
5080 N=N+1
: IF N>38THEN 4950
: STR(C$,N,1)=Y$
5110 C=C+1
: AND (Y$,7F)
: P=P+1+VAL(Y$)
: IF C<B0THEN 5000
: C=0
: GOTO 5000
5180 IF C>0THEN 5070
: X=(P-3)/B0
: IF X=BTHEN 5230
: GOSUB '51("RECORD LENGTH NOT SPECIFIED CORRECTLY")
5230 IF N=0THEN 4950
: P=3
: N1=0
5290 N1=N1+1
: IF N1>NTHEN 5400
: Y$=STR(C$,N1,1)
: AND (Y$,7F)
: Y=VAL(Y$)+1
: IF P+Y>=B3THEN 5390
: P=P+Y
: GOTO 5290
5390 IF B3+B5<=P+YTHEN 5410
5400 GOSUB '51("KEY FIELD OUT OF BOUNDS")
5410 IF STR(C$,N1,1)>HEX(80)THEN 5440
: GOSUB '51("NUMERIC KEY INVALID")
5440 B3=B3-P
: B7=N1
: GOTO 4740