          EJECT
*         CTEXT  CTP$MR_PROTOCOL_PREPROCESS_S1
*
*         THIS DECK PROVIDES PREPROCESSING FOR ACCESSING THE MAINTENANCE
*         CHANNEL ON AN I1.
 MRA      SPACE  4,10
***              DEFINES SEVERAL ROUTINES USED IN ACCESSING THE
*         CYBER 180 MAINTENANCE REGISTERS.  THESE ROUTINES ENFORCE
*         THE PROTOCOL DEFINED FOR RESERVING AND RELEASING THE CHANNEL.
*         THE ROUTINES ARE DESIGNED FOR USE BY THE MACROS DEFINED IN
*         THE COMMON DECK *DSI$MAINTENANCE_REGISTER_MACROS*.
*         IF ADDITION ANALYSIS CODES ARE DEFINED FOR CH17 ERRORS,
*         CONSIDERATION SHOULD BE GIVEN TO UPDATING TABLE *TCHP*
*         IN CTP$CONSTRUCT_MESSAGE_IN_EICB.
 DCN*     SPACE  4,10
 DCN*     PPOP   4,7500      DEFINE *DCN**
 AMR      SPACE  4,10
**        AMR - ACCESS MAINTENANCE REGISTER.
*
*         ENTRY  (A) = FUNCTION TO ACCESS REGISTER.
*                (RN) = REGISTER NUMBER.
*
*         EXIT   (A) = 10.
*                MAINTENANCE CHANNEL IS ACTIVE.
*                TO *CMO* IF CHANNEL ERROR FLAG SET.
*                TO *FMN* IF CHANNEL GOES INACTIVE PREMATURELY.
*
*         CALLS  SMI.
*
*         TIMING S1CR MAC REQUIRES 9 TRIPS BETWEEN *ACN* AND *OAX*.


 AMR      SUBR               ENTRY/EXIT
          RJM    SMI         GET MAINTENANCE CHANNEL
          FAN    MR
 AMR1     SFM    CMO,MR      IF CHANNEL ERROR FLAG SET
          AJM    AMR1,MR     IF FUNCTION NOT YET ACCEPTED
          ACN    MR
          LDDL   RN
          SHN    -10
          OAN    MR
          LDD    RN
          IJM    AMR2,MR     IF CHANNEL HAS GONE INACTIVE
          OAN    MR
          FJM    *,MR        WAIT FOR REGISTER NUMBER ACCEPTED
          DCN*   MR+40
          SFM    CMO,MR      IF CHANNEL ERROR FLAG SET
          ACN    MR
          LDN    0           KLUDGE - S1CR MAC REQUIRES NINE TRIP DELAY
          RADL   RN          FROM *ACN* TO REGISTER OUTPUT VIA *OAN*/*OAM*
          LDN    10          SET EXPECTED REGISTER BYTE COUNT
          UJN    AMRX        RETURN

 AMR2     LDN    DACI-DANE   60F - CH 17 INACTIVE
          LJM    FMN         PROCESS FATAL MAINTENANCE REGISTER NON-RETRYABLE ERROR

*         END    CTP$MR_PROTOCOL_PREPROCESS_S1
