          EJECT
*         CTEXT CTP$DFT_HALT_ON_ERROR_990
*
*         THIS DECK CONTROLS RETRY AND HALT ON ERROR
*         PROCESSOR DEC SETTINGS FOR THE 990
 HOE      SPACE  4,10
**        HOE - HALT ON ERROR.
*
*         ENTRY  DEDICATED FLAG IN DFT HEADER DETERMINES ACTION.
*
*         EXIT   *DEC* REGISTER SET/CLEAR FOR HALT ON ERROR.
*                CELL *HE* SET OR CLEARED DEPENDING ON DEDICATED FLAG.
*
*         CALLS  FHE, IDA, SHE.


          ROUTINE HOE

          LDN    HDRP
          RJM    IDA
          CRDL   CM          GET DFT HEADER
          LDDL   CM+DHFLG    GET FLAGS
          SHN    21-DH.FD    DEDICATED FLAG
          PJN    HOE1        IF DEDICATED MODE
          LDM    HALT
          ZJP    HOEX        IF NO HALT ON ERROR AND NON DEDICATED
          LDN    0
          STM    HALT        CLEAR HALT ON ERROR
          UJN    HOE2        CONTINUE

 HOE1     LDN    1
          STM    HOEB        MARK DEDICATED MODE
          LDM    HALT
          NJP    HOEX        IF DEDICATED AND HALT ON ERROR ALREADY SET
 HOE2     LDN    0
          STM    HOEA        SAVE ELEMENT COUNTER
          LDN    PROCID
 HOE3     RJM    FHE         FIND HARDWARE ELEMENT HBUF HOLDS RESULT
          MJP    HOEX        IF DONE WITH ALL ELEMENTS
          LDM    HBUF+CPUON
          LPN    1
          NJN    HOE4        IF DOWN
          LDM    HBUF+CPRE+EM  GET MODEL
          SHN    -4
          STD    MD
          RJM    SHE         SET HALT ON ERROR
 HOE4     AOM    HOEA        BUMP ELEMENT NUMBER
          SHN    14
          ADN    PROCID      SET UP PARAMETER TO FHE
          UJN    HOE3        LOOP

 HOEA     CON    0           ELEMENT COUNTER
 HOEB     CON    0           DEDICATED MODE FLAG
 SHE      SPACE  4,10
**        SHE - SET HALT ON ERROR.
*
*         EXIT   IF CYBER 990 AND DEDICATED, *HALT* = 1 AND
*                *DEC* REGISTER UPDATED.
*
*         USES   *HALT*.
*
*         MACROS READMR, WRITMR.


 SHE      SUBR               ENTRY/EXIT
          READMR RDATA,HBUF+HDRPC,DEMR

*         PROCESS CYBER 990/999B.

 SHE1     LDM    RDATA+2
          LPC    -0#40       CLEAR BIT
          STM    RDATA+2
          LDM    HOEB
          ZJN    SHE2        IF NOT DEDICATED
          LDN    1
          STM    HALT        SET HALT ON ERROR
          LDM    RDATA+2
          LMC    0#40        SET IT
          STM    RDATA+2
          LDML   MICL
          ZJN    SHE2        IF MICROCODE REVISION LEVEL < 18
          LDM    RDATA+5
          LMC    0#30
          STM    RDATA+5     SET RETRY COUNT
 SHE2     WRITMR RDATA,HBUF+HDRPC
          LJM    SHEX        RETURN

*         END CTP$DFT_HALT_ON_ERROR_990
