*COMDECK MODMSTP
          NAM    MODMSTP
          NLS 
*CALL MUXMACROS 
         EJT
*CALL STPMACROS 
* 
* * *    STATUS CONDITION INDICATORS
* 
         EQU     SCLAON(0)
         EQU     SCRING(1)
         EQU     SCENBL(2)
         EQU     SCHERR(3)
         EQU     SCSOER(4)
         EQU     SCSIER(5)
         EQU     SCSTRT(6)
          EQU    SCBRAK($B) 
         EQU     SCNSDCD($C)                SDCD DROPPED
          EQU    SCNDSR($10)
          EQU    SCDSR($11) 
          EQU    SCNALL($12)
          EQU    SCALL($13) 
          EQU    SCLUP($14) 
          EQU    SCSHER($15)
* 
* * *    CLA STATUS MASKS 
* 
         EQU     CTS($8000) 
         EQU     DSR($4000) 
         EQU     DCD($2000) 
         EQU     RI($1000)
         EQU     ILE($0200) 
         EQU     OLE($0100) 
         EQU     PES($0080) 
         EQU     DTO($0040) 
         EQU     FES($0020) 
         EQU     NCNA($0010)
         EQU     FCSE($0080)
         EQU     ABORT($0020) 
          EQU    LCT($8)
          EQU    ION($0002)  INPUT ON CLA COMMAND BIT 
* 
* * *    CONSTANTS
* 
         EQU   MXFLG1($800) 
* 
* * *    STATE VALUES 
* 
          EQU    STAT0(0) 
          EQU    STAT1(1) 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATES PROGRAM - LINE TYPE 0                              * 
*                            (ONLINE DIAGNOSTIS)                      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPN MILT0
  
          STATPT MILT0,MOSTAT 
          SPC    2
          STATPR MOSTAT 
  
          TSTMXF MXFLG1,MOSTA1    SDLC
         BLD01  ,EXIT                  *NO, PASS STATUS TO DIAG, EXIT 
MOSTA1   JUMP    STAT0,1          *YES, SET INPUT STATE TO 0, GOTO 2
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*                    MODEM STATE PROGRAM - LINE TYPES 1, 2            * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPN MILT1
  
          STATPT MILT1,MTCHK
          STATPT MILT1,MTERR
          STATPT MILT1,MTLNI
          STATPT MILT1,MTENB
          STATPT MILT1,MTWDS
          STATPT MILT1,NTWOT
          STATPT MILT1,M1WOT,NTWOT
          STATPT MILT1,M2WOT,NTWOT
          STATPT MILT1,NTSBC
          STATPT MILT1,NTLUP
          STATPT MILT1,MTIDL
          STATPT MILT1,MTOUT
          STATPT MILT1,MTINP
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*                    MODEM STATE PROGRAM - LINE TYPE 3                * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPN MILT3
  
          STATPT MILT3,NTCHK
          STATPT MILT3,M3ERR,MTERR
          STATPT MILT3,M3LNI,MTLNI
          STATPT MILT3,M3ENB,MTENB
          STATPT MILT3,M3WDS,MTWDS
          STATPT MILT3,MTWOT
          STATPT MILT3,M3WO2,MTWOT
          STATPT MILT3,MTWO3,MTWOT
          STATPT MILT3,MTSBC
          STATPT MILT3,M3LUP,NTLUP
          STATPT MILT3,NTIDL
          STATPT MILT3,M3IDL1,NTIDL 
          STATPT MILT3,M3IDL2,NTIDL 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*              MODEM STATE PROGRAM - LINE TYPES 6,7                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPN MILT6
  
          STATPT MILT6,MSTCHK,NTCHK 
          STATPT MILT6,MSTERR,MTERR 
          STATPT MILT6,MSTLNI,MTLNI 
          STATPT MILT6,MSTENB,MTENB 
          STATPT MILT6,MSTWDS,MTWDS 
          STATPT MILT6,MT0WO
          STATPT MILT6,MT1WO
          STATPT MILT6,MT2WO
          STATPT MILT6,MSTSBC,MTSBC 
          STATPT MILT6,MTLUP
          STATPT MILT6,OTIDL
          STATPT MILT6,M6IDL1,OTIDL 
          STATPT MILT6,M6IDL2,OTIDL 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*              MODEM STATE PROGRAM - LINE TYPE A                      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPN MILTA
  
          STATPT MILTA,MACHK,NTCHK
          STATPT MILTA,MAERR,MTERR
          STATPT MILTA,MALNI,MTLNI
          STATPT MILTA,NTENB
          STATPT MILTA,MAERR1,MTERR 
          STATPT MILTA,MAERR2,MTERR 
          STATPT MILTA,MAERR3,MTERR 
          STATPT MILTA,MAERR4,MTERR 
          STATPT MILTA,MAERR5,MTERR 
          STATPT MILTA,MAERR6,MTERR 
          STATPT MILTA,PTIDL
          STATPT MILTA,MAIDL1,PTIDL 
          STATPT MILTA,MAIDL2,PTIDL 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATES FOR LINE TYPE A WHEN USED BY PTLINIT.               *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPN MILTB
  
          STATPT MILTB,MBCHK,NTCHK
          STATPT MILTB,MBERR,MTERR
          STATPT MILTB,MBLNI,MTLNI
          STATPT MILTB,MBENB,MTENB
          STATPT MILTB,MBWDS,MTWDS
          STATPT MILTB,OTWOT
          STATPT MILTB,OT1WO
          STATPT MILTB,OT2WO
          STATPT MILTB,OTSBC
          STATPT MILTB,OTLUP
          STATPT MILTB,MBIDL1,PTIDL 
          STATPT MILTB,MBIDL2,PTIDL 
          STATPT MILTB,MBIDL3,PTIDL 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*              MODEM STATE PROGRAM - NO TIP (FOR ALL LINE TYPES)      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPN MNOTIP 
  
          STATPT MNOTIP,NOTCLS
          STATPT MNOTIP,NOTCLS
         EJT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - MTCHK                                             * 
