image of READY prompt

Wang2200.org

Listing of file='KFAM230S' on disk='vmedia/701-2427C.wvd.zip'

# Sector 94, program filename = 'KFAM230S'
0010 REM  KFAM230S, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC.
0026 COM @V,@Q,@Q6$64,@Q6,@Q7,@Q8,@Q9,@Q8$20,@Q0$(16),@T5$10,@V$18,@T
   : @V=2
   : @Q=0
   : @T=0
   : @V$=HEX(5001A002A002A0025004A001A002A002A001)
   : @T5$=HEX(A003A01EA001A008A002)
   : @Q8$=HEX(A002A00450015002)
   : STR(@Q8$,9)=STR(@Q8$,7)
0580 IF @T=0THEN @T=S2
   : ELSE GOTO 584
   : RETURN
0584 $BREAK1
   : GOTO 580
0590 @T=0
   : RETURN
0609 ADDC(V9$,V0$)
   : DATA LOAD DA T#T1,(V9$)T9$,T0$()
   : RETURN
0645 T7$=T1$
0648 V9$=T2$
   : FOR T3=T0TO 1STEP -1
   : GOSUB 609
   : T2$(T3)=T9$
   : MAT SEARCHSTR(T0$(),,V7),>STR(T7$,,T4)TO V9$STEP T5
   : T=VAL(V9$,2)-T5
   : IF T<1THEN T=V1
   : $UNPACK(F=V4$)T0$()<T>TO T1$,T4$
   : V9$=T4$
   : IF V>6THEN Q2=SGN(255-VAL(STR(T0$(),V1)))*(Q2+1)
   : BIN(STR(T$,T3))=T
   : NEXT T3
   : RETURN
0723 V=4
   : IF T9<1THEN 810
   : IF T6<>T9THEN 810
0735 ON V0GOTO 744,,744
   : RETURN
0744 $OPEN #T1
   : GOSUB 873
   : IF Q2>0THEN 2890
   : INIT(FF)STR(T$(1),2*S2+15,2)
   : T8$=STR(T$(1),S2)
   : DATA SAVE DA T#T1,(V0$)V,T$()
   : $CLOSE#T1,#T2
   : RETURN
0810 IF V0$(T6)=" "THEN 2908
   : GOSUB 858
   : T9=T6
   : $UNPACK(F=@Q8$)V0$(T9)TO V0$,V4$,V0,T1,T2,T4,T5,V7,V1
   : $UNPACK(F=@T5$)T5$(T9)TO T4$,T7$,T8$,T$,T2$()
   : T9$=HEX(FF)
   : ON V0GOTO 735,846,735
0846 GOSUB 873
   : GOTO 735
0858 IF T9>0THEN $PACK(F=@T5$)T5$(T9)FROMT4$,T7$,T8$,T$,T2$()
   : RETURN
0873 DATA LOAD DA T#T1,(V0$)Q2,T$()
   : $UNPACK(F=@V$)T$(2)TO T0,T2$
   : RETURN
0900 IF ABS(Q-1)=1THEN 909
   : STR(T$(1),2*S2+15,2)=T4$
0909 STR(T$(1),S2,1)=T8$
0915 DATA SAVE DA T$#T1,(V0$)0,T$()
   : RETURN
0927 Q$=" "
   : Q=VAL(STR(T4$,3))
   : T6=VAL(T4$,2)
   : DBACKSPACE #T2,BEG
   : IF T6>0THEN DSKIP #T2,T6S
   : RETURN
0954 ON V0GOTO 960,,960
   : RETURN
0960 MAT SEARCHT$()<17,32>,=STR(T4$,1,2)TO V9$STEP 2
   : IF V9$=HEX(0000)OR VAL(V9$,2)/2=S2THEN RETURN
   : Q$="B"
   : T8$="9"
   : RETURN CLEAR
0970 GOSUB 909
   : $BREAK10
   : RETURN
1014 DEFFN'235(T6,Q)
   : GOSUB 723
   : INIT(00)T7$
   : GOSUB 648
   : GOTO 1083
1068 T=VAL(T$)
   : IF T2$(1)=T9$THEN 1083
   : V9$=T2$(1)
   : GOSUB 609
1083 T=T+T5
   : IF T>V1THEN 1131
   : $UNPACK(F=V4$)T0$()<T>TO T1$,T4$
   : IF T1$>HEX(FF)THEN 1131
1105 BIN(T$)=T
   : GOSUB 954
   : T7$=T1$
   : T8$=" "
   : ON V0GOSUB 900,,900
   : GOTO 927
1131 T3=1
1134 T3=T3+1
   : IF T3>T0THEN 2989
   : V9$=T2$(T3)
   : GOSUB 609
   : T=VAL(STR(T$,T3))
   : T=T+T5
   : IF T>V1THEN 1134
   : $UNPACK(F=V4$)T0$()<T>TO T1$,T4$
   : IF T1$>HEX(FF)THEN 1134
1167 BIN(STR(T$,T3))=T
   : IF T3=1THEN 1105
   : V9$=T4$
   : GOSUB 609
   : $UNPACK(F=V4$)T0$()TO T1$,T4$
   : T3=T3-1
   : T=1
   : T2$(T3)=T9$
   : GOTO 1167
1431 ON V0GOTO 909,,909
   : RETURN
