*COMDECK CONST,NOPROP 
_$J+  PAGE EJECT? 
*IF DEF,SUPPRESS
_ 
*              S O U R C E   L I S T I N G   S U P P R E S S E D
? 
_$S+? 
*ENDIF
_*****************************
*                            *
*     C O N S T A N T S      *
*                            *
*****************************?
CONST 
_ 
*********************************** 
*                                 * 
*     #SYSTEM HALT CODES#         * 
*                                 * 
*********************************** 
? 
_ 
*              ---- PERMANENT HALT CODES ---- 
? 
         J0NOHALT    = $000;           _ NOT A VALID HALT CODE         ?
         J0POWERFAIL = $001;           _ POWER FAILURE                 ?
         J0MEMPARITY = $002;           _ MEMORY PARITY ERROR           ?
         J0PROGPROT  = $003;           _ PROGRAM PROTECT ERROR         ?
         J0INTCNT    = $004;           _ INTERRUPT COUNT < 0           ?
         J0MLIAERR   = $005;           _ MLIA FAILURE REPORTED BY MLIA ?
                                       _ HARDWARE STATUS               ?
         J0CIBERR    = $006;           _ CIRCULAR INPUT BUFFER POINTER ?
                                       _ ERROR - POINTER TO READ NEXT  ?
                                       _ LOOP CELL FROM CIB EXCEEDED   ?
                                       _ THE PRESENT LINE FRAME POINTER?
         J0BRZERO    = $007;           _ BRANCH TO ZERO DETECTED       ?
         J0INVPWRFL  = $008;           _ NON-INTERRUPT TRANSFER        ?
                                       _ (BRANCH) TO POWER FAILURE     ?
                                       _ INTERRUPT HANDLER             ?
         J0NOBUFRS   = $009;           _ NO BUFFERS LEFT               ?
         J0BFDREL    = $00A;           _ DUPLICATE RELEASE             ?
         J0BFCERR    = $00B;           _ CHAIN ERROR ON GET            ?
        _J0HALT0C    = $00C;?          _ NOT USED                      ?
         J0CPALARM   = $00D;           _ COUPLER ALARM CONDITION       ?
         J0OPSTO     = $00E;           _ MONITOR DID NOT RUN FOR       ?
                                       _ BTSETIME/2 SECS. OPS IS LOST. ?
                                       _ SEE LOCATION 120 FOR P ADDRESS?
         J0QFLOOD    = $00F;           _ TOO MANY WORKLIST ENTERIES    ?
                                       _ RECEIVED AT MUX LEVEL TWO FOR ?
                                       _ ONE CLA - ADDRESS IN HALT     ?
         J0FLHLT     = $010;           _ FORCE LOAD SM RECEIVED        ?
         J0BDMLS     = $011;           _ BAD MLIA INITIALIZATION STATUS?
         J0NCBTL     = $012;           _ BAD NCB                       ?
         J0CHAIN     = $013;           _ CHAIN ADDRESS ZERO            ?
         J0LNBAD     = $014;           _ ENABLE LINE WORKCODE RECEIVED ?
                                       _ BY PTLINIT FOR LINE WITH TCB  ?
                                       _ STILL ASSIGNED                ?
         J0DUPTCH    = $015;           _ DUPLICATE TIMER ENTRY ATTEMPT ?
        _J0HALT16    = $016;?          _ NOT USED                      ?
         J0ILLCALL   = $017;           _ ILLEGAL CALL TO ABSENT ROUTINE?
        _J0HALT18    = $018;?          _ NOT USED                      ?
        _J0HALT19    = $019;?          _ NOT USED                      ?
         Q0AOR       = $01A;           _ QDBG - ASSIGNMENT OUT OF RANGE?
         Q0IOR       = $01B;           _ QDBG - INDEX OUT OF RANGE     ?
         Q0DIV0      = $01C;           _ QDBG - DIVIDE BY ZERO         ?
         Q0DVO       = $01D;           _ QDBG - DYNAMIC VAR.  OVERFLOW ?
         Q0DSO       = $01E;           _ QDBG - DYNAMIC STACK OVERFLOW ?
         Q0ICN       = $01F;           _ QDBG - INTERRUPT COUNT < 0    ?
         J0ONOUTPUT  = $020;           _ START OUTPUT WHILE OUTPUT ON  ?
         J0TMRSRVS   = $021;           _ BAD TIMER PACKET PASSED       ?
         J0PIPBPE    = $022;           _ BLOCK PROTOCOL ERROR FROM PIP ?
         J0NIPBPE    = $023;           _ BLOCK PROTOCOL ERROR FROM NIP ?
