image of READY prompt

Wang2200.org

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