*DECK HPA312
      OVCAP.
      SUBROUTINE HPA312 
* 
*         CONTROL PROGRAM FOR HPA312 - IOU
*         HPA312 PROCESSES ALL IOU ERRORS.
*         RECORD TYPE:  27B - I1/I2 ERRORS, READ REC1, NEXT 2/3 TOGETHER. 
*         RECORD TYPE: 107B - I4 ERRORS, READ 2 RECORDS AT A TIME.
*         ERROR CODE:  321B - I1/I2 IOU 0 ERRORS. 
*         ERROR CODE:  335B - I1/I2 IOU 1 ERRORS. 
*         ERROR CODE: 4312B - I4 IOU 0 ERRORS.
*         ERROR CODE: 4313B - I4 IOU 1 ERRORS.
* 
*CALL HPACOM1 
  
      IF (FROG(6).NE. L"T") GO TO 10
      CALL SECOND(CP) 
      PRINT 9,CP
    9 FORMAT ( ' ENTER HPA312, SECOND = ',F10.3)
   10 CONTINUE
* 
      IF ((RTY .EQ. O"27")  .AND. 
     .    ((MTY .EQ. O"321") .OR. (MTY .EQ. O"335"))) GO TO 400 
      IF ((RTY .EQ. O"107") .AND. 
     .   ((MTY .EQ. O"4312") .OR. (MTY .EQ. O"4313"))) GO TO 500
* 
*         MESSAGES NOT PROCESSED, GET NEXT RECORD 
* 
      CALL GNR3 
      CALL SETEM3(1)
      GO TO 1000
* 
*         I1 AND I2 IOU ERRORS
* 
  400 CALL AN12IOU
      GO TO 1000
* 
*         I4 IOU ERRORS 
* 
  500 CALL AN12I4 
* 
 1000 CONTINUE
      END 
      SUBROUTINE AN12IOU
* 
*         DESCRIPTION 
*         ----------- 
*         SUBROUTINE AN12IOU PROCESSES SEF INPUT RECORDS FOR I1/I2
*         IOU ERRORS/MESSAGES FOR ERROR CODE 321B, RECORD TYPE 27B. 
* 
*         ENTRY CONDITION 
*         --------------- 
*         ENTERED WHEN SEF IS POSITIONED AT THE FIRST RECORD OF I1/I2 
*         IOU ERROR MESSAGES. 
* 
*         EXIT CONDITION
*         --------------
*         EXIT WHEN SEF RECORDS FOR I1/I2 IOU ERRORS ARE EXHAUSTED. 
* 
*         CALLED BY 
*         --------- 
*         PROGRAM HPA312
* 
*         CALLS 
*         ----- 
*         DL12IOU 
* 
*CALL HPACOM1 
*CALL HPACOM2 
* 
      COMMON / IOU / I11(24,7),I12(27,2),I21(27,12),I22(29,2) 
     .            , I1CR1(15,11), I1CR2(27,6), FLG63
      DIMENSION NCNT (3)
* 
* 
*     INITIALIZATION FOR UNIT ANALYSIS REPORTS
      CALL INISET3
      CALL DREPT3 
* 
*     SET HEADER POINTERS 
* 
      IHDR = 33 
      SAVMTY = MTY
      TYPID = 10H    IOU
      HCF(1) = 1
      HCF(2) = 3
      HCF(4) = 2
* 
*     COLLECT DATA FOR ANALYSIS REPORT (IF SELECTED)
* 
   50 IF (RCFA .EQ. 2HON) CALL STOJN3 
  
* 
*     SAVE THE DATA FROM FIRST (ONLY) IOU RECORD READ IN IFLD 
* 
  
*     DETERMINE THE IOU MODEL TYPE: 0 = I1CR; 1 = I1; 2 = I2
      IF ((IFLD(23).GE.Z"213") .AND. (IFLD(23).LE.Z"216")) IOUTYPE = 0
      IF ((IFLD(23).GE.Z"210") .AND. (IFLD(23).LE.Z"212")) IOUTYPE = 1
      IF  (IFLD(23).EQ.Z"220") IOUTYPE = 2
* 
*     REGISTER 10 (ELEMENT ID)
*     PROCESS CONTENTS FOR HEADER 
* 
      IFLD(24) = SHIFT(IFLD(24),4) .OR. IFLD(37)
      IELEM = SHIFT(IFLD(23),-8) .AND. Z"FF"
      MODEL = PL(64) = IFLD(23) .AND. Z"FF" 
      IF ((HX(1) .NE. IELEM) .OR. (HX(2) .NE. MODEL) .OR. 
     .    (HX(3) .NE. IFLD(24))) LINE = PLF + 1 
      HX(1) = IELEM 
      HX(2) = MODEL 
      HX(3) = IFLD(24)
* 
*     REGISTER 12 (OPTIONS INSTALLED) 
*     PROCESS CONTENTS FOR HEADER 
* 
      IFLD(32) = SHIFT(IFLD(32),4) .OR. IFLD(41)
      IF ((HX(5) .NE. IFLD(29)) .OR. (HX(6) .NE. IFLD(30)) .OR. 
     .    (HX(7) .NE. IFLD(31)) .OR. (HX(8) .NE. IFLD(32))) 
     .    LINE = PLF + 1
      HX(5) = IFLD(29)
      HX(6) = IFLD(30)
      HX(7) = IFLD(31)
      HX(8) = IFLD(32)
* 
*         DETERMINE IF IOU 810/830 OR 65810/65830 
* 
      FLG63 = 0 
      FLG63 = SHIFT(IFLD(29),-15).AND.O"1"
* 
* 
*     REGISTER 30 (DEPENDENT ENVIRONMENT CONTROL) 
*     PROCESS CONTENTS FOR HEADER 
* 
      IFLD(36) = SHIFT(IFLD(36),4) .OR. IFLD(43)
      IF ((HX(17) .NE. IFLD(33)) .OR. (HX(18) .NE. IFLD(34)) .OR. 
     .    (HX(19) .NE. IFLD(35)) .OR. (HX(20) .NE. IFLD(36))) 
     .    LINE = PLF + 1
      HX(17) = IFLD(33) 
      HX(18) = IFLD(34) 
      HX(19) = IFLD(35) 
      HX(20) = IFLD(36) 
* 
*     STORE CONTENTS OF STATUS SUMMARY IN PL ARRAY FOR DETAIL REPORT
* 
      PL(20) = IFLD(25) 
      PL(21) = IFLD(26) 
      PL(22) = IFLD(27) 
      PL(23) = SHIFT(IFLD(28),4) .OR. IFLD(39)
  
*     SYMPTOM CODE
      PL(36) = IFLD(45) 
  
* 
*     READ THE NEXT ONE/TWO IOU RECORDS INTO IFLD/NFLD
* 
      CALL GNR3 
      CALL SETEM3 (1) 
      IF (TWIC .LT. 6) GO TO 2000 
* 
*     STORE CONTENTS OF STATUS REGISTER FOR DETAIL REPORT 
* 
      PL(32) = IFLD(21) 
      PL(33) = IFLD(22) 
      PL(34) = IFLD(23) 
      PL(35) = SHIFT(IFLD(24),4) .OR. IFLD(37)
* 
*     STORE CONTENTS OF REGISTER 80 AND 81 FOR DETAIL REPORT
* 
      PL(24) = IFLD(25) 
      PL(25) = IFLD(26) 
      PL(26) = IFLD(27) 
      PL(27) = SHIFT(IFLD(28),4) .OR. IFLD(39)
* 
      PL(28) = IFLD(29) 
      PL(29) = IFLD(30) 
      PL(30) = IFLD(31) 
      PL(31) = SHIFT(IFLD(32),4) .OR. IFLD(41)
* 
*     REGISTER A0 (TEST MODE) FOR HEADER
* 
      IFLD(36) = SHIFT(IFLD(36),4) .OR. IFLD(43)
      IF ((HX(25) .NE. IFLD(33)) .OR. (HX(26) .NE. IFLD(34)) .OR. 
     .    (HX(27) .NE. IFLD(35)) .OR. (HX(28) .NE. IFLD(36))) 
     .    LINE = PLF + 1
      HX(25) = IFLD(33) 
      HX(26) = IFLD(34) 
      HX(27) = IFLD(35) 
      HX(28) = IFLD(36) 
  
*     BYPASS FSM AND OSB REGISTERS IF ONLY 1 (INSTEAD OF 2) IOU RECORDS 
      IF (NFLD(FJOB) .NE. R" CONTINU") GO TO 200
* 
*      REGISTER 18 (FAULT STATUS MASK) FOR HEADER 
* 
      NFLD(24) = SHIFT(NFLD(24),4) .OR. NFLD(37)
      IF ((HX(9)  .NE. NFLD(21)) .OR. (HX(10) .NE. NFLD(22)) .OR. 
     .    (HX(11) .NE. NFLD(23)) .OR. (HX(12) .NE. NFLD(24))) 
     .    LINE = PLF + 1
      HX(9)  = NFLD(21) 
      HX(10) = NFLD(22) 
      HX(11) = NFLD(23) 
      HX(12) = NFLD(24) 
* 
*      REGISTER 21 (OS BOUNDS) FOR HEADER 
* 
      NFLD(28) = SHIFT(NFLD(28),4) .OR. NFLD(39)
      IF ((HX(13) .NE. NFLD(25)) .OR. (HX(14) .NE. NFLD(26)) .OR. 
     .    (HX(15) .NE. NFLD(27)) .OR. (HX(16) .NE. NFLD(28))) 
     .    LINE = PLF + 1
      HX(13) = NFLD(25) 
      HX(14) = NFLD(26) 
      HX(15) = NFLD(27) 
      HX(16) = NFLD(28) 
* 
*     GENERATE DETAIL REPORT FOR SPECIFIC IOU MODEL 
* 
  200 CALL DL12IOU (IOUTYPE)
  
*     READ THE NEXT RECORD
      CALL GNR3 
      CALL SETEM3 (1) 
  
*     CHECK FOR IOU RECORD TYPES
      IF (TWIC .EQ. 0) GO TO 400
      IF (MTY .NE. SAVMTY) GO TO 400
  
*     CHECK FOR SUPPORTIVE STATUS BUFFER FAULT SYMPTOM CODE FROM DFT
*     DFT REVISION NUMBER 
      VERSION = IFLD(FUN) 
      IF ((VERSION .GE. 4) .AND. ((IFLD(19) .AND. O"1000") .NE. 0)) THEN
         IF (RCFD .NE. 2HON) GO TO 350
         TAG1 = SHIFT(SEFREC(5),12) .AND. O"7777" 
         PRINT 300,VERSION,SEFREC(4),TAG1 
  300    FORMAT(/,9X,'DFT REVISION ',I2,' FAULT SYMPTOM CODE = ',R10,R2)
  
*        REPORT WHEN DFT SUPPORTIVE STATUS BUFFER DATE/TIME IS INVALID
         IF ((IFLD(19) .AND. O"4000") .NE. 0) THEN
            PRINT 302 
  302       FORMAT (9X,'DFT-REPORTED WALL CLOCK TIME INTEGRITY HAS ', 
     .                  'BEEN LOST')
            LINE = LINE + 1 
         ENDIF
  
         PRINT 306
  306    FORMAT (1X,7(10H----------),9H---------) 
         LINE = LINE + 3
  
*        READ THE NEXT RECORD 
  350    CALL GNR3
         CALL SETEM3 (1)
         IF ((TWIC .EQ. 0) .OR. (MTY .NE. SAVMTY)) GO TO 400
      ENDIF 
      IF (RCFD .EQ. 2HON) CALL PLSEC (5)
      GO TO 50
  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
  
  400 IF (RCFA .EQ. 3HOFF) GO TO 2000 
         PL(63) = 2 
         CALL XOVCAP('ERDIST3',0,0) 
         CALL UOVCAP('ERDIST3') 
* 
      HCF(1) = 4
      IF ((LINE + 8) .GE. PLF) CALL HEADER
      HFLG = 0
      FLAGMSG = 0 
      ENCODE (10, 1401, LMNTA) IELEM
      ENCODE (10, 1401, MODA ) MODEL
      IF (IOUTYPE.EQ.1)  GO TO 690
      IF (IOUTYPE.EQ.2)  GO TO 900
* 
*         PRINT I1CR REGISTER 80 MESSAGE SUMMARY
* 
      DO 600 I = 1,15 
         ICNT = SHIFT(I1CR1(I,11),15) .AND. O"7 77 77"
         IF (ICNT .EQ. 0)   GO TO 500 
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
* 
*         BARREL 0
         REG = 2H80 
         IBIT = I1CR1(I,11) .AND. O"77" 
         ENCODE (10,1400,PBIT) IBIT 
         IBRL = 1H0 
         IF ((IBIT.EQ.32).OR.((IBIT.GE.45).AND.(IBIT.LE.49)).OR.
     .      ((IBIT.GE.51).AND.(IBIT.LE.53)))   IBRL = 1H
         CALL LOAPR(1,I1CR1(I,1),I1CR1(I,2),LMNTA,MODA,REG,PBIT,IBRL,SP)
* 
         PL(8)  = I1CR1(I,3+(4*FLG63))
         PL(9)  = I1CR1(I,4+(4*FLG63))
         PL(11) = ICNT
         CALL PRINT12 (2,11)
* 
         FLAGMSG = 1
         IF (IBRL.EQ.1H )  GO TO 580
* 
  500    ICNT = SHIFT(I1CR1(I,11),30)  .AND. O"7 77 77" 
         IF (ICNT .EQ. 0)  GO TO 550
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
* 
*          BARREL 1 
* 
         REG = 2H80 
         IBIT = I1CR1(I,11) .AND. O"77" 
         ENCODE (10,1400,PBIT)  IBIT
         IBRL = 1H1 
         IF (FLAGMSG.EQ.0)  GO TO 510 
         PBIT = 2H
         I1CR1(I,1) = I1CR1(I,2) = 10H
* 
  510    CALL LOAPR(1,I1CR1(I,1),I1CR1(I,2),LMNTA,MODA,REG,PBIT,IBRL,SP)
         PL(8)  = I1CR1(I,5+(4*FLG63))
         PL(9)  = I1CR1(I,6+(4*FLG63))
         PL(11) = ICNT
         CALL PRINT12 (2,11)
         FLAGMSG = 1
* 
  550    ICNT = SHIFT(I1CR1(I,11),45) .AND. O"7 77 77"
         IF (ICNT .EQ. 0) GO TO 580 
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
* 
* 
*          ISOLATION OF FAILING LOCATIONS NOT POSSIBLE
* 
         REG = 2H80 
         IBIT = I1CR1(I,11) .AND. O"77" 
         ENCODE (10,1400,PBIT)  IBIT
         IBRL = 1H
         LOC1 = 10HISOLATION
         LOC2 = 10HNOT POSSIB 
         LOC3 = 10HLE 
         IF (FLAGMSG.EQ.0)  GO TO 560 
         IBIT = 2H
         I1CR1(I,1) = I1CR1(I,2) = 10H
  560    CALL LOAPR(1,I1CR1(I,1),I1CR1(I,2),LMNTA,MODA,REG,PBIT,IBRL, 
     .                LOC1) 
         PL(9)  = LOC2
         PL(10) = LOC3
         PL(11) = ICNT
         CALL PRINT12 (2,11)
* 
  580    FLAGMSG = 0
  600 CONTINUE
* 
*          PRINT I1CR1 REGISTER 81 MESSAGE SUMMARY
* 
      DO 650  I = 1,27
         ICNT = SHIFT(I1CR2(I,6),45) .AND. O"7 77 77" 
         IF (ICNT .EQ.0)  GO TO 650 
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
         PL(3) = LMNTA
         PL(4) = MODA 
         PL(5) = 2H81 
         IBIT = I1CR2(I,6) .AND. O"77"
         PL(8) = I1CR2(I,2+(2*FLG63)) 
         PL(9) = I1CR2(I,3+(2*FLG63)) 
         ENCODE(10,1410,PL(1))  I1CR2(I,1)
         PL(2) = 10HOR
         ENCODE (10,1400,PL(6))   IBIT
         PL(11) = ICNT
         CALL PRINT12 (2,11)
  650 CONTINUE
      GO TO 2000
* 
*      PRINT I1 REGISTER 80 MESSAGE SUMMARY 
* 
  690 DO 800 I = 1,24 
      ICNT = SHIFT(I11(I,7),15) .AND. O"7 77 77"
      IF (ICNT .EQ. 0) GO TO 700
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
  
*     BARREL 0
      REG = 2H80
      IBIT = I11(I,7) .AND. O"77" 
      ENCODE (10,1400,PBIT) IBIT
      IBRL = 1H0
      IF ((IBIT.EQ.37).OR.(IBIT.EQ.46).OR.(IBIT.EQ.52).OR.(IBIT.EQ.53)) 
     .   IBRL = 1H
         CALL LOAPR(1,I11(I,1),I11(I,2),LMNTA,MODA,REG,PBIT,IBRL, 
     .                I11(I,3)) 
         PL(9)  = I11(I,5)
         IF (IBRL .EQ. 1H )  PL(9) = I11(I,4) 
         PL(11) = ICNT
         CALL PRINT12 (2,11)
      FLAGMSG = 1 
      IF (IBRL .EQ. 1H ) GO TO 780
  
  700 ICNT = SHIFT(I11(I,7),30) .AND. O"7 77 77"
      IF (ICNT .EQ. 0) GO TO 750
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
  
*     BARREL 1
      REG = 2H80
      IBIT = I11(I,7) .AND. O"77" 
      ENCODE (10,1400,PBIT) IBIT
      IBRL = 1H1
      IF (FLAGMSG .EQ. 0) GO TO 710 
      PBIT = 2H 
      I11(I,1) = I11(I,2) = 10H 
  710 CALL LOAPR(1,I11(I,1),I11(I,2),LMNTA,MODA,REG,PBIT,IBRL,I11(I,4)) 
      PL(9)  = I11(I,6) 
      PL(11) = ICNT 
      CALL PRINT12 (2,11) 
      FLAGMSG = 1 
  
  750 ICNT = SHIFT(I11(I,7),45) .AND. O"7 77 77"
      IF (ICNT .EQ. 0) GO TO 780
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
  
*     ISOLATION OF FAILING LOCATIONS NOT POSSIBLE 
      REG = 2H80
      IBIT = I11(I,7) .AND. O"77" 
      ENCODE (10,1400,PBIT) IBIT
      IBRL = 1H 
      LOC1 = 10HISOLATION 
      LOC2 = 10HNOT POSSIB
      LOC3 = 10HLE
      IF (FLAGMSG .EQ. 0) GO TO 760 
      IBIT = 2H 
      I11(I,1) = I11(I,2) = 10H 
  760 CALL LOAPR(1,I11(I,1),I11(I,2),LMNTA,MODA,REG,PBIT,IBRL,LOC1) 
      PL(9)  = LOC2 
      PL(10) = LOC3 
      PL(11) = ICNT 
      CALL PRINT12 (2,11) 
  
  780 FLAGMSG = 0 
  800 CONTINUE
  