_$J+? 
_ 
****************************************
*                                      *
*    #CE ERROR FILE MESSAGE CODES#     *
*                                      *
****************************************
? 
         CENTUSD     =   $000;    _ NOT USED                           ?
         CEABDSR     =   $002;    _ ABNORMAL OPERATION OF DSR          ?
         CEABDCD     =   $003;    _ ABNORMAL OPERATION OF DCD          ?
         CECLADDR    =   $105;    _ CLA ADDRESS OUT OF RANGE           ?
         CELCFORM    =   $106;    _ ILLEGAL LOOP CELL                  ?
         CEUNSINP    =   $107;    _ UNSOLICITED INPUT                  ?
         CEILE       =   $208;    _ INPUT LOOP ERROR                   ?
         CEOLE       =   $209;    _ OUTPUT LOOP ERROR                  ?
         CEMODMTMO   =   $10B;    _ MODEM TIMEOUT                      ?
         CEABSDCD    =   $00C;    _ ABNORMAL OPERATION OF SDCD         ?
         CECLAOVF    =   $10D;    _ CLA STATUS OVERFLOW                ?
         CENCNA      =  $110F;    _ NEXT CHARACTER NOT AVAILABLE       ?
         CEDTO       =  $1110;    _ DATA TRANSFER OVERRUN              ?
         CEMLIAER    =   $211;    _ MLIA ERROR STATUS                  ?
         CEDEADTO    =   $320;    _ COUPLER DEADMAN TIMEOUT            ?
         CESPINT     =   $321;    _ COUPLER SPURIOUS INTERRUPT         ?
         CEINTIMO    =   $323;    _ HARDWARE TIMEOUT ON INPUT          ?
         CEINTERM    =   $324;    _ INPUT TRANSFER TERMINATED BY PPU   ?
         CEOUTERM    =   $327;    _ OUTPUT TRANSFER TERMINATED BY PPU  ?
         CEOUTIMO    =   $328;    _ HARDWARE TIMEOUT ON OUTPUT         ?
         CETXCMIS    =   $329;    _ EOP MISSING ON OUTPUT              ?
         CEHSNAK     =   $02A;    _ HASP TOO MANY NAKS RECEIVED        ?
         CEHSTBCB    =   $02B;    _ BAD BCB FROM HASPTIP               ?
         CEHSWBCB    =   $02C;    _ HASP BAD BCB FROM WORKSTATION      ?
         CEHSWSRS    =   $02D;    _ HASP WORKSTATION RESTART           ?
         CEM4NORSP   =   $030;    _ NO RESPONSE FROM MODE 4 TERMINAL   ?
         CEM4BDRSP   =   $031;    _ BAD RESPONSE FROM MODE 4 TERMINAL  ?
         CEM4ERRSP   =   $032;    _ ERROR RESPONSE FROM MODE 4 TERMINAL?
         CELPTIMO    =   $033;    _ LIP TIMEOUT ON IDLE BLOCK          ?
         CELPPROTF   =   $034;    _ HDLC PROTOCOL FAILURE              ?
         CELPCMDRJ   =   $035;    _ HDLC COMMAND REJECT                ?
         CELPBADFRM  =   $136;    _ LIP RECEIVED BAD FRAME (CRC ERROR) ?
         CEHSNORSP   =   $037;    _ NO RESPONSE FROM HASP WORKSTATION  ?
         CEHSBDRSP   =   $038;    _ BAD RESPONSE FROM HASP WORKSTATION ?
         CEHSIGWAB   =   $039;    _ WAIT-A-BIT IGNORED BY HASP W/S     ?
         CEX7MINOR   =   $03A;    _ MINOR ERROR ON X780 LINE           ?
         CEX7SERIOUS =   $03B;    _ SERIOUS ERROR ON X780 LINE         ?
                                  _ INPUT OR OUTPUT MAY HAVE ABORTED   ?
  
         PSETALM     =      3;    _ ALARM COUNTER PRESET               ?
_$J+? 
                _ #NO OF WORDS IN LARGEST WORK LIST ENTRY# ?
      J1WLMAX = 6;
                  _#1 SEC TIMER IN 1/2 SEC INCREMENTS#? 
      J1ONESEC = 2; 
                  _#5 MIN TIMER IN 1/2 SEC INCREMENTS#? 
      J1FIVEMIN = 600;
                  _#'OPS LEVEL NO.#?
      OPS = 17; 
                _ #'MUX LEVEL 2 LEVEL NO.# ?
      MUX2 = 3; 
                  _#'CONSOLE SOFTWARE PRIORITY LEVEL#?
      CNSLE = 6;
                  _#'REAL TIME CLOCK LEVEL NO. #? 
      RTCLK = 9;
  
_************************************************************ 
*                                                           * 
*            CHARACTER SET DEFINITION                       * 
*                                                           * 
************************************************************? 
*IF DEF,CSET63
             CSET63  =  TRUE;      _63 CHARACTER SET DEFINED     ?
*ENDIF
*IF -DEF,CSET63 
             CSET63  =  FALSE;     _64 CHARACTER SET DEFINED     ?
*ENDIF
_                                                                        CC4
*              ---- SIZE OF MUX LCBS FOR 2552 ----                       CC4
?                                                                        CC4
      C4LMUX = 16;                          _ 16 WORDS FOR MUX LCB     ? CC4
  
                  _#DYNAMIC PAGE NUMBER#? 
      DYNAMICPAGE = 04;                _MUST BE EVEN MULTIPLE OF 4     ?
      LOOPFOREVER = $18FF;                  _1700 INSTRUCTION  JMP *-* ?
                                                          _05-02-74?
_*****************************
*                            *
*   #*DEBUG AID CONSTANTS#   *
*                            *
*****************************?
      J1BREAKMAX = 5; _ MAX NO. OF BREAKPOINT TABLE ENTRIES ? 
      J1SNAPMAX  =  3; _ MAX NO. OF SNAPSHOT 1 TABLE ENTRIES ?
      DELIM = $FFFF;                        _TABLE DELIMITER           ?
                  _#CARRIAGE RETURN, LINE FEED#?
      J1CRLF = $D0A;
      J1CRCR = $0D0D;                       _ CR CR  FOR NULLS         ?
      SUPQ = 0;                             _SUPERVISORY MODE          ?
      ORDQ = 1;                             _ORDERWIRE MODE            ?
      OVLQ = 2;                             _OVERLAY COMMUNICATION MODE?
      REQ  = 3;                             _REQUEUE MESSAGE           ?
      CAN  = 4;                             _CANCEL MESSAGE            ?
      MTQ  = 5;                             _FLUSH CONSOLE QUEUE       ?
      BADC = 6;                             _BAD MESSAGE               ?
