*COMDECK NTSINP 
          NAM    NTSINP 
          NLS 
*CALL MUXMACROS 
*CALL REL6CONST 
          LST 
          EJT 
*********************************************************************** 
*                                                                     * 
*        THE NTS TRANSPARENT TIP WORKCODE DEFINITION                  * 
*        FOR THE BSC TIP TESTING                                      * 
*                                                                     * 
*********************************************************************** 
          EQU    NTENQ($2B)   *    ENQ
          EQU    NTACK0($2C)  *    ACK0 
          EQU    NTACK1($2D)  *    ACK1 
          EQU    NTWACK($2E)  *    WACK 
          EQU    NTETB($2F)   *    DATA BLOCK ENDED WITH ETB
          EQU    NTETX($30)   *    DATA BLOCK ENDED WITH ETX
          EQU    NTBAD($31)   *    BAD DATA BLOCK 
          EQU    NTTTD($32)   *    TTD
          EQU    NTNAK($33)   *    NAK
          EQU    NTRVI($34)   *    RVI
          EQU    NTBUF($35)   *    BUFFER THRESHOLD 
          EQU    NTEOT($36)   *    EOT
          EQU    NTLNEOT($37) *    DLE EOT
          SPC    3
*********************************************************************** 
*                                                                     * 
*        THE NTS TRANSPARENT TIP EBCDIC CONSTANTS                     * 
*        FOR THE BSC TIP TESTING                                      * 
*                                                                     * 
*********************************************************************** 
* 
          EQU    N2ACK0($70)  *    DLE $70 IS ACK0
          EQU    N2ACK1($61)  *    DLE $61 IS ACK1
          EQU    N2DLE($10)   *    DLE
          EQU    N2EM($19)    *    EM 
          EQU    N2ENQ($2D)   *    ENQ
          EQU    N2EOT($37)   *    EOT
          EQU    N2ETB($26)   *    ETB
          EQU    N2ETX($03)   *    ETX
          EQU    N2IRS($1E)   *    IRS
          EQU    N2NAK($3D)   *    NAK
          EQU    N2RVI($7C)   *    DLE $7C IS RVI 
          EQU    N2STX($02)   *    STX
          EQU    N2SYN($32)   *    SYN
          EQU    N2TTD($2D)   *    STX $2D IS TTD 
          EQU    N2US($1F)    *    US(ITB)
          EQU    N2WACK($6B)  *    DLE $6B IS WACK
          SPC    3
*********************************************************************** 
*                                                                     * 
*        THE NTS TRANSPARENT TIP MUX FLAG                             * 
*        FOR THE BSC TIP TESTING                                      * 
*                                                                     * 
*********************************************************************** 
* 
          EQU    N2METX($400) *    ETX SEEN 
          EJT 
*********************************************************************** 
*                                                                     * 
*        THE NTS TRANSPARENT TIP INPUT STATE TABLE                    * 
*        FOR THE BSC TIP TESTING                                      * 
*                                                                     * 
*********************************************************************** 
* 
NINTBS    MAC    NM           *    MACRO TO CREATE STATE TABLE
          EQU    NIP"NM"(*-NTSITP)
          ADC    NIT"NM"
          EMC 
* 
          ENT    NTSITP 
          EQU    NTSITP(*)
          NINTBS 100          *    CLA STATUS HANDLER 
          NINTBS 110          *    DCD DROP 
          NINTBS 120          *    TOO MANY BUFFERS USED
          NINTBS 130          *    BUFFER THRESHOLD 
          NINTBS 160          *    INITIAL STATE
          NINTBS 200          *    SECOND SYNC CHAR SEEN
          NINTBS 250          *    DLE SEEN, PROCESS CONTROL CODE 
          NINTBS 300          *    PROCESS CHARACTER AFTER STX
          NINTBS 350          *    PROCESS NON-TRANSPARENT TEXT 
          NINTBS 400          *    PROCESS FIRST CRC CHAR AFTER US
          NINTBS 450          *    PROCESS SECOND CRC CHAR AFTER US 
          NINTBS 500          *    PROCESS FIRST CRC CHAR AFTER ETB/ETX 
          NINTBS 550          *    PROCESS SECOND CRC CHAR AFTER ETB/ETX
          NINTBS 600          *    PROCESS TRANSPARENT TEXT 
          NINTBS 650          *    PROCESS CHARACTER AFTER DLE
          NINTBS 700          *    PROCESS FIRST CRC CHAR AFTER 
