Your Ad Here
                     ==Phrack Magazine==

         Volume Four, Issue Forty-Two, File 8 of 14

         USEFUL COMMANDS FOR THE TP3010 DEBUG PORT

                         BY G. TENET


ALL OF THE COMMANDS LISTED BELOW, INDICATE A LENGTH IN ALL THE READ

COMMANDS. THE LENGTH OF THE READ COMMANDS MAY VARY DUE TO CONFIGURATION OPTIONS AND SOFTWARE VERSION.

1) L7FE,L,A,R200

THIS COMMAND STRING WILL LOAD '7FE' INTO THE MEMORY POINTER

REGISTER THEN LOAD THE CONTENT OF '7FE' AND '7FF' INTO THE MEMORY POINTER REGISTER. THE 'A' THEN INCREMENTS THE CONTENTS OF THE MEMORY POINTER REGISTER. THE 'R200' COMMAND THEN READS 200 BYTES BEGINNING AT THE LOCATION SPECIFIED BY THE MEMORY POINTER REGISTER. THIS AREA IS USED FOR STORING THE LOADED CONFIGURATION. DUE TO THE VARIABLE NATURE OF THE CONFIGURATION RECORDS, THE READ COMMAND MAY HAVE TO BE MODIFIED DEPENDANT ON THE NUMBER OF LINES DEFINED, THE TYPE OF LINES DEFINED (X780,3270) AND THE TYPE OF SOFTWARE LOADED (4.2X OR 5.0X).

2) LC4,R3,LCC,R3 (4.2X SOFTWARE) L124,R3,L131,R3 (5.0X SOFTWARE)

THIS COMMAND STRING WILL DISPLAY THE BUFFER MANAGER CONTROL BLOCK AREA

WHICH HAS BUFFER COUNTS WHICH MAY SUGGEST POSSIBLE PROBLEMS.

3) L32C,R (4.2X SOFTWARE) L29C,R (5.0X SOFTWARE)

THIS COMMAND STRING WILL DISPLAY THE NUMBER OF ACTIVE VC'S IN THE

TP3 AT THAT MOMENT.

IF THIS COMMAND IS USED VIA THE LOCAL CONSOLE, THE VC COUNT WILL NOT

INCLUDE THE USER CONNECTION BECAUSE THERE WILL BE NO VC ON THE X.25 LINE FOR THE LOCAL CONSOLE.

4) L70,R60

THIS COMMAND STRING WILL DISPLAY THE LCB (LINE CONTROL BLOCK) POINTER

FOR THE CONFIGURED LINES.

THE ORDER THAT THE LCB POINTERS ARE ENTERED ARE: CONSOLE LCB, X.25 LCB,

LINE 1, LINE 2, LINE 3...LINE27. ANY ZERO ENTRY IS AN UNCONFIGURED LINE EACH LINE ENTRY IS TWO BYTES LONG.

5) L300,L,R20 (4.2X SOFTWARE) L270,L,R20 (5.0X SOFTWARE)

THIS COMMAND STRING WILL DISPLAY THE LCN VECTOR TABLE. THE ENTRIES ARE

FOR EACH ACTIVE LCN BEGINNING WITH LCN 0 THRU THE HIGHEST CONFIGURED LCN. A 0000 ENTRY FOR AN LCN WILL INDICATE THAT THE LCN IS NOT ACTIVE. A NON ZERO ENTRY WILL POINT TO THE DCB (DEVICE CONTROL BLOCK) OF THE ASSOCIATED LINE/DEVICE.

6) L1F1,L,R20 (4.2X SOFTWARE ONLY)

THIS COMMAND STRING WILL DISPLAY THE PROTOCOL ID TABLE FOR THE

CONFIGURED/SUPPORTED PROTOCOLS. THE FORMAT OF THE OUTPUT IS: 999999999999... -- ---- ! -- ! ---- ! ! ! !...............POINTER TO THE SERVER TABLE * ! ! !...................POINTER TO THE PROTOCOL SERVICE ROUTINE ! !......................PROTOCOL ID NUMBER ! 01 =ITI (RITI AND LITI) ! 4B =X780 ! 47 =NAP 3270 ! 09 =DEBUG !........................NUMBER OF ENTRIES IN THIS TABLE

7) L(ADDRESS OF THE SERVER TABLE),R20

THE ADDRESS OF THE SERVER TABLE IS FOUND IN #6 (ABOVE)