_************************************************************ 
*                                                           * 
*                 #'PHYSICAL DEVICE (PD) CODES#             * 
*                                                           * 
************************************************************? 
      NODEVICE  =  0;  _NULL DEVICE?
      TTY       =  1;  _TELETYPE? 
      LP1742    = TTY;  _NO LINE PRINTER? 
_************************************************************ 
*                                                           * 
*                 #'DEVICE EQUIPMENT CODES#                 * 
*                                                           * 
************************************************************? 
        TTYSTAT = $91;  _READ/WRITE TTY STATUS/DIRECTOR FUNCTION? 
        TTYIO   = $90;  _READ/WRITE TTY DATA? 
_?
_************************************************************ 
*                                                           * 
*                  #LOGICAL REQUEST PACKET (LRP) CODES#     * 
*                                                           * 
************************************************************? 
                     _I/O COMMANDS? 
      J3READ  = 0;
      J3WRITE = 1;
_?
                     _COMPLETION CODES? 
      J3NOCOMPL  = 0; _NO COMPLETION? 
_?
                     _RESULT CODES? 
      J3ACCEPTED = 0; 
      J3REJECTED = 1; 
      J3ERR1     = 2;  _ALL RETRIES ATTEMPTED?
      J3ERR2     = 3;  _NOT ALL RETRIES ATTEMPTED?
      J3COMPLETE = 4; 
                  _#DRIVER WORKLIST PRIORITIES#?
      J1PRIWL = TRUE;    _ PRIORITY WL     ?
      J1REGWL = FALSE;   _ NON-PRIORITY WL ?
_******************************************** 
*                                           * 
*        BUFFER CONTROLS AND DEFINITION     * 
*                                           * 
********************************************? 
                  _#BUFFER DATA INDICES#? 
      J1FRSTCHAR = 8;                  _ FCD FOR BUFFER ALLOCATE WHEN  ?
                                       _NETWORK IS DEFINED             ?
      J1DATAFRST = 4;                  _FIRST CHAR POSITION OF ARRAY   ?
                                       _BFDATAC IN A BUFFER            ?
      J1LST8  =13;     _LCD VALUE -LAST CHAR OF   8 WORD BUFFER ? 
      J1LST16 =29;     _LCD VALUE -LAST CHAR OF  16 WORD BUFFER ? 
      J1LST32 =61;     _LCD VALUE -LAST CHAR OF  32 WORD BUFFER ? 
      J1LST64 =125;    _LCD VALUE -LAST CHAR OF  64 WORD BUFFER ? 
      J2LST128=253;    _LCD VALUE -LAST CHAR OF 128 WORD BUFFER ? 
_?
                _ #* BUFFER SIZE DEFINITION# ?
      J1LSTCHAR = J1LST64;   _ MAX LAST CHAR LCD  ? 
      J1BLMAX  = 64;         _ MAX BUFFER LENGTH  ? 
      DBUFLENGTH  = 64;                     _ LENGTH OF DATA BUFFER    ?
      BYSTSZE = 100;                   _ NUMBER OF STAMP ENTERIES      ?
_?
                                                         _ 08-12-74 ? 
                _ #INITIAL VALUE FOR LCD,FCD # ?
      J1LCDFCD = $404;
      J2LCDFCD = $090A; 
      J3LCDFCD = $1F06; 
      J4LCDFCD = $1706; 
      J5LCDFCD = $1906; 
      J6LCDFCD = $1B06; 
_ 
*                  BUFFER THRESHOLDS
* 
*              THE THRESHOLDS ARE LISTED IN ORDER OF LEAST IMPORTANCE 
*              FIRST. 
? 
      B0T1    = 0;                     _ CONSOLE SNAPSHOT              ?
      B0T2    = 1;                     _ CONSOLE SNAPSHOT              ?
      B0THDLY = 2;                     _ COPY TO CONSOLE               ?
      B0THCT  = 3;                     _ TCB ALLOCATION                ?
      B0TH3LV = 4;                     _ LOWEST  PRIORITY DATA         ?
      B0TH2LV = 5;                     _ HIGHEST PRIORITY DATA         ?
      B0TH1LV = 6;                     _ SERVICE MESSAGE DOWNLINE      ?
      B0THDIS = 7;                     _ SERVICE MESSAGES UPLINE       ?
      B0THTIM = 8;                     _ CLA STATUS HANDLER            ?
      B0THMUX = 9;                     _ MUX BUFFER THRESHOLD          ?
