image of READY prompt

Wang2200.org

Listing of file='KFAM5000' on disk='vmedia/701-2049C.wvd.zip'

# Sector 335, program filename = 'KFAM5000'
0001 REM KFAM5000,VER.09/26/75
0002 GOTO 3688
0012 COM Q6$64
0200 DIM T(20)
3688 LOAD DC T#0,"KFAM0000"3688,3688
7165 DIM A$(4)64,K0$3,K1$8,K2$12,K3$12,L$2,U0$3,U1$8
   : DIM X$64,D8$21,K9$12,Y$1,K4$12
   : D8$="310320330350B10B20B30"
7174 PRINT HEX(03)
7178 GOSUB '243("ENTER USER FILE NAME (SSSSFJNN)",8)
   : U1$=Q6$
   : IF STR(U1$,5,1)<>"F"THEN 7198
   : IF STR(U1$,6,1)<"0"THEN 7198
   : IF STR(U1$,6,1)<="9"THEN 7210
7198 GOSUB '60("NOT KFAM FILE NAME")
   : GOTO 7178
7210 GOSUB '125("ENTER THE NO. OF THE USER FILE DEVICE ADDRESS")
   : D2=X
   : U0$=STR(D8$,X*3-2,3)
   : ON D2-1GOTO 7233,7234,7235,7236,7237,7238
   : SELECT #2310
   : GOTO 7250
7233 SELECT #2320
   : GOTO 7250
7234 SELECT #2330
   : GOTO 7250
7235 SELECT #2350
   : GOTO 7250
7236 SELECT #2B10
   : GOTO 7250
7237 SELECT #2B20
   : GOTO 7250
7238 SELECT #2B30
7250 GOSUB '245("ENTER KEY FILE NUMBER (NORMAL=1)",1,0)
   : K9=Q9
   : IF K9>0THEN 7270
   : GOSUB '60("INVALID")
   : GOTO 7250
