image of READY prompt

Wang2200.org

Listing of file='KFAM6004' on disk='vmedia/701-2086B.wvd.zip'

# Sector 306, program filename = 'KFAM6004'
0010 REM KFAM6004,VER.11/08/76
0012 COM Q6$64
0300 DIM Q2$2,Q3$2,V5$1,V5$(4)1,V8$1,V0$2,V1$8
   : DIM V2$2,V3$2,V6$1,T2$2,T4$3,T5$30,T7$30
   : DIM T2$(8)2,T(8),T8$1,T8$(4)1,Q0$4,V4$(4)2,V2$(4)2
   : DIM U1$8,X$64,K1$8
   : DIM Y$1,Y1$30,X1$2,X2$5
0350 DIM Q9$2,Q0$(4)60,T3$(1)33
0500 PRINT HEX(030A0A0A0A)
   : PRINT "PRINT KEY FILE"
0510 GOSUB '243("ENTER USER FILE NAME (SSSSFJNN)",8)
   : U1$=Q6$
   : IF STR(U1$,5,1)<>"F"THEN 560
   : IF STR(U1$,6,1)<"0"THEN 560
   : IF STR(U1$,6,1)<="9"THEN 590
0560 GOSUB '60("NOT KFAM FILE NAME")
   : GOTO 510
0590 GOSUB '245("ENTER KEY FILE NUMBER (NORMAL = 1)",1,0)
   : K9=Q9
   : IF K9>0THEN 650
   : GOSUB '60("INVALID")
   : GOTO 590
0650 GOSUB '125("ENTER THE NO. OF THE KEY FILE DEVICE ADDRESS")
   : D1=X
   : GOSUB '210(1)
   : K1$=U1$
   : STR(K1$,5,1)="K"
   : CONVERT K9TO STR(K1$,6,1),(#)
   : LIMITS T#1,K1$,A,F,U
   : S9=A+1
   : DATA LOAD DC OPEN T#1,K1$
0760 DATA LOAD DC #1,Q2$,Q3$,V5$(),V8$,V1$,V2$,V3$,V6$,T2$,T0,T8$(),Q0$,V4$(),
     V2$()
0810 SELECT PRINT 215(132)
0830 PRINT HEX(0E);"KEY FILE ";K1$
   : PRINT HEX(0A0A)
   : PRINT "KDR FIELD";TAB(30);"VALUE     HEX       VARIABLE"
   : PRINT HEX(0A)
   : PRINT "LAST DATA SECTOR";TAB(30);
   : GOSUB '50(Q2$,2)
   : PRINT "Q2$2"
   : PRINT "DATA SECTOR LIMIT";TAB(30);
   : GOSUB '50(Q3$,2)
0920 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)
   : PRINT "STR(V1$,2,1)"
1000 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)
   : T4=X
   : T5=T4+3
   : PRINT "STR(V1$,5,1)"
   : PRINT "NUMBER OF ENTRIES IN KIR";TAB(30);
1090 GOSUB '50(STR(V1$,6,1),1)
   : PRINT "STR(V1$,6,1)"
   : V6=X
   : PRINT "KEY FILE, LAST SECTOR USED";TAB(30);
   : GOSUB '50(V2$,2)
   : L=A+X
   : PRINT "V2$2"
   : PRINT "KEY FILE, LAST SECTOR AVAIL.";TAB(30);
   : GOSUB '50(V3$,2)
   : PRINT "V3$2"
1190 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);
   : PRINTUSING 2000,T0;
   : PRINT TAB(50);"T0"
   : PRINT HEX(0A)
1290 PRINT TAB(10);"PER CPU ACCESS TABLE --"
   : PRINT HEX(0A)
   : PRINT "       ACCESS    COMPLETION     PROTECTED        FINDNEW         F
     INDNEW"