*                                                                     * 
*     PURPOSE     - CHECK FOR HARD ERRORS OR JUMP TO CURRENT STATE    * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR MTCHK
  
          MSTLS  MTIDL,MTCHK2 
          TSTCLA ILE+OLE,MTCHK1 
          TSTCLA DSR,MTCHK3 
MTCHK1    SKIP   MTERR1      TREAT AS HARD ERROR
MTCHK2    SKIP   MTERRA 
MTCHK3    MJUMP  0
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - MTERR                                             * 
*                                                                     * 
*     PURPOSE     - DISCARD STATUS IF MODEM STATE IS MSTERR.           *
*                   OTHERWISE, CHECK FOR INPUT LOOP ERROR AND          *
*                   OUTPUT LOOP ERROR.  IF EITHER OCCURS, REPORT       *
*                   HARD ERROR.  IF NONE AND THE STATE IS LESS         *
*                   THAN WAITING FOR OTHER SIGNALS, GO TO CURRECT      *
*                   STATE.  IF STATE IS EQUAL TO OR GREATER THAN       *
*                   MSTWOT, THEN DSR SHOULD STAY UP.  IF DSR IS        *
*                   UP GO TO THE CURRENT STATE, OTHERWISE,             *
*                   REPORT A HARD ERROR AND EXIT. 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR MTERR
  
MTERRA    MSTLS  MTLNI,MTERR0     IF LESS THAN INITIALIZE, DISCARD
          TSTCLA ILE+OLE,MTERR1 INPUT/OUTPUT LOOP ERROR 
          SKIP   MTERR4 
MTERR0    NOPR   EXIT        DISCARD STATUS 
MTERR1    RSTISO             TURN INPUT SUPERVISION OFF 
          BLD01  SCHERR      HARD ERROR WLE 
          MSTATE MTERR,EXIT  EXIT 
MTERR4    MSTLS  MTWOT,MTERR5     IF DSR NOT REQUIRED, JUMP 
          TSTCLA DSR,MTERR5  IF DSR UP, GO TO CURRENT STATE 
          SKIP   MTERR6 
MTERR5    MJUMP  0           GO TO CURRENT MODEM STATE
MTERR6    RSTISO             TURN OFF INPUT SUPERVISION 
          BLD01  SCSHER      SOFT HARDWARE ERROR WLE
          MSTATE MTERR,EXIT  EXIT 
         EJT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - MTLNI                                             * 
*                                                                     * 
*     PURPOSE     - SUPERVISION REQUEST CAUSES ANY STATUS TO BE        *
*                   REPORTED.  WLE WC = MMCLAS, SCI = M0CLAON.         *
*                   HARD ERRORS                                       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR MTLNI
  
          RSTISO             TURN INPUT SUPERVISION OFF 
          BLD01  SCLAON      WLE M0CLAON
          MSTATE MTERR,EXIT  EXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - MTENB                                             * 
