image of READY prompt

Wang2200.org

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