7270 K1$=U1$
   : STR(K1$,5,1)="K"
   : CONVERT K9TO STR(K1$,6,1),(#)
   : GOSUB '125("ENTER THE NO. OF THE KEY FILE DEVICE ADDRESS")
   : D1=X
   : K0$=STR(D8$,X*3-2,3)
   : ON D1-1GOTO 7309,7310,7311,7312,7313,7314
   : SELECT #1310
   : GOTO 7360
7309 SELECT #1320
   : GOTO 7360
7310 SELECT #1330
   : GOTO 7360
7311 SELECT #1350
   : GOTO 7360
7312 SELECT #1B10
   : GOTO 7360
7313 SELECT #1B20
   : GOTO 7360
7314 SELECT #1B30
7360 GOSUB '230(1,2,1,K9,U1$)
   : IF Q$=" "THEN 7375
   : STOP "ERROR OPENING FILES"
7375 K1=T(12)
   : INIT(00)K4$
   : B=T(15)
   : C1,C2=1
   : IF B=0THEN 7410
   : C2=T(14)
   : GOTO 7420
7410 C1=T(14)
7420 X=T(13)+1
   : C5=INT((X-1)/256)
   : C4=X-256*C5
   : D=0
   : I=0
   : X=T(11)-1
   : IF B=0THEN 7470
   : R1=INT(X*B+.5)
   : GOTO 7495
7470 R1=X/C1
   : IF R1=INT(R1)THEN 7495
   : GOSUB '248(0,0,4)
   : STOP "NOT EVEN MULTIPLE"
7495 PRINT HEX(030A0A0A0A)
   : PRINT "KFAM FILE CONVERSION (KFAM5000)"
   : PRINT HEX(0A)
   : PRINT "UF NAME = ";U1$;TAB(26);"UF DEVICE = ";U0$
   : PRINT "KF NAME = ";K1$;TAB(26);"KF DEVICE = ";K0$
   : LIMITS T#1,U1$,S9,X,Y
   : C=0
   : C3=B
7540 GOSUB '248(0,0,4)
7545 PRINT "TURN ON PRINTER"
   : GOSUB '243("KEY RETURN(EXEC) TO RESUME",2)
   : GOSUB '248(0,0,4)
   : SELECT PRINT 215
   : PRINT HEX(0A0A)
   : PRINT "KFAM FILE CONVERSION (KFAM5000)"
   : PRINT HEX(0A0A)
7575 L=0
   : FOR R2=1TO R1
   : C3=C3+1
   : IF C3<=BTHEN 7635
   : A=S9+C+C5
   : DATA LOAD BA T#1,(A,X)A$()
   : C3=1
   : C=C+C1
7635 Z=C4+C2*(C3-1)
   : P1=INT((Z-1)/64)+1
   : P2=Z-64*(P1-1)
   : K3$=STR(A$(P1),P2)
   : Z=65-P2
   : IF Z>=K1THEN 7675
   : STR(K3$,Z+1)=STR(A$(P1+1),1)
7675 IF K1>=12THEN 7690
   : INIT(20)STR(K3$,K1+1)
7690 GOSUB '232(1,0,K3$)
   : IF Q$=" "THEN 7715
   : IF Q$="X"THEN 8020
   : GOTO 7755
7715 IF T2-1<>C-C1THEN 7755
   : IF B<2THEN 7725
   : IF Q<>C3THEN 7755
7725 K2$=K3$
   : IF STR(K3$,1,K1)=STR(K4$,1,K1)THEN 7785
   : IF STR(K3$,1,1)=HEX(FF)THEN 7785
   : GOTO 7795
7755 STR(A$(P1),P2,1)=HEX(FF)
   : DATA SAVE BA T$#1,(A,X)A$()
7765 GOSUB '50("DELETED")
   : D=D+1
   : GOTO 7795
7785 GOSUB '50("INVALID KEY")
   : I=I+1
7795 NEXT R2
7815 PRINT HEX(0A0A)
   : IF L<45THEN 7830
   : PRINT HEX(0C)
7830 PRINTUSING 7832,R1-D-I
7832 %ACTIVE RECORDS  ######
7834 PRINTUSING 7836,D
7836 %DELETED RECORDS ######
7838 PRINTUSING 7840,I
7840 %INVALID RECORDS ######
7842 PRINTUSING 7843,R1
7843 %TOTAL INPUT     ######
7845 PRINT HEX(0A0A)
   : PRINTUSING 7855,K2$;
7855 %LAST KEY = ############
7860 PRINT "      HEX = ";
   : HEXPRINT K2$
   : PRINT HEX(0C)
   : SELECT PRINT 005
   : GOSUB '239(1)
   : Q6$="DO YOU WISH TO DO ANOTHER FILE? (Y OR N)"
   : GOSUB '243(Q6$,1)
   : IF Q6$="Y"THEN 7174
   : GOSUB '248(0,0,4)
   : COM CLEAR Q6$
   : LOAD DC T#0,"START050"
7930 DEFFN'50(Q6$)
7935 IF L>0THEN 7955
   : L=5
7945 PRINT "HEX KEY";TAB(26);"KEY          SECTOR  REC  MESSAGE"
   : PRINT HEX(0A)
7955 IF L<50THEN 7980
   : PRINT HEX(0C)
   : L=1
   : GOTO 7945
7980 L=L+1
   : INIT(2D)K9$
   : FOR X=1TO 12
   : Y$=STR(K3$,X,1)
   : IF Y$<HEX(20)THEN 7994
   : IF Y$>HEX(7F)THEN 7994
   : STR(K9$,X,1)=STR(Y$,1)
7994 NEXT X
   : HEXPRINT K3$;
   : PRINT TAB(26);K9$;TAB(40);
   : PRINTUSING 8002,C-C1,C3,STR(Q6$,1,11)
8002 %#####  ###  ###########
8005 RETURN
8020 GOSUB '50("ERROR X")
   : PRINT HEX(0C)
   : SELECT PRINT 005
   : STOP "ERROR X"
8055 DEFFN'60(Q6$)
   : PRINT HEX(010A0A0A)
   : PRINT Q6$
   : RETURN
8095 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"
8125 GOSUB '245(X$,1,0)
   : X=Q9
   : IF X<1THEN 8155
   : IF X>7THEN 8155
   : GOSUB '248(5,0,5)
   : RETURN
8155 PRINT HEX(010A0A0A)
   : PRINT "INVALID DEVICE ADDRESS"
   : GOTO 8125
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 Q0>1THEN 9025
   : IF Q6$="Y"THEN 9025
   : IF Q6$<>"N"THEN 9027
9025 IF LEN(Q6$)<=Q0THEN 9231
9027 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