*                                                                     * 
*     PURPOSE     - TO REPORT STATUS FROM ISR REQUEST.                 *
*                     .  IF DSR IS UP, REPORT M0DSR AND TURN ISON OFF  *
*                     .  IF RI IS UP, REPORT M0RING                    *
*                     .  OTHERWISE REPORT M0NDSR                       *
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR MTENB
  
          TSTCLA DSR,MTENB2  JUMP IF DSR UP 
          TSTCLA RI,MTENB3   JUMP IF RING 
          BLD01  SCNDSR      WLE SCI = M0NDSR 
MTENB1    MSTATE MTWDS,EXIT  ISON IS ON 
MTENB2    SKIP   MTWD1
MTENB3    BLD01  SCRING      WLE SCI = M0RING 
          SKIP   MTENB1      ISON ON, FINISH UP 
         EJT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - NTWOT                                              *
*                                                                      *
*     PURPOSE     - TO REPORT ALL SIGNALS AVAILABLE                    *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR NTWOT
  
NTWOT0    RSTISO             TURN INPUT SUPERVISION OFF 
          BLD01  SCALL       WLE SCI = M0ALL
          MSTATE MTERR,EXIT  SET MODEM STATE TO DISCARD 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE = NTSBC                                              *
*                                                                      *
*     PURPOSE     - REPORT LINE UP                                     *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR NTSBC
  
          BLD01  SCLUP       WLE SCI = M0LUP
          MSTATE MTLUP,EXIT  SET LINE STATE TO LINE UP
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - MTLUP                                              *
*                                                                      *
*     PURPOSE     - USED FOR CONSTANT CARRIER LINES WAITING            *
*                   FOR LINE IDLE OR SYNC AUTO RECOGNITION             *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR MTLUP
  
          CMPCLA $8000+DCD+CTS,MTLUP2 
          NOPR   EXIT 
MTLUP2    SKIP   MTERR6 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - NTLUP                                              *
*                                                                      *
*     PURPOSE     - USED DURING SYNC AUTO REC FOR                      *
*                   CONTROLLED CARRIER LINES.                          *
*                                                                      *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR NTLUP
  
          NOPR   EXIT        EXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - MTIDL                                             * 
*                                                                     * 
*     PURPOSE     - CHECK FOR DELAYED WORKLIST GENERATION ON DCD      * 
*                   DROPPED                                           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR MTIDL
  
          TSTCLA DCD,MTIDL1 
          NOPR   EXIT        IGNORE DCD DROPPED 
MTIDL1   TSTCLA  PES,MTIDL3                 ARE WE GETTING INPUT
         NOPR    EXIT                       NO - EXIT 
MTIDL3   RESYNC  EXIT                       FORCE CLA TO RESYNC 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - MTOUT                                             * 
*                                                                     * 
*     PURPOSE     - CHECK FOR SOFT OUTPUT ERRORS                      * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR MTOUT
  
          TSTCLA NCNA,MTOUT1
         TSTCLA  PES,MTOUT0                 ARE WE GETTING INPUT
         NOPR    EXIT                       NO - EXIT 
MTOUT0    JUMP   STAT0,1     REPORT PARITY ERROR TO TIP 
MTOUT1   BLD01   SCSOER,EXIT
         EJT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - MTINP                                             * 
*                                                                     * 
*     PURPOSE     - CHECK FOR SOFT INPUT ERRORS AND CHARACTER         * 
*                   RELATED STATUS ERRORS FOR INPUT STATE PROGRAM     * 
*                   CONTROL                                           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR MTINP
  
          TSTCMD ION,MTINP0  TEST IF CLA INPUT IS REALLY ON 
          MJUMP  MTOUT       INPUT NOT ON, GO TO OUTPUT 
MTINP0    TSTCLA DCD,MTINP1  INPUT ON TEST DCD DROPPED
          JUMP   STAT1,1
MTINP1   TSTCLA  PES+DTO,MTINP2 
         NOPR    EXIT 
MTINP2    TSTCLA PES,MTINP3             SKIP IF PARITY ERROR
          BLD01  SCSIER                 TELL PTCLAS OF DTO
MTINP3    JUMP   STAT0,1                TELL TIP ISP OF PES AND DTQ 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - NTCHK                                             * 
*                                                                     * 
*     PURPOSE     - CHECK FOR HARD ERRORS, DCD DROPPED, OR JUMP TO    * 
*                   CURRENT STATE                                     * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR NTCHK
  
          MSTLS  MTIDL,NTCHK2 
          TSTCLA ILE+OLE,NTCHK1 
         TSTCLA  DSR,NTCHK3 
