          EJECT
*         CTEXT  CTP$DFT_MAIN_NON_RES_DUAL_STATE
*
*         THIS DECK PROVIDES DUAL STATE ROUTINES TO THE
*         MAIN NON RESIDENT OVERLAY OF DFT
 SST      SPACE  4,10
**        SST - SAVE STATE VARIABLES ACROSS NON-DEDICATED CALLS.
*
*         CALLS  CLR, IDA, IMB, SET, SPB.


          ROUTINE SST

          LRD    DP+1
          RJM    SPB         SET PP BOUNDS
          LDM    FREE
          ZJN    SST1        IF NO INTERLOCKS TO CLEAR
          STD    T3
          LDN    CM
          RJM    SET         SET LOCK WORD
          LDDL   CM+BCFLG
          LMBC   (BC.FI)     CLEAR INTERLOCK
          STDL   CM+BCFLG
          LDD    T3
          RJM    IBW         INCREMENT BUFFER CONTROL WORDS
          RDCL   CM          CLEAR INTERLOCK ON ENTRY
          LDN    0
          STM    DSIF        CLEAR DFT SET I/L FLAG
          STM    FREE        NO MULTIPLE OCCURRENCE IN NON-DEDICATED MODE
 SST1     LDN    CM
          RJM    CLR         CLEAR CM AREA
          LDN    1
          STD    CM+DHFLG    SET E7 FLAG IN MASK
          LDN    HDRP
          RJM    IDA
          RDSL   CM          SET LOCK

*         SAVE THE DIRECTORY POINTER CELLS.

          LDD    DH
          STM    DHSV
          LDD    DH+1
          STM    DHSV+1
          LDD    DH+2
          STM    DHSV+2
          LDN    SAVL/4      SAVE AREA LENGTH
          STD    T1
          LDN    0
          RJM    IMB         GET POINTER TO MAINTENANCE REGISTER BUFFER 0
          CWML   SAVE,T1     SAVE STATE VARIABLES BUFFER
          LDN    C17P
          RJM    IDA         POINTER TO 170 COMMUNICATION AREA
          CRDL   W0          READ POINTER
          LRD    W1
          LDD    W0
          ADC    RR
          CRM    0,W3        READ IN NEW IMAGE
          LJM    SSTX        RETURN

*         END    CTP$DFT_MAIN_NON_RES_DUAL_STATE