THIS COMMAND WILL DISPLAY THE SERVER TABLE IN THE FORMAT:

     99999999...
     --  ----
     ! -- !................ THIS IS THE ADDRESS OF THE FIRST FREE DCB
     ! !                     IN THE FREE DCB LIST. IF 0000 THEN THERE ARE
     ! !                     NO FREE DCB'S FOR THIS SERVER AND PROTOCOL.
     ! !.....................SERVER NUMBER
     !.......................NUMBER OF ENTRIES IN THIS TABLE


THE POINTER IN THIS TABLE , IF PRESENT, WILL POINT TO THE NEXT AVAILABLE

DCB. WITHIN THE DCB, THERE IS A POINTER AT DISPLACEMENT 18 AND 19 WHICH WILL POINT TO THE NEXT FREE DCB. THE LAST FREE DCB WILL HAVE A POINTER OF 0000.

THE FOLLOWING COMMANDS ARE USED WITHIN THE TP3 DEBUG PORT TO

PERFORM THE INDICATED ACTIONS. ONLY THE TP3325 WILL SUPPORT THE [# LPU NUMBER] OPTIONS. THE USE OF THE [# LPU NUMBER] OPTION IS ONLY REQUIRED IF YOU WISH TO ADDRESS A DIFFERENT LPU NUMBER; EXCEPT FOR THE 'S' COMMAND WITH WHICH THE LPU MUST BE DEFINED.

 A SPACE CHARACTER MAY BE INCLUDED IN THE COMMAND AND THE COMMANDS

MAY BE STACKED (EXAMPLE: L7FE ,L,A,R5,L#2,L 7FE,L,A,R5,L#3 7FE,L,A,R 5).

THE TP3325 COMMANDS THAT DO NOT USE THE 'LPU' PARAMETER USE THE

LAST ASSIGNED LPU NUMBER. (EXAMPLE: L#27FE,R2,L#17FE,R4) THE FIRST LOAD COMMAND ADDRESSES LPU 2 AND THE NEXT LOAD COMMAND ADDRESSES LPU 1. THE READ OF TWO BYTES IS READING FROM LPU 2 AND THE READ OF FOUR BYTES IS READING FROM LPU 1.

            A VALUE
                  INCREMENTS THE MEMORY ADDRESS POINTER.
                  (EXAMPLE:  A5 OR AFFE2 OR A#2EF)

            B VALUE
                  USED TO ENTER OR EXIT BINARY MODE.
                  (EXAMPLE:  B01 OR B00)

            C [# LPU NUMBER] VALUE
                  USED TO WARM OR COLD START A TP3325 LPU
                       (EXAMPLE:  C00 OR C#300)
                              OR
                  USED TO WARM OR COLD START OTHER TP3.
                       (EXAMPLE:  C01 OR C#201)

            D VALUE
                  USED TO DECREMENT THE MEMORY POINTER.
                  (EXAMPLE:  D18 OR DFFE5 OR D#4IFF)

            E STRING
                  USED TO CHECK FOR A EQUAL COMPARE OF MEMORY DATA.
                  (EXAMPLE:  E00 OR E0F0304 OR E#20000)

            F STRING
                   USED TO FIND THE FIRST OCCURRENCE OF A STRING.
                   (EXAMPLE:  F0F0304 OR F08080202 OR F#308080404)

            G [# LPU NUMBER] VALUE
                  USED  TO  FIND THE ADDRESS OF A CONFIGURATION FILE IN
                  MEMORY.  THE LPU DEFINITION IN THE COMMAND DOES
                  NOT CHANGE THE LPU ASSIGNMENT IN THE DEBUG PORT.
                  (EXAMPLE:  GFE OR G01 OR G#301)

            I [# LPU NUMBER]
                  USED TO OBTAIN A LIST OF THE CONFIGURED LINE TYPES.
                  (EXAMPLE: I OR I#3)

            K [# LPU NUMBER] [14 DIGIT ADDRESS]
                  USED  TO  OBTAIN  THE LCB, ADDRESS TABLE POINTERS AND
                  LINE NUMBER ASSOCIATED WITH THE ADDRESS.
                  (EXAMPLE:  K31102120012301 OR K#2 311021250212)

            N STRING
                  USED TO CHECK FOR AN NON EQUAL COMPARISON.
                  (EXAMPLE:  N0F0304 OR N08080202 OR N#1 0F)

            P [# LPU NUMBER] PORT NUMBER
                  USED TO READ THE CONTENTS OF A SPECIFIC PORT REGISTER.
                  (EXAMPLE:  P45 OR P21 OR P#4 21)

            R VALUE
                  USED TO READ MEMORY DATA. THE QUANTITY IS INDICATED
                  BY THE 'VALUE'.
                  (EXAMPLE:  R18 OR R200)

            S [# LPU NUMBER] LINE NUMBER
                  USED TO OBTAIN DATA SET SIGNALS FOR THE DEFINED LINE
                  NUMBER.
                  (EXAMPLE:  S1 OR S#23 OR S)

            T     (TP3325 ONLY)

            W STRING
                  USED TO WRITE DATA INTO MEMORY.
                  (EXAMPLE:  W0E0304 OR W08080707)

            X [# LPU NUMBER]
                  USED TO DISPLAY THE DIFFERENCE BETWEEN THE STORED
                  CHECKSUM AND A CALCULATED CHECK SUM OF THE
                  OPERATING SOFTWARE.  THE LPU DEFINITION DOES
                  NOT CHANGE THE LPU ASSIGNMENT IN THE DEBUG PORT.
                  (EXAMPLE:  X OR X#2)

            Y     (TP3325 ONLY)
                  RETURNS NCC LOAD ADDRESS FROM EPROM

            Z     (TP3325 ONLY)
                  CRASHES APB AND XPB.  MAY HANG APB IF THE X.25
                  INTERFACE DOES NOT RESET.

            $ PORT A  -- ENABLE AUTOCONNECT
                   M  -- DISABLE AUTOCONNECT
                   B  -- BUSY
                   R  -- RESET
                   C  -- CLEAR

HARDWARE COMMANDS FOR THE TP3000

'P' COMMAND DISPLAYS THE STATUS OF A SPECIFIED PERIPHERAL INTERFACE

DEVICE FOR THE CPU. FOLLOWING IS A LIST OF SOME OF THE MORE USEFUL ADDRESSES WHICH CAN BE BENEFICIAL IF TRYING TO RESEARCH A PROBLEM. THIS COMMAND IS A READ TO THE SPECIFIED DEVICE. DEPENDANT ON THE DEVICE BEING READ (THE ADDRESS), THE TP MAY CRASH.

  COMMAND                               INTERPRETATION
  =======                               ==============

TP3010


   P45                        READ CONSOLE READ REGISTER
                                (BIT 2 THRU 6 SHOW THE POSITION OF
                                 THE FRONT PANEL ROTARY SWITCH)
                                BIT 0 = NOT TIMEOUT STATUS (SEE P47)
                                BIT 1 = NOT PBRST STATE (SEE P47)
                                BIT 2 = NOT RESTART
                                BIT 3 = NOT MEMORY SAVE
                                BIT 4 = NOT TAPE LOAD
                                BIT 5 = NOT PROGRAM SAVE
                                BIT 6 = NOT DIAGNOSTICS
                                BIT 7 = NOT SYSTEM GOOD
                              IF BIT 6 THRU BIT 2 ARE ALL SET (EQUAL TO 1)
                                THEN THE FRONT PANEL SWITCH IS IN
                                THE X.25 LOAD POSITION.
   P47                        THIS COMMAND WILL CAUSE THE FRONT PANEL
                                 ALARM TO SOUND.

   P4D,P4D,P4D,P4D,P4D,P4D,P4D THE LAST RESPONSE WILL PROVIDE THE
                                 DOWN LINE LOAD EPROM REV. LEVEL
                                 FOR THE TP3010.
                                 EXAMPLE  43 = 'C' LEVEL

TP3005


   P23                            BIT 1 = 0  CONFIG MODE
                                          1  RUN MODE

    4.2X        5.XX                        COMMENTS
   ======      ======        ===========================================

     70          70           LCB VECTOR TABLE

                              2 BYTES FOR EACH LINE IN THE TP. IF LINE IS
                              NOT DEFINED , THEN ENTRY IS 0000. IF LINE
                              IS DEFINED, THEN ADDRESS POINTS TO THE
                              LCB (LINE CONTROL BLOCK)

     C0          120          BM CONTROL BLOCK
     C4          124          # CONTROL BUFFERS INITIALIZED
     C5          125          # CONTROL BUFFERS FREE
     C6          126          LOWEST # CONTROL BUFFERS (00 IS NONE LEFT)
                 12B          POINTER TO THE CONTROL BUFFERS
     CC          131          # BLOCK BUFFERS INITIALIZED
     CD          132          # BLOCK BUFFERS FREE
     CE          133          LOWEST # BLOCK BUFFERS REACHED (00 IS NONE
                                 LEFT)
                 138          POINTER TO BLOCK BUFFERS
     1F1                      POINTER TO PROTOCOL ID TABLE

     270         1F0          X.25 LCB
     27E         27E             # FRAMES DISCARDED
     27F         27F             # CRC ERRORS
     280         280             # REJECTS SENT
     281         281             # REJECTS RECEIVED
     282         282             # T1 TIME OUTS
     283         283             # COMMAND REJECTS SENT
     284         284             # COMMAND REJECTS RECEIVED
     285         285             # DISCONNECTS SENT
     286         286             # DISCONNECTS RECEIVED
     287         287             # SET MODE SENT
     288         288             # SET MODE RECEIVED
     289         289             # FRAME OVERFLOW RECEIVED
     28A         28A             # I FRAMES SENT
     28B         28B             # I FRAMES RECEIVED
     2B0         230               DMA LCB

     300         270               LCN VECTOR TABLE

                 29B               MAX. # LCN'S
     32C         29C               # OF ACTIVE LCN'S

     7FE         7FE               POINTER TO THE END OF THE OPERATING
                                   SYSTEM. THE NEXT BYTE IS THE BEGINNING
                                   CONFIGURATION TABLES.

    159           E9               TIME OF DAY CLOCK
    159           E9                 1/10 SECONDS
    15A           EA                 SECONDS
    15B           EB                 MIN.
    15C           EC                 HOURS
    15D           ED                 DAYS
    15E           EE                 DAYS

   DCB + 3        XX               PACKET REC. STATUS BYTE#1
                                     00 = READY
                                     01 = DTE WAITING
                                     02 = DCE WAITING
                                     04 = DATA TRANSFER
                                     08 = DTE CLEAR REQUEST SENT
                                     10 = DCE CLEAR INDICATION
                                     20 = DTE RESTART REQUEST
                                     40 = DTE RESET REQUEST
                                     80 = DCE RESET INDICATION
   DCB +18        XX               POINTER TO NEXT FREE DCB
                                     VALID ONLY IF THIS IS A FREE DCB

ITI SPECIFIC LCB INFORMATION

                LCB+27        PHYSICAL STATUS
                              X'00' LINE DOWN/INACTIVE
                              X'01' LINE HAS BEEN INACTIVATED
                              X'02' LINE IS 'BUSY OUT'
                              X'04' LINE IS BEING ACTIVATED
                              X'08' LINE IS ACTIVE
                              X'10' LINE IS BEING INACTIVATED

                LCB+28        TDT2 COMMAND BYTE
                              BIT 0 = 1  BUSY LINE
                              BIT 1 = 1  CLEAR LINE
                              BIT 2 = 1  RESET LINE
                              BIT 3 - 7 NOT USED

                LCB+5C        # BUFFERS ALLOCATED TO THIS LINE
                LCB+5D        DRIVER ERROR COUNTER
                LCB+5E        NO BUFFER ERROR COUNTER
                LCB+5F        FLOW CONTROL ERROR COUNTER
                LCB+60        PARITY ERROR COUNTER
                LCB+61        OVER-RUN ERROR COUNTER
                LCB+62        FRAMING ERROR COUNTER
                LCB+74        BREAK TIMER
                LCB+75        RING-OUT TIMER
                LCB+76        RING-OUT COUNTER

DSP 3270 LCB SPECIFIC INFORMATION

                LCB+4F        CURRENT NO. SYNC PAIRS INSERTIONS
                LCB+50        CURRENT NO. OF ERROR RETRIES
                LCB+51        CURRENT NO. OF NAK RETRIES
                LCB+52        CURRENT NO. OF ENQ RETRIES
                LCB+53        RECEIVE ACK COUNTER
                LCB+54        TRANSMIT ACK COUNTER
                LCB+55        CTS  DROP-ERROR COUNTER
                LCB+56        DCD  DROP-ERROR COUNTER
                LCB+5A        CURRENT NO. WACK'S

X780 LCB SPECIFIC INFORMATION

                LCB+4F        CURRENT NO. OF SYNC PAIR INSERTIONS
                LCB+50        CURRENT NO. OF ERROR RETRIES
                LCB+51        CURRENT NO. OF NACK RETRIES
                LCB+52        CURRENT NO. OF ENQ RETRIES
                LCB+53        RECEIVE ACK COUNTER
                LCB+54        TRANSMIT ACK COUNTER
                LCB+55        CTS  DROP-ERROR COUNTER
                LCB+56        DCD  DROP-ERROR COUNTER

COMMON DCB INFORMATION

                DCB+6         BITS 5-7 PACKET SEND SEQ. NO. P(S)
                DCB+7         BITS 5-7 PACKET REC. SEQ. NO. P(R)
                DCB+8         LCN #
                DCB+9         BITS 5-7 PACKET SEQ. NO. LAST CONFIRMED
                DCB+A         BITS 5-7 PACKET SEQ. NO. LAST SENT TO NET
                DCB+B         # PACKETS SENT
                DCB+D         # PACKETS REC.
                DCB+F         # RESETS SENT OR RECEIVED
                DCB+14        # BUFFERS IN HOLD QUEUE
                DCB+15        TIME VC WAS ESTABLISHED (SSMMHHDD)
                DCB+31        DESTINATION NETWORK ADDRESS



THE FOLLOWING IS A DESCRIPTION OF THE TP3006 X.25 INTERFACE FROM THE

SIO TO THE REAR PANEL CONNECTORS.

        SIO CHIP                     REAR PANEL CONNECTOR
      +--------------+
      |              |
      |        DTRB  |------------------->- DTR  20
      |        TXDB  |------------------->- TXD   2
      |        RTSA  |------------------->- LDL  13
      |        RTSB  |------------------->- RTS   4
      |        DTRA  |------------------->- LAL  19
      |        DCDA  |---<-----------+--->- CTR  18
      |              |               +---<- RLSD  8
      |        RXCA  |--+
      |        RXCB  |--+-------- ** ----<- RXC  17
      |              |                 +->- TXCE 24
      |              |            ** --+->- RXCE 11
      |        TXCA  |----+
      |        TXCB  |----+------ ** ----<- TXC  15
      |        DCDB  |----------- ** ----<- DSR   6
      |        CTSB  |-------------------<- CTS   5
      |        RXDA  |----+
      |        RXDB  |----+--------------<- RXD   3
      |        CTSA  |-------------------<- RI   22
      |              |
      +--------------+

                     <   INBOUND SIGNAL
                     >   OUT BOUND SIGNAL

IF DSR AND TXC, THEN USE EXTERNAL CLOCKING.  IF DSR AND NO TXC,

THEN USE INTERNAL CLOCKING DERIVED FROM THE CONFIGURED LINE SPEED PRODUCED FROM A CTC CHIP). IF THE CLOCKING IS PRODUCED INTERNALLY, THEN THE INTERNAL CLOCK IS ALSO PROVIDED ON PINS 11 AND 24 AT THE REAR PANEL.

FOR THE TP3325, THE NETLINES ALWAYS USE THE EXTERNAL CLOCK SOURCE.

THE HARDWARE WAS CHANGED DURING REFINEMENT OF THE MOD ONE XPB.

IF THE ATTACHED DEVICE IS PROVIDING CLOCKING AND THE TP3025 IS PROVIDING

CLOCKING, THE TP WILL DETECT THE CLOCKING AND WILL STOP CLOCKING. IN THE CASE OF THE TP3025 HAVING BEEN RESET AND LOADED, IF A TP3005/3006 IS THEN CONNECTED TO THE INTERFACE, THERE IS A RACE CONDITION WHERE THE DEVICE THAT PROVIDES THE CLOCKING IS ARBITRARY. THE HARDWARE LOGIC REQUIRES A RESET TO OCCUR FOR THE TP3025 TO CHANGE PRIOR SELECTION OF 1) INTERNAL/EXTERNAL CLOCKING AND 2) V35/RS232 INTERFACE AFTER A LOAD.

THE DEBUG PORT "S" COMMAND WILL RETURN ONE HEX BYTE THAT REPRESENTS

THE DATA SET SIGNALS STATUS AT THE SIO CHIP FOR THE DEFINED LINE (E.G. "S2" WILL RETURN THE DATA SET SIGNALS ON LINE 2). THE UPPER HALF OF THE BYTE IS USED TO REPRESENT THE DATA SET SIGNAL STATUS.

                BIT  7  6  5  4  3  2  1  0
                     |  |  |  |  ==========
                     |  |  |  |   NOT USED
                     |  |  |  |
  DSR AT THE REAR ---+  |  |  +--- RTS AT THE REAR PANEL.
  DTR AT THE REAR  -----+  +------ CTS AT THE REAR PANEL.

 THE FOLLOWING IS A DESCRIPTION OF THE DEVICE INTERFACE FOR THE

SIO TO THE REAR PANEL.

           SIO CHIP                         REAR PANEL INTERFACE
      +--------------+
      |              |
      |          RXD | ------------------------<  2  TD
      |          TXD | ------------------------>  3  RD
      |          DCD | -<-----------+----------<  4  RTS
      |              |              +---------->  5  CTS
      |          DTR | ------------------------>  6  DSR
      |          RTS | ------------------------>  8  DCD
      |          RXC | -<--------- ** ---------< 11
      |              |  PIO DSR -- ** ---------< 20  DTR
      |              |          -- ** ---------> 15  TC
      |              |          -- **  --------> 17  RC
      |          TXC | -<--------- ** ---------< 24  TC
      |          CTS | -<----------------------< 18
      |              |
      |              |    PIO -----------------< 25
      |              |    PIO -----------------> 22
      |              |
      +--------------+

WITH DTR TRUE ( PIN 20), RXC (PIN 11) IS CHECKED FOR AN INBOUND CLOCK

SIGNAL. IF THERE IS A CLOCK SIGNAL, THEN THE SIO IS CLOCKED EXTERNALLY FROM PIN 11 AND 24. IF THERE IS NO CLOCK ON PIN 11 THEN AN INTERNAL CLOCK SOURCE IS GATED TO THE SIO AND TO PIN 15 AND 17 ON THE REAR PANEL INTERFACE.

 THE OUTPUT OF THE DEBUG PORT 'S' COMMAND DISPLAYS ONE HEX BYTE THAT

IS A COMPOSITE OF THE DATA SET SIGNALS FROM THE PIO AND SIO CHIPS. THE OUTPUT BIT DEFINITIONS ARE THE SAME AS THE X.25 LINE BUT A NOTE NEEDS TO MADE THAT THE X.25 IS A DTE INTERFACE AND THE DEVICE LINES ARE A DCE INTERFACE. THE UTILIZATION OF THE INBOUND RTS/CTS MAY NOT BE REQUIRED FOR THE TP TO MAINTAIN THE INTERFACE.

PINS 22 AND 25 ARE PAD DEPENDANT SO THEY MAY BE USED FOR

DIFFERENT FUNCTIONS THAN THOSE EXPECTED.

               ALL NUMERIC VALUES ARE IN HEX.
               COMMAND STRINGS CAN BE USED WHILE IN THE DEBUG PORT.

         ==============================================================<
         |    XCB DIRECTORY TABLE   (two bytes per entry)               >
         |  DEBUG |LOGGER| X.25 #0 | X.25 #1 | X.25 #2 | X.25 #3|.......
 L70,R24 |   DCB  |  DCB |   XCB   |   XCB   |   XCB   |  XCB   |        >
         |===============================================================>
             |        |        |       |            |        |
           XCB#0    XCB#1  | XCB#2   XCB#3     |  XCB#4    XCB#5
                           |   |       |       |    |        |
    +->>---------------->>-+   |       |    +>>+    |        |
    |                          |       |    |       |        |
    |    +<<----------------<<-+     L76,R2 |       |      L7A,R2
    |    |                                  |       |
    |    |  L74,L,R80                       | +<<---+ L78,L,R80
    |    |                                  | |
    |    +------------->>-------------->    | +--------->>------------->
    |    |  XCB        >>              >    | | XCB     >>             >
    |    +------------->>-------------->    | +--------->>------------->
    |                       | XCB+2D        |                 | XCB+2D
    |                       |            +>>+                 |
    |    +-<<---------------+            |   +-<<-------------+
    |    |                               |   |
    |    | L(XCB+2D),L,R((MAX.LCN*3)+3)  |   | L(XCB+2D),L,R((MAX.LCN*3)+3)
    |    |                               |   |
    |    +------------------>>-------->  |   +------------------>>-------->
    |    | LCN VECTOR TABLE >> ABCCDD >  |   | LCN VECTOR TABLE >> ABCCDD >
    B    |3 BYTES PER ENTRY >> ====== >  B   |3 BYTES PER ENTRY >> ====== >
    |    +------------------>>-------->  |   +------------------>>-------->
    |                            |       |                            |
    +--CC->>  TRUNK LCNS ----->  |       +--CC->>  CONCENTRATOR LCNS  |
    |         |LCN0 |LCN1 |...   |       |         |LCN0 |LCN1 |...   |
    |                            +--->>--+                            |
    |                                                                 |
    |   THREE BYTE LCN ENTRY ==> AB CC DD                             |
    |                             = == ==                             |
    |                             | |  |                              |
    |              XCB NUMBER ----+ |  |                              |
    |              LCN NUMBER ------+  +---- LCN TIMER                |
    |                                                                 |
    |                                                                 |
    +-<<-----------------------------------------------------<<-------+

        **  CC IS THE LCN NUMBER IN XCB B. B IN XCB #0 WILL POINT TO
            ==                           =  =
 XCB #4 IN THIS EXAMPLE. CC IN XCB #0 WILL GIVE THE LCN NUMBER USED IN
                         ==
 THE LCN VECTOR TABLES FOR XCB #4.


 1)   XCB OFFSETS             DEFINITION

       XCB + 09           CONTROL DATA SET SIGNAL STATUS
                                BIT  4 = 1  RTS HIGH
                                     5 = 1  CTS HIGH
                                     6 = 1 DTR HIGH
                                     7 = 1 DSR HIGH
                                THE S COMMAND RETRIEVES THIS LOC.
       XCB + 0B              POINTER TO LINE CONFIGURATION RECORD.

       XCB + 0E              NUMBER OF FRAMES DISCARDED.
       XCB + 0F              NUMBER OF CRC ERRORS

       XCB + 10              NUMBER OF REJECTS SENT
       XCB + 11              NUMBER OF REJECTS RECEIVED

       XCB + 12              NUMBER OF T1 TIMEOUT

       XCB + 13              NUMBER OF COMMAND REJECTS SENT
       XCB + 14              NUMBER OF COMMAND REJECTS RECEIVED

       XCB + 15              NUMBER OF DISCONNECTS SENT
       XCB + 16              NUMBER OF DISCONNECTS RECEIVED

       XCB + 17              NUMBER OF SET MODE SENT
       XCB + 18              NUMBER OF SET MODE RECEIVED

       XCB + 19              NUMBER OF FRAME OVERFLOW

       XCB + 1A              NUMBER OF I FRAMES SENT
       XCB + 1C              NUMBER OF I FRAMES RECEIVED

       XCB + 24              FLAG BYTE
                              BIT 0 = 1   DCE-TO-DTE FLOW INIT
                                  1 = 1   DTE-TO-DCE FLOW INIT
                                  2 = 1   LINK RESET (DISC. OR SETMODE SENT
                                  3 = 1   DCE BUSY ( RNR SENT)
                                  4 = 1   IN TIMER RECOVERY
                                  5 = 1   SENT INTERNAL RESET. LAP RE-INIT.
                                  6 = 1   SET POLL BIT IN NEXT FRAME.

       XCB + 27              LINE STATUS
                             BIT 0 = 1  NOT ACTIVE
                                 1 = 1  DEACTIVATED
                                 2 = 1  BUSY-OUT
                                 3 = 1  ACTIVATING
                                 4 = 1  ACTIVE
                                 5 = 1  DEACTIVATING

       XCB + 2B              MAX. LCN PERMITTED
       XCB + 2C              CURRENT NUMBER OF LCN IN USE
       XCB + 2D              POINTER TO THE LCN VECTOR TABLE

       XCB + 47              'DISABLE/ ENABLE/ CLEAR COMMAND.
                                 NOT OPERATIONAL AT VERSION 1.01.
                               01 - BUSY
                               02 - CLEAR BUSY
                               04 - RESET LINE

 2)   LCN VECTOR TABLE.
        ( XCB + 2D ,L,A (LCN ADDRESS),R3)
                LCN ADDRESS = (LCN * 3)

       LCN + 0               BITS
                             0-3 - XCB DIRECTORY NUMBER.
                             4   - INIT CLEAR TIMER ON
                             5   - CLEAR INDICATION SENT
                             6   - CALL REQUEST SENT
                             7   - LCN ACTIVE
       LCN + 1               LCN NUMBER
                              (SEE LCN + 0 , BITS 0-3 TO GET XCB NUMBER)
       LCN + 2               TIMER FOR LCN.