1320 PRINT " #      TYPE       CODE        SECTOR (HEX)    SECTOR (HEX)    REC
     ORD (HEX)"
   : PRINT " V0     Q0$4      T8$(4)1       V4$(4)2          V2$(4)2         V
     5$(4)1"
   : PRINT HEX(0A)
   : FOR X=1TO 4
1360 PRINTUSING 2300,X;
   : X2$=STR(Q0$,X,1)
   : IF X2$>" "THEN 1400
   : X2$="NONE"
1400 PRINT TAB(8);X2$;TAB(18);
   : IF T8$(X)=" "THEN 1440
   : PRINT T8$(X);
   : GOTO 1450
1440 PRINT "BLANK";
1450 PRINT TAB(32);
   : HEXPRINT V4$(X);
   : PRINT TAB(49);
   : HEXPRINT V2$(X);
   : PRINT TAB(65);
   : HEXPRINT V5$(X)
   : NEXT X
2000 %#####
2030 PRINT HEX(0C)
   : PRINT HEX(0E);"KEY INDEX SECTORS"
   : S2=12
   : IF T4<12THEN 2080
   : S2=T4
2080 PRINT HEX(0A0A)
   : DATA LOAD DA T#1,(S9,S9)Q9$,Q0$()
   : GOSUB '51(Q9$)
   : PRINT "SECTOR ";
   : PRINTUSING 2000,X;
   : PRINT TAB(16);"HEX(";
   : HEXPRINT Q9$;
   : PRINT ")"
   : PRINT " #  HEX KEY";TAB(4+2*S2);"POINTER   (    KEY";TAB(13+3*S2);") SECT
     OR  REC#"
   : T=1
   : FOR Z=1TO V6
2190 MAT COPY Q0$()<T,T5>TO T3$()
   : GOSUB '51(STR(T3$(1),T4+1,2))
   : Y=VAL(STR(T3$(1),T5,1))
   : Y1$=STR(T3$(1),1,T4)
   : FOR Z1=1TO T4
   : Y$=STR(Y1$,Z1,1)
   : IF Y$<HEX(20)THEN 2280
   : IF Y$>HEX(7A)THEN 2280
   : GOTO 2290
2280 STR(Y1$,Z1,1)="-"
2290 NEXT Z1
2300 %##
2310 PRINTUSING 2300,Z;
   : PRINT "  ";
   : HEXPRINT STR(T3$(1),1,T4);
   : PRINT TAB(5+2*S2);
   : HEXPRINT STR(T3$(1),T4+1,3);
   : PRINT "   ";STR(Y1$,1,T4);TAB(16+3*S2);
   : PRINTUSING 2000,X;Y
   : T=T+T5
   : NEXT Z
   : IF S9<=LTHEN 2080
   : PRINT HEX(0C)
   : SELECT PRINT 005(64)
   : GOSUB '211(1)
   : $IF ON #1,2450
2450 COM CLEAR Q6$
   : LOAD DC T#0,"START065"
2490 DEFFN'50(X1$,C)
   : IF C=1THEN 2530
   : GOSUB '51(X1$)
   : GOTO 2540
2530 X=VAL(X1$)
2540 PRINTUSING 2000,X;
   : PRINT TAB(40);
   : HEXPRINT STR(X1$,1,C);
   : PRINT TAB(50);
   : RETURN
2610 DEFFN'51(X1$)
   : X=VAL(X1$)*256+VAL(STR(X1$,2))
   : RETURN
4010 DEFFN'60(X$)
   : PRINT HEX(010A0A0A)
   : PRINT X$
   : RETURN
4090 DEFFN'125(X$)
   : GOSUB '248(5,0,5)
   : PRINT ,"1.  310     5.  B10"
   : PRINT ,"2.  320     6.  B20"
   : PRINT ,"3.  330     7.  B30"
   : PRINT ,"4.  350"
4150 GOSUB '245(X$,1,0)
   : X=Q9
   : IF X<1THEN 4210
   : IF X>7THEN 4210
   : GOSUB '248(5,0,5)
   : RETURN