_$J+? 
_***********************************************************************
*                                                                      *
*                   #MULTIPLEX SUBSYSTEM COMMANDS#                     *
*          THESE ARE COMMANDS ISSUED TO THE MUX COMMAND DRIVER         *
*                                                                      *
***********************************************************************?
_?
      NKTURN      = 3;  _TURN LINE AROUND                              ?
      NKINIL      = 4;  _INITIALIZE LINE                               ?
      NKENBL      = 5;  _ENABLE LINE                                   ?
      NKINPT      = 6;  _INPUT                                         ?
      NKDOUT      = 7;  _DIRECT OUTPUT                                 ?
      NKOBT       = 8;  _OUTPUT BUFFER TRANSMITTED                     ?
      NKINOUT     = 9;  _INPUT AFTER OUTPUT                            ?
      NKENDIN     =$A;  _TERMINATE INPUT                               ?
      NKENDOUT    =$B;  _TERMINATE OUTPUT                              ?
      NKDISL      =$C;  _DISABLE LINE                                  ?
      NKCLRL      =$D;  _CLEAR LINE                                    ?
      NKCONTROL   =$E;  _CONTROL                                       ?
      NKSPECIAL   = $F; _UPDATE MUX TABLE ENTERIES                     ?
      NKSTATUS    =$10; _STATUS REQUEST                                ?
      NKISR       =$11; _ISSUE ISR                                     ?
_?
_***********************************************************************
*                       #EVENT WORK CODES#                             *
* THESE WORK CODES APPEAR IN THE WORK CODE FIELD OF THE EVENT PACKET   *
* RETURNED TO THE EVENT WORKLIST QUEUE. THEY SPECIFY THE NATURE OF THE *
* INFORMATION CONTAINED IN SAID PACKET. CODE VALUES OF 1 THROUGH $1E   *
* ARE RESERVED FOR MUX USE EXCLUSIVELY                                 *
***********************************************************************?
_?
      MMCLAS      =  1; _ CLA STATUS RECEIVED                          ?
      MMOBUX      =  2; _ OUTPUT BUFFER TRANSMITTED                    ?
      MMBUTCH     =  3; _ BUFFER THRESHOLD CHANGED                     ?
      MMUNUSED    =  4; _ SPARE                                        ?
      MMCAOR      =  5; _ CLA ADDRESS OUT OF RANGE                     ?
      MMIFFO      =  6; _ ILLEGAL FRAME FORMAT                         ?
      MMUNSIN     =  7; _ UNSOLICITED INPUT                            ?
      MMFES       =  8; _ FRAIMING ERROR STATUS                        ?
      MMCHOUT     =  9; _ CHARACTER TIMEOUT                            ?
      MMSTPOUT    = $A; _ OUTPUT STOPPED (BY INPUT STATES)             ?
      MMTIMRE     = $B; _ MODEM RESPONSE TIMEOUT                       ?
      NMINEND     = $C; _ INPUT TERMINATED                             ?
      NMOTEND     = $D; _ OUTPUT TERMINATED                            ?
      MMBREAK     = $E; _ ASYNC BREAK DETECTED                         ?
      MMHARDERR   = $F; _ HARD ERROR                                   ?
_?
_***********************************************************************
*                         #MUX PARAMETERS#                             *
* THESE CONSTANTS SET CERTAIN PARAMETERS WHICH ARE SUBJECT TO CHANGE   *
***********************************************************************?
_?
      NCMSTOTIM  =   3; _MODEM RESPONSE TIME OUT FOR SWITCHED LINES    ?
      NCMDTOTIM  = 150; _MODEM RESPONSE TIME OUT FOR DEDICATED LINES   ?
      NRCENO   = 5  ;   _NUMBER OF BYTES PMWOLP PASSES TO CE FILE      ?
_?
_***********************************************************************
*                   #CLA/MODEM CONTROL FUNCTIONS#                      *
***********************************************************************?
_?
      N0RTS       =  1; _(RTS)  REQUEST TO SEND                  (W1B7)?
      N0SRTS      =  2; _(SRTS) SECONDARY REQUEST TO SEND       A(W1B6)?
      N0RSYN      =  2; _(RSYN) RESYNC                           (W1B6)?
      N0OM        =  3; _(OM)   ORIGINATE MODE/AUXILIARY        A(W1B5)?
      N0LM        =  4; _(LM)   LOCAL MODE/AUXILIARY            A(W1B4)?
      N0NSYN      =  4; _(NSYN) NEW SYNC                        S(W1B4)?
      N0LT        =  4; _(LT)   LOCAL TEST                 2560-3(W1B4)?
      N0DTR       =  5; _(DTR)  DATA TERMINAL READY              (W1B3)?
      N0TB        =  6; _(TB)   TERMINAL BUSY                   A(W1B2)?
      N0ION       =  7; _(ION)  INPUT ON                         (W1B1)?
      N0OON       =  8; _(OON)  OUTPUT ON                        (W1B0)?
      N0BREAK     =  9; _(BREAK)BREAK MODE                      A(W2B7)?
      N0ISR       = $A; _(ISR)  INPUT STATUS REQUEST             (W2B6)?
      N0ISON      = $B; _(ISON) INPUT SUPERVISION ON             (W2B5)?
      N0DLM       = $C; _(DLM)  DATA LINE MONITOR               A(W2B4)?
      N0ECHO      = $D; _(ECHO) ECHOPLEX MODE                   A(W3B1)?
      N0LBT       = $E; _(LIT)  LOOPBACK TEST            A(W3B0) (W2B4)?
      N0PON       = $F; _(PON)  PARITY ON                A(W3B6)S(W2W2)?
      N0PSET      =$10; _(PSET) PARITY SET (1=EVEN/0=ODD)A(W3B7)S(W2B3)?
      N0CLLS      = $11; _(CLLS) CHARACTER LENGTH-LSB    A(W3B7)S(W2B0)?
      N0CLMS      = $12; _(CLMS) CHARACTER LENGTH-MSB    A(W3B7)S(W2B0)?