2091 DEFFN'230(T6,Q,Q2,Q3,V7$,V,T1$,V4$,T3$)
   : IF INT((S2-1)/16)<>0THEN 2911
   : IF V0$(T6)<>" "THEN 2911
   : GOSUB 858
   : T9=0
   : IF V<1OR V>4THEN 2911
   : IF VAL(STR(T0$,Q+1))+VAL(STR(T0$,Q2+1))>64THEN 2911
   : IF Q=Q2THEN 2911
   : V7$(T6),T$=V7$
   : STR(T$,5,1)="K"
   : CONVERT Q3TO STR(T$,6,1),(#)
   : T1=Q
   : T2=Q2
   : V0=V
   : T4$=V4$
2174 IF POS("3BD"=T4$)*POS("123567"=STR(T4$,2))*POS("012345"=STR(T4$,3))=0THEN
      2911
   : SELECT #Q<T4$>
   : $GIO#Q,(70A04000870B,V7$)
   : ERRORGOTO 2911
2184 IF STR(V7$,11,1)<>HEX(D0)AND STR(T4$,3)>"0"THEN 2911
   : IF Q=Q2THEN 2194
   : Q=Q2
   : T4$=T3$
   : GOTO 2174
2194 LIMITS T#T1,T$,V,T3,T,Q
   : $CLOSE#T1
   : IF Q<>2THEN 2911
   : V0$=BIN(V,2)
   : Q2=INT(Q3/10)
   : GOSUB '217(V7$(T6),T2,S2,0,V0,T1$,V9$,0)
   : IF Q$>" "THEN RETURN
   : $OPEN #T1
   : GOSUB 873
   : STR(T$(2),13,2)=BIN(T3-V-2,2)
   : T=VAL(STR(T$(2),12))
   : STR(T$(2),15,2)=BIN((INT(Q/T)-1)*T,2)
   : GOSUB 915
   : $CLOSE#T1
   : T4=VAL(STR(T$(2),22))
   : T5=T4+3
   : V4$=HEX(A000A003)
   : BIN(STR(V4$,2))=T4
2268 V7=INT(240/T5)*T5
   : V1=V7-T5+1
   : T8$="O"
   : Q$=" "
   : V8=.5
   : T9=T6
   : STR(T0$,T1+1,1),STR(T0$,T2+1,1)="X"
   : $PACK(F=@Q8$)V0$(T9)FROMV0$,V4$,V0,T1,T2,T4,T5,V7,V1
   : RETURN
2504 DEFFN'217(V7$,Q3,S2,Q2,T,T1$,V9$,T8)
   : GOSUB 2724
   : LIMITS T#Q3,V7$,@Q6,@Q7,@Q8,@Q9
   : Q=@Q7-@Q6-1
   : Q$="D"
   : IF ABS(@Q9)=1THEN 2626
2522 IF Q2<=0THEN 2556
   : IF @Q9=2THEN 2626
   : Q$="S"
   : T=4
   : IF @Q9=0THEN 2548
   : IF @Q7-@Q6+1<Q2THEN 2626
   : DATA SAVE DC OPEN T#Q3,V7$,V7$
   : GOTO 2560
2548 DATA SAVE DC OPEN T#Q3,Q2,V7$
   : ERRORGOTO 2626
2550 LIMITS T#Q3,@Q6,@Q7,@Q8
   : GOTO 2560
2556 IF @Q9<2THEN 2626
2560 GOSUB 2632
   : Q$="M"
   : IF STR(@Q0$(),4,4)<>HEX(FD4D5558)AND Q2=-2THEN 2626
   : IF STR(@Q0$(),4,4)=HEX(FD4D5558)THEN 2576
   : STR(@Q0$(),4)=HEX(FD4D5558)
   : STR(@Q0$(),9)=V7$
   : @Q0$(2)=T1$
2576 Q$="P"
   : IF T1$<>@Q0$(2)THEN 2626
   : Q$="A"
   : @Q6$=STR(@Q0$(),33,48)
   : IF STR(@Q6$,S2,1)=" "XOR Q2<>-1THEN 2626
   : STR(@Q6$,S2,1)=" "
   : ON T-1GOTO 2596,2600,2604
   : T1$=" 1 2 3"
   : GOTO 2602
2596 T1$=" 1 2"
   : GOTO 2602
2600 T1$=" 1 3"
2602 $TRAN(@Q6$,T1$)R
2604 IF @Q6$<>" "THEN 2626
   : CONVERT TTO STR(@Q0$(),32+S2,1),(#)
   : GOSUB 2638
   : DATA LOAD DC OPEN T#Q3,V7$
   : Q$=" "
2626 IF T8=0THEN $CLOSE#Q3
   : @T=0
   : RETURN
2632 DATA LOAD BA T#Q3,(@Q7)@Q0$()
   : RETURN
2638 DATA SAVE BA T#Q3,(@Q7)@Q0$()
   : RETURN
2724 $OPEN #Q3
   : IF @T=0THEN @T=S2
   : ELSE GOTO 2730
   : RETURN
2730 $CLOSE#Q3
   : $BREAK1
   : GOTO 2724
2890 $CLOSE#T1,#T2
2894 $BREAK2
   : GOSUB 873
   : IF Q2>0THEN 2894
   : GOTO 735
2908 RETURN CLEAR
2911 Q$="X"
   : RETURN
2923 T8$,Q$="S"
   : GOTO 1431
2935 T8$,Q$="D"
   : GOTO 1431
2947 T8$="2"
   : GOTO 2956
2953 T8$="N"
2956 Q$="N"
   : GOTO 1431
2974 Q$="X"
   : T8$="X"
   : GOTO 1431
2989 IF V=4THEN 2953
   : T8$,Q$="E"
   : GOTO 1431