Listing of file='KFAM817U' on disk='vmedia/701-2427C.wvd.zip'
# Sector 796, program filename = 'KFAM817U' 0010 REM KFAM817U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC. 0120 %THIS MUST BE LINE 120 0130 DIM X1$2,Z$8,X$64 : DIM M1$(22)25,A$20,A1$(18)20,A2$(41)3,A3$(3)11 : DIM G$(4)64,G$2,L$2,F$1,Y$1,A2$2,L2$2 : LOAD T"ISS.254S"10,0BEG 560 0560 IF F9$=" "THEN 620 0580 PRINT AT(1,0,S0);"MOUNT OUTPUT FILE PLATTER AT THE INDICATED ADDRESS" : GOSUB '254 : DATA LOAD BA T#2,(0)R9$() : ERRORGOTO 580 0620 M1$(1)="230 OPEN" : M1$(2)="231 DELETE" : M1$(3)="232 FINDOLD" : M1$(4)="233 FINDNEW" : M1$(5)="234 FINDNEW(HERE)" : M1$(6)="235 FINDFIRST" : M1$(7)="236 FINDLAST" : M1$(8)="237 FINDNEXT" : M1$(9)="212 FINDPREVIOUS" : M1$(10)="238 RELEASE" : M1$(11)="239 CLOSE" 0730 M1$(12)="CLOSE WITH RECOVERY INFO" : M1$(13)="213 RE-OPEN" : M1$(14)="214 WRITE RECOVERY INFO" : M1$(15)="217 MUX OPEN" : M1$(16)="MUX OPEN NEW" : M1$(17)="218 MUX END" : M1$(18)="219 MUX CLOSE" : M1$(19)=" " : M1$(20)="CANCEL" : M1$(21)="PROCESS" 0830 M1$(22)="RETURN TO MENU" : A1$(01)=HEX(1234567890123456789012345678901234567890) : A1$(01)=HEX(7700000000007000000000007700000070770777) : A1$(02)=HEX(7700000000007077000007070000000000000007) : A1$(03)=HEX(7770000700007000000000000000000000000007) 0890 A1$(04)=HEX(7700000000007777770777700000000000000007) : A1$(05)=HEX(7700000000007777777077700000000000000007) : A1$(06)=HEX(7707077770007000000000000000000000000007) : A1$(07)=HEX(7700007707007000000000000000000000000007) 0930 A1$(08)=HEX(7700777770007000000000000000000000000007) : A1$(09)=HEX(7700007700707000000000000000000000000007) : A1$(10)=HEX(7700000000077000000000000000000000000007) : A1$(11)=HEX(7700000000007000000000000007070000077777) 0970 A1$(12)=HEX(7700000000007000000000000007777000077777) : A1$(13)=HEX(7700000000007000000000000770000070770077) : A1$(14)=HEX(7700000000007000000000000000007700077077) : A1$(15)=HEX(7000000000000000000000000000000070770070) 1010 A1$(16)=HEX(7000000000000000000000000000000077770070) : A1$(17)=HEX(7000000000000000000000000000000000077070) : A1$(18)=HEX(7000000000000000000000000000000000070770) : A2$(1)=HEX(002022) : A2$(2)=HEX(060977) : A2$(3)=HEX(098405) : A2$(4)=HEX(101402) : A2$(5)=HEX(103204) : A2$(6)=HEX(105907) 1100 A2$(7)=HEX(110502) : A2$(8)=HEX(111602) : A2$(9)=HEX(113112) : A2$(10)=HEX(120604) : A2$(11)=HEX(123924) : A2$(12)=HEX(141002) : A2$(13)=HEX(143102) : A2$(14)=HEX(144307) : A2$(15)=HEX(147303) : A2$(16)=HEX(148003) : A2$(17)=HEX(149009) : A2$(18)=HEX(152407) : A2$(19)=HEX(162606) : A2$(20)=HEX(166207) 1240 A2$(21)=HEX(168630) : A2$(22)=HEX(191607) : A2$(23)=HEX(194407) : A2$(24)=HEX(198617) : A2$(25)=HEX(209140) : A2$(26)=HEX(229803) : A2$(27)=HEX(234608) : A2$(28)=HEX(238407) : A2$(29)=HEX(240901) : A2$(30)=HEX(241505) : A2$(31)=HEX(244512) : A2$(32)=HEX(248803) : A2$(33)=HEX(250405) : A2$(34)=HEX(252208) 1380 A2$(35)=HEX(255619) : A2$(36)=HEX(262604) : A2$(37)=HEX(264610) : A2$(38)=HEX(269007) : A2$(39)=HEX(272402) : A2$(40)=HEX(289008) : A2$(41)=HEX(999900) : A3$(1)="SINGLE BANK" : A3$(2)=" MUX" : A3$(3)="MULTIPLE BANK" : IF I$="SINGLE BANK"THEN F1=1 : IF I$="MUX"THEN F1=2 : IF I$="MULTIPLE BANK"THEN F1=3 1530 Z$="KFAM0007" : CONVERT F1TO STR(Z$,6,1),(#) : LIMITS T#0,Z$,I,X,Y 1560 INIT(00)A$ : PRINT HEX(030A) : PRINT " -- KEY THE DESIRED SPECIAL FUNCTIONS --" : PRINT : FOR X=1TO 11 : CONVERT XTO X1$,(##) : CONVERT X+11+9*INT(X/9)TO G$,(##) : IF X=8THEN G$=" " : PRINTUSING 1660,X1$,M1$(X),G$,M1$(X+11) : NEXT X 1660 % ## ######################### ## ######################### 1670 PRINT : PRINT "MODULE ";F1$;TAB(20);I$;" VERSION"; : INIT(FF)X$ : INIT(01)STR(X$,2,18) : STR(X$,30,3)=ALL(01) 1740 PRINT HEX(01) 1750 KEYIN Y$,,1780 : GOTO 1750 1780 Y=VAL(Y$) : IF VAL(STR(X$,Y+1))>1THEN 1740 : ON Y-28GOTO 1560,1880,2770 : OR (A$,A1$(Y)) : D=32*INT(Y/12) : C=Y-11*INT(Y/12)+2 : PRINT AT(C,D);"*" : GOTO 1740 1880 PRINT AT(1,0,S0);"PHASE 2 -- BUILDING MODULE ";F1$ : B=0 : FOR N=1TO 40 : GOSUB '77(N) : IF F<7THEN 1960 : UNPACK(##)STR(A2$(N),3,1)TO X : B=B+X 1960 NEXT N : B=INT(B/10)+6 : $OPEN #2 : GOSUB 2960 : G$()=HEX(40)&STR(F1$)&HEX(FD) : DATA SAVE BA T$#2,(G$,G$)G$() : G$()=HEX(00FF0010A2)&F1$&HEX(0D0000) : G=LEN(G$())+1 : I=I+1 : N,F=0 : Y$=HEX(0D) : A2$=HEX(0000) : L2$=HEX(0020) 2150 DATA LOAD BA T#0,(I,I)R9$() : P=2 2180 Q=256-P : IF STR(R9$(),P+1,2)<L2$THEN 2400 : N=N+1 : A2$=L2$ : L2$=A2$(N+1) : GOSUB '77(N) : GOTO 2400 2290 IF G+Y<256THEN RETURN : STR(G$(),G,1)=HEX(FD) : IF G$>=L$THEN 2810 : DATA SAVE BA T$#2,(G$,G$)G$() : G=2 : RETURN 2400 Y=POS(STR(R9$(),P+1,Q)=0D)+3 : IF F<7THEN 2480 : GOSUB 2290 : STR(G$(),G,Y)=STR(R9$(),P,Y) : G=G+Y 2480 P=P+Y : ON POS(HEX(FDFEFF)=STR(R9$(),P))GOTO 2150,2530,2180 : GOSUB '101("INVALID DELIMITER") 2530 STR(G$(1),1,1)=HEX(20) : STR(G$(),G,1)=HEX(FE) : IF G$>=L$THEN 2820 : DATA SAVE BA T$#2,(G$,G$)G$() : LIMITS T#2,F1$,A,E,X : Z=VAL(G$,2)-A+1 : G$()=HEX(20)&BIN(Z,2)&HEX(FD) : DATA SAVE BA T$#2,(E)G$() 2640 $CLOSE#2 : COM CLEAR Z9$ : LOAD T"KFAM007M" 2690 DEFFN'101(X$) : PRINT AT(0,0,4*S0) : PRINT X$ : GOSUB '254 : $CLOSE#2 : RETURN CLEAR 2770 DEFFN'31 : GOTO 2640 2810 RETURN CLEAR 2820 GOSUB '101("OUTPUT PROGRAM SPACE EXCEEDED") 2860 DEFFN'77(X) : HEXUNPACKSTR(A$,(X+1)*.5,1)TO X1$ : F=VAL(STR(X1$,2-MOD(X,2)))-48 : RETURN 2960 DATA LOAD BA T#2,(0)G$() : $GIO#2,(70A04000870B,X$) : GOSUB '41(STR(G$(),1)) : Z=X : GOSUB '41(STR(G$(),3)) : Y=X : GOSUB '41(STR(G$(),5)) : Y=X-Y 3060 LIMITS T#2,F1$,A,E,G,X : IF X<>0THEN 3130 : IF B>YTHEN 3330 : DATA SAVE DC OPEN T$#2,B,F1$ : GOTO 3060 3130 G$=BIN(A,2) : L$=BIN(E,2) : IF X=1THEN RETURN : X=0 : Y=17 3210 DATA LOAD BA T#2,(X,X)G$() 3230 ON POS(HEX(001011)=STR(G$(),Y))GOTO 3280,3250,3250 : GOTO 3260 3250 IF STR(G$(),Y+8,8)=F1$THEN 3370 3260 Y=Y+16 : IF Y<256THEN 3230 3280 Y=1 : IF X<ZTHEN 3210 : RETURN CLEAR 3310 GOSUB '101("SYSTEM ERROR") 3330 RETURN CLEAR 3340 GOSUB '101("NO ROOM ON DISK FOR OUTPUT PROGRAM") 3370 STR(G$(),Y,2)=HEX(1080) : X=X-1 : DATA SAVE BA T$#2,(X)G$() : RETURN 3430 DEFFN'41(X1$) : IF STR(X$,11,1)<>HEX(D0)THEN X1$=AND HEX(7FFF) : X=VAL(X1$,2) : RETURN