4210 PRINT HEX(010A0A0A)
   : PRINT "INVALID DEVICE ADDRESS"
   : GOTO 4150
4280 DEFFN'210(T6)
   : IF M$="X"THEN 4480
   : ON D1GOTO 4310,4330,4350,4370,4390,4410,4430
4310 SELECT #1390
   : RETURN
4330 SELECT #13A0
   : RETURN
4350 SELECT #13B0
   : RETURN
4370 SELECT #13D0
   : RETURN
4390 SELECT #1B90
   : RETURN
4410 SELECT #1BA0
   : RETURN
4430 SELECT #1BB0
   : RETURN
4470 DEFFN'211(T6)
4480 ON D1GOTO 4490,4510,4530,4550,4570,4590,4610
4490 SELECT #1310
   : RETURN
4510 SELECT #1320
   : RETURN
4530 SELECT #1330
   : RETURN
4550 SELECT #1350
   : RETURN
4570 SELECT #1B10
   : RETURN
4590 SELECT #1B20
   : RETURN
4610 SELECT #1B30
   : RETURN
8710 Q6=3
   : GOTO 9289
8975 DEFFN'242(W0,Q6$)
   : IF W0<=0THEN 9405
   : IF W0=1THEN 8990
   : STR(Q6$,2)=STR(Q6$,1,W0-1)
8990 PRINT Q6$;
   : RETURN
9010 DEFFN'243(Q6$,Q0)
   : GOSUB 9200
9022 SELECT CO 205
   : Q6$=" "
   : INPUT Q6$
   : IF Q0=0THEN 9231
   : IF LEN(Q6$)<=Q0THEN 9231
   : GOSUB 9150
9032 DEFFN'244(Q0)
   : GOSUB 9220
   : GOSUB 9210
   : GOTO 9022
9038 DEFFN'245(Q6$,Q2,Q3)
   : Q0=ABS(Q2)+Q3+1
   : GOSUB 9200
9044 GOSUB '242(ABS(Q2)+2,HEX(09))
   : PRINT "/"
   : GOSUB 9220
   : SELECT CO 205
   : Q9,W0=-1E-99
   : INPUT Q9
   : IF W0=Q9THEN 9058
   : IF Q9>=0THEN 9070
   : IF Q2<=0THEN 9070
9058 GOSUB 9150
9060 DEFFN'246(Q2,Q3)
   : Q0=ABS(Q2)+Q3+1
   : GOSUB 9220
   : GOSUB 9210
   : GOTO 9044
9070 IF ABS(Q9)>=10^ABS(Q2)THEN 9058
   : W0=ABS(Q9*10^Q3)
   : IF INT(W0)<>W0THEN 9058
   : GOTO 8710
9150 GOSUB 8710
   : PRINT "RE-ENTER"
   : RETURN
9200 GOSUB 9405
   : PRINT HEX(010A);STR(Q6$,1);
9210 GOSUB 9405
   : GOSUB '242(Q0+2,"-")
   : PRINT TAB(64)
9220 PRINT HEX(010A0A)
   : RETURN
9231 PRINT HEX(0A);TAB(64)
   : GOTO 9405
   : Q6=0
9289 Q7=0
   : Q8=1
9290 DEFFN'248(Q6,Q7,Q8)
   : GOSUB 9405
   : IF Q8<1THEN 9350
   : GOSUB 9350
   : SELECT PRINT 205
   : Q6$=" "
   : PRINT STR(Q6$,Q7+1)
   : IF Q8<2THEN 9350
   : FOR W0=2TO Q8
   : PRINT HEX(0A);STR(Q6$,1)
   : NEXT W0
9350 PRINT HEX(01)
   : GOSUB '242(Q7,HEX(09))
   : GOSUB '242(Q6,HEX(0A))
9405 SELECT PRINT 005(64),CO 005
   : RETURN