Listing of file='KFAM617U' on disk='vmedia/701-2427C.wvd.zip'
# Sector 720, program filename = 'KFAM617U' 0010 REM KFAM617U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC. 0120 % THIS MUST BE LINE 120 0340 DIM Y$1,Y1$30,X1$2,X2$5,H$6,L$5 : S1$="ISS.254SISS.200S" : LOAD T<LEN(S1$)/8>S1$10,0BEG 380 0380 IF S$(1)<>" "THEN SELECT #4<S$(1)> : IF F9$=" "THEN 460 0410 PRINT AT(1,0,S0);"MOUNT PLATTERS AT THE INDICATED ADDRESSES" : GOSUB '254 : DATA LOAD BA T#1,(0)R9$() : ERRORGOTO 410 0440 DATA LOAD BA T#2,(0)R9$() : ERRORGOTO 410 0460 IF T4>12THEN L2=T4 : ELSE L2=12 : IF O$="CRT"THEN 680 : L9=A1+1 : GOSUB '94 : PRINT AT(1,0,S0);"PRINTING ..."; : SELECT PRINT <S$(1)>(132) : PRINT HEX(0C0E);"KEYFILE ";K1$ : PRINT HEX(0A0A) : GOSUB 1710 : GOSUB 2280 : PRINT HEX(0C0E);"KEY INDEX SECTORS" : PRINT HEX(0A0A) : F=1 : GOSUB 2610 0620 $CLOSE#4 0630 SELECT PRINT 005(S0) : PRINT HEX(03) : LOAD T"KFAM997U" 0680 P0=16+8*INT(S0/80) : F1=0 : P=-1 : GOTO 1330 0730 SELECT PRINT 005(S0) : IF S0<27+3*L2THEN F=0 : ELSE F=1 : PRINT AT(P0-1,0,S0);"KEY S.F."; 0760 KEYIN Y$,,775 : GOTO 760 0775 PRINT HEX(06); : ON VAL(Y$)GOTO ,,1590,850,,890,930,970,1280,1030,1190,1210,1230,1250 : ON VAL(Y$)-19GOTO 1410,,,1450,,1620,,1490,1510,1530,1550,630 : GOTO 760 0850 P=L-A1 : GOTO 1280 0890 P=-1 : GOTO 1280 0930 P=1 : GOTO 1280 0970 GOSUB '200("-1",L$,5,0,"ENTER DESIRED KIR",1) : P=Q9 : GOTO 1280 1030 GOSUB '44 : IF P$="P"THEN 1140 : GOSUB '94 : PRINT AT(P0-1,0,S0);"PRINTING ..."; : SELECT PRINT <S$(1)>(132) : F=1 : P2=L6 : Y$="P" : GOTO 1290 1140 PRINT HEX(07);AT(1,0,S0);"PRINTER REQUIRED" : GOSUB '254 : GOTO 1280 1190 P=P+5 : GOTO 1280 1210 P=P+1 : GOTO 1280 1230 P=P-1 : GOTO 1280 1250 P=P-5 1280 P2=MIN(P0-8,L6) 1290 P1=1 : IF P<-1THEN P=-1 : IF P>L-A1THEN P=L-A1 1320 L9=A1+P 1330 IF P<1THEN PRINT HEX(03) : IF Y$<>"P"THEN PRINT AT(0,0); : PRINT "KEY FILE - ";K1$;" - "; : ON P+2GOSUB 1710,2280 : ELSE GOSUB 2610 : $CLOSE#4 : GOTO 730 1410 P1=L6 : GOTO 1620 1450 P1=1 : GOTO 1620 1490 P1=P1+5 : GOTO 1620 1510 P1=P1+1 : GOTO 1620 1530 P1=P1-1 : GOTO 1620 1550 P1=P1-5 : GOTO 1620 1590 IF F1=1THEN F1=0 : ELSE F1=1 1620 IF L6<P0-6THEN 1660 : IF P1<1THEN P1=1 : IF P1>L6-P0+9THEN P1=L6-P0+9 : P2=P1+P0-9 : GOTO 1320 1660 P1=1 : P2=L6 : GOTO 1320 1710 $UNPACK(F=H1$)T$(2)TO T0,T2$,Q2$,V2$,T8,V6$,V3$,Q3$,V8$ : V1$=STR(T$(2),18) : H$=HEX(2D002DFF) : IF O$="PRINTER"THEN 1780 : PRINT "KDR" : IF S0=64THEN 1800 : PRINT AT(4,0,S0); 1780 PRINT "KDR FIELD";TAB(30);"VALUE HEX VARIABLE" : PRINT 1800 PRINT "LAST DATA SECTOR";TAB(30); : GOSUB '50(Q2$,2) : PRINT "Q2$2" : PRINT "DATA SECTOR LIMIT";TAB(30); : GOSUB '50(Q3$,2) : PRINT "Q3$2" : PRINT "RECORDS PER BLOCK";TAB(30); : GOSUB '50(V8$,1) : PRINT "V8$1" : PRINT "TYPE OF BLOCKING";TAB(34);STR(V1$,1,1);TAB(50);"STR(V1$,1,1)" : PRINT "RECORD LENGTH";TAB(30); : GOSUB '50(STR(V1$,2,1),1) 1920 PRINT "STR(V1$,2,1)" : PRINT "STARTING POSITION OF KEY";TAB(30); : GOSUB '50(STR(V1$,3,2),2) : PRINT "STR(V1$,3,2)" : PRINT "KEY LENGTH";TAB(30); : GOSUB '50(STR(V1$,5,1),1) : PRINT "STR(V1$,5,1)" : PRINT "NUMBER OF ENTRIES IN KIR";TAB(30); : GOSUB '50(STR(V1$,6,1),1) : L6=X : PRINT "STR(V1$,6,1)" : PRINT "KEY FILE, LAST SECTOR USED";TAB(30); 2040 GOSUB '50(V2$,2) : L=A1+X : CONVERT XTO L$,(#####) : PRINT "V2$2" : PRINT "KEY FILE, LAST SECTOR AVAIL.";TAB(30); : GOSUB '50(V3$,2) : PRINT "V3$2" : PRINT "SECTORS PER LOGICAL RECORD";TAB(30); : GOSUB '50(V6$,1) : PRINT "V6$1" : PRINT "HIGHEST LEVEL INDEX SECTOR";TAB(30); : GOSUB '50(T2$,2) : PRINT "T2$2" : PRINT "NUMBER OF INDEX LEVELS";TAB(30); 2180 PRINTUSING 2530,T0; : PRINT TAB(50);"T0" : PRINT "RECORD COUNT";TAB(27); : PRINTUSING 2220,T8; 2220 %######## 2230 PRINT TAB(50);"T8" : IF O$<>"CRT"THEN PRINT HEX(0A) : RETURN 2280 PRINT "PER STATION ACCESS TABLE --" : IF O$<>"CRT"THEN PRINT : ELSE PRINT AT(4,0,S0); : PRINT "STA- ACCESS COMPLETION PROTECTED FINDNEW FINDNEW" : PRINT "TION TYPE CODE SECTOR(HEX) SECTOR(HEX) RECORD (HEX)" : IF O$<>"CRT"THEN PRINT : DATA LOAD BA T#2,(E2)R9$() : FOR X=1TO 16 2350 IF X=9AND O$="CRT"AND S0=64THEN GOSUB 2560 : PRINTUSING 2930,X; : X2$=STR(R9$(3),X,1) : IF X2$>" "THEN 2400 : X2$="NONE" 2400 PRINT TAB(7);X2$;TAB(18); : Y$=STR(T$(1),X) : IF Y$=" "THEN 2450 : PRINT Y$; : GOTO 2460 2450 PRINT "BLANK"; 2460 PRINT TAB(29); : HEXPRINT STR(T$(1),2*X+15,2); : PRINT TAB(42); : HEXPRINT STR(T$(3),3*X-2,2); : PRINT TAB(56); : HEXPRINT STR(T$(3),3*X,1) : NEXT X 2530 %##### 2540 RETURN 2560 GOSUB '254 : PRINT AT(6,0); : RETURN 2610 DATA LOAD DA T#1,(L9,L9)T9$,T0$() : X=VAL(T9$,2) : PRINT "SECTOR "; : PRINTUSING 2530,X; : PRINT TAB(16);" HEX("; : HEXPRINT T9$; : PRINT ")";TAB(S0) : IF O$="PRINTER"OR Y$="P"THEN 2710 : PRINT AT(1,0,3*S0);AT(4,0); : SELECT PRINT 005(S0+1) 2710 PRINT " # "; : IF O$="CRT"AND F=0AND F1=1THEN 2750 : PRINT "HEX KEY";TAB(4+2*L2); : IF O$="CRT"AND F=0AND F1=0THEN 2760 2750 PRINT "POINTER ( KEY";TAB(10+L2+(2*L2+1)*F);") SECTOR REC#"; 2760 PRINT TAB(S0) : T=(P1-1)*T5+1 : IF O$="CRT"THEN 2820 : T=1 : P1=1 : P2=L6 2820 FOR Z=P1TO P2 : $UNPACK(F=V4$)T0$()<T>TO T1$,T4$ : Y1$=T1$ : $TRAN(Y1$,H$)R 2870 X=POS(Y1$<20) : IF X=0THEN 2910 2890 STR(Y1$,X,1)="-" : GOTO 2870 2910 X=POS(Y1$>7A) : IF X>0THEN 2890 2930 %## 2940 PRINTUSING 2930,Z; : PRINT " "; : IF O$="CRT"AND F=0AND F1=1THEN 3000 : HEXPRINT STR(T1$,1,T4); : PRINT TAB(4+2*L2); : IF O$="CRT"AND F=0AND F1=0THEN 3050 3000 HEXPRINT T4$; : PRINT " ";STR(Y1$,1,T4);TAB(13+L2+(2*L2+1)*F); : X=VAL(T4$,2) : Y=VAL(STR(T4$,3)) : PRINTUSING 2530,X;Y; 3050 PRINT TAB(S0) : T=T+T5 : NEXT Z : IF O$="CRT"THEN 3120 : PRINT HEX(0A0A) : IF L9<=LTHEN 2610 : RETURN 3120 IF Y$<>"P"THEN PRINT AT(6+P2-P1,0,) : ELSE PRINT HEX(0A0A) : RETURN 3160 DEFFN'50(X1$,C) : IF C=1THEN 3200 : X=VAL(X1$,2) : GOTO 3210 3200 X=VAL(X1$) 3210 PRINTUSING 2530,X; : PRINT TAB(40); : HEXPRINT STR(X1$,1,C); : PRINT TAB(50); : RETURN 3270 DEFFN'31 : PRINT : GOTO 620 3330 DEFFN'94 3350 $OPEN 3420,#4 3360 $GIO#4(010102001212400040004000,A$) : IF STR(A$,8,1)=HEX(00)THEN RETURN : PRINT AT(1,0,S0);"SELECT PRINTER" : GOSUB '254 : GOTO 3360 3420 PRINT AT(1,0,S0);"PRINTER HOGGED" : GOSUB '254 : GOTO 3350 3480 DEFFN'44 : P$=" 000005" : MAT SEARCHP$,=S$(1)TO P$ : IF STR(P$,1,2)=HEX(0000)THEN P$=" " : ELSE P$="P" : RETURN