*     PRINT I1 REGISTER 81 MESSAGE SUMMARY
      DO 850  I = 1,27
      ICNT = SHIFT(I12(I,2),45) .AND. O"7 77 77"
      IF (ICNT .EQ. 0) GO TO 850
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
      PL(3) = LMNTA 
      PL(4) = MODA
      PL(5) = 2H81
      IBIT = I12(I,2) .AND. O"77" 
      LOC = I12(I,1) .AND. O"77 77 77"
      ENCODE (10,1405,PL(8))   LOC
      ENCODE (10,1410,PL(1)) I12(I,1) 
      PL(2) = 10HOR 
      ENCODE (10,1400,PL(6))   IBIT 
      PL(11) = ICNT 
      CALL PRINT12 (2,11) 
  850 CONTINUE
      GO TO 2000
* 
*     PRINT I2 REGISTER 80 MESSAGE SUMMARY
* 
  900 DO 1200  I = 1,27 
      ICNT = SHIFT(I21(I,11),15) .AND. O"7 77 77" 
      IF (ICNT .EQ. 0) GO TO 950
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
  
*     BARREL 0
      REG = 2H80
      IBIT = I21(I,12) .AND. O"77"
      ENCODE (10,1400,PBIT) IBIT
      IBRL = 1H0
      IF ((IBIT.EQ.37) .OR. (IBIT.EQ.46) .OR. (IBIT.EQ.47) .OR. 
     .   ((IBIT.GE.49) .AND.(IBIT.LE.63))) IBRL = 1H
      CALL LOAPR(1,I21(I,1),I21(I,2),LMNTA,MODA,REG,PBIT,IBRL,I21(I,3)) 
      PL(9) = I21(I,7)
      IF (IBRL .EQ. 1H ) THEN 
         PL(9)  = I21(I,4)
         PL(10) = I21(I,5)
      ENDIF 
      PL(11) = ICNT 
      CALL PRINT12 (2,11) 
      FLAGMSG = 1 
      IF (IBRL .EQ. 1H ) GO TO 1100 
  
  950 DO 960  N = 1,3 
  960 NCNT(N) = SHIFT(I21(I,11),15*(1+N)) .AND. O"7 77 77"
      IF ((NCNT(1).EQ.0) .AND. (NCNT(2).EQ.0) .AND. (NCNT(3).EQ.0)) 
     .   GO TO 1000 
      IF (HFLG .EQ. 0) THEN 
         CALL PHEAD12 (1) 
         HFLG = 1 
      ENDIF 
  
*     BARRELS 1-3 
      DO 970  J = 1,3 
      IF (NCNT(J) .EQ. 0) GO TO 970 
      REG = 2H80
      IBIT = I21(I,12) .AND. O"77"
      ENCODE (10,1400,PBIT) IBIT
      JBRL = J
      ENCODE (10,1415,IBRL) JBRL
      IF (FLAGMSG .EQ. 0) GO TO 965 
      PBIT = 2H 
      I21(I,1) = I21(I,2) = 10H 
  965 CALL LOAPR(1,I21(I,1),I21(I,2),LMNTA,MODA,REG,PBIT,IBRL,
     .             I21(I,3+J))
      PL(9)  = I21(I,7+J) 
      PL(11) = NCNT(J)
      CALL PRINT12 (2,11) 
      FLAGMSG = 1 
  970 CONTINUE
  
 1000 ICNT = SHIFT(I21(I,12),45) .AND. O"7 7777"
      IF (ICNT .EQ. 0) GO TO 1100 
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
  
*     ISOLATION OF FAILING LOCATIONS NOT POSSIBLE 
      REG = 2H80
      IBIT = I21(I,12) .AND. O"77"
      ENCODE (10,1400,PBIT) IBIT
      IBRL = 1H 
      LOC1 = 10HISOLATION 
      LOC2 = 10HNOT POSSIB
      LOC3 = 10HLE
      IF (FLAGMSG .EQ. 0) GO TO 1050
      PBIT = 2H 
      I21(I,1) = I21(I,2) = 10H 
 1050 CALL LOAPR(1,I21(I,1),I21(I,2),LMNTA,MODA,REG,PBIT,IBRL,LOC1) 
      PL(9)  = LOC2 
      PL(10) = LOC3 
      PL(11) = ICNT 
      CALL PRINT12 (2,11) 
  
 1100 FLAGMSG = 0 
 1200 CONTINUE
  
*     PRINT I2 REGISTER 81 MESSAGE SUMMARY
      DO 1300 I = 1,29
      ICNT = SHIFT(I22(I,2),45) .AND. O"7 77 77"
      IF (ICNT .EQ. 0) GO TO 1300 
      IF (HFLG .EQ. 0)  THEN
          CALL PHEAD12 (1)
          HFLG = 1
      ENDIF 
      PL(3) = LMNTA 
      PL(4) = MODA
      PL(5) = 2H81
      IBIT = I22(I,2) .AND. O"77" 
      ENCODE (10,1400,PL(6))  IBIT
      LOC = I22(I,1) .AND. O"77 77 77"
      ENCODE (10,1405,PL(8))  LOC 
      ENCODE (10,1410,PL(1)) I22(I,1) 
      PL(2) = 10HOR 
      PL(11) = ICNT 
      CALL PRINT12 (2,11) 
 1300 CONTINUE
  
 1400 FORMAT (I2,8X)
 1401 FORMAT (Z2,8X)
 1405 FORMAT (R3,7X)
 1410 FORMAT (A7,3HERR) 
 1415 FORMAT (I1,9X)
  
 2000 CONTINUE
      RETURN
      END 
      SUBROUTINE AN12I4 
* 
*         DESCRIPTION 
*         ----------- 
*         SUBROUTINE AN12I4 PROCESSES SEF INPUT RECORDS FOR I4 IOU
*         ERRORS FOR ERROR CODES 4312B/4313B, RECORD TYPE 107B. 
* 
*         ENTRY CONDITION 
*         --------------- 
*         ENTERED WHEN SEF IS POSITIONED AT THE FIRST RECORD OF I4 IOU
*         ERROR MESSAGES. EACH I4 ERROR MESSAGE MAY CONSIST OF 7 RECORDS, 
*         DEPENDING ON THE OPTIONS INSTALLED: CIO, 5 PP OR 10 PP. 
* 
*                   I4FLAG = 0, NIO ONLY,           3 SEF RECORDS;
*                          = 1, NIO AND CIO,        5 SEF RECORDS;
*                          = 2, NIO, CIO AND 5  PP, 6 SEF RECORDS;
*                          = 3, NIO, CIO AND 10 PP, 7 SEF RECORDS;
* 
*         EXIT CONDITION
*         --------------
*         EXIT WHEN SEF RECORDS FOR I4 IOU ERRORS ARE EXHAUSTED.
* 
*         CALLED BY 
*         --------- 
*         PROGRAM HPA312
* 
*         CALLS 
*         ----- 
*         DL12IOU 
* 
*CALL HPACOM1 
*CALL HPACOM2 
  
      COMMON /I4COM/ I4FLAG, IELEM, MODEL, SERIAL, HX2(20), REG(4,2,2), 
     .               I4FS (64,4,4), FSREGNO (4), SEQNO,   IDFTCD, 
     .               MEOFLG, ICIOCH 
  
      DIMENSION MSG (12, 4) 
  
      DATA FSREGNO / 80, 81, 84, 85 / 
      DATA ICIOCH /0/ 
* 
*     ERROR DEFINITIONS 
* 
      DATA (MSG(1,J),J=1,4) / 
     .10HDEADSTART ,10HERROR LOG ,10HIOU ERROR ,10H          /
      DATA (MSG(2,J),J=1,4) / 
     .10HEXPRESS DE,10HADSTART DU,10HMP IOU ERR,10HOR        /
      DATA (MSG(3,J),J=1,4) / 
     .10HCORRECTED ,10HIOU ERROR ,10H          ,10H          /
      DATA (MSG(4,J),J=1,4) / 
     .10HUNCORRECTE,10HD IOU ERRO,10HR (NIO PP ,10HHALT)     /
      DATA (MSG(5,J),J=1,4) / 
     .10H12/16 IOU ,10HCONVERSION,10H ERROR (NI,10HO PP)     /
      DATA (MSG(6,J),J=1,4) / 
     .10HFATAL IOU ,10HERROR (NIO,10H PP)      ,10H          /
      DATA (MSG(7,J),J=1,4) / 
     .10HUNCORRECTE,10HD CHANNEL ,10HERROR (NIO,10H PP)      /
      DATA (MSG(8,J),J=1,4) / 
     .10HFATAL IOU ,10HERROR (CIO,10H PP)      ,10H          /
      DATA (MSG(9,J),J=1,4) / 
     .10HUNCORRECTE,10HD IOU ERRO,10HR (CIO PP ,10HHALT)     /
      DATA (MSG(10,J),J=1,4) /
     .10H12/16 IOU ,10HCONVERSION,10H ERROR (CI,10HO PP)     /
      DATA (MSG(11,J),J=1,4) /
     .10HUNCORRECTE,10HD CHANNEL ,10HERROR (CIO,10H PP)      /
      DATA (MSG(12,J),J=1,4) /
     .10H          ,10H          ,10H          ,10H          /
  
*     INITIALIZE
      CALL INISET3
      CALL DREPT3 
  
*     SET UP HEADERS
      IHDR = 34 
      IF (MTY .EQ. O"4313") IHDR = 39 
      SAVMTY = MTY
      HCF(1) = 5
      HCF(2) = 3
      HCF(4) = 6
      HCF(5) = 7
* 
*     PROCESS NEXT I4 ERROR 
* 
   50 IF (RCFA.EQ.2HON) CALL STOJN3 
      I4FLAG = 0
      MEOFLG = 3HOFF
* 
*     REGISTER 10 (ELEMENT ID)
* 
      IELEM = SHIFT(IFLD(23),-8) .AND. Z"FF"
      IF (IELEM .NE. JELEM) LINE = PLF + 1
      MODEL = IFLD(23) .AND. Z"FF"
      IF (MODEL .NE. JMODEL) LINE = PLF + 1 
      JELEM = IELEM 
      JMODEL= MODEL 
      SERIAL = SHIFT(IFLD(24),4).OR.IFLD(37)
      IF (SERIAL .NE. JSERIAL) LINE = PLF + 1 
      JSERIAL = SERIAL
* 
*     MFID
* 
      IF (MFID.NE.JMFID) LINE = PLF + 1 
      JMFID = MFID
* 
*     TIME AND ERROR MESSAGE
* 
      PL(1) = IFLD(20)
      SYM = IFLD(45) .AND. O"77"
      IF (SYM .GT. 11) SYM = 12 
      PL(2) = MSG(SYM,1)
      PL(3) = MSG(SYM,2)
      PL(4) = MSG(SYM,3)
      PL(64) = MSG(SYM,4) 
      IDFTCD = IFLD(45) 
      SEQNO = IFLD(19)
      IF ((IFLD(45) .AND. O"4000") .NE. 0) MEOFLG = 2HON
* 
*     SUPPRESS UNCORRECTED CHANNEL ERRORS (NIO=7 AND CIO=B) 
* 
      PRNTFLG = 3HNIX 
      IF ((RCFD .EQ. 2HON) .AND.
     . ((IDFTCD .NE. Z"007") .AND. (IDFTCD .NE. Z"00B") .AND. 
     .  (IDFTCD .NE. Z"807") .AND. (IDFTCD .NE. Z"80B"))) PRNTFLG = 2HOK
      SAVLINE = LINE
* 
*     REGISTER 00 (STATUS SUMMARY)
* 
      IFLD(28) = SHIFT(IFLD(28),4) .OR. IFLD(39)
      PL(5) = IFLD(25)
      PL(6) = IFLD(26)
      PL(7) = IFLD(27)
      PL(8) = IFLD(28)
* 
*     REGISTER 12 (OPTIONS INSTALLED - NIO) 
* 
      IFLD(32) = SHIFT(IFLD(32),4) .OR. IFLD(41)
      IF ((HX(1) .NE. IFLD(29)) .OR. (HX(2) .NE. IFLD(30)) .OR. 
     .    (HX(3) .NE. IFLD(31)) .OR. (HX(4) .NE. IFLD(32))) 
     .    LINE = PLF + 1
      HX(1) = IFLD(29)
      HX(2) = IFLD(30)
      HX(3) = IFLD(31)
      HX(4) = IFLD(32)
* 
*     REGISTER 30 (ENVIRONMENT CONTROL - NIO) 
* 
      IFLD(36) = SHIFT(IFLD(36),4) .OR. IFLD(43)
      IF ((HX(13) .NE. IFLD(33)) .OR. (HX(14) .NE. IFLD(34)) .OR. 
     .    (HX(15) .NE. IFLD(35)) .OR. (HX(16) .NE. IFLD(36))) 
     .    LINE = PLF + 1
      HX(13) = IFLD(33) 
      HX(14) = IFLD(34) 
      HX(15) = IFLD(35) 
      HX(16) = IFLD(36) 
* 
*     REGISTER 40 (STATUS REGISTER - NIO) 
* 
      NFLD(24) = SHIFT(NFLD(24),4) .OR. NFLD(37)
      PL(9)  = NFLD(21) 
      PL(10) = NFLD(22) 
      PL(11) = NFLD(23) 
      PL(12) = NFLD(24) 
* 
*     REGISTER 80 (FAULT STATUS 1 REGISTER - NIO) 
* 
      NFLD(28) = SHIFT(NFLD(28),4) .OR. NFLD(39)
      REG(1,1,1) = NFLD(25) 
      REG(2,1,1) = NFLD(26) 
      REG(3,1,1) = NFLD(27) 
      REG(4,1,1) = NFLD(28) 
* 
*     REGISTER 81 (FAULT STATUS 2 REGISTER - NIO) 
* 
      NFLD(32) = SHIFT(NFLD(32),4) .OR. NFLD(41)
      REG(1,2,1) = NFLD(29) 
      REG(2,2,1) = NFLD(30) 
      REG(3,2,1) = NFLD(31) 
      REG(4,2,1) = NFLD(32) 
* 
*     REGISTER A0 (TEST MODE - NIO) 
* 
      NFLD(36) = SHIFT(NFLD(36),4) .OR. NFLD(43)
      IF ((HX(17) .NE. NFLD(33)) .OR. (HX(18) .NE. NFLD(34)) .OR. 
     .    (HX(19) .NE. NFLD(35)) .OR. (HX(20) .NE. NFLD(36))) 
     .    LINE = PLF + 1
      HX(17) = NFLD(33) 
      HX(18) = NFLD(34) 
      HX(19) = NFLD(35) 
      HX(20) = NFLD(36) 
  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*       GET NEXT RECORDS (RECORDS 3 AND 4)
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
  
      CALL GNR3 
      CALL SETEM3(1)
* 
*     REGISTER 18 (FAULT STATUS MASK - NIO) 
* 
      IFLD(24) = SHIFT(IFLD(24),4) .OR. IFLD(37)
      IF ((HX(5) .NE. IFLD(21)) .OR. (HX(6) .NE. IFLD(22)) .OR. 
     .    (HX(7) .NE. IFLD(23)) .OR. (HX(8) .NE. IFLD(24))) 
     .    LINE = PLF + 1
      HX(5) = IFLD(21)
      HX(6) = IFLD(22)
      HX(7) = IFLD(23)
      HX(8) = IFLD(24)
* 
*     REGISTER 21 (O. S. BOUNDS - NIO)
* 
      IFLD(28) = SHIFT(IFLD(28),4) .OR. IFLD(39)
      IF ((HX(9)  .NE. IFLD(25)) .OR. (HX(10) .NE. IFLD(26)) .OR. 
     .    (HX(11) .NE. IFLD(27)) .OR. (HX(12) .NE. IFLD(28))) 
     .    LINE = PLF + 1
      HX(9)  = IFLD(25) 
      HX(10) = IFLD(26) 
      HX(11) = IFLD(27) 
      HX(12) = IFLD(28) 
* 
*     CHECK FOR PRESENCE OF CIO REGISTERS 
* 
      IF (IFLD(42) .NE. Z"16") GO TO 200
      I4FLAG = I4FLAG + 1 
* 
*     REGISTER 16 (OPTIONS INSTALLED - CIO) 
* 
      IFLD(32) = SHIFT(IFLD(32),4) .OR. IFLD(41)
      IF ((HX2(1) .NE. IFLD(29)) .OR. (HX2(2) .NE. IFLD(30)) .OR. 
     .    (HX2(3) .NE. IFLD(31)) .OR. (HX2(4) .NE. IFLD(32))) 
     .    LINE = PLF + 1
      HX2(1) = IFLD(29) 
      HX2(2) = IFLD(30) 
      HX2(3) = IFLD(31) 
      HX2(4) = IFLD(32) 
* 
*     REGISTER 34 (ENVIRONMENT CONTROL - CIO) 
* 
      IFLD(36) = SHIFT(IFLD(36),4) .OR. IFLD(43)
      IF ((HX2(13) .NE. IFLD(33)) .OR. (HX2(14) .NE. IFLD(34)) .OR. 
     .    (HX2(15) .NE. IFLD(35)) .OR. (HX2(16) .NE. IFLD(36))) 
     .    LINE = PLF + 1
      HX2(13) = IFLD(33)
      HX2(14) = IFLD(34)
      HX2(15) = IFLD(35)
      HX2(16) = IFLD(36)
* 
*     REGISTER 44 (STATUS REGISTER - CIO) 
* 
      NFLD(24) = SHIFT(NFLD(24),4) .OR. NFLD(37)
      PL(13) = NFLD(21) 
      PL(14) = NFLD(22) 
      PL(15) = NFLD(23) 
      PL(16) = NFLD(24) 
* 
*     REGISTER 84 (FAULT STATUS 1 REGISTER - CIO) 
* 
      NFLD(28) = SHIFT(NFLD(28),4) .OR. NFLD(39)
      REG(1,1,2) = NFLD(25) 
      REG(2,1,2) = NFLD(26) 
      REG(3,1,2) = NFLD(27) 
      REG(4,1,2) = NFLD(28) 
* 
*     REGISTER 85 (FAULT STATUS 2 REGISTER - CIO) 
* 
      NFLD(32) = SHIFT(NFLD(32),4) .OR. NFLD(41)
      REG(1,2,2) = NFLD(29) 
      REG(2,2,2) = NFLD(30) 
      REG(3,2,2) = NFLD(31) 
      REG(4,2,2) = NFLD(32) 
* 
*     REGISTER A4 (TEST MODE - CIO) 
* 
      NFLD(36) = SHIFT(NFLD(36),4) .OR. NFLD(43)
      IF ((HX2(17) .NE. NFLD(33)) .OR. (HX2(18) .NE. NFLD(34)) .OR. 
     .    (HX2(19) .NE. NFLD(35)) .OR. (HX2(20) .NE. NFLD(36))) 
     .    LINE = PLF + 1
      HX2(17) = NFLD(33)
      HX2(18) = NFLD(34)
      HX2(19) = NFLD(35)
      HX2(20) = NFLD(36)
  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*       GET NEXT RECORDS (RECORDS 5 AND 6)
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
  
      CALL GNR3 
      CALL SETEM3(1)
