image of READY prompt

Wang2200.org

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