NTCHK1    SKIP   MTERR1 
NTCHK2    SKIP   MTERRA 
NTCHK3   TSTCLA  DCD,NTCHK4 
         TSTMXF  MXMRTO,NTCHK5
         SETMXF  MXMRTO 
          BLD01  SCSTRT 
          JUMP   STAT1,1
NTCHK4    RSTMXF MXMRTO      CLEAR DCD DROPPED FLAG 
NTCHK5   MJUMP   0
         EJT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - NTENB                                             * 
*                                                                     * 
*     PURPOSE     - CHECK FOR DSR AND DSD TO DECLARE LINE ENABLED      *
*                   AND CHECK HARD ERRORS                             * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR NTENB
  
          CMPCLA DSR+DCD,NTENB1   IF DCD AND DSR, LINE ENABLED
          MSTATE MTIDL            SET MODEM STATE TO IDLE 
          BLD01  SCENBL,EXIT BUILD WORKLIST ENTRY AND EXIT
NTENB1    NOPR   EXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATES - NTIDL                                            * 
*                                                                     * 
*     PURPOSE      - IDLE, OUTPUT, AND INPUT STATUS HANDLING IS DONE  * 
*                    BY COMMON STATE FOR FULL DUPLEX LINE TYPES.      * 
*                    CHECK FOR OUTPUT,INPUT, AND CHARACTER RELATED    * 
*                    ERRORS                                           * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR NTIDL
  
          TSTCLA NCNA,NTIDL1 JUMP IF NCNA ERROR 
         TSTCLA  PES+DTO,NTIDL2             JUMP IF PARITY OR DTO 
         NOPR    EXIT                       EXIT - NO ERRORS
NTIDL1   BLD01   SCSOER,EXIT                WORKLIST - NCNA STATUS
NTIDL2    TSTCLA PES,NTIDL3  SKIP IF PES
          BLD01  SCSIER      WORKLIST - DTO STATUS
NTIDL3    MSTLS  MTOUT,NTIDL4     JUMP IF LINE IDLE 
         JUMP    STAT0,1                    GO TO USER STATE ZERO 
NTIDL4    NOPR   EXIT        EXIT - LINE IDLE, IGNORE ERROR 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - MTWDS                                             * 
*                                                                     * 
*     PURPOSE     - WAIT FOR DATA SET READY TO COME UP.               * 
*                   HARD ERRORS                                       * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR MTWDS
  
          TSTCLA DSR,MTWD1   JUMP IF DSR UP 
          NOPR   EXIT 
MTWD1     BLD01  SCDSR       WLE SCI = M0DSR
          MJUMP  MTWOT       LOOK FOR OTHER SIGNALS 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - MT0WO                                              *
*                                                                      *
*     PURPOSE     - WAIT FOR OTHER SIGNALS                             *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR MT0WO
  
          CMPCLA $8000+DCD,MT0W2  IF DCD AND CTS NOT UP JUMP
          SKIP   NTWOT0 
MT0W2     MSTATE MT1WO,EXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - MTWOT                                              *
*                                                                      *
*     PURPOSE     - WAIT FOR OTHER SIGNALS                             *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR MTWOT
  
          CMPCLA DCD,MTWO2   IF DCD IS NOT UP JUMP
          SKIP   NTWOT0 
MTWO2     MSTATE MT1WO,EXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - MT1WO                                              *
*                                                                      *
*     PURPOSE     - WAIT FOR OTHER SIGNALS                             *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR MT1WO
  
MT1W0     CMPCLA $8000+DCD,MT1W2 IF DCD AND CTS NOT UP, JUMP
          SKIP   NTWOT0 
MT1W2     MSTATE MT2WO,EXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - MT2WO                                              *
*                                                                      *
*     PURPOSE     - WAIT FOR OTHER SIGNALS                             *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR MT2WO
  
          CMPCLA $8000+DCD+CTS,MT2W2   IF DCD IS NOT UP JUMP
          SKIP   NTWOT0 
MT2W2     RSTISO             TURN INPUT SUPERVISION OFF 
          BLD01  SCNALL      WLE NOT ALL = M0NALL 
          MSTATE MTERR,EXIT  EXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - MTSBC                                              *
*                                                                      *
*     PURPOSE     - TO CHECK THAT ALL SIGNALS REQUIRED ARE UP          *
*                   AFTER TIME DELAY.                                  *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR MTSBC
  
          CMPCLA $8000+DCD,MTSB1+CTS   TEST FOR DCD AND CTS 
          BLD01  SCLUP            WLE SCI = SCLUP 
          MSTATE MTLUP,EXIT  MODEM STATE TO IDLE AND EXIT 