* 
*     REGISTER 1C (FAULT STATUS MASK - CIO) 
* 
      IFLD(24) = SHIFT(IFLD(24),4) .OR. IFLD(37)
      IF ((HX2(5) .NE. IFLD(21)) .OR. (HX2(6) .NE. IFLD(22)) .OR. 
     .    (HX2(7) .NE. IFLD(23)) .OR. (HX2(8) .NE. IFLD(24))) 
     .    LINE = PLF + 1
      HX2(5) = IFLD(21) 
      HX2(6) = IFLD(22) 
      HX2(7) = IFLD(23) 
      HX2(8) = IFLD(24) 
* 
*     REGISTER 25 (O. S. BOUNDS - CIO)
* 
      IFLD(28) = SHIFT(IFLD(28),4) .OR. IFLD(39)
      IF ((HX2(9)  .NE. IFLD(25)) .OR. (HX2(10) .NE. IFLD(26)) .OR. 
     .    (HX2(11) .NE. IFLD(27)) .OR. (HX2(12) .NE. IFLD(28))) 
     .    LINE = PLF + 1
      HX2(9)  = IFLD(25)
      HX2(10) = IFLD(26)
      HX2(11) = IFLD(27)
      HX2(12) = IFLD(28)
* 
*     CHECK FOR PRESENCE OF 5 PP CIO REGISTERS
* 
      IF (IFLD(42) .NE. Z"B0") GO TO 200
      I4FLAG = I4FLAG + 1 
* 
*     REGISTER B0 (CHANNEL STATUS 0 - 5 PP CIO) 
* 
      IFLD(32) = SHIFT(IFLD(32),4) .OR. IFLD(41)
      PL(17) = IFLD(29) 
      PL(18) = IFLD(30) 
      PL(19) = IFLD(31) 
      PL(20) = IFLD(32) 
* 
*     REGISTER B1 (CHANNEL STATUS 1 - 5 PP CIO) 
* 
      IFLD(36) = SHIFT(IFLD(36),4) .OR. IFLD(43)
      PL(21) = IFLD(33) 
      PL(22) = IFLD(34) 
      PL(23) = IFLD(35) 
      PL(24) = IFLD(36) 
* 
*     REGISTER B2 (CHANNEL STATUS 2 - 5 PP CIO) 
* 
      NFLD(24) = SHIFT(NFLD(24),4) .OR. NFLD(37)
      PL(25) = NFLD(21) 
      PL(26) = NFLD(22) 
      PL(27) = NFLD(23) 
      PL(28) = NFLD(24) 
* 
*     REGISTER B3 (CHANNEL STATUS 3 - 5 PP CIO) 
* 
      NFLD(28) = SHIFT(NFLD(28),4) .OR. NFLD(39)
      PL(29) = NFLD(25) 
      PL(30) = NFLD(26) 
      PL(31) = NFLD(27) 
      PL(32) = NFLD(28) 
* 
*     REGISTER B4 (CHANNEL STATUS 4 - 5 PP CIO) 
* 
      NFLD(32) = SHIFT(NFLD(32),4) .OR. NFLD(41)
      PL(33) = NFLD(29) 
      PL(34) = NFLD(30) 
      PL(35) = NFLD(31) 
      PL(36) = NFLD(32) 
* 
*     CHECK FOR PRESENCE OF 10 PP CIO REGISTERS 
* 
      IF (NFLD(44) .NE. Z"B5") GO TO 200
      I4FLAG = I4FLAG + 1 
* 
*     REGISTER B5 (CHANNEL STATUS 5 - 10 PP CIO)
* 
      NFLD(36) = SHIFT(NFLD(36),4) .OR. NFLD(43)
      PL(37) = NFLD(33) 
      PL(38) = NFLD(34) 
      PL(39) = NFLD(35) 
      PL(40) = NFLD(36) 
  
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*       GET LAST RECORD (RECORD 7)
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
  
      CALL GNR3 
      CALL SETEM3(1)
* 
*     REGISTER B6 (CHANNEL STATUS 6 - 10 PP CIO)
* 
      IFLD(24) = SHIFT(IFLD(24),4) .OR. IFLD(37)
      PL(41) = IFLD(21) 
      PL(42) = IFLD(22) 
      PL(43) = IFLD(23) 
      PL(44) = IFLD(24) 
* 
*     REGISTER B7 (CHANNEL STATUS 7 - 10 PP CIO)
* 
      IFLD(28) = SHIFT(IFLD(28),4) .OR. IFLD(39)
      PL(45) = IFLD(25) 
      PL(46) = IFLD(26) 
      PL(47) = IFLD(27) 
      PL(48) = IFLD(28) 
* 
*     REGISTER B8 (CHANNEL STATUS 10 - 10 PP CIO) 
* 
      IFLD(32) = SHIFT(IFLD(32),4) .OR. IFLD(41)
      PL(49) = IFLD(29) 
      PL(50) = IFLD(30) 
      PL(51) = IFLD(31) 
      PL(52) = IFLD(32) 
* 
*     REGISTER B9 (CHANNEL STATUS 11 - 10 PP CIO) 
* 
      IFLD(36) = SHIFT(IFLD(36),4) .OR. IFLD(43)
      PL(53) = IFLD(33) 
      PL(54) = IFLD(34) 
      PL(55) = IFLD(35) 
      PL(56) = IFLD(36) 
* 
*     GENERATE THE I4 DETAIL REPORT 
* 
  200 IF (PRNTFLG .EQ. 3HNIX) LINE = SAVLINE
      IF ((RCFA .EQ. 2HON) .OR. (RCFD .EQ. 2HON)) CALL DL12I4 
  
*     CHECK FOR SUPPORTIVE STATUS BUFFER FAULT SYMPTOM CODE FROM DFT
      ITSTFLD = NFLD(19)
      TAG1 = SHIFT(NFLD(21),44) .OR. SHIFT(NFLD(22),28) .OR.
     .       SHIFT(NFLD(23),12) .OR.       NFLD(24) 
      TAG2 = SHIFT(NFLD(25),-4) .AND. Z"FFF"
      IF (I4FLAG .EQ. 2) THEN 
         CALL GNR3
         CALL SETEM3 (1)
         IF ((TWIC .EQ. 0) .OR. (MTY .NE. SAVMTY)) GO TO 400
         ITSTFLD = IFLD(19) 
         TAG1 = SHIFT(IFLD(21),44) .OR. SHIFT(IFLD(22),28) .OR. 
     .          SHIFT(IFLD(23),12) .OR.       IFLD(24)
         TAG2 = SHIFT(IFLD(25),-4) .AND. Z"FFF" 
      ENDIF 
  
*     DFT REVISION NUMBER 
      VERSION = IFLD(FUN) 
      IF ((VERSION .GE. 4) .AND. ((ITSTFLD .AND. O"1000") .NE. 0)) THEN 
         IF (PRNTFLG .NE. 2HOK) GO TO 350 
         PRINT 300,VERSION,TAG1,TAG2
  300    FORMAT(/,14X,'DFT REVISION ',I2,' FAULT SYMPTOM CODE = ',R10,
     .            R2) 
  
*        REPORT WHEN DFT SUPPORTIVE STATUS BUFFER DATE/TIME IS INVALID
         IF ((IFLD(19) .AND. O"4000") .NE. 0) THEN
            PRINT 302 
  302       FORMAT (14X,'DFT-REPORTED WALL CLOCK TIME INTEGRITY HAS ',
     .                  'BEEN LOST')
            LINE = LINE + 1 
         ENDIF
  
         PRINT 306
  306    FORMAT (1X,7(10H----------),9H---------) 
         LINE = LINE + 3
      ENDIF 
* 
*     READ THE NEXT RECORDS 
* 
  350 CALL GNR3 
      CALL SETEM3 (1) 
      IF ((TWIC .EQ. 0) .OR. (MTY .NE. SAVMTY)) GO TO 400 
      IF (PRNTFLG .EQ. 2HOK) CALL PLSEC (5) 
      GO TO 50
  400 IF ((ICIOCH .EQ. 2) .AND. (RCFD .EQ. 2HON)) THEN
        IF ((LINE + 10) .GT. PLF) CALL HEADER 
        PRINT 800 
      ENDIF 
  
      IF (RCFA .EQ. 3HOFF) GO TO 900
* 
*     GENERATE THE I4 ANALYSIS REPORT 
* 
      PL(63) = IELEM
      PL(64) = MODEL
      CALL XOVCAP('ERDIST3',0,0)
      CALL UOVCAP('ERDIST3')
* 
*     GENERATE THE I4 ANALYSIS REPORT FAULT STATUS ACCUMULATION 
* 
      HCF(5) = 8
  
*     JJ = FAULT STATUS 1 / 2 NIO   -   FAULT STATUS 1 / 2 CIO
      DO 700 JJ = 1, 4
      PRT = 0 
      HX(1) = 3HNIO 
      IF (JJ .GE. 3) HX(1) = 3HCIO
  
      DO 510  IJ = 1, 64
      IF (I4FS(IJ,JJ,4) .NE. 0) GO TO 520 
  510 CONTINUE
      GO TO 700 
  
*     PRINT THE NIO AND/OR CIO FS ACCUMULATION SUBHEADER
  520 IF (PRT .EQ. 0) THEN
         CALL PHEAD12 (5) 
         PRT = PRT + 1
      ENDIF 
  
*     CHECK EACH FAULT STATUS BIT FOR AN ACCUMULATION COUNT 
      DO 600 NUMBIT = IJ, 64
      IF (I4FS(NUMBIT,JJ,4) .EQ. 0) GO TO 600 
      PL(1) = IELEM 
      PL(2) = MODEL 
      PL(3) = FSREGNO(JJ) 
      PL(4) = NUMBIT - 1
      PL(5) = I4FS(NUMBIT,JJ,1) 
      PL(6) = I4FS(NUMBIT,JJ,2) 
      PL(7) = I4FS(NUMBIT,JJ,3) 
      PL(8) = I4FS(NUMBIT,JJ,4) 
      CALL PRINT12 (6,8)
  600 CONTINUE
  700 CONTINUE
  
      IF ((ICIOCH .EQ. 1) .OR. (ICIOCH .EQ. 2)) THEN
        IF ((LINE + 10) .GT. PLF) CALL HEADER 
        PRINT 800 
      ENDIF 
  
  800 FORMAT(///,1X,'* * * * * * * * * * * * * * * * * * * * * * * * * '
     .             ,'* * * * * * * * * * * * * *',/,
     .           1X,'*  A "SELECT RESET" FUNCTION ON AN INTELLIGENT HYD'
     .             ,'RA DEVICE MAY CAUSE FALSE *',/,
     .           1X,'*  CHANNEL PARITY ERROR(S).  IF THESE ERRORS ARE A'
     .             ,'SSOCIATED WITH A CHANNEL  *',/,
     .           1X,'*  THAT IS CONNECTED TO A HYDRA CONTROLLER AND THE'
     .             ,'Y ARE VALID THEY WILL     *',/,
     .           1X,'*  SIMULTANEOUSLY BE REPORTED AS ERRORS(S) AGAINST'
     .             ,' THE HYDRA CONTROLLER.    *',/,
     .           1X,'*  THE FALSE CHANNEL PARITY ERRORS ARE DUE TO A KN'
     .             ,'OWN HARDWARE PROBLEM THAT *',/,
     .           1X,'*  IS NOT EXPECTED TO BE FIXED.                   '
     .             ,'                          *',/,
     .           1X,'* * * * * * * * * * * * * * * * * * * * * * * * * '
     .             ,'* * * * * * * * * * * * * *')
  
  900 DO 910 I = 1, 64
  910 PL(I) = 0 
      DO 912 I = 1,20 
  912 HX(I) = 0 
  
      RETURN
      END 
      SUBROUTINE DL12IOU (IOUTYPE)
* 
**        DESCRIPTION 
*         ----------- 
*         SUBROUTINE DL12IOU DEVELOPS THE DETAIL REPORT FOR THE I1/I2 
*         FAULT STATUS MESSAGES.
* 
*         CALLED BY 
*         --------- 
*         AN12IOU 
* 
*     PL(1) = TIME
*     PL(3) = REGISTER NUMBER 
*     PL(5) = FIRST 16 BITS OF REGISTER CONTENTS
*     PL(6) = SECOND 16 BITS OF REGISTER CONTENTS 
*     PL(7) = THIRD 16 BITS OF REGISTER CONTENTS
*     PL(8) = FOURTH 16 BITS OF REGISTER CONTENTS 
* 
*     FOR BIT BREAK-DOWN AND MESSAGES 
* 
*     PL(1)  = ELEMENT
*     PL(2)  = MODEL NUMBER 
*     PL(3)  = REGISTER NUMBER
*     PL(4)  = BIT NUMBER 
*     PL(5)  = FAULT DESCRIPTION
*     PL(6)  = FAULT DESCRIPTION
*     PL(7)  = BARREL NUMBER
*     PL(8)  = PP NUMBER
*     PL(9)  = POTENTIAL FAILING LOCATIONS
*     PL(10) = POTENTIAL FAILING LOCATIONS
*     PL(11) = POTENTIAL FAILING LOCATIONS
* 
*CALL HPACOM1 
*CALL HPACOM2 
  
      COMMON /IOU/ I11(24,7), I12(27,2), I21(27,12), I22(29,2)
     .           , I1CR1(15,11), I1CR2(27,6), FLG63 
  
      DIMENSION GROUP(4), PPBRL(20) 
  
      DIMENSION MSG (9, 4)
      DATA (MSG(1,J),J=1,4) / 
     .10HDEADSTART ,10HERROR LOG ,10HIOU ERROR ,10H          /
      DATA (MSG(2,J),J=1,4) / 
     .10HEXPRESS DE,10HADSTART DU,10HMP IOU ERR,10HR         /
      DATA (MSG(3,J),J=1,4) / 
     .10HCORRECTED ,10HIOU ERROR ,10H          ,10H          /
      DATA (MSG(4,J),J=1,4) / 
     .10HUNCORRECTE,10HD IOU ERRO,10HR (NIO PP ,10HHALT)     /
      DATA (MSG(5,J),J=1,4) / 
     .10H12/16 IOU ,10HCONVERSION,10H ERROR (NI,10HO PP)     /
      DATA (MSG(6,J),J=1,4) / 
     .10HFATAL IOU ,10HERROR (NIO,10H PP)      ,10H          /
      DATA (MSG(7,J),J=1,4) / 
     .10HUNCORRECTE,10HD CHANNEL ,10HERROR (NIO,10H PP)      /
      DATA (MSG(8,J),J=1,4) / 
     .10HUNIDENTIFI,10HED DFT ERR,10HOR CODE   ,10H          /
      DATA (MSG(9,J),J=1,4) / 
     .10HMULTIPLE E,10HRROR OCCUR,10HRENCE     ,10H          /
  
      DATA ((I11(I,J),I=1,24),J=5,6)  /  48*10H          /
      DATA ((I21(I,J),I=1,27),J=7,10) / 108*10H          /
      DATA  (I21(I,11),I=1,27)        /  27*0            /
* 
*     TABLE OF I1 FS1 MESSAGES AND FAILING LOCATIONS
* 
      DATA(I11(01,I),I=1,4)/10HERROR ON Y,10HJ         ,
     .                      10HB11,B07,D1,10HB12,B08,D1/
      DATA(I11(02,I),I=1,4)/10HERROR ON Y,10HG         ,
     .                      10HB21,B07   ,10HB22,B08   /
      DATA(I11(03,I),I=1,4)/10HFIRMWARE E,10HRROR      ,
     .                      10HB07       ,10HB08       /
      DATA(I11(04,I),I=1,4)/10HPPM DATA E,10HRROR ON YM,
     .                      10HD05,D06,B0,10HD03,D04,B0/
      DATA(I11(05,I),I=1,4)/10HPPM ERROR ,10HON YP     ,
     .                      10HB09,B11,B0,10HB10,B12,B0/
      DATA(I11(06,I),I=1,4)/10HERROR ON Y,10HH         ,
     .                     10HD15,B07   ,10HD16,B08   / 
      DATA(I11(07,I),I=1,4)/10HPPM ADD ER,10HROR       ,
     .                      10HB21,D05,D0,10HB22,D03,D0/
      DATA(I11(08,I),I=1,4)/10HPPM DATA E,10HRROR      ,
     .                      10HD05,D06,D1,10HD03,D04,D1/
      DATA(I11(09,I),I=1,4)/10HOSB ERROR ,10H          ,
     .                      10HB18,B11   ,10HB18,B12   /
      DATA(I11(10,I),I=1,4)/10HOSB ADD. E,10HRROR      ,
     .                     10HB18       ,10HB18       / 
      DATA(I11(11,I),I=1,4)/10HUNCORR'D C,10HM READ ERR,
     .                      10HB09       ,10HB10       /
      DATA(I11(12,I),I=1,4)/10HUNCORR'D C,10HM WRT ERR ,
     .                      10HB09       ,10HB10       /
      DATA(I11(13,I),I=1,4)/10HCM REJECT ,10H          ,
     .                      10HB07,B09   ,10HB08,B10   /
      DATA(I11(14,I),I=1,4)/10HCM TAG ERR,10HOR        ,
     .                     10HB07,B09   ,10HB08,B10   / 
      DATA(I11(15,I),I=1,4)/10HCM RESPONS,10HE ERROR   ,
     .                     10HB18       ,10HB18       / 
      DATA(I11(16,I),I=1,4)/10HCM DATA IN,10HERROR     ,
     .                      10HB09       ,10HB10       /
      DATA(I11(17,I),I=1,4)/10HCM DATA OU,10HT ERR BT 0,
     .                      10HB09       ,10HB10       /
      DATA(I11(18,I),I=1,4)/10HCM DATA OU,10HT ERR BT 1,
     .                      10HB09       ,10HB10       /
      DATA(I11(19,I),I=1,4)/10HCM DATA OU,10HT ERR BT 2,
     .                      10HB09       ,10HB10       /
      DATA(I11(20,I),I=1,4)/10HCM DATA OU,10HT ERR BT 3,
     .                      10HB09       ,10HB10       /
      DATA(I11(21,I),I=1,4)/10HCM DATA OU,10HT ERR BT 4,
     .                      10HB09       ,10HB10       /
      DATA(I11(22,I),I=1,4)/10HCM DATA OU,10HT ERR BT 5,
     .                      10HB09       ,10HB10       /
      DATA(I11(23,I),I=1,4)/10HCM DATA OU,10HT ERR BT 6,
     .                      10HB09       ,10HB10       /
      DATA(I11(24,I),I=1,4)/10HCM DATA OU,10HT ERR BT 7,
     .                      10HB09       ,10HB10       /
* 
      DATA(I11(01,I),I=5,6)/10H5         ,10H6         /
      DATA(I11(04,I),I=5,6)/10H7         ,10H8         /
      DATA(I11(05,I),I=5,6)/10H7         ,10H8         /
      DATA(I11(07,I),I=5,6)/10H6         ,10H4         /
      DATA(I11(08,I),I=5,6)/10H5,B11,B09 ,10H6,B12,B10 /