*                             *    TRANSPARENT US 
          NINTBS 750          *    PROCESS SECOND CRC CHARACTER AFTER 
*                             *    TRANSPARENT US 
          NINTBS 800          *    TERMINATE TRANSMISSION BLOCK 
          NINTBS 850          *    IDLE STATE 
          NINTBS 900          *    ERROR STATE
          EJT 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP100                                                * 
*                                                                     * 
*     PURPOSE - CLA STATUS HANDLER                                    * 
*                                                                     * 
*********************************************************************** 
* 
NIT100    NOPR   EXIT 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP110                                                * 
*                                                                     * 
*     PURPOSE - DCD DROPPED                                           * 
*                                                                     * 
*********************************************************************** 
* 
NIT110    TSTMXF MXETX,NIT112 *    SKIP IF WLE MADE AND WAITING FOR DROP
          JUMP   NIP850       *    DO NO ACCEPT DATA
NIT112    RSTMXF MXETX        *    CLEAR FLAG 
          BLDWL  ,,,SNTX1     *    SEND WLE 
          JUMP   NIP850       *    IDLE STATE 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP120                                                * 
*                                                                     * 
*     PURPOSE - BUFFERS OVERRUN                                       * 
*                                                                     * 
*********************************************************************** 
* 
NIT120    TIBWL  MMBUTCH      *    TELL MUX TO RELEASE BUFFER 
          TIBSWC NTBAD,,EOT   *    GENERATE BAD DATA WC FOR L2
          JUMP   NIP900 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP130                                                * 
*                                                                     * 
*     PURPOSE - BUFFER THRESHOLD                                      * 
*                                                                     * 
*********************************************************************** 
* 
NIT130    TIBWL  MMBUTCH      *    TELL MUX TO RELEASE BUFFER 
          TIBSWC NTBUF,,EOT   *    GENERATE BUF THRESHOLD WC
          JUMP   NIP900 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP160                                                * 
*                                                                     * 
*     PURPOSE - INITIAL STATE WAITING FOR INPUT                       * 
*                                                                     * 
*********************************************************************** 
* 
NIT160    CHARNE N2SYN,NIT165 
          STATE  NIP200,EXIT
NIT165    RESYNC EXIT 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP200                                                * 
*                                                                     * 
*     PURPOSE - TWO SYNC CHARACTER SEEN, LOOK FOR CONTROL CODE        * 
*                                                                     * 
*********************************************************************** 
* 
NIT200    CHARNE N2SYN,NIT205 *    SKIP IF NOT SYNC CHARACTER 
          NOPR   EXIT 
NIT205    CHARNE N2ENQ,NIT210 *    SKIP IF NOT ENQ CHAR 
          TIBSWC NTENQ        *    GENERATE ENQ WLE 
          JUMP   NIP800 
NIT210    CHARNE N2NAK,NIT215 *    SKIP IF NOT NAK
          TIBSWC NTNAK        *    GENERATE NAK WLE 
          JUMP   NIP800 
NIT215    CHARNE N2EOT,NIT220 *    SKIP IF NOT EOT
          TIBSWC NTEOT        *    GENERATE EOT WLE 
          JUMP   NIP800 
NIT220    CHARNE N2DLE,NIT225 *    SKIP IF NOT DLE
          STATE  NIP250,EXIT  *    LOOK FOR NEXT CHARACTER
NIT225    CHARNE N2STX,NIT230 *    SKIP IF NOT STX
          INTCRC ZCRC         *    INITIALIZE CRC 
          STATE  NIP300,EXIT
NIT230    RESYNC ,            *    RESYNC THE LINE
          STATE  NIP160,EXIT
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP250                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTER AFTER DLE                           * 
*                                                                     * 
*********************************************************************** 
* 
NIT250    CHARNE N2STX,NIT255 *    SKIP IF NOT STX
          INTCRC ZCRC         *    TRANSPARENT TEXT - INITIALIZE CRC
          ADDC   N2DLE        *    STORE DLE
          ADDC   N2STX        *    STORE STX
          STATE  NIP600,EXIT
NIT255    CHARNE N2ACK0,NIT260     SKIP IF NOT ACK0 
          TIBSWC NTACK0       *    GENERATE ACK0 WLE
          JUMP   NIP800 