_?
_***********************************************************************
*                  #MODEM STATE VALUES FOR INITIALIZE CMD#             *
***********************************************************************?
_?
      N4IDL   = 0;      _ MODEM STATE = IDLE (MSTIDL)                  ?
      N4LNI   = 1;      _ MODEM STATE = INITIALIZE (MSTLNI)            ?
_?
_***********************************************************************
*                          #LINE TYPES#                                *
***********************************************************************?
_?
      _ THE FOLLOWING LINE TYPES NOLDIAG THROUGH N0LB ARE CONSTANT     ?
      _ FOR ALL SYSTEMS                                                ?
      N0LDIAG     = 0;  _RESERVED FOR ON-LINE DIAGNOSTICS              ?
      N0L1        = 1;  _2560-1  201A SW HDX CONTR 2WIRE               ?
      N0L2        = 2;  _2560-1  201B DE FDX CONTR 4WIRE (HDX MODE)    ?
      N0L3        = 3;  _2560-1  201B DE FDX CONST 4WIRE               ?
      N0L4        = 4;  _2561-1  358-1 DE HDX CONTR 2 WIRE             ?
      N0L5        = 5;  _2561-1  202  SW HDX CONTR 2 WIRE              ?
      N0L6        = 6;  _2561-1  103E SW FDX CONST 2WIRE               ?
      N0L7        = 7;  _2561-1  103E DE FDX CONST 2WIRE               ?
      N0L8        = 8;  _2561-1  202S SW HDX CONTR 2 WIRE REVERSE CHANN?
      N0L9        = 9;  _SPARE (NDEFINED)                              ?
      N0LA        =$A;  _2563-1  201B DE FDX CONST 4WIRE (SDLC)        ?
      N0LB        =$B;  _SPARE SPARE (UNDEFINED)                       ?
      N0LAST      =$B;  _LAST LINE TYPE                                ?
