*DECK C$EDIN
          IDENT  C$EDIN 
          TITLE  C$EDIN - MCS INTERFACE FOR ENABLE/DISABLE INPUT
          MACHINE ANY,I 
          COMMENT MCS INTERFACE FOR ENABLE/DISABLE INPUT
          SST 
          B1=1
          SPACE  5
* 
**        C.EDIN
* 
*         INPUT 
*                A0  CD ADDRESS 
*                X4  0 DISABLE
*                    1 ENABLE 
*                B3  1 TERMINAL SPECIFIED 
*                    0 TERMINAL NOT SPECIFIED 
*                X0  THE PASSWORD 
*                B7  LENGTH PASSWORD
* 
*         OUTPUT
*                NONE 
* 
*         DOES
*                SETS UP MCS REQUEST PARAMETER BLOCK
*                CALLS MCS
*                ERROR ANALYSIS BEFORE AND AFTER CALLING MCS
* 
*         USES
*                A  0 1 2 - - - 6 7 
*                X  0 1 - - 4 - 6 7 
*                B  0 1 2 3 4 5 6 7 
          EJECT 
          EXT    C.MCS3 
          EXT    C.MCS5 
          EXT    DEBUG
          USE    /C.MCSPB/
 MCSPB    BSS    64 
 CDADDR   BSS    1
          USE    *
          ENTRY  C.EDIN 
 C.EDIN   DATA 0
  
*                MOVE PASSWORD INTO MCSPB+14
  
          BX6    X0          PASSWORD 
          SA6    MCSPB+14    MOVE PASSWORD TO PARAMETER BLOCK 
          SA1    C.EDIN      X1 = INPUT FOR C.MCS3
          RJ     =XC.MCS3    PROGRAM-ID CBLNO *APPLE UTILITY
          SX1    B3          X1 = TERMINAL BIT
          LX1    59 
          SX0    B1 
          LX0    58 
          BX1    X1+X0       X1 = FLAGS 
          SX6    B7 
          BX6    X6+X1       X6 = FLAGS 0 FDC FDWA DL 
          SA6    MCSPB+2     STORE MCSPB WORD 2 
          SX6    X4+3        REQ = 3 OR 4 
          LX6    54 
          SX1    9           CDL
          BX6    X6+X1
          SX7    A0 
          SA7    CDADDR      SAVE CD ADDRESS FOR POST MORTEM
          LX7    18 
          BX6    X6+X7
          SA6    A6-B1       STORE MCSPB WORD 1 
          SA1    =00000000000016020000B 
          BX6    X1 
          SA6    A6-B1       STORE MCSPB WORD 0 
*                WC = 14
*                RT = 2 
*                ES = 0 
*                C = 0
  
*                COPY INPUT CD TO MCSPB+5 
  
          SB2    B0          INITIALIZE LOOP INDEX
          SX1    MCSPB+5
          SB3    9
 L1       SA2    A0+B2       READ FROM CD 
          BX6    X2 
          SA6    X1+B2       STORE INTO PARAMETER BLOCK 
          SB2    B2+B1       INCREMENT LOOP INDEX 
          LT     B2,B3,L1    STOP WHEN B2 = 9 
          IFC    EQ,/"OSNAME"/SCOPE / 
          CALLSS OP.MCS1,MCSPB,R
          ELSE
          CALLSS OP.MCS2,MCSPB,R
          ENDIF 
          RJ     =XC.MCS5    INPUT CD POST MORTEM 
          EQ     C.EDIN 
          END 