NIT260    CHARNE N2ACK1,NIT265     SKIP IF NOT ACK1 
          TIBSWC NTACK1       *    GENERATE ACK1 WLE
          JUMP   NIP800 
NIT265    CHARNE N2WACK,NIT270     SKIP IF NOT WACK 
          TIBSWC NTWACK       *    GENERATE WACK WLE
          JUMP   NIP800 
NIT270    CHARNE N2RVI,NIT275 *    SKIP IF NOT RVI
          TIBSWC NTRVI        *    GENERATE RVI WLE 
          JUMP   NIP800 
NIT275    CHARNE N2EOT,NIT280 *    SKIP IF NOT EOT
          TIBSWC NTLNEOT      *    GENERATE LINE DISCONNECT WLE 
          JUMP   NIP800 
NIT280    RESYNC ,            *    RESYNC , 
          STATE  NIP160,EXIT
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP300                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTER AFTER STX                           * 
*                                                                     * 
*********************************************************************** 
* 
NIT300    CHARNE N2ENQ,NIT305 *    SKIP IF NOT ENQ
          TIBSWC NTTTD        *    GENERATE TTD WLE 
          JUMP   NIP800 
NIT305    JUMP   NIP350       *    PROCESS NON-TRANSPARENT TEXT 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP350                                                * 
*                                                                     * 
*     PURPOSE - PROCESS NON-TRANSPARENT TEXT                          * 
*                                                                     * 
*********************************************************************** 
* 
NIT350    CHARNE N2US,NIT355  *    SKIP IF NOT US 
          STATE  NIP400,CRCSTOREX  PROCESS CRC AFTER US 
NIT355    CHARNE N2IRS,NIT360 *    SKIP IF NOT IRS
          ADDC   N2US,CRCEXIT *    USE US AS END OF RECORD CHARACTER
NIT360    CHARNE N2ETB,NIT365 *    SKIP IF NOT ETB
          RSTMXF N2METX       *    CLEAR N2METX TO SIGNAL ETB 
          STATE  NIP500,CRCSTOREX  PROCESS END OF BLOCK 
NIT365    CHARNE N2ETX,NIT370 *    SKIP IF NOT ETX
          SETMXF N2METX       *    SET ETX FLAG 
          STATE  NIP500,CRCSTOREX  PROCESS END OF BLOCK 
NIT370    CHARNE N2EM,NIT375  *    SKIP IF NOT EM 
          NOPR   CRCEXIT      *    CRC BUT NOT STORE
NIT375    CHARNE N2STX,NIT380 *    SKIP IF NOT STX
          NOPR   CRCEXIT      *    CRC BUT NOT STORE
NIT380    CHARNE N2SYN,NIT385 *    SKIP IF NOT SYN
          NOPR   EXIT 
NIT385    CHARNE N2ENQ,NIT390 *    SKIP IF NOT ENQ
          TIBSWC NTBAD        *    TEXT ABORTED - GENERATE BAD DATA WLE 
          JUMP   NIP800 
NIT390    NOPR   CRCSTOREX    *    NORMAL CHARACTER - STORE,CRC 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP400                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CRC AFTER US CHARACTER                        * 
*                                                                     * 
*********************************************************************** 
* 
NIT400    STATE  NIP450,CRCEXIT 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP450                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CRC SECOND CHARACTER AFTER US                 * 
*********************************************************************** 
* 
NIT450    CRCEQ  B8,NIT460    *    SKIP CRC EQUAL 
          TIBSWC NTBAD        *    BAD DATA WLE - CRC NOT EQUAL 
          JUMP   NIP900,RTN 
NIT460    STATE  NIP350,EXIT  *    BACK TO NORMAL PROCESS 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP500                                                * 
*                                                                     * 
*     PURPOSE - PROCESS FIRST CRC CHARACTER FOR END OF BLOCK          * 
*                                                                     * 
*********************************************************************** 
* 
NIT500    STATE  NIP550,CRCEXIT 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP550                                                * 
*                                                                     * 
*     PURPOSE - PROCESS SECOND CRC CHARACTER AT THE END OF BLOCK      * 
*                                                                     * 
*********************************************************************** 
* 
NIT550    CRCEQ  B8,NIT560    *    SKIP IF CRC EQUAL
          TIBSWC NTBAD        *    GENERATE BAD DATA WLE - CRC NOT MATCH
          JUMP   NIP800 