_?
_***********************************************************************
*                          #CLA TYPES#                                 *
***********************************************************************?
_?
      N0SYNC      = 0;  _ SYNCHRONOUS CLA 2560-1                       ?
      N0ASYNC     = 1;  _ ASYNCHRONOUS CLA 2561-1                      ?
      N0NORS232   = 2;  _ NON RS232 INTERFACE CLA 2560-3,2560-4        ?
      N0SDLC      = 3;  _ NYNCHRONOUS DATA LINK CONTROL CLA 2563-1     ?
      N0X27       = 4;   _ SDLC/HDLC X27 HIGH SPEED CLA (2563-2        ?
_?
_***********************************************************************
*                 LINE SPEED INDEX TABLE (ASYNCHRONOUS)                *
***********************************************************************?
_?
_ 
      INDEX               BAUD RATE 
? 
      N0800       = 0;       _ 800 BPS (LOW RANGE ASYNC AUTO RECOGN.)  ?
      N0110       = 1;       _ 110                                     ?
      N0134       = 2;       _ 134.5                                   ?
      N0150       = 3;       _ 150                                     ?
      N0300       = 4;       _ 300                                     ?
      N0600       = 5;       _ 600                                     ?
      N01200      = 6;       _ 1200                                    ?
      N02400      = 7;       _ 2400                                    ?
      N04800      = 8;       _ 4800                                    ?
      N09600      = 9;       _ 9600                                    ?
      N019200     = 10;      _ 19200                                   ?
      N038400     = 11;      _ 38400                                   ?
      N03200      = 12;      _ 3200 BPS (HIGH RANGE ASYNC AUTO RECOGN.)?
      N0DIAG      = 13;      _ FOR ONLINE DIAGNOSTIC USAGE             ?
_?
_***********************************************************************
*                       CODE SET KEYS                                  *
***********************************************************************?
_?
_ 
       KEY               CODE SET 
? 
      N0BCD      =  1;  _ BCD - MODE 4A BCD                            ?
      N0ASCII    =  2;  _ ASCII - ASCII FOR ASYNC OR MODE 4A ASCII     ?
      N0MODE4C   =  3;  _ MODE 4C                                      ?
      N0TYPEPAPL =  3;  _ TYPEWRITER-PAIRED APL-ASCII                  ?
      N0BITPAPL  =  4;  _ BIT-PAIRED APL-ASCII                         ?
      N0EBCDAPL  =  5;  _ EBCD                                         ?
      N0EAPLAPL  =  6;  _ EBCD APL                                     ?
      N0CORR     =  7;  _ CORRESPONDENCE                               ?
      N0CORAPL   =  8;  _ CORRESPONDENCE APL                           ?
      N0XBCD     = 9;   _ EBCDIC                                       ?
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                           12/07/76  * 
*        # DEVICE TYPE #                                              * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
? 
      N1CON       =   0;     _CONSOLE                                  ?
      N1CR        =   1;     _CARD READER                              ?
      N1LP        =   2;     _LINE PRINTER                             ?
      N1CP        =   3;     _CARD PUNCH                               ?
      N1PLOT      =   4;     _PLOTTER                                  ?
      N1XAA       =   5;     _INTRA HOST APPLICATION TO APPLICATION    ?
      N1AA        =   6;     _INTER HOST APPLICATION TO APPLICATION    ?
      N1INTDEV    =   7;     _CCP INTERNAL DEVICE                      ?
      N1CDC1      =   8;     _RESERVED FOR CDC                         ?
      N1CDC2      =   9;     _RESERVED FOR CDC                         ?
      N1CDC3      =  10;     _RESERVED FOR CDC                         ?
      N1CDC4      =  11;     _RESERVED FOR CDC                         ?
_?
_***********************
*                      *
* MODEM CONTROL STATES *
*                      *
************************
? 
      MSTCHK  = 0;   _STATE 0 ? 
      MSTERR  = 1;   _STATE 1, LINE CLEARED ? 
      MSTLNI  = 2;   _STATE 2, LINE INITIALIZED ? 
      MSTENB  = 3;   _STATE 3, LINE ENABLED  ?
      MSTWDS  = 4;   _STATE 4, WAIT DATA SET READY                     ?
      MSTWOT  = 5;   _STATE 5, WAIT OTHER SIGNALS                      ?
      MSTWO1  = 6;   _STATE 6, WAIT OTHER SIGNALS 1                    ?
      MSTWO2  = 7;   _STATE 7, WAIT OTHER SIGNALS 2                    ?
      MSTSBC  = 8;   _STATE 8, STABILITY CHECK                         ?
      MSTLUP  = 9;   _STATE 9, LINE UP                                 ?
      MSTIDL  = $A;  _STATE A, IDLE                                    ?
      MSTOUT  = $B;  _STATE B, OUTPUT                                  ?
      MSTINP  = $C;  _STATE C, INPUT                                   ?
_?
               _ #POSSIBLE CIB SIZES# ? 
  
      B0SCIB   = 511; 
      B0LCIB   = 711; 
_$J+? 
_ 
************************************************************************
*                                                                      *
*              # OPS LEVEL WORKCODES #                                 *
*                                                                      *
*              THE FOLLOWING WORK CODES ARE USED FOR BASE              *
*              SYSTEM, TIP, HIP, LIP, SVM, AND APPLICATION             *
*              FUNCTION.                                               *
*                                                                      *
***********************************************************************?
_ 
*              ---- SYSTEM WORKCODES FOR TIP, LIP, HIP ---- 
? 
      A0HARDERR    = $0F;    _ HARD ERROR          - FROM MUX SS       ?
      A0TIMEOUT    = $10;    _ LINE TIMER EXPIRED  - FROM LCB SCAN     ?
      A0QUEOUT     = $11;    _ OUTPUT IN QUEUE     - FROM INTERNAL P.  ?
      A0SMEN       = $12;    _ ENABLE LINE         - FROM LINE INIT.   ?
      A0SMDA       = $13;    _ DISABLE LINE        - FROM SVM          ?
      A0SMTCB      = $14;    _ TCB BUILT           - FROM SVM          ?
      A0SMDLTCB    = $15;    _ DELETE TCB          - FROM SVM          ?
      A0RESET      = $16;    _ RESET OUTPUT STREAM - FROM BIP          ?
      A0TIP        = $18;    _ CONNECTION EVENTS   - FROM BIP/SVM      ?
_ 
*              ---- MISCL.
? 
      A0TCBINIT    = $17;    _ DOWNLINE INIT RECEIVED    - FROM BIP    ?
      A0BREAK      = $19;    _ DOWNLINE BREAK      - FROM BIP          ?
      A0OBUX       = $1A;    _ OUTPUT BUFFER XMIT  - FROM TIP TO TIP   ?
      A0SMNH       = $1B;    _ NO HOST OR BUFFERS  - FROM SVM/PB16ADJ  ?
_ 
*              ---- WORKCODES TO THE SERVICE MODULE ----
? 
      D0SM         = $20;    _ SM RECEIVED EVENT  - FROM BIP/SVM/TIMING?
      D0LINE       = $21;    _ LINE EVENT         - FROM TIP/LIB/LINIT ?
      D0TCB        = $22;    _ TCB EVENT          - FROM TIP           ?
      D0LINK       = $23;    _ LINK EVENT         - FROM BIP/SVM       ?
      D0TSMGEN     = $25;    _ PNSMGEN RE-ENTRY   - FROM SVM TIMING    ?
      D0TCONNECT   = $26;    _ CONNECTION RETRY   - FROM SVM TIMING    ?
      D0TCKCON     = $27;    _ CHECK TML CONNECT  - FROM SVM TIMING    ?
      D0TCKENB     = $28;    _ CHECK ENABLED TML  - FROM SVM TIMING    ?
      D0SACTIVATE  = $29;    _ START STATUS PROC  - FROM SVM / TIMING  ?
      D0NACTIVATE  = $2A;    _ START NOTIFY PROC  - FROM SVM / TIMING  ?
      D0BACTIVATE  = $2B;    _ START BRDCST PROC  - FROM SVM / TIMING  ?
      D0IACTIVATE  = $2C;    _ START INIT ERR PROC- FROM INIT / TIMING ?
      C0CONTML     = $2F;    _ U TERMINAL CONNECT - FROM X25 TIP       ?
      C0DISTML     = $30;    _ U TERMINAL DISCONN - FROM X25 TIP       ?
      D0X25        = $31;    _ CONNECTION WORKCODE - FROM X25 TIP      ?
      D0XCKCON     = $32;    _ CHK X25 TML CONNECT - FROM SVM TIMING   ?
_ 
*              ---- TIP/LIP GENERATED WORKCODES FROM INPUT STATES---
*                   MUXMACROS MUST EQUATE A0WK1 TO ITS OWN A0WK1
*                   WITH THE SAME VALUE.
* 
? 
      A0WK1        = $21;    _ TIP/LIP  WORK CODE  1                   ?
      A0WK2        = $22;    _ TIP/LIP  WORK CODE  2                   ?
      A0WK3        = $23;    _ TIP/LIP  WORK CODE  3                   ?
      A0WK4        = $24;    _ TIP/LIP  WORK CODE  4                   ?
      A0WK5        = $25;    _ TIP/LIP  WORK CODE  5                   ?
      A0WK6        = $26;    _ TIP/LIP  WORK CODE  6                   ?
      A0WK7        = $27;    _ TIP/LIP  WORK CODE  7                   ?
      A0WK8        = $28;    _ TIP/LIP  WORK CODE  8                   ?
      A0WK9        = $29;    _ TIP/LIP  WORK CODE  9                   ?
      A0WK10       = $2A;    _ TIP/LIP  WORK CODE 10                   ?
      A0WK11       = $2B;    _ TIP/LIP  WORK CODE 11                   ?
      A0WK12       = $2C;    _ TIP/LIP  WORK CODE 12                   ?
      A0WK13       = $2D;    _ TIP/LIP  WORK CODE 13                   ?
      A0WK14       = $2E;    _ TIP/LIP  WORK CODE 14                   ?
      A0WK15       = $2F;    _ TIP/LIP  WORK CODE 15                   ?
      A0WK16       = $30;    _ TIP/LIP  WORK CODE 16                   ?
      A0WK17       = $31;    _ TIP/LIP  WORK CODE 17                   ?
      A0WK18       = $32;    _ TIP/LIP  WORK CODE 18                   ?
      A0WK19       = $33;    _ TIP/LIP  WORK CODE 19                   ?
      A0WK20       = $34;    _ TIP/LIP  WORK CODE 20                   ?
      A0WK21       = $35;    _ TIP/LIP  WORK CODE 21                   ?
      A0WK22       = $36;    _ TIP/LIP  WORK CODE 22                   ?
      A0WK23       = $37;    _ TIP/LIP  WORK CODE 23                   ?
      A0WK24       = $38;    _ TIP/LIP  WORK CODE 24                   ?
      A0WK25       = $39;    _ TIP/LIP  WORK CODE 25                   ?
      A0WK26       = $3A;    _ TIP/LIP  WORK CODE 26                   ?
      A0WK27       = $3B;    _ TIP/LIP  WORK CODE 27                   ?
      A0WK28       = $3C;    _ TIP/LIP  WORK CODE 28                   ?
      A0WK29       = $3D;    _ TIP/LIP  WORK CODE 29                   ?
      A0WK30       = $3E;    _ TIP/LIP  WORK CODE 30                   ?
      A0WK31       = $3F;    _ TIP/LIP  WORK CODE 31                   ?
_$J+? 
_ 
****************************************
*                                      *
*     #BLOCK PROTOCOL CONSTANTS#       *
*                                      *
****************************************
? 
      HTBLK   = $1;  _ BLOCK TYPE                                      ?
      HTMSG   = $2;  _ MESSAGE TYPE                                    ?
      HTBACK  = $3;  _ BACK TYPE                                       ?
      HTCMD   = $4;  _ COMMAND TYPE                                    ?
      HTBREAK = $5;  _ BREAK TYPE                                      ?
      HTQBLK  = $6;  _ QUALIFIED BLOCK TYPE                            ?
      HTQMSG  = $7;  _ QUALIFIED MESSAGE TYPE                          ?
      HTRESET = $8;  _ RESET TYPE                                      ?
      HTRINIT = $9;  _ REQUEST INITIALIZE TYPE                         ?
      HTNINIT = $A;  _ INITIALIZE RESPONSE TYPE                        ?
      HTTERM  = $B;  _ TERMINATE TYPE                                  ?
      HTICMD  = $C;  _ INTERRUPT COMMAND                               ?
      HTICMR  = $D;  _ INTERRUPT COMMAND RESPONSE                      ?
_?
_?
            _  # TRANSMITTER STATES #  ?
  
      BTINITIAL  = 0;                  _INITIAL STATE                  ?
      BTDATAXFER = 1;                  _STREAM OPEN FOR DATA TRANSFER  ?
      BTRSTPPEND = 2;                  _RESET FROM PROCESS PENDING     ?
      BTITNCPEND = 3;                  _INITN FROM CONNECTION PENDING  ?
      BTTRMCPEND = 4;                  _TERM  FROM CONNECTION PENDING  ?
      BTICRCPEND = 5;                  _ICMDR FROM CONNECTION PENDING  ?
      BTRSTCPEND = 6;                  _RESET FROM CONNECTION PENDING  ?
  
            _  #   RECEIVER STATES  #  ?
  
      BRINITIAL  = 0;                  _INITIAL STATE                  ?
      BRDATAXFER = 1;                  _STREAM OPEN FOR DATA TRANSFER  ?
      BRRSTCPEND = 2;                  _RESET FROM CONNECTION PENDING  ?
      BRRSTPPEND = 3;                  _RESET FROM PROCESS PENDING     ?
      BRITNPPEND = 4;                  _INITN FROM PROCESS PENDING     ?
      BRICRPPEND = 5;                  _ICMDR FROM PROCESS PENDING     ?
      BRTERMPEND = 6;                  _TERM FROM CONNECTION PENDING   ?
  
             _  # FIELD START POSITIONS #  ?
      FS0  =   1;                         _ BIT 0                      ?
      FS1  =   2;                         _ BIT 1                      ?
      FS2  =   4;                         _ BIT 2                      ?
      FS3  =   8;                         _ BIT 3                      ?
      FS4  = $10;                         _ BIT 4                      ?
      FS5  = $20;                         _ BIT 5                      ?
      FS6  = $40;                         _ BIT 6                      ?
      FS7  = $80;                         _ BIT 7                      ?
                                                        _ 9/18/75 ? 
             _  # BLK WORD DEFINITIONS  # ? 
      LFCD   =  1;                          _ LCD / FCD WORD           ?
      FLWD   =  2;                          _ BUFFER FLAG WORD         ?
      QCHN   =  3;                          _ WORD INDEX QUEUE CHAIN   ?
      BTWD   =  4;                          _ DLTS BT (FULL WORD)      ?
      DWORD1 =  7;
      DWORD2 =  8;
      DWORD3 =  9;
      DWORD4 = 10;
      DWORD5 = 11;
      DWORD6 = 12;
_?
_?
_*****************************
*                            *
*    STRUCTURE SERVICES      *
*         CONSTANSTS         *
*                            *
*****************************?
                                                           _07-14-75? 
                  _#TYPE 2 TABLE BUFFER LENGTH#?
      J0T2SZE = $10;
                  _#TYPE 4 TABLE BUFFER LENGTH#?
      J0T4SZE = $10;
                  _#LOCAL DN ENTRY TYPES#?
      D1NPU  = 1;   _ NPU     ? 
      D1CPLR = 2;   _ COUPLER ? 
_?
                  _#LOCAL DN TABLE SIZE#? 
_?
      D0SLLCBSZE = 7;                  _STATIC LLCB SIZE               ?
_?
                  _#DIAGNOSTICS CONTROL BLOCK LENGTH#?
      KQDCBSIZE = 17; 
_?
                  _#ACTION TABLE CONSTANTS#?
_?
      D0ATEND    = $7FFF;                   _END OF ACTION TABLE       ?
      D0ATESIZE  = 2;                       _SIZE OF ACTION TABLE ENTRY?
      D0FDTESIZE = 1;                       _SIZE OF FDT ENTRY         ?
      D0TATLIM   = 20;                      _NUMBER OF TCB AT ENTRIES  ?
      D0LATLIM   =  2;                      _NUMBER OF LCB AT ENTRIES  ?
      D0TFDTLIM  = 149;                     _NUMBER OF TCB FDT ENTRIES ?
      D0LFDTLIM  = 18;                      _NUMBER OF LCB FDT ENTRIES ?
_?
_***********************************************************************
*                                                             11/15/78 *
*    THE FOLLOWING CONSTANTS ARE USED AS INDEX FOR AN ARRAY            *
*    # BPGSWITCH # WHICH CONTAINS PAGE VALUE FOR EACH                  *
*    PROCEDURE CALL.                                                   *
*                                                                      *
*        NOTE : THEY ARE ADDED FOR PAGING BASE SYSTEM                  *
*               TO DYNAMIC PAGE ENHANCEMENT.                           *
*                                                                      *
***********************************************************************?
_?
      P1FIRST      =  1;      _THE FIRST INDEX                         ?
_ 
*     CALLING SERVICE MODULE ROUTINE
? 
      P1PNDSTAT    =  1;      _INDEX TO A PAGE VALUE OF PGDSTAT        ?
_ 
*     CALLING COMMAND ROUTINES
? 
      P1PTIVTCMD   =  2;      _INDEX TO A PAGE VALUE OF PGIVTCMD       ?
_ 
*     CALLING BASE SYSTEM ROUTINES
? 
      P1PBHALT     =  4;      _INDEX TO A PAGE VALUE OF PGHALT         ?
      P1PBSWITCH   =  5;      _INDEX TO A PAGE VALUE OF PGSWITCH       ?
_ 
*     CALLING CONSOL ROUTINE
? 
      P1PBTTYINT   =  6;      _INDEX TO A PAGE VALUE OF DGTTYINT       ?
_ 
*     THE UPPER BOUND OF # BPGSWITCH #
? 
      P1LAST       =  P1PBTTYINT; 
_?
_***********************************************************************
*                                                             08/17/78 *
*    THE FOLLOWING CONSTANTS ARE USED AS A INDEX FOR AN ARRAY          *
*    # BRTNJUMP # WHICH CONTAINS A PAGE VALUE AND ENTRY ADDRESS        *
*    FOR EACH PROCEDURE CALL.                                          *
*                                                                      *
***********************************************************************?
_?
      C1FIRST       =  1;     _THE FIRST INDEX                         ?
_ 
*     CALLING SVERCE MODULE ROUTINES
? 
      C1PNCONFIGURE =  1;     _INDEX FOR RETURN JUMP TO PNCONFIGURE    ?
      C1PNSMGEN     =  2;     _INDEX FOR RETURN JUMP TO PNSMGEN        ?
_ 
*     CALLING HIP ROUTINES
? 
      C1PTHIPQ      =  3;     _INDEX FOR RETURN JUMP TO PTHIPQ         ?
_ 
*     CALLING LIP ROUTINES
? 
      C1PLLIPQ      =  4;     _INDEX FOR RETURN JUMP TO PLLIPQ         ?
_ 
*     CALLING ON-LINE DIAGNOSTIC ROUTINES 
? 
      C1PDSTTR      =  5;     _INDEX FOR RETURN JUMP TO PDSTTR         ?
_ 
*     THE LAST INDEX:  THE VALUE OF C1LAST MUST BE EQUAL TO 
*                      THE UPPER BOUND OF INDEX 
? 
      C1LAST        =  C1PDSTTR;
*CALL CONTIMER