* 
*       TABLE OF I1 FS2 MESSAGES AND FAILING LOCATIONS
* 
      DATA(I12(I,1),I=1,27)/
     .10HCH07   D11, 10HCH06   D11, 10HCH05   D12, 10HCH04   D12, 
     .10HCH03   D13, 10HCH02   D13, 10HCH01   D14, 10HCH00   D14, 
     .10HCH17   D23, 10HCH15   D08, 10HCH13   D09, 10HCH12   D09, 
     .10HCH11   D10, 10HCH10   D10, 10HCH27   D20, 10HCH26   D20, 
     .10HCH25   D19, 10HCH24   D19, 10HCH23   D18, 10HCH22   D18, 
     .10HCH21   D17, 10HCH20   D17, 10HRI 2/3 D24, 10HCH33   D22, 
     .10HCH32   D22, 10HCH31   D21, 10HCH30   D21/
  
*     CORRESPONDING BIT NUMBER FOR I1 FS1 AND FS2 
      DATA(I11(I,7),I=1,24)/32,33,34,35,36,37,38,39,45,46,49,50,
     .                      51,52,53,54,56,57,58,59,60,61,62,63/
  
      DATA(I12(I,2),I=1,27)/32,33,34,35,36,37,38,39,42,43,44,45,46,47,
     .                      48,49,50,51,52,53,54,55,59,60,61,62,63/ 
* 
*     TABLE OF I2 FS1 MESSAGES AND FAILING LOCATIONS
* 
      DATA(I21(01,I),I=1,6)/10HVD PARITY ,10HERROR     ,
     .        10HD05,D21-D2,10HD04,D16-D1,10HD03,B21-B2,10HD02,B15-B1/
      DATA(I21(02,I),I=1,6)/10HVE PARITY ,10HERROR     ,
     .        10HC24,C03,D2,10HC23,C03,D1,10HC22,C03,B2,10HC21,C03,B1/
      DATA(I21(03,I),I=1,6)/10HFIRMWARE P,10HARITY ERR ,
     .        10HC20,C24,D0,10HC18,C23,D0,10HC16,C22,D0,10HC14,C21,D0/
      DATA(I21(04,I),I=1,6)/10HPPM DATA O,10HUT PE     ,
     .        10HC20,C10,C1,10HC18,C08,C0,10HC16,C06,C0,10HC14,C04,C0/
      DATA(I21(05,I),I=1,6)/10HVG PARITY ,10HERROR     ,
     .        10HC19,D05,D2,10HC17,D04,D1,10HC15,D03,B2,10HC13,D02,B1/
      DATA(I21(06,I),I=1,5)/10HVJ PARITY ,10HERROR     ,
     .        10HB03-B06,D0,10H6-D09,B07-,10HB10       /
      DATA(I21(07,I),I=1,6)/10HVL ADDRESS,10H PE       ,
     .        10HC10,C11   ,10HC08,C09   ,10HC06,C07   ,10HC04,C05   /
      DATA(I21(08,I),I=1,6)/10HVL DATA PA,10HRITY ERROR,
     .        10HC10,C11,D0,10HC08,C09,D0,10HC06,C07,D0,10HC04,C05,D0/
      DATA(I21(09,I),I=1,6)/10HOS BOUNDS ,10HERROR     ,
     .        10HC19,D11   ,10HC17,D11   ,10HC15,D11   ,10HC13,D11   /
      DATA(I21(10,I),I=1,5)/10HOS BOUNDS ,10HPARITY ERR,
     .        10HD11       ,10H          ,10H          /
      DATA(I21(11,I),I=1,5)/10HADU PRIORI,10HTY ROM PE ,
     .        10HF18       ,10H          ,10H          /
      DATA(I21(12,I),I=1,6)/10HCM READ BU,10HFFER ERROR,
     .        10HF16,F15   ,10HF14,F13   ,10HF12,F11   ,10HF09,F10   /
      DATA(I21(13,I),I=1,6)/10HUNCORR'D R,10HEAD ERROR ,
     .        10HF18       ,10H          ,10H          ,10H          /
      DATA(I21(14,I),I=1,6)/10HUNCORR'BLE,10H WRITE ERR,
     .        10HF20,F21,F2,10H2,F23,F18 ,10H          ,10H          /
      DATA(I21(15,I),I=1,6)/10HCM REJECT ,10H          ,
     .        10HF18       ,10H          ,10H          ,10H          /
      DATA(I21(16,I),I=1,5)/10HCM TAG ERR,10HOR        ,
     .        10HF18       ,10H          ,10H          /
      DATA(I21(17,I),I=1,6)/10HCM RESPONS,10HE CODE ERR,
     .        10HF18       ,10H          ,10H          ,10H          /
      DATA(I21(18,I),I=1,5)/10HCM DATA OU,10HT ERROR   ,
     .        10HF18,F20,F2,10H1,F22,F23 ,10H          /
      DATA(I21(19,I),I=1,5)/10HCM ADDRESS,10H OUT ERROR,
     .        10HF18,F20,F2,10H1,F22,F23 ,10H          /
      DATA(I21(20,I),I=1,6)/10HCM DATA IN,10H ERR BYTE0,
     .        10HF13       ,10H          ,10H          ,10H          /
      DATA(I21(21,I),I=1,6)/10HCM DATA IN,10H ERR BYTE1,
     .        10HF13       ,10H          ,10H          ,10H          /
      DATA(I21(22,I),I=1,6)/10HCM DATA IN,10H ERR BYTE2,
     .        10HF14       ,10H          ,10H          ,10H          /
      DATA(I21(23,I),I=1,6)/10HCM DATA IN,10H ERR BYTE3,
     .        10HF14       ,10H          ,10H          ,10H          /
      DATA(I21(24,I),I=1,6)/10HCM DATA IN,10H ERR BYTE4,
     .        10HF15       ,10H          ,10H          ,10H          /
      DATA(I21(25,I),I=1,6)/10HCM DATA IN,10H ERR BYTE5,
     .        10HF15       ,10H          ,10H          ,10H          /
      DATA(I21(26,I),I=1,6)/10HCM DATA IN,10H ERR BYTE6,
     .        10HF16       ,10H          ,10H          ,10H          /
      DATA(I21(27,I),I=1,6)/10HCM DATA IN,10H ERR BYTE7,
     .        10HF16       ,10H          ,10H          ,10H          /
* 
      DATA(I21(01,I),I=7,10)/10H4,C20     ,10H9,C18     , 
     .                       10H4,C16     ,10H8,C14     / 
      DATA(I21(02,I),I=7,10)/10H1-D24,C20 ,10H6-D19,C18 , 
     .                       10H1-B24,C16 ,10H5-B18,C14 / 
      DATA(I21(03,I),I=7,10)/10H5         ,10H4         , 
     .                       10H3         ,10H2         / 
      DATA(I21(04,I),I=7,10)/10H1,C19     ,10H9,C17     , 
     .                       10H7,C15     ,10H5,C13     / 
      DATA(I21(05,I),I=7,10)/10H1-D24,C20 ,10H6-D19,C18 , 
     .                       10H1-B24,C16 ,10H5-B18,C14 / 
      DATA(I21(08,I),I=7,10)/10H5,B06,C24 ,10H4,B05,C23 , 
     .                       10H3,B04,C22 ,10H2,B03,C21 / 
* 
*     TABLE OF I2 FS2 MESSAGES AND FAILING LOCATIONS
* 
      DATA(I22(I,1),I=1,29)/
     .10HCH07   D17, 10HCH06   D18, 10HCH05   D19, 10HCH04   D20, 
     .10HCH03   D21, 10HCH02   D22, 10HCH01   D23, 10HCH00   D24, 
     .10HCH17   D10, 10HCH15   D01, 10HCH13   D13, 10HCH12   D14, 
     .10HCH11   D15, 10HCH10   D16, 10HCH27   B17, 10HCH26   B18, 
     .10HCH25   B19, 10HCH24   B20, 10HCH23   B21, 10HCH22   B22, 
     .10HCH21   B23, 10HCH20   B24, 10HRI 5/6 F05, 10HRI 3/4 F04, 
     .10HRI 1/2 F03, 10HCH33   B13, 10HCH32   B14, 10HCH31   B15, 
     .10HCH30   B16/
  
*     CORRESPONDING BIT NUMBER FOR I2 FS1 AND FS2 MESSAGES
      DATA(I21(I,12),I=1,27)/32,33,34,35,36,37,38,39,45,46,47,
     .    48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63/
  
      DATA(I22(I,2),I=1,29)/32,33,34,35,36,37,38,39,40,42,44,45,
     .    46,47,48,49,50,51,52,53,54,55,57,58,59,60,61,62,63/ 
* 
*         TABLE OF I1CR FS1 MESSAGES AND FAILING LOCATIONS
* 
      DATA(I1CR1(01,I),I=1,10)   /   10HERROR ON C,10HL         , 
     .   10HIOU06     ,10H          ,10HIOU06     ,10H          , 
     .   10HIOU04     ,10H          ,10HIOU04     ,10H          / 
      DATA(I1CR1(02,I),I=1,10)   /   10HERROR ON C,10HR         , 
     .   10HIOU12     ,10H          ,10HIOU13     ,10H          , 
     .   10HIOU11     ,10H          ,10HIOU12     ,10H          / 
      DATA(I1CR1(03,I),I=1,10)   /   10HFIRMWARE E,10HRROR      , 
     .   10HIOU11     ,10H          ,10HIOU14     ,10H          , 
     .   10HIOU10     ,10H          ,10HIOU13     ,10H          / 
      DATA(I1CR1(04,I),I=1,10)   /   10HERROR ON C,10HM         , 
     .   10HIOU18     ,10H          ,10HIOU19     ,10H          , 
     .   10HIOU18     ,10H          ,10HIOU19     ,10H          / 
      DATA(I1CR1(05,I),I=1,10)   /   10HERROR ON C,10HP         , 
     .   10HIOU11     ,10H          ,10HIOU14     ,10H          , 
     .   10HIOU10     ,10H          ,10HIOU13     ,10H          / 
      DATA(I1CR1(06,I),I=1,10)   /   10HCONVERSION,10H ERROR    , 
     .   10HIOU11     ,10H          ,10HIOU14     ,10H          , 
     .   10HIOU11     ,10H          ,10HIOU14     ,10H          / 
      DATA(I1CR1(07,I),I=1,10)   /   10HPPM DATA I,10HN ERROR   , 
     .   10HIOU18,IOU1,10H1         ,10HIOU19,IOU1,10H4         , 
     .   10HIOU18,IOU1,10H0         ,10HIOU19,IOU1,10H3         / 
      DATA(I1CR1(08,I),I=1,10)   /   10HOS BOUNDS ,10HVIOLATION , 
     .   10HIOU06,IOU0,10H7         ,10HIOU06,IOU0,10H7         , 
     .   10HIOU04,IOU0,10H5         ,10HIOU04,IOU0,10H5         / 
      DATA(I1CR1(09,I),I=1,10)   /   10HOS BOUNDS ,10HADDR PE   , 
     .   10HIOU06,IOU0,10H7         ,10HIOU06,IOU0,10H7         , 
     .   10HIOU04,IOU0,10H5         ,10HIOU04,IOU0,10H5         / 
      DATA(I1CR1(10,I),I=1,10)   /   10HCM DATA OU,10HT ERROR   , 
     .   10HMEM07     ,10H          ,10HMEM07     ,10H          , 
     .   10HMEM07     ,10H          ,10HMEM07     ,10H          / 
      DATA(I1CR1(11,I),I=1,10)   /   10HUNCORR'D C,10HM RD ERROR, 
     .   10HMEM07,IOU0,10H6,IOU07   ,10HMEM07,IOU0,10H6,IOU07   , 
     .   10HMEM07,IOU0,10H4,IOU05   ,10HMEM07,IOU0,10H4,IOU05   / 
      DATA(I1CR1(12,I),I=1,10)   /   10HUNCORR'D C,10HM WR ERROR, 
     .   10HIOU06,IOU1,10H8         ,10HIOU06,IOU1,10H9         , 
     .   10HIOU04,IOU1,10H8         ,10HIOU04,IOU1,10H9         / 
      DATA(I1CR1(13,I),I=1,10)   /   10HCM REJECT ,10HERROR     , 
     .   10HMEM07,IOU0,10H6,IOU07   ,10HMEM07,IOU0,10H6,IOU07   , 
     .   10HMEM07,IOU0,10H4,IOU05   ,10HMEM07,IOU0,10H4,IOU05   / 
      DATA(I1CR1(14,I),I=1,10)   /   10HCM TAG OUT,10H ERROR    , 
     .   10HMEM07,IOU0,10H6,IOU07   ,10HMEM07,IOU0,10H6,IOU07   , 
     .   10HMEM07,IOU0,10H4,IOU05   ,10HMEM07,IOU0,10H4,IOU05   / 
      DATA(I1CR1(15,I),I=1,10)   /   10HCM RESPONS,10HE ERROR   , 
     .   10HMEM07,IOU0,10H6,IOU07   ,10HMEM07,IOU0,10H6,IOU07   , 
     .   10HMEM07,IOU0,10H4,IOU05   ,10HMEM07,IOU0,10H4,IOU05   / 
* 
*         TABLE OF I1CR FS2 MESSAGES AND FAILING LOCATIONS
* 
      DATA(I1CR2(01,I),I=1,5)/    10HCH07      ,
     .10HIOU09     ,10H          ,10HIOU08     ,10H          /
      DATA(I1CR2(02,I),I=1,5)/    10HCH06      ,
     .10HIOU09     ,10H          ,10HIOU08     ,10H          /
      DATA(I1CR2(03,I),I=1,5)/    10HCH05      ,
     .10HIOU10     ,10H          ,10HIOU07     ,10H          /
      DATA(I1CR2(04,I),I=1,5)/    10HCHO4      ,
     .10HIOU10     ,10H          ,10HIOU09     ,10H          /
      DATA(I1CR2(05,I),I=1,5)/    10HCH03      ,
     .10HIOU10     ,10H          ,10HIOU09     ,10H          /
      DATA(I1CR2(06,I),I=1,5)/    10HCH02      ,
     .10HIOU10     ,10H          ,10HIOU07     ,10H          /
      DATA(I1CR2(07,I),I=1,5)/    10HCH01      ,
     .10HIOU10     ,10H          ,10HIOU09     ,10H          /
      DATA(I1CR2(08,I),I=1,5)/    10HCH00      ,
     .10HIOU10     ,10H          ,10HIOU09     ,10H          /
      DATA(I1CR2(09,I),I=1,5)/    10HCH17      ,
     .10HIOU08     ,10H          ,10HIOU06     ,10H          /
      DATA(I1CR2(10,I),I=1,5)/    10HCH15      ,
     .10HIOU08,IOU2,10H0         ,10HIOU06,IOU2,10H0         /
      DATA(I1CR2(11,I),I=1,5)/    10HCH13      ,
     .10HIOU09     ,10H          ,10HIOU07     ,10H          /
      DATA(I1CR2(12,I),I=1,5)/    10HCH12      ,
     .10HIOU09     ,10H          ,10HIOU08     ,10H          /
      DATA(I1CR2(13,I),I=1,5)/    10HCH11      ,
     .10HIOU09     ,10H          ,10HIOU08     ,10H          /
      DATA(I1CR2(14,I),I=1,5)/    10HCH10      ,
     .10HIOU17     ,10H          ,10HIOU17     ,10H          /
      DATA(I1CR2(15,I),I=1,5)/    10HCH27      ,
     .10HIOU16     ,10H          ,10HIOU15     ,10H          /
      DATA(I1CR2(16,I),I=1,5)/    10HCH26      ,
     .10HIOU16     ,10H          ,10HIOU15     ,10H          /
      DATA(I1CR2(17,I),I=1,5)/    10HCH25      ,
     .10HIOU15     ,10H          ,10HIOU16     ,10H          /
      DATA(I1CR2(18,I),I=1,5)/    10HCH24      ,
     .10HIOU15     ,10H          ,10HIOU14     ,10H          /
      DATA(I1CR2(19,I),I=1,5)/    10HCH23      ,
     .10HIOU15     ,10H          ,10HIOU14     ,10H          /
      DATA(I1CR2(20,I),I=1,5)/    10HCH22      ,
     .10HIOU15     ,10H          ,10HIOU16     ,10H          /
      DATA(I1CR2(21,I),I=1,5)/    10HCH21      ,
     .10HIOU15     ,10H          ,10HIOU14     ,10H          /
      DATA(I1CR2(22,I),I=1,5)/    10HCH20      ,
     .10HIOU15     ,10H          ,10HIOU14     ,10H          /
      DATA(I1CR2(23,I),I=1,5)/    10HRI 2/3    ,
     .10H          ,10H          ,10H          ,10H          /
      DATA(I1CR2(24,I),I=1,5)/    10HCH33      ,
     .10HIOU16     ,10H          ,10HIOU16     ,10H          /
      DATA(I1CR2(25,I),I=1,5)/    10HCH32      ,
     .10HIOU16     ,10H          ,10HIOU15     ,10H          /
      DATA(I1CR2(26,I),I=1,5)/    10HCH31      ,
     .10HIOU16     ,10H          ,10HIOU15     ,10H          /
      DATA(I1CR2(27,I),I=1,5)/    10HCH30      ,
     .10HIOU16     ,10H          ,10HIOU16     ,10H          /
* 
*         CORRESPONDING BIT NUMBER FOR I1CR FS1 AND FS2 
* 
      DATA(I1CR1(I,11),I=1,15)/32,33,34,35,36,37,39,45,46,48, 
     .                         49,50,51,52,53/
      DATA(I1CR2(I,6),I=1,27) /32,33,34,35,36,37,38,39,40,42,44,45,46,
     .                      47,48,49,50,51,52,53,54,55,59,60,61,62,63/
  
*     BARREL NUMBER, PP NUMBER AND BIT NUMBER (I1, I2, I1CR)
      DATA(PPBRL(I),I=1,20)/
     .O"0004 0004 03", O"0003 0003 04", O"0002 0002 05",O"0001 0001 06",
     .O"0000 0000 07", O"0011 0104 13", O"0010 0103 14",O"0007 0102 15",
     .O"0006 0101 16", O"0005 0100 17", O"0104 0204 23",O"0103 0203 24",
     .O"0102 0202 25", O"0101 0201 26", O"0100 0200 27",O"0111 0304 33",
     .O"0110 0303 34", O"0107 0302 35", O"0106 0301 36",O"0105 0300 37"/
* 
      IF (RCFD .EQ. 3HOFF) GO TO 100
  
      CALL UCHEK12
  
*     DEFINE THE ERROR MESSAGE
      J = 0 
  