NIT560    TSTMXF N2METX,NIT570     SKIP IF ETX
          TIBSWC NTETB        *    GENERATE ETB WLE 
          JUMP   NIP800 
NIT570    TIBSWC NTETX        *    GENERATE ETX WLE 
          JUMP   NIP800 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP600                                                * 
*                                                                     * 
*     PURPOSE - PROCESS TRANSPARENT TEXT                              * 
*                                                                     * 
*********************************************************************** 
* 
NIT600    CHARNE N2DLE,NIT605 *    SKIP IF NOT DLE
          STATE  NIP650,STOREXIT   PROCESS CHARACTER AFTER DLE
NIT605    NOPR   CRCSTOREX    *    CRC,STORE
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP650                                                * 
*                                                                     * 
*     PURPOSE - PROCESS CHARACTER AFTER DLE IN TRANSPARENT MODE       * 
*                                                                     * 
*********************************************************************** 
* 
NIT650    CHARNE N2US,NIT655  *    SKIP IF NOT US CHARACTER 
          STATE  NIP700,CRCSTOREX 
NIT655    CHARNE N2IRS,NIT660 *    SKIP IF NOT IRS CHARACTER
          ADDC   N2US         *    STORE US 
          STATE  NIP600,CRCEXIT 
NIT660    CHARNE N2ETB,NIT665 *    SKIP IF NOT ETB
          RSTMXF N2METX       *    CLEAR ETX FLAG TO SIGNAL ETB 
          STATE  NIP500,CRCSTOREX 
NIT665    CHARNE N2ETX,NIT670 *    SKIP IF NOT ETX
          SETMXF N2METX       *    SET ETX FLAG 
          STATE  NIP500,CRCSTOREX 
NIT670    CHARNE N2SYN,NIT675 *    SKIP IF NOT SYN
          BKSPAC
          NOPR   EXIT 
NIT675    CHARNE N2ENQ,NIT680 *    SKIP IF NOT ENQ
          TIBSWC NTBAD        *    GENERATE BAD DATA WLE
          JUMP   NIP800 
NIT680    STATE  NIP600,CRCSTOREX 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP700                                                * 
*                                                                     * 
*     PURPOSE - PROCESS FIRST CHARACTER OF CRC AFTE TRANSPARENT US    * 
*                                                                     * 
*********************************************************************** 
* 
NIT700    STATE  NIP750,CRCEXIT 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP750                                                * 
*                                                                     * 
*     PURPOSE - PROCESS SECOND CRC CHARACTER AFTER TRANSPARENT US     * 
*                                                                     * 
*********************************************************************** 
* 
NIT750    CRCEQ  B8,NIT755    *    SKIP IF CRC MATCH
          TIBSWC NTBAD        *    CRC NOT MATCH - GENERATE BAD DATA WLE
          JUMP   NIP900       *    TERMINATE INPUT
NIT755    STATE  NIP600,EXIT  *    PROCESS MORE LINES 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP800                                                * 
*                                                                     * 
*     PURPOSE - TERMINATE INPUT                                       * 
*                                                                     * 
*********************************************************************** 
* 
NIT800    MSTATE MSTIDLE      *    SET MODEM TO IDLE STATE
          TSTMXF MXCARR,NIT810     SKIP IF CONTROLLED CARRIER LINE
          BLDWL  ,,,SNTX2     *    SEND WLE TO L2 PASCAL
          STATE  NIP850,EXIT
NIT810    SETMXF MXETX        *    SET FLAG TO INDICATE WLE OUTSTANDING 
          STATE  NIP850,EXIT
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP850                                                * 
*                                                                     * 
*     PURPOSE - IDLE STATE                                            * 
*                                                                     * 
*********************************************************************** 
* 
NIT850    RESYNC EXIT 
*********************************************************************** 
*                                                                     * 
*     NAME    - NIP900                                                * 
*                                                                     * 
*     PURPOSE - ERROR STATE                                           * 
*                                                                     * 
*********************************************************************** 
* 
NIT900    CHARNE N2ETX,NIT910 *    SKIP IF NOT ETX
          JUMP   NIP800       *    TERMINATE INPUT
NIT910    NOPR   EXIT         *    WAIT FOR ETX 
          END 