MTSB1     SKIP   MTERR6      SOFT ERROR WLE 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - OTIDL                                             * 
*                                                                     * 
*     PURPOSE     - IDLE, OUTPUT, INPUT STATUS HANDLING IS DONE BY A  * 
*                   COMMON STATE FOR FULL DUPLEX LINE TYPES.          * 
*                   CHECK FOR FES AND CHARACTER RELATED STATUS ERRORS * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR OTIDL
  
          CMPCLA FES,OTIDL1  CHECK FOR FRAMING ERROR
         CHARNE  ,OTIDL2                    YES - IS IT A ZERO CHAR 
          BLD01  SCBRAK      *     YES - BUILD BREAK WLE
          SKIP   OTIDL4      *           PASS FES TO TIPS STATE 0 
OTIDL1   TSTCLA  PES+DTO,OTIDL2             CK FOR PES OR DTO 
         NOPR    EXIT                       NOT PES OR DTO
OTIDL2   CMPCLA  PES,OTIDL3   *     SKIP IF NOT ONLY PARITY 
         SKIP    OTIDL4       *     DO NOT MAKE ERROR WORKLIST
OTIDL3   BLD01   SCSIER       *     SOFT INPUT ERROR FOR PMWOLP 
OTIDL4    MSTLS  MTOUT,OTIDL5     JUMP IF LINE IS IDLE
         JUMP    STAT0,1      *     GO TO USER INPUT STATE 0
OTIDL5   NOPR    EXIT         *     EXIT, INPUT NOT ACTIVE
         EJT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - PTIDL                                             * 
*                                                                     * 
*     PURPOSE     - CHECK FOR CHARACTER RELATED STATUS FOR INPUT      * 
*                   PROGRAM CONTROL                                   * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
         SPC     3
          STATPR PTIDL
  
          CMPCLA NCNA,PTIDL1
         BLD01   SCSOER 
PTIDL1   TSTCLA  DTO,PTIDL2 
         TSTCLA  FCSE+ABORT+LCT,PTIDL3
         NOPR    EXIT 
PTIDL2   BLD01   SCSIER 
PTIDL3    JUMP   STAT0,1
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - OTWOT                                              *
*                                                                      *
*     PURPOSE     - WAIT FOR OTHER SIGNALS                             *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR OTWOT
  
          TSTCLA DCD,OTWO1   JUMP IF DCD
          MSTATE MT1WO,EXIT 
OTWO1     SKIP   NTWOT0 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - OT1WO                                             * 
*                                                                     * 
*     PURPOSE     - WAIT FOR OTHER SIGNALS                            * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR OT1WO
  
          TSTCLA DCD,OT1W1   IF DCD IS UP JUMP
          MSTATE MT2WO,EXIT 
OT1W1     SKIP   NTWOT0 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - OT2WO                                             * 
*                                                                     * 
*     PURPOSE     - WAIT FOR OTHER SIGNALS                            * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR OT2WO
  
          TSTCLA DCD,OT2W1   IF DCD IS UP JUMP
          SKIP   MT2W2
OT2W1     SKIP   NTWOT0 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - OTSBC                                              *
*                                                                      *
*     PURPOSE     - TO CHECK THAT ALL SIGNALS REQUIRED ARE UP          *
*                   AFTER TIME DELAY.                                  *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR OTSBC
  
          TSTCLA DCD,OTSB1   JUMP IF  DCD UP
          SKIP   MTERR1 
OTSB1     BLD01   SCLUP      WLE M0LUP
          MSTATE MTLUP,EXIT  MODEM STATE TO IDLE AND EXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                      *
*     MODEM STATE - OTLUP                                              *
*                                                                      *
*     PURPOSE     - USED FOR CONSTANT CARRIER LINES WAITING            *
*                   FOR LINE IDLE OR SYNC AUTO RECOGNITION             *
*                                                                      *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR OTLUP
  
          TSTCLA DCD,OTLUP2  JUMP IF SIGNALS GOOD 
          SKIP   MTERR1 
OTLUP2    NOPR   EXIT 
          EJT 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*     MODEM STATE - CASE OF INPUT STATE POINTER TABLE                 * 
*                     WAS NOT ASSIGNED.                               * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
          SPC    3
          STATPR NOTCLS 
  
          NOPR   EXIT 
          SPC    3
         END