*     CHECK FOR DFT ERROR MESSAGE 
      IF ((PL(36) .NE. 0) .AND. (PL(36) .LE. 7)) J = PL(36) 
      IF ((PL(36) .GE. O"4001") .AND. (PL(36) .LE. O"4007"))
     .     J = PL(36) .AND. O"77" 
  
      IF (J .NE. 0) THEN
      IDFTCD = PL(36) 
         SEQNO = IFLD(19) 
         CALL LOAPR (1,IFLD(20),SP,IDFTCD,MSG(J,1),MSG(J,2),MSG(J,3), 
     .                  MSG(J,4),SEQNO) 
         CALL PRINT12 (7,8) 
  
*        CHECK FOR MULTIPLE DFT ERRORS
            IF ((PL(36) .AND. O"4000") .NE. 0) THEN 
            CALL LOAPR (1,SP,SP,MSG(9,1),MSG(9,2),MSG(9,3),SP,SP,SP)
            CALL PRINT12 (1, 5) 
         ENDIF
  
*     CHECK FOR PRE-DFT ERROR MESSAGE 
      ELSE
         IF (IFLD(12) .EQ. O"10") J = 1 
         IF (PL(36) .EQ. O"200")  J = 1 
         IF (PL(36) .EQ. O"112")  J = 2 
         IF (J .NE. 0) THEN 
            CALL LOAPR (1,IFLD(20),SP,MSG(J,1),MSG(J,2),MSG(J,3), 
     .                    MSG(J,4),SP,SP) 
            CALL PRINT12 (1, 6) 
         ENDIF
  
*        REPORT THE UNIDENTIFIED ERROR CODE 
         IF (J .EQ. 0) THEN 
            IDFTCD = PL(36) 
            SEQNO = IFLD(19)
            CALL LOAPR (1,IFLD(20),SP,IDFTCD,MSG(6,1),MSG(6,2), 
     .                    MSG(6,3),SP,SEQNO)
            CALL PRINT12 (7, 8) 
         ENDIF
      ENDIF 
  
*     PRINT CONTENTS OF REGISTER 0 (STATUS SUMMARY) 
   90 CONTINUE
      PL(3) = 2H00
      PL(5) = PL(20)
      PL(6) = PL(21)
      PL(7) = PL(22)
      PL(8) = PL(23)
      PL(11) = 10HSTATUS SUM
      PL(12) = 10HMARY
      CALL PRINT12 (3,12) 
  
*     PRINT CONTENTS OF REGISTER 40 (STATUS REGISTER) 
      PL(3) = 2H40
      PL(5) = PL(32)
      PL(6) = PL(33)
      PL(7) = PL(34)
      PL(8) = PL(35)
      PL(11) = 10HSTATUS REG
      PL(12) = 10HISTER 
      CALL PRINT12 (3,12) 
  
*     PROCESS REGISTER 80 AND 81 (FAULT STATUS 1, 2)
*     PROVIDE A SNAPSHOT REGISTERS 80/81 (FAULT STATUS 1/2) 
      PL(3) = 2H80
      PL(5) = PL(24)
      PL(6) = PL(25)
      PL(7) = PL(26)
      PL(8) = PL(27)
      PL(11) = 10HFAULT STAT
      PL(12) = 10HUS REG 1
      CALL PRINT12 (3,12) 
  
      PL(3) = 2H81
      PL(5) = PL(28)
      PL(6) = PL(29)
      PL(7) = PL(30)
      PL(8) = PL(31)
      PL(11) = 10HFAULT STAT
      PL(12) = 10HUS REG 2
      CALL PRINT12 (3,12) 
  
  100 FSFLG = 0 
      DO 800 R = 1,2
      RR = (R-1) * 4
      GROUP(1) = PL(24+RR)
      GROUP(2) = PL(25+RR)
      GROUP(3) = PL(26+RR)
      GROUP(4) = PL(27+RR)
      IF ((GROUP(3) .EQ. 0) .AND. (GROUP(4) .EQ. 0)) GO TO 800
      IF ((FSFLG .EQ. 0) .AND. (RCFD .EQ. 2HON)) THEN 
         IF ((LINE+5) .GT. PLF) THEN
            CALL HEADER 
            CALL PHEAD12 (1)
         ENDIF
         CALL PHEAD12 (4) 
      ENDIF 
      FSFLG = 1 
  
*     TEST BITS TO SEE IF SET 
      DO 200  I = 3,4 
  200 GROUP(I) = SHIFT(GROUP(I),44) 
  
      DO 700  J = 3,4 
      DO 700  I = 1,16
      IX = 0
      IBIT = SHIFT(GROUP(J),I) .AND. 1
      IF (IBIT .EQ. 0) GO TO 700
      NUMBIT = I + (J - 1) * 16 - 1 
      ENCODE (10,905,PL(4)) NUMBIT
      ENCODE (10,906,PL(1)) HX(1) 
      ENCODE (10,906,PL(2)) HX(2) 
      IF (R .EQ. 1) PL(3) = 2H80
      IF (R .EQ. 2) PL(3) = 2H81
* 
  210 IF (R .EQ. 2) GO TO 600 
* 
      IF (IOUTYPE.EQ.0)  GO TO 1200 
      IF (IOUTYPE.EQ.2)  GO TO 400
  
*     FIND INDEX TO I11 TABLE 
      DO 220  IND = 1,24
      IF (NUMBIT .NE. (I11(IND,7) .AND. O"77")) GO TO 220 
      GO TO 240 
  220 CONTINUE
      PL(5) = 10HNOT USED 
      IF (RCFD .EQ. 2HON) CALL PRINT12 (4,5)
      GO TO 700 
  
*     FIND BARREL AND PP NUMBER 
  240 GRPBITS = SHIFT(GROUP(1),44) .OR. SHIFT(GROUP(2),28)
      NPPBRL = 0
      DO 280 N = 4,32 
      PPBRBIT = SHIFT(GRPBITS,N) .AND. 1
      IF (PPBRBIT .NE. 1) GO TO 280 
      NPPBRL = NPPBRL + 1 
      NBIT = N - 1
      DO 260  NN = 1,20 
      IF ((PPBRL(NN) .AND. O"77") .NE. NBIT) GO TO 260
      NUMBRL = SHIFT (PPBRL(NN),36) .AND. O"77" 
      PPNUM = SHIFT(PPBRL(NN),42) .AND. O"77" 
      GO TO 285 
  260 CONTINUE
      GO TO 300 
  275 IF (N.GE.32)  GO TO 700 
  280 CONTINUE
  
      IF ((PPBRBIT.EQ.0).AND.(NPPBRL.NE.0))  GO TO 700
* 
*         IF FRU IS SAME REGARDLESS OF BARREL PRINT FRU 
* 
  285 IF ((NUMBIT.EQ.37).OR.(NUMBIT.EQ.46).OR.(NUMBIT.EQ.52).OR.
     .    (NUMBIT.EQ.53))     THEN
           IX = 1 
           GO TO 290
      ENDIF 
      IF (NPPBRL .EQ. 0) GO TO 300
      IF (NUMBRL .NE. 0) GO TO 320
  
*     BARREL ZERO 
  290 I11(IND,7) = I11(IND,7) + O"00001 00000 00000 00000"
      IF (RCFD .EQ. 3HOFF) GO TO 700
      GO TO 370 
  
*     LOCATIONS CANNOT BE ISOLATED
  300 I11(IND,7) = I11(IND,7) + O"00000 00000 00001 00000"
      IF (RCFD .EQ. 3HOFF) GO TO 700
      PL(5) = I11(IND,1)
      PL(6) = I11(IND,2)
* 
      PL(9)  = 10HISOLATION 
      PL(10) = 10HNOT POSSIB
      PL(11) = 10HLE
      CALL PRINT12 (4,11) 
      GO TO 275 
  
*     BARREL ONE
  320 I11(IND,7) = I11(IND,7) + O"00000 00001 00000 00000"
      IF (RCFD .EQ. 3HOFF) GO TO 700
* 
  370 PL(5) = I11(IND,1)
      PL(6) = I11(IND,2)
  
*     PRINT BARREL #, PP # AND POTENTIAL FAILING LOCATIONS
      IF (NPPBRL.EQ.0)  GO TO 380 
      ENCODE (10,972,PL(7))  NUMBRL 
      ENCODE (10,904,PL(8)) PPNUM 
      IF (IX.EQ.1)  GO TO 380 
      PL(9)  = I11(IND,3+NUMBRL)
      PL(10) = I11(IND,5+NUMBRL)
      CALL PRINT12 (4,10) 
      GO TO 275 
  
  380 PL(9)  = I11(IND,3) 
      PL(10) = I11(IND,4) 
      CALL PRINT12 (4,10) 
      GO TO 275 
* 
*     FIND INDEX TO I21 TABLE 
* 
  400 DO 420 IND = 1,27 
      IF (NUMBIT .NE. (I21(IND,12) .AND. O"77")) GO TO 420
      GO TO 440 
  420 CONTINUE
      PL(5)  = 10HNOT USED
      IF (RCFD .EQ. 2HON) CALL PRINT12 (4,5)
      GO TO 700 
  
*     FIND BARREL AND PP NUMBER 
  440 GRPBITS = SHIFT(GROUP(1),44) .OR. SHIFT(GROUP(2),28)
      NPPBRL = 0
      DO 480  N = 4,32
      PPBRBIT = SHIFT(GRPBITS,N) .AND. 1
      IF (PPBRBIT .NE. 1) GO TO 480 
      NPPBRL = NPPBRL + 1 
      NBIT = N - 1
      DO 460  NN = 1,20 
      IF ((PPBRL(NN).AND.O"77").NE.NBIT) GO TO 460
      NUMBRL = SHIFT(PPBRL(NN),48).AND.O"77"
      PPNUM = SHIFT(PPBRL(NN),54).AND.O"77" 
      GO TO 485 
  460 CONTINUE
      GO TO 500 
  475 IF (N.GE.32)  GO TO 700 
  480 CONTINUE
      IF ((PPBRBIT.EQ.0).AND.(NPPBRL.NE.0))  GO TO 700
* 
*         IF FRU IS SAME REGARDLESS OF BARREL PRINT FRU 
* 
  485 IF ((NUMBIT.EQ.37).OR.(NUMBIT.EQ.46).OR.(NUMBIT.EQ.47).OR.
     .   ((NUMBIT.GE.49).AND.(NUMBIT.LE.63)))   THEN
           IX = 1 
           GO TO 490
      ENDIF 
      IF (NPPBRL.EQ.0) GO TO 500
  490 IF ((IX .EQ. 1) .OR. (NUMBRL .EQ. 0)) 
     .   I21(IND,11) = I21(IND,11) + O"00001 00000 00000 00000" 
      IF (NUMBRL.EQ.1) I21(IND,11) = I21(IND,11) + O"00001 00000 00000" 
      IF (NUMBRL.EQ.2) I21(IND,11) = I21(IND,11) + O"00001 00000" 
      IF (NUMBRL.EQ.3) I21(IND,11) = I21(IND,11) + O"00001" 
      IF (RCFD .EQ. 3HOFF) GO TO 700
      GO TO 520 
  
*     LOCATION CANNOT BE ISOLATED 
  500 I21(IND,12) = I21(IND,12) + O"00001 00000"
      IF (RCFD .EQ. 3HOFF) GO TO 700
      PL(5)  = I21(IND,1) 
      PL(6)  = I21(IND,2) 
* 
      PL(9)  = 10HISOLATION 
      PL(10) = 10HNOT POSSIB
      PL(11) = 10HLE
      CALL PRINT12 (4,11) 
      GO TO 475 
  
*     BARREL 0 - 3
  520 PL(5)  = I21(IND,1) 
      PL(6)  = I21(IND,2) 
  
*     PRINT BARREL #, PP # AND PONTENTIAL FAILING LOCATIONS 
      IF (NPPBRL.EQ.0)  GO TO 540 
      ENCODE (10,972,PL(7))   NUMBRL
      ENCODE (10,904,PL(8)) PPNUM 
      IF (IX.EQ.1) GO TO 540
      PL(9)  = I21(IND,3+NUMBRL)
      PL(10) = I21(IND,7+NUMBRL)
      CALL PRINT12 (4,10) 
      GO TO 475 
  
  540 PL(9)  = I21(IND,3) 
      PL(10) = I21(IND,4) 
      PL(11) = I21(IND,5) 
      CALL PRINT12 (4,11) 
      GO TO 475 
* 
*         FIND INDEX TO I1CR1 TABLE 
* 
 1200 DO 1220  IND = 1,15 
      IF (NUMBIT .NE. (I1CR1(IND,11) .AND. O"77")) GO TO 1220 
      GO TO 1240
 1220 CONTINUE
      PL(5)  = 10HNOT USED
      IF (RCFD .EQ. 2HON) CALL PRINT12 (4,5)
      GO TO 700 
* 
*         FIND BARREL AND PP NUMBER 
* 
 1240 GRPBITS = SHIFT(GROUP(1),44) .OR. SHIFT(GROUP(2),28)
      NPPBRL = 0
      DO 1280   N = 4,32
         PPBRBIT = SHIFT(GRPBITS,N) .AND. 1 
         IF (PPBRBIT .NE. 1)  GO TO 1280
         NPPBRL = NPPBRL + 1
         NBIT = N - 1 
         DO 1260   NN = 1,20
            IF ((PPBRL(NN) .AND. O"77") .NE. NBIT)  GO TO 1260
            NUMBRL = SHIFT (PPBRL(NN),36) .AND. O"77" 
            PPNUM = SHIFT(PPBRL(NN),42) .AND. O"77" 
            GO TO 1285
 1260    CONTINUE 
         GO TO 1300 
* 
 1275    IF (N.GE.32)  GO TO 700
 1280 CONTINUE
* 
      IF ((PPBRBIT.EQ.0).AND.(NPPBRL.NE.0))  GO TO 700
* 
*         IF FRU IS SAME REGARDLESS OF BARREL - PRINT FRU 
* 
 1285 IF ((NUMBIT.EQ.32).OR.((NUMBIT.GE.45).AND.(NUMBIT.LE.49)).OR. 
     .   ((NUMBIT.GE.51).AND.(NUMBIT.LE.53)))    THEN 
           IX = 1 
           GO TO 1290 
      ENDIF 
      IF (NPPBRL .EQ. 0)  GO TO 1300
      IF (NUMBRL .NE. 0)  GO TO 1320
* 
*         BARREL ZERO 
* 
 1290 I1CR1(IND,11) = I1CR1(IND,11) + O"00001 00000 00000 00000"
      IF (RCFD .EQ. 3HOFF)  GO TO 700 
      GO TO 1370
* 
*         LOCATIONS CANNOT BE ISOLATED
* 
 1300 I1CR1(IND,11) = I1CR1(IND,11) + O"00000 00000 00001 00000"
      IF (RCFD .EQ. 3HOFF) GO TO 700
      PL(5)  = I1CR1(IND,1) 
      PL(6)  = I1CR1(IND,2) 
      PL(9)  = 10HISOLATION 
      PL(10) = 10HNOT POSSIB
      PL(11) = 10HLE
      CALL PRINT12 (4,11) 
      GO TO 1275
* 
*         BARREL ONE
* 
 1320 I1CR1(IND,11) = I1CR1(IND,11) + O"00000 00001 00000 00000"
      IF (RCFD .EQ. 3HOFF)  GO TO 700 
* 
 1370 PL(5)  = I1CR1(IND,1) 
      PL(6)  = I1CR1(IND,2) 
* 
*         PRINT BARREL NO., PP NO. AND POTENTIAL FAILING LOCATIONS
* 
      IF (NPPBRL.EQ.0)  GO TO 1380
      ENCODE (10,972,PL(7))   NUMBRL
      ENCODE (10,904,PL(8)) PPNUM 
* 
      IF (IX.EQ.1)  GO TO 1380
      IF (FLG63.EQ.1)  GO TO 1375 
* 
*         810/830 
* 
      PL(9)  = I1CR1(IND,3+2*NUMBRL)
      PL(10) = I1CR1(IND,4+2*NUMBRL)
      GO TO 1378
* 
*         65810/65830 
* 
 1375 PL(9)  = I1CR1(IND,7+2*NUMBRL)
      PL(10) = I1CR1(IND,8+2*NUMBRL)
 1378 CALL PRINT12 (4,10) 
      GO TO 1275
* 
*         DETERMINE IF 810/830 OR 65810/65830 
* 
*         810/830 
 1380 IF (FLG63.EQ.1)  GO TO 1385 
      PL(9)  = I1CR1(IND,3) 
      PL(10) = I1CR1(IND,4) 
      IF (IX.EQ.1)   GO TO 1381 
      PL(11) = I1CR1(IND,5) 
      PL(12) = I1CR1(IND,6) 
 1381 CALL PRINT12 (4,12) 
      GO TO 1275
*         65810/65830 
 1385 PL(9)  = I1CR1(IND,7) 
      PL(10) = I1CR1(IND,8) 
      IF (IX.EQ.1)   GO TO 1386 
      PL(11) = I1CR1(IND,9) 
      PL(12) = I1CR1(IND,10)
 1386 CALL PRINT12 (4,12) 
      GO TO 1275
* 
*     PROCESS REGISTER 81 (FAULT STATUS 2)
* 
  600 IF (IOUTYPE .EQ. 0)  GO TO 690
      IF (IOUTYPE .EQ. 2)  GO TO 660
*     FIND INDEX TO I12 TABLE 
      DO 620  IND = 1,27
      IF (NUMBIT .NE. (I12(IND,2) .AND. O"77")) GO TO 620 
      GO TO 640 
  620 CONTINUE
      PL(5)  = 10HNOT USED
      CALL PRINT12 (4,5)
      GO TO 700 
  
  640 I12(IND,2) = I12(IND,2) + O"00001 00000"
      IF (RCFD .EQ. 3HOFF) GO TO 700
      ENCODE (10,960,PL(5))  I12(IND,1) 
      PL(6)  = 10HOR
      ENCODE (10,970,PL(9))  I12(IND,1) 
      CALL PRINT12 (4,9)
      GO TO 700 
  
*     FIND INDEX TO I22 TABLE 
  660 DO 670  IND = 1,29
      IF (NUMBIT .NE. (I22(IND,2) .AND. O"77")) GO TO 670 
      GO TO 680 
  670 CONTINUE
      PL(5)  = 10HNOT USED
      CALL PRINT12 (4,5)
      GO TO 700 
  
  680 I22(IND,2) = I22(IND,2) + O"00001 00000"
      IF (RCFD .EQ. 3HOFF) GO TO 700
      ENCODE (10,960,PL(5))  I22(IND,1) 
      PL(6)  = 10HOR
      ENCODE (10,970,PL(9))  I22(IND,1) 
      CALL PRINT12 (4,9)
      GO TO 700 
* 
*         FIND INDEX TO I1CR2 TABLE 
* 
  690 DO 692  IND = 1,27
         IF (NUMBIT .NE. (I1CR2(IND,6).AND.O"77"))  GO TO 692 
         GO TO 694
  692 CONTINUE
      PL(5)  = 10HNOT USED
      CALL PRINT12 (4,5)
      GO TO 700 
