Listing of file='3277X-ON' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'
# Sector 1305, program filename = '3277X-ON'
0010 REM 3277X-ON 02/01/83 -- Wang 2200/3277 Terminal attach code
0015 REM .This logic may be used for special signon seqeuences.
0016 REM .In B327020 change call of 3277TERM to call this module 3277X-ON
0020 COM N
: DIM N,L$1,A1$1,C$1,B1$1,I,J,I$(10)1,I$10,P$(24)80,A,B,C
0030 SELECT @PART"3270UNIV"
0075 $PSTAT="3277X-ON"
: GOTO 9010
0100 PRINT HEX(020402020E);AT(23,0);" LINE DOWN ";HEX(0F);
0110 IF @C$=" "OR STR(@A$,40,1)="L"THEN 9250
: IF STR(@A$,40,1)<>"A"THEN 110
: RETURN
0710 $BREAK10
: IF B$=HEX(00)THEN RETURN
0720 IF STR(@A$,40,1)<>"A"THEN GOSUB 100
: 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 $BREAK
: RETURN
6990 REM %.=11 Terminal buffer requested by DLP
7000 L$="I"
: STR(A$,3)=BIN(C-1,2)
: $OPEN #6
: $GIO#6(40054210402040004240423040FEA000,A$)P$()
: GOTO 7380
7350 REM %.=14 AID Pending buffer requested by DLP
7360 STR(A$,2)=A1$
: STR(A$,3)=BIN(C,2)
: $OPEN #6
: $GIO#6(40054210422040004240423040FEA000,A$)P$()
7380 $CLOSE#6
: @T$(N)=HEX(10)
: GOTO 720
7500 REM %.=12 Get BUFFER UPDATE message from DLP
7510 $OPEN #6
: INIT("A")I$()
: INIT("A")P$()
: $BREAK
: $GIO#6(87008701870487038702C340,I$())P$()
: ERRORGOTO 7518
7516 GOTO 7520
7518 $GIO#6(87008701870487038702C340,I$())P$()
: ERRORGOTO 7562
7520 $CLOSE#6
: A1$=" "
: L$=" "
: @T$(N)=HEX(00)
: GOTO 720
7562 $CLOSE#6
: PRINT AT(23,0);"'12 Buffer UPDATE not received ";
: GOTO 710
7580 REM %.=13 RESET acknowledged by DLP
7590 L$=" "
: @T$(N)=HEX(00)
: GOTO 720
9000 REM %^.Set-up
9010 SELECT @PART"3270UNIV"
: PRINT HEX(03);"2200/3277 station attaching"
: A=0
: IF N>0THEN 9030
: N=C
: B1$=C$
9020 REM %.Wait for '00' status --
9030 IF @T$(N)=HEX(00)THEN 9080
: A=A+1
: $BREAK
: IF A<99THEN 9030
: @T$(N)=HEX(00)
: $BREAK10
9040 REM .SEND Device end 03(Term) 00(MCT)
9050 REM .--- ENTRY if '12 [ 12(M) 00(T) ] (No line action??)
9060 REM .DLP-MCT interaction 11(M) 10(T) 12(M) 00(T) (No line action??)
9070 REM .Send AID then signon 02(T) 14(M) 10(T) 12(M) 00(T)
9080 GOSUB 9230
: A$=@D$(N)
: L$=" "
9090 REM %.SEND Device end
9100 PRINT "Send device end"
: STR(@D$(N),2)=HEX(C0)
: @T$(N)=HEX(03)
: $BREAK10
: GOSUB 720
9110 $BREAK10
9120 PRINT "Wait for MCT interaction"
9130 B$=@T$(N)
: REM PRINT HEXOF(B$);" ";
: IF B$=HEX(12)THEN GOSUB 720
: W=W+1
: IF W>1000THEN 9260
: IF B$<>HEX(11)THEN 9130
9140 REM .vvvvv 11(M) 10(T) 12(M) 00(T) (No line action??)
9150 A$="[[[[[[[[[[[SPECIAL SIGNON MESSAGE]]]]]]]]]]]]]]"
9160 PRINT "Setup Junk buffer for DLP"
: INIT(" ")P$()
: STR(P$(),1,LEN(A$))=A$
: C=1920
: A1$=HEX(20)
: GOSUB 720
9170 REM .vvvvvvvv Send AID then signon 02(T) 14(M) 10(T) 12(M) 00(T)
9180 PRINT "Send AID then signon 02(T) 14(M) 10(T) 12(M) 00(T)"
9190 @T$(N)=HEX(02)
9200 IF @T$(N)=HEX(00)THEN 9030
: IF @T$(N)<>HEX(14)THEN 9200
9210 PRINT "Send ID"
: INIT(00)P$()
: STR(P$(),1,LEN(A$))=A$
: C=5
9215 A1$=HEX(3D)
: REM /.ENTER AID --CLEAR AID = HEX(2D)
9220 GOSUB 720
: N$(5)=" "
: LOAD DC T#0,"3277TERM"
9230 C,I,J=1
: INIT(00)P$()
: L$="I"
: A1$=HEX(20)
: RETURN
9240 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
9250 GOSUB '99(10,"Cluster has been reloaded -- Terminal must be reattached")
: COM CLEAR A
: LOAD T#0,N$(1)
9260 GOSUB '99(10,"Host line is down")
: COM CLEAR A
: LOAD RUN