Listing of file='3277TERM' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'
# Sector 165, program filename = '3277TERM' 0010 REM 3277TERM 12/31/85 -- Wang 2200/3277 Terminal code 0020 COM N,K0,N1,R1$(24)1 : COM M0,R2$(80)1,U$(16),H0$2,L$1,Q1$(80)1,V$(16) : COM L,M,A1$1,C$1,C$(80)1,H8$1,K$1,B1$1 : COM M$2,M1$2,I,K1$1,J,F$1,F,Q$(24)80 : COM I$(10)1,I$10,P$(24)80,A,B,C,B1,D,V,W,V1,A2,E : DIM N9,P,P1,P$8 : DIM L$(1920)1,O0$15,O$(54)2,A0$1,C9$(16)16 : SELECT #4005 0075 $PSTAT="3277TERM" : GOTO 9020 0085 ON AGOTO 725 0100 PRINT HEX(020402020E);AT(23,0);" LINE DOWN ";HEX(0F); 0110 IF @C$=" "OR STR(@A$,40,1)="L"THEN 9430 : IF STR(@A$,40,1)<>"A"THEN 110 : GOTO 1880 0710 KEYIN K$,720,7570 : $BREAK 0720 IF STR(@A$,40,1)<>"A"THEN GOSUB 100 : IF STR(@D$(N),2)=HEX(00)THEN 9420 0725 B$=@T$(N) : IF B$=HEX(00)AND L$=" "THEN 770 : IF B$<HEX(11)THEN 710 0750 ON VAL(B$)-16GOTO 7000,7510,7590,7360 0770 IF I0=1THEN 980 : KEYIN K$,800,940 : W=MIN(33,W+.1) : $BREAKW : GOTO 720 0800 IF K$=HEX(FF)THEN GOSUB 970 : C$=K$ : $TRAN(K$,C1$()) : W=.1 : IF K$>HEX(1F)THEN 1080 : ON VAL(K$)GOTO 1840,2010,3750,5020,3460,2020,3080,3920 : STOP "Invalid translation see K$ and C$" 0940 IF E=0THEN 943 : E=0 : IF K$<HEX(A0)THEN 943 : AND (K$,7F) : GOTO 800 0943 C$=K$ : $TRAN(K$,F1$())R : W=.1 : ON VAL(K$)GOTO 1840,3300,3750,1840,3430,9510,8510,720,6140,6420,5340,4702 ,2000,2050,2010,2040,3930,1850,1840,3460,5020,3920 : GOTO 1840 0960 GOSUB 1880 : GOTO 720 0970 KEYIN K$,974,972 0972 E=1 : K$=HEX(60) 0974 RETURN 0980 KEYIN K$,1000,1030 : K0=K0+1 : IF K0<21THEN 980 : K0=0 0985 IF STR(@A$,40,1)<>"A"THEN GOSUB 100 : B$=@T$(N) : IF B$=HEX(00)THEN 980 : IF B$<HEX(11)THEN 985 : GOTO 750 1000 IF K$=HEX(FF)THEN GOSUB 970 : IF L$="I"THEN 1005 : IF K$<HEX(20)THEN 1010 : IF K$<HEX(80)THEN 4280 : GOTO 980 1005 $GIO#4(4007,I$) : GOTO 980 1010 IF K$=HEX(08)THEN 4640 : GOTO 980 1030 C$=K$ : IF E=0THEN 1036 : E=0 : IF K$<HEX(A0)THEN 1036 : AND (K$,7F) : GOTO 1000 1036 $TRAN(C$,F1$())R : ON VAL(C$)-2GOTO 3750,,,,,7945 : GOTO 980 1080 IF STR(P$(),C,1)>=H8$OR F$>=HEX(A0)THEN 1840 : IF F$<HEX(90)THEN 1150 : ON N9GOTO 1150 : IF POS("0123456789-."=K$)=0THEN 1840 1150 STR(P$(),C,1),K1$=K$ : IF F$<H8$THEN 1225 : F$=STR(P$(),F,1) : AND (F$,0C) : IF F$=HEX(0C)THEN K$=" " : F$=STR(P$(),F,1) : IF F$<H8$THEN 1225 : OR (F$,01) : STR(P$(),F,1)=F$ 1225 GOSUB 3010 : C=C+1 : J=J+1 : IF J>80THEN GOSUB 1420 : IF K1$=HEX(1C)THEN IF K$=HEX(2A)THEN 1300 : K1$=STR(P$(),C,1) : IF K1$<HEX(80)THEN 720 : C$=K1$AND "0" : IF C$<>"0"THEN 1310 1300 F=C : IF F=PTHEN F=0 : F=POS(STR(P$(),F+1)>7F) : IF F=0THEN F=POS(P$()>7F) : ELSE F=F+C : K1$=STR(P$(),F,1) : C=F : C$=K1$AND HEX(20) : IF C$=HEX(20)THEN 1300 1310 F=C : IF F=PTHEN F=0 : K1$=STR(P$(),F+1) : GOSUB 2850 : GOSUB 1970 : GOTO 720 1420 J=1 : I=I+1 : IF I>24THEN 1500 : $GIO#4(400D400A,I$) : RETURN 1500 C,I=1 : $GIO#4(4001,I$) : RETURN 1570 IF I0=1THEN 1750 : K1$=STR(P$(),C,1) : F=1 : F$=P$(1) : AND (F$,BF) : MAT COPY -P$()<1,C>TO Q$()<1,C> : MAT SEARCHQ$()<1,C>,>=H8$TO M$ : IF M$=H0$THEN 1700 : F=C+1 : GOTO 1730 1700 A=P-C : MAT COPY -P$()<C+1,A>TO Q$()<1,A> : MAT SEARCHQ$()<1,A>,>=H8$TO M$ : IF M$=H0$THEN 720 : F=P1 1730 F=F-VAL(M$,2) : F$=STR(P$(),F,1) : AND (F$,BF) 1750 ON I0+1GOTO 720,980 : GOTO 720 1840 $GIO#4(4007,I$) : L$="I" : GOSUB 1963 : GOTO 720 1850 IF V=0THEN V=1 : ELSE V=0 : PRINT HEX(020402020E);AT(23,0);" ID = ";N$;HEX(0F01); : IF V=0THEN 960 : GOSUB 1970 : GOTO 720 1880 $GIO#4(40064001,I$) : B,B1=0 : IF V1=1THEN PRINT HEX(03) : GOSUB '106(1,1920) : $GIO#4(4005) 1963 IF L$="I"AND I0<>1THEN PRINT AT(23,62);HEX(020402020E06);"INPUT INHIBITED .";HEX(0F0105) 1970 $GIO#4(A000,I$)R1$()<1,I> : $GIO#4(A000,I$)R2$()<1,J> : RETURN 1980 B=POS(STR(P$(),C)>7F) : IF B<>0THEN RETURN : B=POS(STR(P$(),,C)>7F) : IF B<>0THEN RETURN : B=1921-C : RETURN 2000 C=C-79 2010 C=C-1 : IF C<1THEN C=P+C : GOTO 2060 2020 C=1 : GOTO 2060 2040 C=C+79 2050 C=C+1 : IF C>PTHEN C=C-P 2060 I=INT((C-1)/80)+1 : J=MOD(C-1,80)+1 : IF POS(P$()>=H8$)=0THEN 2180 : F=POS(-STR(P$(),1,C)>=H8$) : IF F=0THEN F=POS(-STR(P$(),1,P)>=H8$) : F$=STR(P$(),F,1) : AND (F$,BF) 2180 GOSUB 1970 : GOTO 720 2570 F=C : IF STR(P$(),F,1)>=H8$THEN F=C-1 2590 IF F=PTHEN 2740 : A=P-F : MAT COPY P$()<F+1,A>TO Q$()<1,A> : $TRAN(Q$()<1,A>,U$()) : MAT SEARCHQ$()<1,A>,=H8$TO M$ : MAT SEARCHQ$()<1,A>,=HEX(82)TO M1$ : IF M$=H0$AND M1$=H0$THEN 2740 : IF M1$=H0$THEN 2650 : IF M$>M1$OR M$=H0$THEN M$=M1$ 2650 F=F+VAL(M$,2) : IF F=PTHEN 2910 : K1$=STR(P$(),F+1,1) : IF K1$>=H8$THEN 2590 : GOTO 2850 2740 F=0 : MAT COPY P$()<1,C>TO Q$()<1,C> : $TRAN(Q$()<1,C>,U$()) 2770 MAT SEARCHQ$()<F+1,C-F>,=H8$TO M$ : MAT SEARCHQ$()<F+1,C-F>,=HEX(82)TO M1$ : IF M$=H0$AND M1$=H0$THEN 2900 : IF M1$=H0$THEN 2790 : IF M$>M1$OR M$=H0$THEN M$=M1$ 2790 F=F+VAL(M$,2) : IF F=PTHEN 2970 : IF F>=CTHEN 2900 : K1$=STR(P$(),F+1,1) : IF K1$>=H8$THEN 2770 2850 C=F+1 : I=INT((C-1)/80)+1 : J=MOD(C-1,80)+1 : IF F=0THEN F=1 2855 F$=STR(P$(),F,1) : AND (F$,BF) : RETURN 2900 F=1 : F$=P$(1) : AND (F$,BF) : A=1919 : MAT COPY P$()<1,A>TO Q$()<1,A> : $TRAN(Q$()<1,A>,U$()) : B=POS(STR(Q$(),1,A)=HEX(81)) : IF B=0THEN 2910 : K1$=STR(P$(),B,1) : RETURN 2910 K1$=P$(1) : IF K1$>=H8$THEN 2740 : C,I,J=1 : GOTO 2855 2970 F$=STR(P$(),P,1) : AND (F$,BF) : GOTO 2910 2981 $TRAN(Q1$(),V$()) : B=POS(STR(Q1$())=HEX(82)) : IF B=0THEN RETURN : IF B>=80THEN RETURN 2983 B1=POS(STR(Q1$(),B+1,80-B)>=HEX(80)) : IF B1=0THEN B1=80-B : INIT(20)STR(C$(),B+1,B1) : D=B+B1 : IF D>=80THEN RETURN : B=POS(STR(Q1$(),D,80-D)=HEX(82)) : IF B=0THEN RETURN : B=B+D-1 : IF B>=80THEN RETURN : GOTO 2983 3010 $TRAN(K$,C8$()) : IF F$<HEX(80)THEN 3015 : AND (F$,08) : IF F$<>HEX(08)THEN 3015 : F$=STR(P$(),F,1) : AND (F$,04) : IF F$=HEX(04)THEN 3015 : $GIO#4(HEX(4002400440024000400EA000400F),I$)K$ : GOTO 3016 3015 $GIO#4(HEX(A000),I$)K$ 3016 F$=STR(P$(),F,1) : RETURN 3080 IF F$>=H8$THEN 3280 : C=C-J+81 : IF C>PTHEN 3210 : J=1 : I=I+1 : GOTO 3310 3210 C,I,J=1 : GOTO 3310 3280 C=C-J+79 3300 GOSUB 2570 3310 GOSUB 1970 : GOTO 720 3430 N9=-N9 : GOTO 720 3460 C$=HEX(81) : C,I,J,F=1 : INIT(00)P$(),K1$,F$ : PRINT HEX(03); 3750 A1$=C$ : $TRAN(A1$,F2$)R : L$="I" : PRINT HEX(020402020E06);AT(23,62);"INPUT INHIBITED.";HEX(0F0105) : @T$(N)=HEX(02) : ON I0+1GOTO 720,980 : GOTO 720 3920 K$=HEX(1E) : GOTO 1080 3930 K$=HEX(1C) : GOTO 1080 4280 IF F$<HEX(90)THEN 4286 : ON N9GOTO 4286 : IF POS("0123456789-"=K$)<>0THEN 4286 : GOTO 4287 4286 IF STR(P$(),C+L-1,1)=HEX(00)OR I2=1THEN 4288 4287 I2=0 : $GIO#4(4007,I$) : L$="I" : PRINT HEX(020402020E06);AT(23,62);"INPUT INHIBITED.";HEX(0F05); : GOSUB 1970 : GOTO 980 4288 K1$=K$ : STR(P$(),C,1)=K1$ : STR(P$(),F,1)=F$ : GOSUB 3010 : F$=STR(P$(),F,1) : L=L-1 : C=C+1 : IF C<P1THEN 4330 : J=0 : C,I=1 : $GIOHOME#4(4001,I$) 4330 J=J+1 : IF J<81THEN 4360 : J=1 : I=I+1 : $GIOLF#4(400A,I$) : IF L<0THEN L=0 4360 IF L=1AND STR(P$(),C,1)<>HEX(00)THEN 4287 : ON L+1GOTO 4625,4420 4380 IF STR(P$(),C,1)<>HEX(00)THEN 4381 : A2=1 : GOTO 4382 4381 IF STR(P$(),C+L-1,1)<>HEX(00)THEN 4287 4382 IF A2=1AND STR(P$(),C,1)<>HEX(00)THEN 4702 : IF M<CTHEN 4570 : IF A2=1THEN 4420 : MAT COPY Q$()<1,L-1>TO P$()<C+1,L-1> 4420 INIT(5C)STR(P$(),C,1) : B,B1=0 : MAT COPY P$()<C-J+1,80>TO C$() : MAT COPY P$()<C-J+1,80>TO Q1$() : $TRAN(C$(),C8$()) : GOSUB 2981 : GOSUB 1980 : GOSUB '106(C,B) : GOSUB 1970 : MAT COPY P$()<C-J+1,80>TO Q1$() : $GIO#4(A000,I$)R2$()<1,J> : IF A2=1THEN I2=0 : IF I2=1THEN 4287 : IF STR(P$(),C+L-1,1)<>HEX(00)THEN I2=1 : GOTO 980 4570 A=P1-C : B=L-A : IF C=PTHEN 4610 : MAT COPY Q$()<1,A-1>TO P$()<C+1,A-1> 4610 MAT COPY Q$()<A,B-1>TO P$()<1,B-1> : GOTO 4420 4625 M0=0 : C=C-1 : IF J<>1THEN 4626 : I=I-1 : J=81 4626 J=J-1 : GOTO 4287 4640 IF C=M0THEN 4675 : $GIO#4(4008,I$) : C=C-1 : J=J-1 : L=L+1 : IF J>0THEN 4380 : J=80 : I=I-1 : $GIO#4(400C,I$) : IF I>0THEN 4380 : I=24 : C=P : GOTO 4380 4675 $GIO#4(4007,I$) : GOTO 980 4702 C$=F$ : $TRAN(C$,U$()) : I2,A2=0 : I0=1 : MAT COPY P$()<1841,80>TO C$() : $TRAN(C$(),C8$()) : PRINT AT(23,0);HEX(020400040E); : $GIO#4(HEX(A000400F4001),I$)C$() : IF C$=HEX(81)THEN 1840 : IF C$<H8$THEN 4945 : IF C$<>HEX(82)THEN 4745 : I0=0 : GOTO 1840 4745 IF K1$>=H8$THEN 1840 : OR (F$,01) : STR(P$(),F,1)=F$ : M0=C : MAT COPY P$()<C,P1-C>TO Q$()<1,P1-C> : IF C=1THEN 4850 : MAT COPY P$()<1,C-1>TO Q$()<P+2-C,C-1> 4850 L=P : IF C$<H8$THEN 4380 : MAT SEARCHQ$(),>=H8$TO M$ : IF M$=H0$THEN 4380 : L=VAL(M$,2)-1 : M=M0+L-1 : IF M<=PTHEN 4380 : M=M-P : GOTO 4380 4945 IF C=PTHEN 4675 : M0=C : M=P-1 : L=P-C : MAT COPY P$()<C,L>TO Q$()<1,L> : GOTO 4380 5020 IF C=1THEN 5040 : MAT COPY -P$()<1,C-1>TO Q$()<1,C-1> 5040 MAT COPY -P$()<C,P1-C>TO Q$()<C,P1-C> : $TRAN(Q$(),U$()) : B=1 5070 MAT SEARCHQ$()<B+1,P-B>,=H8$TO M$ : MAT SEARCHQ$()<B+1,P-B>,=HEX(82)TO M1$ : IF M$=H0$AND M1$=H0$THEN 5270 : IF M1$=H0$THEN 5090 : IF M$>M1$OR M$=H0$THEN M$=M1$ 5090 B=B+VAL(M$,2) : K1$=STR(Q$(),B-1,1) : IF K1$>=H8$THEN 5260 : C=C-B+1 5130 IF C>0THEN 5160 : C=C+P : GOTO 5130 5160 K1$=STR(P$(),C,1) : I=INT((C-1)/80)+1 : J=C-80*I+80 : F=C-1 : IF F<1THEN F=P : F$=STR(P$(),F,1) 5230 AND (F$,BF) : GOSUB 1970 : GOTO 720 5260 IF B<PTHEN 5070 5270 C,I,J,F=1 : K1$,F$=P$(1) : GOTO 5230 5340 C$=F$ : $TRAN(C$,U$()) : IF C$=HEX(81)THEN 1840 : IF K1$>=H8$THEN 1840 : IF C$=HEX(82)THEN 1840 : IF F$<H8$THEN 5530 : OR (F$,01) : STR(P$(),F,1)=F$ : MAT SEARCHP$()<C,81-J>,>=H8$TO M$ : IF M$=H0$THEN 5530 : B=VAL(M$,2)-1 5450 MAT COPY P$()<C+1,B-1>TO P$()<C,B> : C$(1)=HEX(00) : MAT COPY C$()<1,1>TO P$()<C+B-1,1> : MAT COPY P$()<C-J+1,80>TO C$() : MAT COPY P$()<C-J+1,80>TO Q1$() : $TRAN(C$(),C8$()) : GOSUB 2981 : GOSUB 1980 : GOSUB '106(C,MIN(B,81-J)) : GOSUB 1970 : MAT COPY P$()<C-J+1,80>TO Q1$() : $GIO#4(HEX(A000),I$)R2$()<1,J> : GOTO 720 5530 B=81-J : GOTO 5450 6140 IF K1$>=H8$THEN 1840 : IF F$>=HEX(A0)THEN 1840 : INIT(00)Q$(),K1$ : IF F$<H8$THEN 6360 : OR (F$,01) : STR(P$(),F,1)=F$ : IF C>=PTHEN 6260 : MAT SEARCHP$()<C+1,P-C>,>=H8$TO M$ : IF M$=H0$THEN 6260 : M=C+VAL(M$,2)-1 : MAT COPY Q$()TO P$()<C,M-C+1> 6240 GOSUB 1980 : GOSUB '106(C,B) : GOSUB 1970 : GOTO 720 6260 MAT COPY Q$()TO P$()<C,P1-C> : MAT SEARCHP$()<1,C>,>=H8$TO M$ : IF M$>H0$THEN 6290 : PRINT HEX(03) : STOP "PGM ERROR" 6290 M=VAL(M$,2)-1 : IF M=0THEN 6240 : MAT COPY Q$()TO P$()<1,M> : GOTO 6240 6360 MAT COPY Q$()TO P$()<C,P1-C> : GOTO 960 6420 IF F$<H8$THEN 6910 : F=0 : INIT(00)K1$ : N1=0 6450 IF F=PTHEN 6840 : MAT SEARCHP$()<F+1,P-F>,>=H8$TO M$ : IF M$=H0$THEN 6840 : F=F+VAL(M$,2) : F$=STR(P$(),F,1) : AND (F$,20) : IF F$=HEX(00)THEN 6540 : IF F<PTHEN 6450 : GOTO 6840 6540 N1=N1+1 : IF F=PTHEN 6760 : MAT SEARCHP$()<F+1,P-F>,>=H8$TO M$ : IF M$=H0$THEN 6680 : L=VAL(M$,2)-1 : IF L=0THEN 6450 : STR(P$(),F+1,1)=K1$ : IF L=1THEN 6610 : MAT COPY P$()<F+1,L-1>TO P$()<F+2,L-1> 6610 AND (STR(P$(),F,1),FE) : F$=STR(P$(),F) : F=F+L : IF F<PTHEN 6450 : GOTO 6760 6680 L=P-F : IF L=0THEN 6760 : STR(P$(),F+1,1)=K1$ : IF L=1THEN 6720 : MAT COPY P$()<F+1,L-1>TO P$()<F+2,L-1> 6720 AND (STR(P$(),F,1),FE) : F$=STR(P$(),F) 6760 MAT SEARCHP$(),>=H8$TO M$ : L=VAL(M$,2)-1 : IF L=0THEN 6840 : INIT(00)STR(P$(),1,1) : IF L=1THEN 6840 : MAT COPY P$()TO P$()<2,L-1> 6840 C=P-1 : GOSUB 2570 : GOTO 960 6910 B=POS(P$()>HEX(7F)) : IF B=0THEN 6920 : F$=STR(P$(),B,1) : GOTO 6420 6920 INIT(00)P$(),K1$,F$ : C,I,J,F=1 : GOTO 960 7000 L$="I" : PRINT HEX(020402020E06);AT(23,62);"INPUT INHIBITED.";HEX(0F0105); : STR(A$,2,1)=HEX(20) : GOTO 7362 7360 STR(A$,2,1)=A1$ 7362 STR(A$,3)=BIN(C-1,2) : $OPEN #6 : $GIO#6(40054210422040004240423040FEA000,A$)P$() : $CLOSE#6 : @T$(N)=HEX(10) : GOTO 720 7510 $OPEN #6 : INIT("A")I$() : INIT("A")P$() : $BREAK : $GIO#6(87008701870487038702C340,I$())P$() : ERRORGOTO 7562 7520 $CLOSE#6 : B=C : C=VAL(STR(I$(),3),2)+1 : I=INT((C-1)/80)+1 : J=C-80*I+80 : B=0 : C$=I$(1) : AND (C$,06) : IF C$<HEX(04)THEN 7535 : $GIOBEEP#4(4007,I$) 7535 AND (C$,02) : IF C$>HEX(00)THEN L$,A1$=" " : @T$(N)=HEX(00) : GOSUB 1880 : GOTO 1570 7562 $CLOSE#6 : PRINT AT(23,10);HEXOF(B$);" Term.Buffer UPDATE not received "; : @T$(N)=HEX(00) : IF Z<9THEN 710 7570 $TRAN(K$,F1$())R : IF K$<>HEX(08)THEN 720 : IF A1$<>" "THEN 7940 7590 L$=" " : @T$(N)=HEX(00) : GOSUB '106(80*23+1,80) : GOSUB 1970 : GOTO 720 7935 DEFFN'15 : RETURN CLEAR 7940 L$="I" : @T$(N)=HEX(01) 7945 IF STR(P$(),C,1)=HEX(5C)THEN STR(P$(),C,1)=HEX(00) : IF M0=0THEN 8010 : M0=0 : IF M<CTHEN 7990 : IF A2=1THEN 8010 : MAT COPY Q$()TO P$()<C,L> : GOTO 8010 7990 MAT COPY Q$()TO P$()<C,P1-C> : MAT COPY Q$()<P+2-C,L-P1+C>TO P$()<1,L-P1+C> 8010 GOSUB 1963 : L$=" " : IF I0=0THEN 1570 : I0=0 : GOSUB 1980 : IF I=24THEN 8019 : GOSUB '106(C,B) 8019 GOSUB '106(80*23+1,80) : GOSUB 1970 : GOTO 1570 8505 DEFFN'31 8510 STR(@D$(N),2)=HEX(00) : @T$(N)=HEX(03) : GOSUB '99(8,"Terminal Detached from Cluster") : STR(@A$,24+N,1),STR(@A$,12+N,1),STR(@A$,38+(3*N),3)=" " : GOTO 9450 9020 SELECT @PART"3270UNIV" : PRINT HEX(03) : IF N=0THEN N=C : A$=@D$(N) : IF VAL(STR(@A$,12+N))-48<>#PARTTHEN 9420 : A=0 9040 IF @T$(N)=HEX(00)THEN 9050 : A=A+1 : $BREAK : IF A<99THEN 9040 : @T$(N)=HEX(00) 9050 IF N$(5)=" "THEN 9060 : IF R1$(1)=HEX(01)THEN 9060 : STR(@D$(N),2)=HEX(80) : @T$(N)=HEX(03) 9060 GOSUB 9140 9070 $IF OFF /001,1570 : KEYIN K$ : GOTO 9070 9140 C,I,J,F=1 : V1,V,A2,E=0 : P=1920 : P1=P+1 : F$=P$(1) : AND (F$,BF) : N9=VAL(STR(@Z$,35))-49 : N9=-N9 : INIT(0A)R1$() : INIT(01)R1$(1) : INIT(09)R2$() : INIT(0D)R2$(1) : INIT(00)P$(),Q$(),H0$,Q1$() : L$="I" : GOSUB 1880 : A1$=HEX(20) : H8$=HEX(80) : INIT(31)U$(),V$() : INIT(81)U$(11),U$(12),U$(15),U$(16) 9276 V$(9),V$(10),V$(11),V$(12),V$(13),V$(14),V$(15),V$(16)=HEX(83838383838383 838484848482828282) : U$(9),U$(10),U$(13),U$(14)=HEX(80808080808080808080808082828282) 9315 O$()=HEX(1B11D0351E13D0171C25E007012019B01CBDE014400D0B0119C01CCEE0134001 0C011000D014400A42101000D0001C41D0071C21D006400240040280) : STR(O$(),LEN(O$())+1)=HEX(1C12E02340001000D03102841C12E02940001000D031028 81C12E02F40021000D031028C40004000400E1000D0064000) 9317 C9$()=C8$() : FOR A=129TO 256 : STR(C9$(),A,1)=BIN(A-1) : NEXT A : STR(C9$(),129)=AND ALL(8C) : RETURN 9390 DEFFN'99(A,A$) : SELECT PRINT 005 : PRINT HEX(03);BOX(5,79);HEX(0A0A0E);TAB(40-LEN(A$)/2);A$ : FOR A=ATO 0STEP -1 : PRINT A;HEX(0C) : $GIO(75FF,A$) : NEXT A : RETURN 9420 GOSUB '99(10,"Terminal has been detached") : GOTO 9450 9430 GOSUB '99(35,"Cluster has been reloaded -- Terminal must be reattached") 9450 COM CLEAR A : LOAD DC T#0,N$(1) 9505 DEFFN'29 9510 PRINT HEX(03) : IF V1=0THEN 9515 : V1=0 : PRINT HEX(0305); : GOTO 960 9515 V1=1 : GOSUB 9560 : GOTO 720 9560 PRINT AT(0,16);"Wang 2200 / 3277 Terminal emulator keyboard layout";AT(1, 24);"Special function strip layout" : A=2 : GOSUB 9850 : A=3 : GOSUB 9840 : A=5 : GOSUB 9840 : A=6 : GOSUB 9850 : A=10 : GOSUB 9850 : A=11 : GOSUB 9850 : A=10 9660 PRINT AT(A-2,20);"Meaning of special keys on typewriter pad";AT(A-1,27);" '";STR(C7$(7),2,6);" KEY' is '3277 KEY'" : PRINT C7$(1),C7$(2) : PRINT AT(2,0);C7$(6),C7$(4) : PRINT AT(5,0);C7$(3),C7$(5) 9755 PRINT AT(13,0);"Cluster = ";STR(@Z$,29,2); : PRINT AT(23,16);" This is Terminal = ";#TERM;" in Partition = ";#PART; : A=22 : PRINT AT(A-1,1);"Station status -- HH T-P * HH=stream T=Terminal P =Partition *=active" : PRINT AT(A,0); : FOR B=1TO 7 : PRINT BOX(1,9);" "; : NEXT B : PRINT BOX(1,9) 9814 PRINT AT(A,0); : FOR A=1TO VAL(STR(@C$,33))-48 : P$=" " : IF STR(@A$,A+12,1)=" "THEN 9816 : P$=$PSTAT(VAL(STR(@A$,A+12))-48) : ERRORA=8 : GOTO 9818 9816 PRINT " ";STR(@C$,A*3+38,3);STR(@A$,A+24,1);"-";STR(@A$,A+12,1);" "; 9818 IF P$="3277TERM"THEN PRINT "* "; : ELSE PRINT " "; : NEXT A : PRINT AT(0,0) : GOSUB 9860 : A=0 9822 A=A+1 : P$=$PSTAT(MIN(A,16)) : ERRORGOTO 9830 9825 IF P$<>"HostSimu"THEN 9822 : L$()=$PSTAT(A) : PRINT AT(20,0);P$;" Status =";HEXOF(L$(25)) 9830 RETURN 9840 PRINT AT(A,0);BOX(1,79) : FOR B=0TO 79STEP 5 : PRINT AT(A,B);BOX(1,0); : NEXT B : RETURN 9850 PRINT AT(A,0);BOX(1,19);" ";BOX(1,19);" ";BOX(1,19);" ";BOX(1,19); : RETURN 9860 PRINT AT(13,15),"Print streams";TAB(47); : IF STR(@P$(1),,1)<>" "THEN 9870 : PRINT "None configured" : RETURN 9870 PRINT "Disk usage Reports received" : PRINTUSING 9910,"No.","Device","Addr","Status","File Name","Used","Total" ,"Number and Name" : PRINT AT(15,0);BOX(1,60) : IF STR(@P$(5),24,4)<>"None"THEN 9890 : PRINTUSING 9910," .","Spooler"," ",STR(@P$(5),24,10)," "," "," "," " : GOTO 9900 9890 PRINTUSING 9910," .","Spooler",STR(@P$(5),55,3),STR(@P$(5),24,10),STR(@P$ (5),66,8),VAL(STR(@P$(5),35),2),VAL(STR(@P$(5),76),2) 9900 FOR A=1TO VAL(STR(@C$,34))-48 : PRINTUSING 9910,STR(@P$(A),1,2),STR(@P$(A),6,7),STR(@P$(A),15,5),STR(@P$( A),24,10),STR(@P$(A),66,8),VAL(STR(@P$(A),44),2),VAL(STR(@P$(A),41),2),ST R(@P$(A),47,18) : NEXT A : RETURN 9910 %### ######## ##### ############ ######### ##### ##### ########### ####### 9919 DEFFN'200(A0$) : AND (A0$,0C) : D0=POS(HEX(04080C)=A0$) : IF D0<>2THEN 9979 : $GIO#4(HEX(4002400440024000400E),I$) : RETURN 9931 DEFFN'106(P5,P6) : IF P5=1THEN L$()=P$() : ELSE L$()=STR(P$(),P5)&STR(P$(),,P5-1) : D0=0 : ON POS(L$()>7F)+1GOTO 9958,9958 : GOSUB '200(STR(L$(),POS(-L$()>7F),1)) 9958 A=INT((P5-1)/80) : B=MOD(P5-1,80) : PRINT AT(A,B); : STR(O0$,11)=BIN(B)&BIN(A)&HEX(51188C) : IF D0=3THEN STR(O0$,2,4)=HEX(8C7FA08C) : ELSE STR(O0$,2,4)=HEX(007FA08C) : $TRAN(STR(L$(),,P6),C9$()) : B=1 9975 B1=MIN(P6+1-B,80) : $GIO#4(O$(),O0$)STR(L$(),B,B1) : B=B+80 : IF @T$(N)>HEX(10)OR B>P6THEN 9979 9976 GOTO 9975 : ON AGOTO 9976 9979 $GIO#4(HEX(4002400440004000400E),I$) : RETURN