* 
  694 I1CR2(IND,6) = I1CR2(IND,6) + O"00001 00000"
      IF (RCFD .EQ. 3HOFF)  GO TO 700 
      ENCODE (10,960,PL(5))   I1CR2(IND,1)
      PL(6)  = 10HOR
* 
*         DETERMINE WHETHER 810/830 OR 65810/65830
* 
*         810/830 
      IF (FLG63.EQ.1)  GO TO 696
      PL(9)  = I1CR2(IND,2) 
      PL(10) = I1CR2(IND,3) 
      CALL PRINT12 (4,10) 
      GO TO 700 
*         65810/65830 
  696 PL(9)  = I1CR2(IND,4) 
      PL(10) = I1CR2(IND,5) 
      CALL PRINT12 (4,10) 
      GO TO 700 
  
  700 CONTINUE
  800 CONTINUE
  
      IF (RCFD .EQ. 2HON) THEN
         IF (FSFLG.EQ.0)  THEN
            PRINT 1001
            LINE = LINE + 1 
         ENDIF
      ENDIF 
  
  904 FORMAT (O2,8X)
  905 FORMAT (I2,8X)
  906 FORMAT (Z2,8X)
  951 FORMAT (6X,I1,3X) 
  952 FORMAT (7X,I1,2X) 
  953 FORMAT (8X,I1,1X) 
  954 FORMAT (9X,I1)
  960 FORMAT (A7,3HERR) 
  970 FORMAT (R3,7X)
  972 FORMAT(I1,9X) 
 1001 FORMAT(14X,'NO ERROR DETECTED IN FAULT STATUS REGISTERS') 
  
      RETURN
      END 
      SUBROUTINE DL12I4 
* 
*         DESCRIPTION 
*         ----------- 
*         SUBROUTINE DL12I4 DEVELOPS THE I4 IOU DETAIL REPORT.
* 
*         CALLED BY 
*         --------- 
*         PROGRAM AN12I4
* 
*CALL HPACOM1 
*CALL HPACOM2 
  
      COMMON /I4COM/ I4FLAG, IELEM, MODEL, SERIAL, HX2(20), REG(4,2,2), 
     .               I4FS (64,4,4), FSREGNO (4), SEQNO,   IDFTCD, 
     .               MEOFLG, ICIOCH 
      DATA ICIO /2HNO/
  
      DATA ((I4FS(I,J,4),I=1,64),J=1,4)  / 256 * 0 /
  
