Listing of file='3277TERP' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'
# Sector 1211, program filename = '3277TERP'
0010 REM 3277TERP 05/15/85
0722 IF Z>8THEN GOSUB 8650
7564 IF STR(@D$(Z),2,1)<>HEX(C0)THEN 710
: IF @T$(Z)=HEX(00)THEN @T$(Z)=HEX(03)
: GOTO 710
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)=" "
: $CLOSE
: IF Z<9THEN 9450
8520 STR(@D$(Z),2)=HEX(00)
: @T$(Z)=HEX(03)
: GOSUB '99(8,"Printer Detached from Cluster")
: STR(@A$,24+Z,1),STR(@A$,12+Z,1),STR(@A$,3*X-2,3)=" "
: STR(@P$(X),24,10)="Detached"
: GOTO 9450
8620 DIM X9$(16)16,Z$(10)1,Y$(10)1,X(4),X0$(4)1,X1(4),X1$(150)1,X9(4),X2$(4)2,
X3$(4)1,X4$(4)3,X$(80)24,X,Z,X1$4,Y0$1,X0$1,X2,X0
8650 IF STR(@A$,20+X,1)<>STR(X1$,X,1)OR @C$=" "THEN GOSUB 8950
: ON VAL(@T$(Z))-16GOSUB 8870,8880
: IF @T$(N)=HEX(00)THEN ON SGN(X(X))GOSUB 8690
: W=.1
: RETURN
8690 $GIO#5(010002011212400040004000,Z$())
: IF Z$(8)<>HEX(10)THEN 8720
: ADDC(X2$(X),01)
: IF X2$(X)<HEX(1000)OR STR(@P$(X),24,1)="I"THEN RETURN
: IF X2$(X)=HEX(1000)THEN 8710
: IF X2$(X)<HEX(4000)THEN RETURN
: STR(@P$(X),24,9)="Intervene"
: Y=X
: STR(@D$(Y+8),2)=HEX(20)
: @T$(Y+8)=HEX(03)
: RETURN
8710 STR(@P$(X),24,9)="Not Ready"
: RETURN
8720 Y=X(X)
: X9,X3=X1(X)
: Y3=0
: IF X9>0THEN 8775
: X9=X9(X)-Y
: IF X9>132THEN X9=132
: X3=X9
: X2=POS(STR(X$(),Y,X9)=15)
: X0=POS(STR(X$(),Y,X9)=19)
: IF X2+X0=0THEN 8770
: X3=X2
: IF X0=0THEN 8770
: IF X2=0THEN 8765
: IF X2<X0THEN 8770
8765 X3=X0
: Y3=1
8770 X9=X3-1
: IF X9=0AND Y3=1THEN 8800
8775 INIT(20)X1$()
: MAT COPY X$()<Y,X9>TO X1$()
: $TRAN(X1$(),X9$())
: X1=POS(X1$()=FF)
: IF X3$(X)<>"N"THEN IF X1=0THEN 8800
8785 Y1=POS(STR(X$(),Y+X1,MAX(X9-X1,1))>7F)-1
: IF Y1<0THEN Y1=X9-X1
: X3$(X),STR(X1$(),MAX(X1,1),MAX(Y1+SGN(X1)*1,1))=" "
: IF X9-X1=Y1THEN X3$(X)="N"
: X1=POS(X1$()=FF)
: ON SGN(X1)GOTO 8785
8800 X(X),Y=Y+X3
: IF X9=0AND Y3=1THEN 8820
: IF X1(X)>0THEN $TRAN(X1$(),HEX(35153919))R
: IF POS(X1$()=0C)>0THEN GOSUB 8850
: $GIO#5(1212A000400D,Z$)X1$()<1,LEN(X1$())>
8820 INIT(00)X2$(X)
: X$="Printing"
: GOSUB 8855
: IF Y3=1THEN 8830
: IF X9(X)>YTHEN RETURN
8830 X$="Printed"
: GOSUB 8855
: X(X)=0
: IF STR(@D$(8+X),2)=HEX(20)THEN 8990
8840 STR(@D$(8+X),2)=HEX(C0)
: @T$(8+X)=HEX(03)
: PRINT AT(23,0,9);HEX(020402020E06);X$;HEX(0F05);
: GOTO 1970
8850 X3=LEN(X1$())
: $TRAN(STR(X1$(),2,X3),HEX(3C0C))R
: IF X1$(1)<>HEX(0C)THEN RETURN
: MAT COPY -X1$()<2,X3>TO -X1$()<3,X3>
: X1$(2)=" "
: RETURN
8855 IF STR(@D$(8+X),2)<>HEX(20)THEN STR(@P$(X),24,9)=X$
: RETURN
8870 $OPEN #6
: Z$=@D$(Z)
: $GIO#6(40054210402040004000400040FEA000,Z$)X$()<1,P>
: @T$(Z)=HEX(00)
: $CLOSE#6
: RETURN
8880 Y0$=STR(@D$(Z),2)
: AND (Y0$,40)
: IF Y0$<>HEX(40)THEN RETURN
: INIT(00)Y$()
: $OPEN #6
: $BREAK
: $GIORCV#6(87008701870487038702C340,Y$())X$()<1,P>
: ERRORGOTO 8925
8905 @T$(Z)=HEX(00)
: $CLOSE#6
: Y0$=Y$(1)
: AND (Y0$,08)
: IF Y0$=HEX(00)THEN RETURN
: X8=1
: Y=Z-8
: X3$(Y)=" "
: ADDC(STR(@P$(Y),35,2),01)
: STR(@P$(Y),3,3)=STR(Y$(),1,3)
: X0$,X0$(Y)=Y$(1)
: X(Y)=1
: X9(Y)=X(Y)+P
: AND (X0$,30)
: X3=0
: IF X0$=HEX(10)THEN X3=40
: IF X0$=HEX(20)THEN X3=64
: IF X0$=HEX(30)THEN X3=80
: X1(Y)=X3
: X$="QUEUED."
: RETURN
8925 $CLOSE#6
: PRINT AT(23,10);HEXOF(B$);" Prnt.Buffer UPDATE not received ";
: @T$(Z)=HEX(00)
: RETURN
8950 IF @C$<>" "THEN 8965
: $CLOSE
: LOAD DC T#0,"3270BOOT"
8965 X4$(X)=STR(@P$(X),15)
: SELECT #5<X4$(X)>
: IF STR(X1$,X,1)=" "THEN 8980
: STR(X1$,X,1)=" "
: STR(@D$(Z),2)=HEX(20)
: @T$(Z)=HEX(03)
: STR(@P$(X),24,10)="Detached"
: X(X)=0
: $CLOSE#5
: RETURN
8980 STR(X1$,X,1)=STR(@A$,20+X,1)
: STR(@D$(Z),2)=HEX(C0)
: @T$(Z)=HEX(03)
: STR(@P$(X),24,10)="Attached"
: $OPEN #5
: X8=0
: RETURN
8990 IF STR(@P$(X),24,9)<>"Intervene"THEN RETURN
: STR(@P$(X),24,9)=X$
: GOTO 8840
9002 X9$(01)=HEX(202020202020202020200A0B0C0D2020)
: X9$(02)=HEX(2020202020152020201920202A202A20)
: X9$(03)=HEX(202122232425262728292A2B2C2D2E2F)
: X9$(04)=HEX(303132333435363738393A3B3C3D3E3F)
: X9$(05)=HEX(404142434445464748494A4B4C4D4E4F)
9007 X9$(06)=HEX(505152535455565758595A5B5C5D5E5F)
: X9$(07)=HEX(606162636465666768696A6B6C6D6E6F)
: X9$(08)=HEX(707172737475767778797A7B7C7D7E7F)
: X9$(09)=HEX(202020202020202020202020FFFFFFFF)
: X9$(10)=HEX(202020202020202020202020FFFFFFFF)
9012 X9$(11)=HEX(202020202020202020202020FFFFFFFF)
: X9$(12)=HEX(202020202020202020202020FFFFFFFF)
: X9$(13)=HEX(202020202020202020202020FFFFFFFF)
: X9$(14)=HEX(202020202020202020202020FFFFFFFF)
: X9$(15)=HEX(202020202020202020202020FFFFFFFF)
9017 X9$(16)=HEX(202020202020202020202020FFFFFFFF)
: RETURN
: ON AGOTO 722,7564,8510,9030,9976
9030 GOSUB 9002
: X2$()=ALL(00)
: BIN(B$)=#TERM
: FOR A=1TO 4
: IF STR(@P$(A),18,1)="-"THEN IF STR(@P$(A),34,1)=B$THEN X=A
: NEXT A
: Z=X+8
9976 IF @T$(Z)>HEX(10)THEN ON VAL(@T$(Z))-16GOSUB 8870,8880
: GOTO 9975