* 
*     FAULT STATUS 1 DEFINITIONS - NIO
* 
      DATA (I4FS(01,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(02,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(03,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(04,1,I),I=1,3)  /10HBARREL 0 P,10HP4 ERROR  ,
     .                                          10H          /
      DATA (I4FS(05,1,I),I=1,3)  /10HBARREL 0 P,10HP3 ERROR  ,
     .                                          10H          /
      DATA (I4FS(06,1,I),I=1,3)  /10HBARREL 0 P,10HP2 ERROR  ,
     .                                          10H          /
      DATA (I4FS(07,1,I),I=1,3)  /10HBARREL 0 P,10HP1 ERROR  ,
     .                                          10H          /
      DATA (I4FS(08,1,I),I=1,3)  /10HBARREL 0 P,10HP0 ERROR  ,
     .                                          10H          /
      DATA (I4FS(09,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(10,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(11,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(12,1,I),I=1,3)  /10HBARREL 1 P,10HP4 ERROR  ,
     .                                          10H          /
      DATA (I4FS(13,1,I),I=1,3)  /10HBARREL 1 P,10HP3 ERROR  ,
     .                                          10H          /
      DATA (I4FS(14,1,I),I=1,3)  /10HBARREL 1 P,10HP2 ERROR  ,
     .                                          10H          /
      DATA (I4FS(15,1,I),I=1,3)  /10HBARREL 1 P,10HP1 ERROR  ,
     .                                          10H          /
      DATA (I4FS(16,1,I),I=1,3)  /10HBARREL 1 P,10HP0 ERROR  ,
     .                                          10H          /
      DATA (I4FS(17,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(18,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(19,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(20,1,I),I=1,3)  /10HBARREL 2 P,10HP4 ERROR  ,
     .                                          10H          /
      DATA (I4FS(21,1,I),I=1,3)  /10HBARREL 2 P,10HP3 ERROR  ,
     .                                          10H          /
      DATA (I4FS(22,1,I),I=1,3)  /10HBARREL 2 P,10HP2 ERROR  ,
     .                                          10H          /
      DATA (I4FS(23,1,I),I=1,3)  /10HBARREL 2 P,10HP1 ERROR  ,
     .                                          10H          /
      DATA (I4FS(24,1,I),I=1,3)  /10HBARREL 2 P,10HP0 ERROR  ,
     .                                          10H          /
      DATA (I4FS(25,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(26,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(27,1,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(28,1,I),I=1,3)  /10HBARREL 3 P,10HP4 ERROR  ,
     .                                          10H          /
      DATA (I4FS(29,1,I),I=1,3)  /10HBARREL 3 P,10HP3 ERROR  ,
     .                                          10H          /
      DATA (I4FS(30,1,I),I=1,3)  /10HBARREL 3 P,10HP2 ERROR  ,
     .                                          10H          /
      DATA (I4FS(31,1,I),I=1,3)  /10HBARREL 3 P,10HP1 ERROR  ,
     .                                          10H          /
      DATA (I4FS(32,1,I),I=1,3)  /10HBARREL 3 P,10HP0 ERROR  ,
     .                                          10H          /
      DATA (I4FS(33,1,I),I=1,3)  /10HERROR DETE,10HCTED ON JW,
     .                                          10H MODULE   /
      DATA (I4FS(34,1,I),I=1,3)  /10HERROR DETE,10HCTED ON KR,
     .                                          10H MODULE   /
      DATA (I4FS(35,1,I),I=1,3)  /10HERROR DETE,10HCTED ON JA,
     .                                          10H MODULE   /
      DATA (I4FS(36,1,I),I=1,3)  /10HERROR DETE,10HCTED ON KB,
     .                                          10H MODULE   /
      DATA (I4FS(37,1,I),I=1,3)  /10HERROR DETE,10HCTED ON JC,
     .                                          10H MODULE   /
      DATA (I4FS(38,1,I),I=1,3)  /10HERROR DETE,10HCTED ON JD,
     .                                          10H MODULE   /
      DATA (I4FS(39,1,I),I=1,3)  /10HERROR DETE,10HCTED ON JE,
     .                                          10H MODULE   /
      DATA (I4FS(40,1,I),I=1,3)  /10HERROR DETE,10HCTED ON JF,
     .                                          10H MODULE   /
      DATA (I4FS(41,1,I),I=1,3)  /10HSECDED ERR,10HOR BARREL ,
     .                                          10H0         /
      DATA (I4FS(42,1,I),I=1,3)  /10HSECDED ERR,10HOR BARREL ,
     .                                          10H1         /
      DATA (I4FS(43,1,I),I=1,3)  /10HSECDED ERR,10HOR BARREL ,
     .                                          10H2         /
      DATA (I4FS(44,1,I),I=1,3)  /10HSECDED ERR,10HOR BARREL ,
     .                                          10H3         /
      DATA (I4FS(45,1,I),I=1,3)  /10H12/16 CONV,10HERSION ERR,
     .                                          10HOR        /
      DATA (I4FS(46,1,I),I=1,3)  /10HO.S. BOUND,10HS VIOLATIO,
     .                                          10HN         /
      DATA (I4FS(47,1,I),I=1,3)  /10HO.S. BOUND,10HARY ADDRES,
     .                                          10HS PARITY  /
      DATA (I4FS(48,1,I),I=1,3)  /10HFIRMWARE E,10HRROR      ,
     .                                          10H          /
      DATA (I4FS(49,1,I),I=1,3)  /10HRESPONSE C,10HODE ERROR ,
     .                                          10H          /
      DATA (I4FS(50,1,I),I=1,3)  /10HUNCORRECTE,10HD CM READ ,
     .                                          10HERROR     /
      DATA (I4FS(51,1,I),I=1,3)  /10HUNCORRECTE,10HD CM WRITE,
     .                                          10H ERROR    /
      DATA (I4FS(52,1,I),I=1,3)  /10HCM REJECT ,10H          ,
     .                                          10H          /
      DATA (I4FS(53,1,I),I=1,3)  /10HDATA IN ER,10HROR - CMI/,
     .                                          10HADU       /
      DATA (I4FS(54,1,I),I=1,3)  /10HTAG IN ERR,10HOR - CMI/A,
     .                                          10HDU        /
      DATA (I4FS(55,1,I),I=1,3)  /10HDATA OUT E,10HRROR - CMI,
     .                                          10H/ADU      /
      DATA (I4FS(56,1,I),I=1,3)  /10HADDRESS FC,10HN ERROR -C,
     .                                          10HMI/ADU/BAS/
      DATA (I4FS(57,1,I),I=1,3)  /10HTAG OUT ER,10HROR - CMI/,
     .                                          10HADU       /
      DATA (I4FS(58,1,I),I=1,3)  /10HCMI ERROR ,10H- JJ MODUL,
     .                                          10HE (AO6)   /
      DATA (I4FS(59,1,I),I=1,3)  /10HCMI ERROR ,10H- JJ MODUL,
     .                                          10HE (A07)   /
      DATA (I4FS(60,1,I),I=1,3)  /10HCMI ERROR ,10H- JG MODUL,
     .                                          10HE (A08)   /
      DATA (I4FS(61,1,I),I=1,3)  /10HCMI ERROR ,10H- JH MODUL,
     .                                          10HE (A02)   /
      DATA (I4FS(62,1,I),I=1,3)  /10HCMI ERROR ,10H- JH MODUL,
     .                                          10HE (A03)   /
      DATA (I4FS(63,1,I),I=1,3)  /10HCMI ERROR ,10H- JH MODUL,
     .                                          10HE (A04)   /
      DATA (I4FS(64,1,I),I=1,3)  /10HCMI ERROR ,10H- JH MODUL,
     .                                          10HE (A05)   /
* 
*     FAULT STATUS 2 DEFINITIONS - NIO
* 
      DATA (I4FS(01,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(02,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(03,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(04,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(05,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(06,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(07,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(08,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(09,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(10,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(11,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(12,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(13,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(14,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(15,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(16,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(17,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(18,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(19,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(20,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(21,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(22,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(23,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(24,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(25,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(26,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(27,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(28,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(29,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(30,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(31,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(32,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(33,2,I),I=1,3)  /10HNIO CHANNE,10HL 7 ERROR ,
     .                                          10H          /
      DATA (I4FS(34,2,I),I=1,3)  /10HNIO CHANNE,10HL 6 ERROR ,
     .                                          10H          /
      DATA (I4FS(35,2,I),I=1,3)  /10HNIO CHANNE,10HL 5 ERROR ,
     .                                          10H          /
      DATA (I4FS(36,2,I),I=1,3)  /10HNIO CHANNE,10HL 4 ERROR ,
     .                                          10H          /
      DATA (I4FS(37,2,I),I=1,3)  /10HNIO CHANNE,10HL 3 ERROR ,
     .                                          10H          /
      DATA (I4FS(38,2,I),I=1,3)  /10HNIO CHANNE,10HL 2 ERROR ,
     .                                          10H          /
      DATA (I4FS(39,2,I),I=1,3)  /10HNIO CHANNE,10HL 1 ERROR ,
     .                                          10H          /
      DATA (I4FS(40,2,I),I=1,3)  /10HNIO CHANNE,10HL 0 ERROR ,
     .                                          10H          /
      DATA (I4FS(41,2,I),I=1,3)  /10HNIO CHANNE,10HL 17 ERROR,
     .                                          10H          /
      DATA (I4FS(42,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(43,2,I),I=1,3)  /10HNIO CHANNE,10HL 15 ERROR,
     .                                          10H          /
      DATA (I4FS(44,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(45,2,I),I=1,3)  /10HNIO CHANNE,10HL 13 ERROR,
     .                                          10H          /
      DATA (I4FS(46,2,I),I=1,3)  /10HNIO CHANNE,10HL 12 ERROR,
     .                                          10H          /
      DATA (I4FS(47,2,I),I=1,3)  /10HNIO CHANNE,10HL 11 ERROR,
     .                                          10H          /
      DATA (I4FS(48,2,I),I=1,3)  /10HNIO CHANNE,10HL 10 ERROR,
     .                                          10H          /
      DATA (I4FS(49,2,I),I=1,3)  /10HNIO CHANNE,10HL 27 ERROR,
     .                                          10H          /
      DATA (I4FS(50,2,I),I=1,3)  /10HNIO CHANNE,10HL 26 ERROR,
     .                                          10H          /
      DATA (I4FS(51,2,I),I=1,3)  /10HNIO CHANNE,10HL 25 ERROR,
     .                                          10H          /
      DATA (I4FS(52,2,I),I=1,3)  /10HNIO CHANNE,10HL 24 ERROR,
     .                                          10H          /
      DATA (I4FS(53,2,I),I=1,3)  /10HNIO CHANNE,10HL 23 ERROR,
     .                                          10H          /
      DATA (I4FS(54,2,I),I=1,3)  /10HNIO CHANNE,10HL 22 ERROR,
     .                                          10H          /
      DATA (I4FS(55,2,I),I=1,3)  /10HNIO CHANNE,10HL 21 ERROR,
     .                                          10H          /
      DATA (I4FS(56,2,I),I=1,3)  /10HNIO CHANNE,10HL 20 ERROR,
     .                                          10H          /
      DATA (I4FS(57,2,I),I=1,3)  /10HMAC ERROR ,10H          ,
     .                                          10H          /
      DATA (I4FS(58,2,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(59,2,I),I=1,3)  /10HRADIAL INT,10HERFACE 4/5,
     .                                          10H/6 ERROR  /
      DATA (I4FS(60,2,I),I=1,3)  /10HRADIAL INT,10HERFACE 1/2,
     .                                          10H/3 ERROR  /
      DATA (I4FS(61,2,I),I=1,3)  /10HNIO CHANNE,10HL 33 ERROR,
     .                                          10H          /
      DATA (I4FS(62,2,I),I=1,3)  /10HNIO CHANNE,10HL 32 ERROR,
     .                                          10H          /
      DATA (I4FS(63,2,I),I=1,3)  /10HNIO CHANNE,10HL 31 ERROR,
     .                                          10H          /
      DATA (I4FS(64,2,I),I=1,3)  /10HNIO CHANNE,10HL 30 ERROR,
     .                                          10H          /
* 
*     FAULT STATUS 1 DEFINITIONS - CIO
* 
      DATA (I4FS(01,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(02,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(03,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(04,3,I),I=1,3)  /10HBARREL 0 P,10HP4 ERROR  ,
     .                                          10H          /
      DATA (I4FS(05,3,I),I=1,3)  /10HBARREL 0 P,10HP3 ERROR  ,
     .                                          10H          /
      DATA (I4FS(06,3,I),I=1,3)  /10HBARREL 0 P,10HP2 ERROR  ,
     .                                          10H          /
      DATA (I4FS(07,3,I),I=1,3)  /10HBARREL 0 P,10HP1 ERROR  ,
     .                                          10H          /
      DATA (I4FS(08,3,I),I=1,3)  /10HBARREL 0 P,10HP0 ERROR  ,
     .                                          10H          /
      DATA (I4FS(09,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(10,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(11,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(12,3,I),I=1,3)  /10HBARREL 1 P,10HP4 ERROR  ,
     .                                          10H          /
      DATA (I4FS(13,3,I),I=1,3)  /10HBARREL 1 P,10HP3 ERROR  ,
     .                                          10H          /
      DATA (I4FS(14,3,I),I=1,3)  /10HBARREL 1 P,10HP2 ERROR  ,
     .                                          10H          /
      DATA (I4FS(15,3,I),I=1,3)  /10HBARREL 1 P,10HP1 ERROR  ,
     .                                          10H          /
      DATA (I4FS(16,3,I),I=1,3)  /10HBARREL 1 P,10HP0 ERROR  ,
     .                                          10H          /
      DATA (I4FS(17,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(18,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(19,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(20,3,I),I=1,3)  /10HBARREL 2 P,10HP4 ERROR  ,
     .                                          10H          /
      DATA (I4FS(21,3,I),I=1,3)  /10HBARREL 2 P,10HP3 ERROR  ,
     .                                          10H          /
      DATA (I4FS(22,3,I),I=1,3)  /10HBARREL 2 P,10HP2 ERROR  ,
     .                                          10H          /
      DATA (I4FS(23,3,I),I=1,3)  /10HBARREL 2 P,10HP1 ERROR  ,
     .                                          10H          /
      DATA (I4FS(24,3,I),I=1,3)  /10HBARREL 2 P,10HP0 ERROR  ,
     .                                          10H          /
      DATA (I4FS(25,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(26,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(27,3,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(28,3,I),I=1,3)  /10HBARREL 3 P,10HP4 ERROR  ,
     .                                          10H          /
      DATA (I4FS(29,3,I),I=1,3)  /10HBARREL 3 P,10HP3 ERROR  ,
     .                                          10H          /
      DATA (I4FS(30,3,I),I=1,3)  /10HBARREL 3 P,10HP2 ERROR  ,
     .                                          10H          /
      DATA (I4FS(31,3,I),I=1,3)  /10HBARREL 3 P,10HP1 ERROR  ,
     .                                          10H          /
      DATA (I4FS(32,3,I),I=1,3)  /10HBARREL 3 P,10HP0 ERROR  ,
     .                                          10H          /
      DATA (I4FS(33,3,I),I=1,3)  /10HERROR DETE,10HCTED ON JW,
     .                                          10H MODULE   /
      DATA (I4FS(34,3,I),I=1,3)  /10HERROR DETE,10HCTED ON KR,
     .                                          10H MODULE   /
      DATA (I4FS(35,3,I),I=1,3)  /10HERROR DETE,10HCTED ON JA,
     .                                          10H MODULE   /
      DATA (I4FS(36,3,I),I=1,3)  /10HERROR DETE,10HCTED ON KB,
     .                                          10H MODULE   /
      DATA (I4FS(37,3,I),I=1,3)  /10HERROR DETE,10HCTED ON JC,
     .                                          10H MODULE   /
      DATA (I4FS(38,3,I),I=1,3)  /10HERROR DETE,10HCTED ON JD,
     .                                          10H MODULE   /
      DATA (I4FS(39,3,I),I=1,3)  /10HERROR DETE,10HCTED ON JE,
     .                                          10H MODULE   /
      DATA (I4FS(40,3,I),I=1,3)  /10HERROR DETE,10HCTED ON JF,
     .                                          10H MODULE   /
      DATA (I4FS(41,3,I),I=1,3)  /10HSECDED ERR,10HOR BARREL ,
     .                                          10H0         /
      DATA (I4FS(42,3,I),I=1,3)  /10HSECDED ERR,10HOR BARREL ,
     .                                          10H1         /
      DATA (I4FS(43,3,I),I=1,3)  /10HSECDED ERR,10HOR BARREL ,
     .                                          10H2         /
      DATA (I4FS(44,3,I),I=1,3)  /10HSECDED ERR,10HOR BARREL ,
     .                                          10H3         /
      DATA (I4FS(45,3,I),I=1,3)  /10H12/16 CONV,10HERSION ERR,
     .                                          10HOR        /
      DATA (I4FS(46,3,I),I=1,3)  /10HO.S. BOUND,10HS VIOLATIO,
     .                                          10HN         /
      DATA (I4FS(47,3,I),I=1,3)  /10HO.S. BOUND,10HARY ADDRES,
     .                                          10HS PARITY  /
      DATA (I4FS(48,3,I),I=1,3)  /10HFIRMWARE E,10HRROR      ,
     .                                          10H          /
      DATA (I4FS(49,3,I),I=1,3)  /10HRESPONSE C,10HODE ERROR ,
     .                                          10H          /
      DATA (I4FS(50,3,I),I=1,3)  /10HUNCORRECTE,10HD CM READ ,
     .                                          10HERROR     /
      DATA (I4FS(51,3,I),I=1,3)  /10HUNCORRECTE,10HD CM WRITE,
     .                                          10H ERROR    /
      DATA (I4FS(52,3,I),I=1,3)  /10HCM REJECT ,10H          ,
     .                                          10H          /
      DATA (I4FS(53,3,I),I=1,3)  /10HDATA IN ER,10HROR - CMI/,
     .                                          10HADU       /
      DATA (I4FS(54,3,I),I=1,3)  /10HTAG IN ERR,10HOR - CMI/A,
     .                                          10HDU        /
      DATA (I4FS(55,3,I),I=1,3)  /10HDATA OUT E,10HRROR - CMI,
     .                                          10H/ADU      /
      DATA (I4FS(56,3,I),I=1,3)  /10HADDRESS FC,10HN ERROR -C,
     .                                          10HMI/ADU/BAS/
      DATA (I4FS(57,3,I),I=1,3)  /10HTAG OUT ER,10HROR - CMI/,
     .                                          10HADU       /
      DATA (I4FS(58,3,I),I=1,3)  /10HCMI ERROR ,10H- JJ MODUL,
     .                                          10HE (AO6)   /
      DATA (I4FS(59,3,I),I=1,3)  /10HCMI ERROR ,10H- JJ MODUL,
     .                                          10HE (A07)   /
      DATA (I4FS(60,3,I),I=1,3)  /10HCMI ERROR ,10H- JG MODUL,
     .                                          10HE (A08)   /
      DATA (I4FS(61,3,I),I=1,3)  /10HCMI ERROR ,10H- JH MODUL,
     .                                          10HE (A02)   /
      DATA (I4FS(62,3,I),I=1,3)  /10HCMI ERROR ,10H- JH MODUL,
     .                                          10HE (A03)   /
      DATA (I4FS(63,3,I),I=1,3)  /10HCMI ERROR ,10H- JH MODUL,
     .                                          10HE (A04)   /
      DATA (I4FS(64,3,I),I=1,3)  /10HCMI ERROR ,10H- JH MODUL,
     .                                          10HE (A05)   /
* 
*     FAULT STATUS 2 DEFINITIONS - CIO
* 
      DATA (I4FS(01,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(02,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(03,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(04,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(05,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(06,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(07,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(08,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(09,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(10,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(11,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(12,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(13,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(14,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(15,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(16,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(17,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(18,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(19,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(20,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(21,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(22,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(23,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(24,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(25,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(26,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(27,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(28,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(29,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(30,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(31,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(32,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(33,4,I),I=1,3)  /10HCIO CHANNE,10HL 7 ERROR ,
     .                                          10H          /
      DATA (I4FS(34,4,I),I=1,3)  /10HCIO CHANNE,10HL 6 ERROR ,
     .                                          10H          /
      DATA (I4FS(35,4,I),I=1,3)  /10HCIO CHANNE,10HL 5 ERROR ,
     .                                          10H          /
      DATA (I4FS(36,4,I),I=1,3)  /10HCIO CHANNE,10HL 4 ERROR ,
     .                                          10H          /
      DATA (I4FS(37,4,I),I=1,3)  /10HCIO CHANNE,10HL 3 ERROR ,
     .                                          10H          /
      DATA (I4FS(38,4,I),I=1,3)  /10HCIO CHANNE,10HL 2 ERROR ,
     .                                          10H          /
      DATA (I4FS(39,4,I),I=1,3)  /10HCIO CHANNE,10HL 1 ERROR ,
     .                                          10H          /
      DATA (I4FS(40,4,I),I=1,3)  /10HCIO CHANNE,10HL 0 ERROR ,
     .                                          10H          /
      DATA (I4FS(41,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(42,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(43,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(44,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(45,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(46,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(47,4,I),I=1,3)  /10HCIO CHANNE,10HL 11 ERROR,
     .                                          10H          /
      DATA (I4FS(48,4,I),I=1,3)  /10HCIO CHANNE,10HL 10 ERROR,
     .                                          10H          /
      DATA (I4FS(49,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(50,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(51,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(52,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(53,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(54,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(55,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(56,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(57,4,I),I=1,3)  /10HMAC ERROR ,10H          ,
     .                                          10H          /
      DATA (I4FS(58,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(59,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(60,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(61,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(62,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(63,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
      DATA (I4FS(64,4,I),I=1,3)  /10HNOT USED  ,10H          ,
     .                                          10H          /
* 
*     REDEFINE BITS FOR I4S 
* 
      IF (MODEL .EQ. Z"42") THEN
*     REGISTER 80 
         DO 100 I=28,32 
         I4FS (I,1,1) = 10HCIO BARREL 
  100    I4FS (I,1,3) = 10HOR 
         I4FS (28,1,2) = 10H 0 PP4 ERR
         I4FS (29,1,2) = 10H 0 PP3 ERR
         I4FS (30,1,2) = 10H 0 PP2 ERR
         I4FS (31,1,2) = 10H 0 PP1 ERR
         I4FS (32,1,2) = 10H 0 PP0 ERR
  
         I4FS (33,1,2) = 10HCTED ON HW
         I4FS (35,1,2) = 10HCTED ON LA
  
         I4FS (44,1,3) = 10H0 (CIO) 
  
         I4FS (58,1,2) = I4FS (59,1,2) = 10H- FJ MODUL
         I4FS (58,1,3) = 10HE (A22) 
         I4FS (59,1,3) = 10HE (A28) 
         I4FS (60,1,2) = 10H- FG MODUL
         I4FS (60,1,3) = 10HE (A25) 
         I4FS (61,1,2) = I4FS (62,1,2) = I4FS (63,1,2) = I4FS(64,1,2) 
     .                 = 10H- FH MODUL
         I4FS (61,1,3) = 10HE (A23) 
         I4FS (62,1,3) = 10HE (A24) 
         I4FS (63,1,3) = 10HE (A26) 
         I4FS (64,1,3) = 10HE (A27) 
  
*     REGISTER 81 
         DO 200 I=49,51 
         I4FS (I,2,1) = 10HNOT USED 
  200    I4FS (I,2,2) = 10H 
  
         I4FS (59,2,1) = 10HNOT USED
         I4FS (59,2,2) = I4FS (59,2,3) = 10H
  
         I4FS (61,2,1) = I4FS (62,2,1) = I4FS (63,2,1) = I4FS (64,2,1)
     .                 = 10HCIO CHANNE
         I4FS (61,2,2) = 10HL 3 ERROR 
         I4FS (62,2,2) = 10HL 2 ERROR 
         I4FS (63,2,2) = 10HL 1 ERROR 
         I4FS (64,2,2) = 10HL 0 ERROR 
      ENDIF 
* 
*     PRINT THE SUBHEADER 
* 
      PRNTFLG = 3HNIX 
      IF ((RCFD .EQ. 2HON) .AND.
*        SUPPRESS UNCORRECTED CHANNEL ERRORS (CIO=7 AND NIO=B)
     .   ((IDFTCD .NE. Z"007") .AND. (IDFTCD .NE. Z"00B") .AND. 
     .    (IDFTCD .NE. Z"807") .AND. (IDFTCD .NE. Z"80B"))) THEN
         CALL UCHEK12 
         CALL PHEAD12 (4) 
      PRNTFLG = 2HOK
      ENDIF 
* 
*     ANALYZE THE FAULT STATUS REGISTERS
* 
      FSFLAG = 0
      DO 900 KK = 1, 2
      DO 800 JJ = 1, 2
      IFS = JJ
      IF (KK .EQ. 2) IFS = JJ + KK
      IF ((REG(1,JJ,KK) .EQ. 0) .AND. (REG(2,JJ,KK) .EQ. 0) .AND. 
     .    (REG(3,JJ,KK) .EQ. 0) .AND. (REG(4,JJ,KK) .EQ. 0)) GO TO 800
      FSFLAG = FSFLAG + 1 
      IF ((FSFLAG .EQ. 1) .AND. (PRNTFLG .EQ. 2HOK)) THEN 
         IF ((LINE+4) .GT. PLF) THEN
            CALL HEADER 
            CALL PHEAD12 (1)
         ENDIF
         CALL PHEAD12 (5) 
      ENDIF 
      DO 700 J = 1, 4 
      REG(J,JJ,KK) = SHIFT (REG(J,JJ,KK),44)
      DO 700 I = 1, 16
      IBIT = SHIFT (REG(J,JJ,KK),I) .AND. 1 
      IF (IBIT .EQ. 0) GO TO 700
      NUMBIT = I + (J - 1) * 16 - 1 
  
*        CIO CHANNEL MESSAGES 
      IF ((MODEL .EQ. O"42") .AND. (ICIOCH .EQ.0)) THEN 
*        REGISTER 80 (MODEL 42) 
         IF ((JJ .EQ. 1) .AND. (KK .EQ. 1)) THEN
            IF (NUMBIT .EQ. 43) ICIO = 3HYES
            IF ((NUMBIT .GE. 27) .AND. (NUMBIT .LE. 31)) ICIO = 3HYES 
         ENDIF
*        REGISTER 81 (MODEL 42) 
         IF ((JJ .EQ. 2) .AND. (KK .EQ. 1)) THEN
            IF ((NUMBIT .GE. 60) .AND. (NUMBIT .LE. 64)) ICIOCH = 1 
            IF (ICIO .EQ. 3HYES) THEN 
               IF ((NUMBIT .GE. 32) .AND. (NUMBIT .LE. 40)) 
     .            ICIOCH = 1
               IF (NUMBIT .EQ. 42) ICIOCH =3HYES
               IF ((NUMBIT .GE. 44) .AND. (NUMBIT .LE. 47)) 
     .            ICIOCH = 1
               IF ((NUMBIT .GE. 51) .AND. (NUMBIT .LE. 55)) 
     .            ICIOCH = 1
            ENDIF 
         ENDIF
      ENDIF 
*        REGISTER 85 (MODEL 40) 
      IF ((JJ .EQ. 2) .AND. (KK .EQ. 2) .AND. (ICIOCH .EQ. 0)) THEN 
         IF ((NUMBIT .GE. 32) .AND. (NUMBIT .LE. 39)) ICIOCH = 1
         IF ((NUMBIT .EQ. 46) .OR. (NUMBIT .EQ. 47)) ICIOCH = 1 
      ENDIF 
  
      PL(1) = IELEM 
      PL(2) = MODEL 
      PL(3) = FSREGNO(IFS)
      PL(4) = NUMBIT
      PL(5) = I4FS(NUMBIT+1,IFS,1)
      PL(6) = I4FS(NUMBIT+1,IFS,2)
      PL(7) = I4FS(NUMBIT+1,IFS,3)
  
      IF ((RCFD .EQ. 2HON) .AND. (PRNTFLG .EQ. 2HOK)) CALL PRINT12 (5,7)
      IF ((PRNTFLG .EQ. 2HOK) .AND. (ICIOCH .EQ. 1)) ICIOCH = 2 
* 
*     STORE I4 DATA FOR THE ANALYSIS REPORT 
* 
      I4FS(NUMBIT+1,IFS,4) = I4FS(NUMBIT+1,IFS,4) + 1 
  
  700 CONTINUE
  800 CONTINUE
  900 CONTINUE
  
      IF ((RCFD .EQ. 2HON) .AND. (PRNTFLG .EQ. 2HOK)) THEN
         IF (FSFLAG .EQ. 0) THEN
            PRINT 991 
            LINE = LINE + 1 
         ENDIF
      ENDIF 
  991 FORMAT (14X,'NO ERROR DETECTED IN FAULT STATUS REGISTERS')
  
      RETURN
      END 
      SUBROUTINE PHEAD12 (ST) 
* 
**        DESCRIPTION 
*         ----------- 
*         SUBROUTINE PHEAD12 PRINTS HEADINGS FOR REPORTS DEVELOPED
*         BY HPA312 ROUTINES. 
* 
*         ENTRY CONDTIONS 
*         --------------- 
*         HCF(5) - ARRAY PRESET WITH POINTER TO A SET OF HEADINGS 
*                  THAT MAY BE PRINTED. A NON-ZERO VALUE IN HCF(1)
*                  TO HCF(5) IS A POINTER TO A HEADING, AS USED IN
*                  COMPUTED GO-TO. HCF(1) TO HCF(5) ARE SCANNED 
*                  SEQUENTIALLY AND SEVERAL SUBHEADERS MAY BE PRINTED.
*         ST     - CONTAINS POINTER TO WHERE ROUTINE WILL START 
*                  SCAN OF HCF FLAG.
* 
*         EXIT CONDITIONS 
*         --------------- 
*         SUBHEADER HAS BEEN PRINTED
*         AN (HCF) FLAG CONTAINING (0) HAS BEEN ENCOUNTERED 
* 
*         DATA AREAS
*         ----------
*         HCF(5)  - FLAGS TO CONTROL SUB-HEADERS TO PRINT 
*         TYPDT  - CURRENT DEVICE TYPE
* 
*         CALLED  BY
*         ----------
*         PRINT12 
*         UCHEK12 
* 
*CALL HPACOM1 
*CALL HPACOM2 
  
      COMMON /I4COM/ I4FLAG, IELEM, MODEL, SERIAL, HX2(20), REG(4,2,2), 
     .               I4FS (64,4,4), FSREGNO (4), SEQNO,   IDFTCD, 
     .               MEOFLG 
* 
      P = ST
      GO TO 5 
  
    2 LINE = LINE + 1 
    5 LINE = LINE + 1 
  
    6 IF (P .GT. 5) GO TO 1000
  
*     DETERMINE PRINT HEADER TO BE CALLED 
      PTR = HCF(P)
      IF ((PTR. LE. 0) .OR. (PTR .GT. 8)) GO TO 1000
      P = P + 1 
* 
*     JUMP TO PRINT FORMAT AS CALLED BY PTR 
* 
      GO TO (10, 20, 30, 40, 50, 60, 70, 80) PTR
* 
*         SUBHEADER FOR IOU DETAIL REPORT 
* 
   10 IF (NFLD(FJOB).NE.R" CONTINU") GO TO 15 
      PRINT 11,HX(1),HX(2),HX(3),MFID,HX(5),HX(6),HX(7),HX(8),HX(9),
     .HX(10),HX(11),HX(12),HX(13),HX(14),HX(15),HX(16),HX(17),HX(18), 
     .HX(19),HX(20),HX(25),HX(26),HX(27),HX(28) 
   11 FORMAT (1X,'DT - ** MR **   ELEMENT = ',Z2,'   MODEL = ',Z2,
     .           '   SERIAL = ',Z4,'  MFID = ',R1,//, 
     . 17X,'OPTIONS INSTALLED             =',4(1X,Z4),/,
     . 17X,'FAULT STATUS MASK             =',4(1X,Z4),/,
     . 17X,'OS BOUNDS                     =',4(1X,Z4),/,
     . 17X,'DEPENDENT ENVIRONMENT CONTROL =',4(1X,Z4),/,
     . 17X,'TEST MODE                     =',4(1X,Z4),/,
     . 1X,'DATE',/,3X,'TIME',7X,'(FSC) DESCRIPTION',/,1X, 
     . 7(10H----------),9H---------)
      LINE = LINE + 8 
      GO TO 2 
* 
* 
* 
   15 PRINT 16, HX(1),HX(2),HX(3),MFID,HX(5),HX(6),HX(7),HX(8),HX(17),
     .          HX(18),HX(19),HX(20),HX(25),HX(26),HX(27),HX(28)
   16 FORMAT (1X,'DT - ** MR **   ELEMENT = ',Z2,'   MODEL = ',Z2,
     .           '   SERIAL = ',Z4,'  MFID = ',R1,//, 
     . 17X,'OPTIONS INSTALLED             =',4(1X,Z4),/,
     . 17X,'DEPENDENT ENVIRONMENT CONTROL =',4(1X,Z4),/,
     . 17X,'TEST MODE                     =',4(1X,Z4),/,
     . 1X,'DATE',/,3X,'TIME',7X,'(FSC) DESCRIPTION',/,1X, 
     . 7(10H----------),9H---------)
      LINE = LINE + 6 
      GO TO 2 
* 
*         SUBHEADER FOR IOU DETAIL REPORT 
* 
   20 PRINT 21
   21 FORMAT(44X,'B',/,44X,'R   P',/,9X,'REG BIT ID',3X,
     .'BIT DESCRIPTION       L   P   POTENTIAL FAILING LOCATIONS',
     ./,9X,10H----------,1H-,2X,6(3H---),4X,5H-  --,3X,9(3H---))
      GO TO 2 
* 
*         DATE
* 
   30 PRINT 31,SEBUF(23)
   31 FORMAT (1X,A8)
      GO TO 6 
* 
*         SUBHEADER FOR IOU SUMMARY IN ANALYSIS REPORT
* 
   40 PRINT 41
   41 FORMAT (//,1X,'IOU FAULT STATUS MESSAGE ACCUMULATION',//, 
     .39X,'B',/,39X,'R',/,1X,'BIT DESCRIPTION',10X, 
     .'REG BIT ID   L  POTENTIAL FAILING LOCATIONS     ', 
     .'TOTALS',/,1X,7(10H----------),9H---------) 
      LINE = LINE + 7 
      GO TO 1000
  
* 
*        HEADER FOR I4 IOU DETAIL REPORT - NIO ONLY 
* 
   50 IF (MODEL .EQ. Z"42") GO TO 52
      IF (I4FLAG .GT. 0) GO TO 55 
      PRINT 51,IELEM,MODEL,SERIAL,MFID, 
     .HX(1), HX(2), HX(3), HX(4), HX(5), HX(6), HX(7), HX(8), 
     .HX(9), HX(10),HX(11),HX(12),HX(13),HX(14),HX(15),HX(16),
     .HX(17),HX(18),HX(19),HX(20) 
   51 FORMAT (1X,'DT - ** MR **   ELEMENT = ',Z2,'   MODEL = ',Z2,
     .           '   SERIAL = ',Z4,'  MFID = ',R1,//, 
     .        26X,'NIO REGISTERS',/,
     .        4X,'OPTIONS INSTALLED   =',4(1X,Z4),' (12)',/,
     .        4X,'FAULT STATUS MASK   =',4(1X,Z4),' (18)',/,
     .        4X,'OS BOUNDS           =',4(1X,Z4),' (21)',/,
     .        4X,'ENVIRONMENT CONTROL =',4(1X,Z4),' (30)',/,
     .        4X,'TEST MODE           =',4(1X,Z4),' (A0)',//, 
     .         1X,'DATE',/,3X,'TIME       (FSC) DESCRIPTION',/, 
     .        1X,7(10H----------),9H---------)
      LINE = LINE + 11
      GO TO 2 
* 
*         HEADER FOR I4S IOU DETAIL REPORT - CIO/NIO
* 
   52 PRINT 53,IELEM,MODEL,SERIAL,MFID, 
     .HX(1), HX(2), HX(3), HX(4), HX(5), HX(6), HX(7), HX(8), 
     .HX(9), HX(10),HX(11),HX(12),HX(13),HX(14),HX(15),HX(16),
     .HX(17),HX(18),HX(19),HX(20) 
   53 FORMAT (1X,'DT - ** MR **   ELEMENT = ',Z2,'   MODEL = ',Z2,
     .           '   SERIAL = ',Z4,'  MFID = ',R1,//, 
     .        26X,'I4S MAINTENANCE REGISTERS',/,
     .        4X,'OPTIONS INSTALLED   =',4(1X,Z4),' (12)',/,
     .        4X,'FAULT STATUS MASK   =',4(1X,Z4),' (18)',/,
     .        4X,'OS BOUNDS           =',4(1X,Z4),' (21)',/,
     .        4X,'ENVIRONMENT CONTROL =',4(1X,Z4),' (30)',/,
     .        4X,'TEST MODE           =',4(1X,Z4),' (A0)',//, 
     .        1X,'DATE',/,3X,'TIME       (FSC) DESCRIPTION',/,
     .        4X,7(10H----------),9H---------)
      LINE = LINE + 11
      GO TO 2 
* 
*         HEADER FOR I4 IOU DETAIL REPORT - NIO AND CIO 
* 
   55 PRINT 56,IELEM,MODEL,SERIAL,MFID, 
     .HX(1), HX(2), HX(3), HX(4), HX2(1), HX2(2), HX2(3), HX2(4), 
     .HX(5), HX(6), HX(7), HX(8), HX2(5), HX2(6), HX2(7), HX2(8), 
     .HX(9), HX(10),HX(11),HX(12),HX2(9), HX2(10),HX2(11),HX2(12) 
      PRINT 57, 
     .HX(13),HX(14),HX(15),HX(16),HX2(13),HX2(14),HX2(15),HX2(16),
     .HX(17),HX(18),HX(19),HX(20),HX2(17),HX2(18),HX2(19),HX2(20) 
   56 FORMAT (1X,'DT - ** MR **   ELEMENT = ',Z2,'   MODEL = ',Z2,
     .        '   SERIAL = ',Z4,'  MFID = ',R1,//,
     .        26X,'NIO REGISTERS',16X,'CIO REGISTERS',/,
     .        4X,'OPTIONS INSTALLED   =',4(1X,Z4),' (12)',
     .        4X,                        4(1X,Z4),' (16)',/,
     .        4X,'FAULT STATUS MASK   =',4(1X,Z4),' (18)',
     .        4X,                        4(1X,Z4),' (1C)',/,
     .        4X,'OS BOUNDS           =',4(1X,Z4),' (21)',
     .        4X,                        4(1X,Z4),' (25)')
   57 FORMAT( 4X,'ENVIRONMENT CONTROL =',4(1X,Z4),' (30)',
     .        4X,                        4(1X,Z4),' (34)',/,
     .        4X,'TEST MODE           =',4(1X,Z4),' (A0)',
     .        4X,                        4(1X,Z4),' (A4)',//, 
     .        1X,'DATE',/,3X,'TIME       (FSC) DESCRIPTION',/,
     .        1X,7(10H----------),9H---------)
      LINE = LINE + 11
      GO TO 2 
* 
*         SUBHEADER FOR I4 IOU DETAIL REPORT
* 
   60 IF (MODEL .EQ. Z"42") GO TO 600 
      IF (MEOFLG .EQ. 3HOFF)
     .PRINT 61,PL(1), IDFTCD,PL(2), PL(3), PL(4), PL(64),SEQNO, PL(5),
     .         PL(6), PL(7), PL(8), PL(9), PL(10),PL(11),PL(12) 
   61 FORMAT (3X,A8,3X,'(',Z3,')',1X,4A10,'SEQUENCE NUMBER = ',Z2,/,
     . 33X,'    STATUS SUMMARY  =',4(1X,Z4),' (00)',/,
     . 33X,'NIO STATUS REGISTER =',4(1X,Z4),' (40)')
      IF (MEOFLG .EQ. 2HON) 
     .PRINT 62,PL(1), IDFTCD,PL(2), PL(3), PL(4), PL(64),SEQNO, PL(5),
     .         PL(6), PL(7), PL(8), PL(9), PL(10),PL(11),PL(12) 
   62 FORMAT (3X,A8,3X,'(',Z3,')',1X,4A10,'SEQUENCE NUMBER = ',Z2,/,
     .                            14X,'MULTIPLE ERROR OCCURRENCE',/,
     . 33X,'    STATUS SUMMARY  =',4(1X,Z4),' (00)',/,
     . 33X,'NIO STATUS REGISTER =',4(1X,Z4),' (40)')
      LINE = LINE + 3 
      IF (I4FLAG .EQ. 0) GO TO 66 
  
*     PRINT THE CIO REGISTER
      PRINT 63,PL(13),PL(14),PL(15),PL(16)
   63 FORMAT(33X,'CIO STATUS REGISTER =',4(1X,Z4),' (44)')
      LINE = LINE + 1 
      IF (I4FLAG .EQ. 1) GO TO 66 
  
*     PRINT THE 5 PP CIO REGISTERS
      PRINT 65,PL(17),PL(18),PL(19),PL(20),PL(21),PL(22),PL(23),PL(24), 
     .         PL(25),PL(26),PL(27),PL(28),PL(29),PL(30),PL(31),PL(32), 
     .         PL(33),PL(34),PL(35),PL(36)
   65 FORMAT(33X,'CIO CHANNEL STATUS 0=',4(1X,Z4),' (B0)',/,
     .       33X,'CIO CHANNEL STATUS 1=',4(1X,Z4),' (B1)',/,
     .       33X,'CIO CHANNEL STATUS 2=',4(1X,Z4),' (B2)',/,
     .       33X,'CIO CHANNEL STATUS 3=',4(1X,Z4),' (B3)',/,
     .       33X,'CIO CHANNEL STATUS 4=',4(1X,Z4),' (B4)')
      LINE = LINE + 5 
      IF (I4FLAG .EQ. 2) GO TO 66 
  
*     PRINT THE 10 PP CIO REGISTERS 
      PRINT 67,PL(37),PL(38),PL(39),PL(40),PL(41),PL(42),PL(43),PL(44), 
     .         PL(45),PL(46),PL(47),PL(48),PL(49),PL(50),PL(51),PL(52), 
     .         PL(53),PL(54),PL(55),PL(56)
   67 FORMAT(33X,'CIO CHANNEL STATUS 5=',4(1X,Z4),' (B5)',/,
     .       33X,'CIO CHANNEL STATUS 6=',4(1X,Z4),' (B6)',/,
     .       33X,'CIO CHANNEL STATUS 7=',4(1X,Z4),' (B7)',/,
     .       33X,'CIO CHANNEL STATUS10=',4(1X,Z4),' (B8)',/,
     .       33X,'CIO CHANNEL STATUS11=',4(1X,Z4),' (B9)')
      LINE = LINE + 5 
* 
*     PRINT A SNAPSHOT OF THE NIO/CIO FAULT STATUS REGISTERS
* 
   66 PRINT 68,REG(1,1,1),REG(2,1,1),REG(3,1,1),REG(4,1,1), 
     .         REG(1,2,1),REG(2,2,1),REG(3,2,1),REG(4,2,1)
   68 FORMAT(25X,'NIO FAULT STATUS 1 REGISTER =',4(1X,Z4),' (80)',/,
     .       25X,'NIO FAULT STATUS 2 REGISTER =',4(1X,Z4),' (81)')
      LINE = LINE + 2 
      IF (I4FLAG .EQ. 0) GO TO 1000 
      PRINT 69,REG(1,1,2),REG(2,1,2),REG(3,1,2),REG(4,1,2), 
     .         REG(1,2,2),REG(2,2,2),REG(3,2,2),REG(4,2,2)
   69 FORMAT(25X,'CIO FAULT STATUS 1 REGISTER =',4(1X,Z4),' (84)',/,
     .       25X,'CIO FAULT STATUS 2 REGISTER =',4(1X,Z4),' (85)')
      LINE = LINE + 2 
      GO TO 1000
* 
*         SUBHEADER FOR I4S IOU DETAIL REPORT 
* 
  600 IF (MEOFLG .EQ. 3HOFF)
     .PRINT 610,PL(1),IDFTCD,PL(2), PL(3), PL(4), PL(64),SEQNO, PL(5),
     .          PL(6),PL(7), PL(8), PL(9), PL(10),PL(11),PL(12) 
  610 FORMAT (3X,A8,3X,'(',Z3,')',1X,4A10,'SEQUENCE NUMBER = ',Z2,/,
     . 33X,'    STATUS SUMMARY  =',4(1X,Z4),' (00)',/,
     . 33X,'    STATUS REGISTER =',4(1X,Z4),' (40)')
      IF (MEOFLG .EQ. 2HON) 
     .PRINT 620,PL(1),IDFTCD,PL(2), PL(3), PL(4), PL(64),SEQNO, PL(5),
     .          PL(6),PL(7), PL(8), PL(9), PL(10),PL(11),PL(12) 
  620 FORMAT (3X,A8,3X,'(',Z3,')',1X,4A10,'SEQUENCE NUMBER = ',Z2,/,
     .                            14X,'MULTIPLE ERROR OCCURRENCE',/,
     . 33X,'    STATUS SUMMARY  =',4(1X,Z4),' (00)',/,
     . 33X,'    STATUS REGISTER =',4(1X,Z4),' (40)')
      LINE = LINE + 3 
* 
*         PRINT A SNAPSHOT OF THE I4S NIO/CIO FAULT STATUS REGISTERS
* 
      PRINT 630,REG(1,1,1),REG(2,1,1),REG(3,1,1),REG(4,1,1),
     .          REG(1,2,1),REG(2,2,1),REG(3,2,1),REG(4,2,1) 
  630 FORMAT (21X,'CIO/NIO FAULT STATUS 1 REGISTER =',4(1X,Z4), 
     .        ' (80)',/,
     .        21X,'CIO/NIO FAULT STATUS 2 REGISTER =',4(1X,Z4), 
     .        ' (81)')
      LINE = LINE + 2 
      GOTO 1000 
* 
*         SUBHEADER FOR I4 DETAIL REPORT - FS DESCRIPTION 
* 
   70 PRINT 71
   71 FORMAT (/,14X,'REG BIT ID      BIT DESCRIPTION',/,
     . 14X,10H----------,1H-,5X,3(10H----------)) 
      LINE = LINE + 1 
      GO TO 2 
* 
*         SUBHEADER FOR I4 ANALYSIS REPORT - FS ACCUMULATION
* 
   80 IF (MODEL .EQ. Z"42") GO TO 90
      PRINT 81, HX(1) 
   81 FORMAT (//,1X,'I4 IOU FAULT STATUS MESSAGE ACCUMULATION - ',A3,//,
     .1X,'REG BIT ID',6X,'BIT DESCRIPTION',17X,'TOTALS',/,
     .1X,5(10H----------),4H----) 
      LINE = LINE + 2 
      GO TO 2 
  
   90 PRINT 91
   91 FORMAT(//,1X,'I4S IOU FAULT STATUS MESSAGE ACCUMULATION - CIO/NIO'
     .       ,//,1X,'REG BIT ID',6X,'BIT DESCRIPTION',17X,'TOTAL',/,
     .       1X,5(10H----------),4H----)
      LINE = LINE + 2 
      GO TO 2 
  
 1000 RETURN
      END 
      SUBROUTINE PRINT12 (LT,NW)
* 
**        DESCRIPTON
*         ----------
*         SUBROUTINE PRINT12 PRINTS A LINE OF DATA IN VARIOUS REPORTS 
*         BY TRACKING LINE COUNTS AND STARTS NEW PAGE IF NEEDED.
* 
*         ENTRY CONDITIONS
*         ----- ----------
*         LT  -  DEFINES THE FORMAT STATEMENT TO BE USED
*         NW  -  DEFINES THE NUMBER OF WORDS TO BE PRINTED
* 
*         EXIT CONDITIONS 
*         ---- ---------- 
*         DATA AREAS SHARED - LINE
* 
*         CALLS 
*         ----- 
*         HEADER - INITIALIZE EACH PAGE OF VARIOUS REPORTS. 
*         PHEAD12- PRINT SUB-HEADER IN VARIOUS REPORTS. 
* 
*CALL HPACOM1 
* 
      DIMENSION IFORM (6,7), FMT (6)
* 
*         FORMAT FOR IOU DETAIL REPORT ERROR MESSAGE
      DATA(IFORM (I,1),I=1,3,1)/
     .10H(3X,A8,1X,,10HR1,1X,4(A1,10H0))        / 
* 
*          FORMAT FOR I1/I2 ANALYSIS REPORT - FS ACCUMULATION 
      DATA(IFORM(I,2),I=1,5,1)/ 
     .10H(1X,2A10,5,10HX,4(A2,1X),10H,1X,A1,2X,,10H3A10,2X,I6,
     .10H)         /
* 
*          FORMAT FOR I1/I2 MR ERROR MESSAGES 
      DATA(IFORM(I,3),I=1,6,1)/ 
     .10H(3X,A8,1X,,10HR1,2(1X,A2,10H),2X,4(Z4,,10H1X),1X,A1,,10H5X,A2, 
     .X,3,10HA10)      /
* 
*          FORMAT FOR I1/I2 DETAIL REPORT - FAULT STATUS DEFINITIONS
      DATA(IFORM(I,4),I=1,6,1)/ 
     .10H(9X,A2,1X,,10HA2,1X,A2,1,10HX,A2,2X,2A,10H10,2X,A1,2,
     .10HX,A2,3X,4A,10H10)       /
* 
*          FORMAT FOR I4 IOU DETAIL REPORT - FAULT STATUS DEFINITIONS 
      DATA(IFORM(I,5),I=1,4,1)/ 
     .10H(14X,Z2,1X,10H,Z2,1X,I2,,10H1X,I2,5X,3,10HA10)      /
* 
*          FORMAT FOR I4 IOU ANALYSIS REPORT - FS ACCUMULATION
      DATA(IFORM(I,6),I=1,4,1)/ 
     .10H(1X,Z2,1X,,10HZ2,1X,I2,1,10HX,I2,5X,3A,10H10,3X,I5) /
* 
*          FORMAT FOR IOU DETAIL REPORT ERROR MESSAGE 
      DATA(IFORM (I,7),I=1,6,1)/
     .10H(3X,A8,1X,,10HR1,1X,'(',,10HZ3,') ',4A,10H10,'SEQUEN,
     .10HCE NUMBER ,10H= ',Z2)   /
* 
* 
***************************************************************** 
  
*     FORCE NEW PAGE FOR START OF NEW ERROR IF NEAR PAGE LIMIT
      IF ((LT .EQ. 1) .AND. ((LINE+5) .GE. PLF)) GO TO 5
  
*     CHECK FOR PAGE LIMIT
      IF (LINE .LE. PLF) GO TO 10 
  
*     INSERT DATE FOR NEW HEADER
    5 CONTINUE
      CALL HEADER 
      CALL PHEAD12 (1)
  
*     INCREMENT LINE COUNT AND MOVE DATA TO THE PRINT ARRAY 
   10 LINE = LINE + 1 
  
      DO 25 J = 1, 6
   25 FMT(J) = IFORM (J,LT) 
  
*     PRINT THE LINE OF DATA
      PRINT FMT,(PL(J),J=1,NW)
  
   40 DO 45 K = 1,NW
   45 PL(K) = 1H
* 
      RETURN
      END 
      SUBROUTINE UCHEK12
**
*       UCHEK12 - BASIC ROUTINE USED BY DETAIL PROCESSORS, TO 
*                 TEST FOR CHANGES IN MESSAGE THAT WILL AFFECT
*                 SUBHEADER PRINT.  WHEN CHANGE OCCURS, MODIFY
*                 POINTERS AND CALL PHEAD12 FOR NEW HEADING 
*                 OF DEVICE AND MESSAGE TYPE. 
* 
*       ENTRY CONDITIONS
*       ------------------- 
*       CURRENT MESSAGE IN PROCESS IS IN IFLD/NFLD
* 
*       EXIT CONDITIONS 
*       ----------------
*       CURRENT APPLICABLE SUB-HEADERS ARE PRINTED, AND FLAGS 
*       FOR TEST CHANGES IN NEXT MESSAGE ARE SAVED. 
* 
*       DATA AREAS
*       ----------- 
*       SVMTY - SAVE MESSAGE TYPE IN PROCESS
* 
*CALL HPACOM1 
*CALL HPACOM2 
  
*     JUMP IF NOT INITIAL ENTRY 
      IF (FLAGS(12) .NE. 7HNEW-EST) GO TO 200 
      FLAGS(12) = 1H
      PDATE = SEBUF(21) 
      CALL HEADER 
      CALL PHEAD12 (1)
      GO TO 500 
  
*     TEST FOR NEW PAGE 
  200 IF (LINE .GE. PLF) GO TO 400
      IF ((RTY .EQ. O"27") .AND. ((LINE+10) .GT. PLF)) GO TO 400
      IF ((RTY .EQ. O"107") .AND. 
     .    ((MTY .EQ. O"4312") .OR. (MTY .EQ. O"4313")) .AND.
     .    ((LINE + 9) .GT. PLF)) GO TO 400
  
*     TEST CHANGE OF DATE 
      IF (PDATE .EQ. SEBUF(23)) GO TO 500 
* 
*     PUT DATE BACK INTO DETAIL LINE
      IF ((LINE + 2) .GT. PLF) GO TO 400
      PDATE = SEBUF(23) 
      CALL PHEAD12 (2)
      GO TO 500 
  
*     PRINT NEW PAGE HEADER AND SUBHEADERS
  400 PDATE = SEBUF(23) 
      CALL HEADER 
      CALL PHEAD12 (1)
  
  500 RETURN
      END 
          IDENT  INTEM12
          LCC OVCAP.
          ENTRY  INTEM12
OVLNO     SET    12 
          USE    /LINK/ 
LINKET    BSS    1
LINKEM    BSS    1
          USE    *
  
INTEM12   BSS    1
          SX6    ET 
          SA6    LINKET 
          SX6    EC 
          SA6    LINKEM 
          JP     INTEM12
          EJECT 
*CALL COMHPAERT 
          END 
