*DECK,HPA35 
      OVCAP.
      SUBROUTINE HPA35
* 
**              CONTROL PROGRAM FOR ROUTINES IN OVERLAY ( 3,5 ) 
* 
*CALL, HPACOM1
  
      IF (FROG(6) .NE. L"T") GO TO 10 
      CALL SECOND (CP)
      PRINT 9,CP
    9 FORMAT ( ' ENTER HPA35, SECOND = ',F10.3) 
   10 CONTINUE
      CALL AN5FE3 
  
      END 
      SUBROUTINE AN5FE3 
* 
**        DESCRIPTION 
*         ----------- 
*            AN5FE3 - PROCESS ANALYSIS REPORT, AND CALL DETAIL
*                      FOR 2550 FRONT END TERMINAL DATA.
* 
*            ****  2550  EQUIPMENT  DATA  FIELDS  ****
*            FX1  =  MESSAGE TYPE 
*            FX2  =  TEXT-1 
*            FX3  =  TEXT-2 
*            FX4  =  TEXT-3 
*            FX5  =   -- UNUSED --
*            FX6  =  TEXT-4 
*            FX7  =  TEXT-5 
*            FX8  =  TEXT-6 
*            FX9  =   -- UNUSED --
*            FX10 =  TEXT-7 
*            FX11 =  TEXT-8 
*            FX12 =  TEXT-9 
*            FC13 =   -- UNUSED --
*            FX14 =  TEXT-10
*            FX15 =  TEXT-11
*            FX16 =  TEXT-12
* 
*            ****  2550  TEXT  DEFINITIONS  ****
*       ERROR CODES 
*        410-427          TEXT-1,TEXT-2  =  PORT,SUBPORT
*            430          TEXT-1         = ERROR TYPE 
*                         TEXT-2         = INPUT LOOP ERR COUNT 
*                         TEXT-3         = ALARM COUNT
*            431          TEXT-1         = LAST STATE 
*                         TEXT-2         = NEXT STATE 
*        432,442          TEXT-1,TEXT-2  = COUPLER STATUS WD
*                         TEXT-3,TEXT,4  = ORDER WORD RECEIVED
* 
*     STATISTIC CODES 
*            470       TEXT-1,TEXT-2,TEXT-3  = 0
*                      TEXT-4  = COUNT, SERVICE MESSAGES GENERATED
*                      TEXT-5  = COUNT, SERVICES MESSAGES PROCESSED 
*                      TEXT-6  = COUNT, BLKS DISCARDED - BAD ADDRESS
*                      TEXT-7  = COUNT, BLKS DISCARDED - BAD FORMAT 
*                      TEXT-8  = COUNT, MODE 4 INPUT REG. STARTED 
*                      TEXT-9  = COUNT, TELETYPE INP REG. STARTED 
*                      TEXT-10 = COUNT, HOST FAILURE
*                      TEXT-11 = COUNT, SERV. MESSAGES RECEIVED-
*                                       OUT OF SEQUENCE 
* 
*CALL,HPACOM1 
*CALL,HPACOM3 
*CALL,HPACOM2 
      DIMENSION SUMFE(256,6), SUMNPU(11), T(10), FESTAT(200,2)
      DIMENSION IGTITL(4), IYTITL(2), IXTITL(2)                          R2D2550
      DIMENSION  IVAL(31,2),XVAL(64)                                     R2D2550
      DIMENSION IHTITL(4),IJTITL(4)                                      R2D2550
      DIMENSION KVAL(256,2) 
      DIMENSION IECTBL(3,18), IERRMAT(18,255), OUTBUF(18),
     .          PRLINE(18), PRHEAD(18)
* 
      EQUIVALENCE (SUMFE(1,1), STOR(1,1)),
     .            (SUMNPU(1), STOR(41,23)), 
     .            (T(1), STOR(52,23)),
     .            (FESTAT(1,1), STOR(62,23))
      EQUIVALENCE (FX1,FDS(1)),(FX2,FDS(2)),(FX3,FDS(3)),(FX4,FDS(4)) 
     .,(FX5,FDS(5)),(FX6,FDS(6)),(FX7,FDS(7)),(FX8,FDS(8)),(FX9,FDS(9)) 
     .,(FX10,FDS(10)),(FX11,FDS(11)),(FX12,FDS(12)) 
  
      DATA (IECTBL(I, 1),I=1,2)/ O"414", 5/ 
      DATA (IECTBL(I, 2),I=1,2)/ O"415", 6/ 
      DATA (IECTBL(I, 3),I=1,2)/ O"416", 7/ 
      DATA (IECTBL(I, 4),I=1,2)/ O"417", 8/ 
      DATA (IECTBL(I, 5),I=1,2)/ O"420", 9/ 
      DATA (IECTBL(I, 6),I=1,2)/ O"422",11/ 
      DATA (IECTBL(I, 7),I=1,2)/ O"423",12/ 
      DATA (IECTBL(I, 8),I=1,2)/ O"424",13/ 
      DATA (IECTBL(I, 9),I=1,2)/ O"426",15/ 
      DATA (IECTBL(I,10),I=1,2)/ O"427",16/ 
      DATA (IECTBL(I,11),I=1,2)/ O"445",O"66"/
      DATA (IECTBL(I,12),I=1,2)/ O"463",O"57"/
      DATA (IECTBL(I,13),I=1,2)/ O"464",O"60"/
      DATA (IECTBL(I,14),I=1,2)/ O"465",O"61"/
      DATA (IECTBL(I,15),I=1,2)/ O"466",O"62"/
      DATA (IECTBL(I,16),I=1,2)/ O"521",Z"37"/
      DATA (IECTBL(I,17),I=1,2)/ O"522",Z"38"/
      DATA (IECTBL(I,18),I=1,2)/ O"523",Z"39"/
  
  
   50 CALL INISET3
      TYPID = 10H  NETWORK
      IF((IFLD(FDT).EQ.R"NP").OR.(IFLD(FDT).EQ.R"NM").OR. 
     .   (IFLD(FDT).EQ.R"ND"))       ORD = 4H 
      HDATA(1) = 1H 
* 
*     SET DETAIL SUBHEADERS 
      MPR(1,1) = O"427" 
      MPR(1,2) = 39 
      MPR(2,1) = O"430" 
      MPR(2,2) = 34 
      MPR(3,1) = O"442" 
      MPR(3,2) = 36 
      MPR(4,1) = O"443" 
      MPR(4,2) = 38 
      MPR (5,1) = O"445"
      MPR (5,2) = 39
      MPR (6,1) = O"446"
      MPR (6,2) = 37
      MPR (7,1) = O"462"
      MPR (7,2) = 39
      MPR (8,1) = O"466"
      MPR (8,2) = 38
      MPR (9,1) = O"507"
      MPR (9,2) = 39
      MPR (10,1) = O"512" 
      MPR (10,2) = 11 
      MPR(11,1) = O"523"
      MPR(11,2) = 31
      MPR(12,1) = O"641"
      MPR(12,2) = 39
  
      IHDR = 18 
  
      ICOUNT = 0
      PFLAG = 0 
      DO 60  I = 1,18 
      PRLINE(I) = 1H
      PRHEAD(I) = 1H
      IECTBL(3,I) = 0 
      OUTBUF(I) = 0 
   60 CONTINUE
      DO 70  I = 1,18 
      DO 70  J = 1,255
   70 IERRMAT(I,J) = 0
  
  100 IF (RCFA .EQ. 2HON) CALL STOJN3 
  
      DO 105 K = 1,16 
  105 FDS(K) = IFLD(20 + K) 
  
      IF (RTY.EQ.O"057")  MPR (10,2) = 47 
      IF (RTY.EQ.O"060") MPR(10,2) = 49 
* 
*         FOR 2550 I5 TERMINAL STATISTICS 
      IF (RTY.EQ.O"56") GO TO 110 
      IF ((RTY.EQ.O"060").AND.(MTY.EQ.O"510")) GO TO 115
      IF (SEFREC(1).GT.0) GO TO 110 
      IF (MTY.NE.O"512") GO TO 110
      FX10=FX8
      FX8=0 
  
  110 CONTINUE
      CALL HEX3 (FX2,FX3,FX4,1) 
      CALL HEX3 (FX6,FX7,FX8,7) 
  115 CONTINUE
  
*       TEST FOR STATISTIC DATA 
      IF (FLAGS(8) .GE. O"40") GO TO 120
      IF (RCFD .EQ. 2HON) CALL DL5FE3 
      GO TO 150 
  
*         CALL ROUTINE TO STORE STATISTIC DATA
  120 IF (FROG(8).NE.2HON) GO TO 500
      IF (RCFD.EQ.2HON) CALL UCHEK35
      IF  (RTY .EQ. O"56") CALL DS5FE3
      IF (RTY .EQ. O"57") CALL DSN5FE3
      IF (RTY.EQ.O"060") CALL DSN5FE3 
  
  150 CONTINUE
*                 DO SUMMARY ACCUMULATE 
      IF ((MTY.GT.O"412").AND.(MTY.LT.O"425")) GO TO 300
      IF ((MTY.EQ.O"426").OR.(MTY.EQ.O"427").OR.(MTY.EQ.O"443")) GO TO 3
     +00
      IF (MTY.EQ.O"445") GO TO 300
      IF ((MTY.GT.O"462").AND.(MTY.LT.O"467")) GO TO 300
      IF ((MTY.EQ.O"521").OR.(MTY.EQ.O"522").OR.(MTY.EQ.O"523"))
     .    GO TO 300 
      GO TO 500 
  
  300 PORT = AND(FX2,O"377") + 1
      IF (FROG(8).NE.2HON) GO TO 320
      SUMFE (PORT,6) = SUMFE(PORT,6) + 1
  
  
*         ACCUMULATE CE ERRORS VS. PORT NUMBERS 
  320 CONTINUE
  
      DO 350  I = 1,18
      IF (MTY.EQ.IECTBL(1,I)) GO TO 375 
  350 CONTINUE
  375 CONTINUE
      IEC = I 
      IECTBL(3,I) = IECTBL(3,I) + 1 
      IERRMAT(IEC,PORT) = IERRMAT(IEC,PORT) + 1 
  
  500 CALL GNR3 
      IF(PREC(FDT).NE.IFLD(FDT))  TWIC = 1
      CALL SETEM3(1)
      DO 505 K = 1,16 
  505 FDS(K) = IFLD(20 + K) 
      IF (TWIC .GE. 3) GO TO 100
  
      HDATA(2) = 1H 
      IF (RCFA .EQ. 3HOFF) GO TO 800
      CALL XOVCAP ('ERDIST3',0,0) 
      CALL UOVCAP ('ERDIST3') 
  
  
*          PROCESS AND PRINT MATRIX FOR CE ERRORS VS. PORT NUMBERS
  
      DO 520  I = 1,18
      IF (IECTBL(3,I).EQ.0) GO TO 520 
      ICOUNT = ICOUNT + 1 
      OUTBUF(ICOUNT) = IECTBL(2,I)
  520 CONTINUE
      IF (ICOUNT.EQ.0) GO TO 595
      DO 530  I = 1,ICOUNT
      ENCODE(2,900,PRHEAD(I)) OUTBUF(I) 
  900 FORMAT(Z2)
  530 CONTINUE
      IF ((LINE + 8).LT.PLF) GO TO 540
      CALL HEADER 
  540 CONTINUE
      PRINT  910,PRHEAD 
  910 FORMAT(//,18X,'NUMBER OF CE ERRORS VS. LOGICAL PORT NUMBER',
     .      /2X,'P',/2X,'O',23X,'CE ERROR CODES', 
     .      /2X,'R',/2X,'T',1X,18(3X,A2)/,1X,7(10H----------))
      LINE = LINE + 8 
      PORT = 1
  550 CONTINUE
      DO 575  I = 1,18
      IF (IERRMAT(I,PORT).EQ.0) GO TO 575 
      TEMPEC = IECTBL(2,I)
      DO 565  J = 1,18
      IF (TEMPEC.EQ.OUTBUF(J)) GO TO 570
  565 CONTINUE
  570 CONTINUE
      ENCODE (4,920,PRLINE(J)) IERRMAT(I,PORT)
  920 FORMAT(I4)
      PFLAG = 1 
  575 CONTINUE
      IF (PFLAG.NE.0) GO TO 585 
  580 CONTINUE
      IF (PORT.GE.255) GO TO 595
      PORT = PORT + 1 
      GO TO 550 
  585 CONTINUE
      IF (LINE.LT.PLF) GO TO 587
      CALL HEADER 
      PRINT 910,PRHEAD
      LINE = LINE + 8 
  587 CONTINUE
      PRPORT = PORT - 1 
      PRINT 930,PRPORT,PRLINE 
  930 FORMAT(1X,Z2,'- ',18(A4,1X))
      LINE = LINE + 1 
      DO 590  I = 1,18
      PRLINE(I) = 1H
  590 CONTINUE
      PFLAG = 0 
      GO TO 580 
  595 CONTINUE
  
      IF (FROG(8).NE.2HON) GO TO 800
* 
*     PRINT 2550 LINE STATISTIC SUMMARY REPORT. 
* 
      DO 5600   I=1,256 
      IF((SUMFE(I,1).EQ.0).AND.(SUMFE(I,2).EQ.0).AND. 
     .   (SUMFE(I,3).EQ.0))  GOTO 5600
      GO TO 5700
 5600 CONTINUE
      GO TO 5736
 5700 CONTINUE
      IF ((LINE +7).LT.PLF) GO TO 5705
      CALL HEADER 
      GO TO 5710
 5705 CALL PRINT35 (1,1)
 5710 CONTINUE
      CALL PRINT35 (1,1)
      HCF(5)=10 
      HCF(1) = 10 
      CALL XOVCAP ('PHEAD35',5,0) 
      CALL UOVCAP ('PHEAD35') 
* 
      DO 5720 I=1,256,1 
      IF((SUMFE(I,1).EQ.0).AND.(SUMFE(I,2).EQ.0).AND. 
     .   (SUMFE(I,3).EQ.0))  GOTO 5720
      T(1) = I - 1
      T(2)=T(3)=0 
      CALL HEX3(T(1), T(2), T(3), 1)
      PL(1)=HX(2) 
      PL(2)=AND(SHIFT(SUMFE(I,1),30),O"7777777777") 
      PL(3)=AND(SUMFE(I,1),O"7777777777") 
* 
*         CCP DIVIDES CHARACTERS TRANSMITTED AND RECEIVED BY 32.
*         THIS WILL RESTORE THE SUMMARY DATA TO ITS ACTUAL COUNT. 
* 
      PL(4) = (AND(SHIFT(SUMFE(I,2),30),O"7777777777")) * 32
      PL(5) = (AND(SHIFT(SUMFE(I,3),30),O"7777777777")) * 32
      PL(7) = AND(SHIFT(SUMFE(I,3),45),O"77777")
      PL(8) = AND(SUMFE(I,3),O"77777")
      PL(6) = AND(SUMFE(I,2),O"7777777777") 
      CALL PRINT35 (15,8) 
 5720 CONTINUE
      IF ((LINE + 7).LT.PLF) GO TO 5735 
      CALL HEADER 
      GO TO 5740
 5735 CALL PRINT35 (1,1)
* 
*     PRINT 2550 MODE-4 STATISTICS SUMMARY. 
* 
 5736 CONTINUE
      DO 5738  I=1,256
      IF((SUMFE(I,4).EQ.0).AND.(SUMFE(I,5).EQ.0).AND. 
     .   (AND(SUMFE(I,6),O"77777777770000000000").EQ.0))  GO TO 5738
      GO TO 5740
 5738 CONTINUE
      GO TO 5765
 5740 CONTINUE
      CALL PRINT35 (1,1)
      HCF(1) = 45 
      HCF(5)=45 
      CALL XOVCAP ('PHEAD35',5,0) 
      CALL UOVCAP ('PHEAD35') 
      DO 5750 I=1,256,1 
      IF((SUMFE(I,4).EQ.0).AND.(SUMFE(I,5).EQ.0).AND. 
     .   (AND(SUMFE(I,6),O"77777777770000000000").EQ.0))  GOTO 5750 
      T(1) = I - 1
      T(2)=T(3)=0 
      CALL HEX3(T(1), T(2), T(3), 1)
      PL(1)=HX(2) 
      PL(2)=AND(SHIFT(SUMFE(I,4),30),O"7777777777") 
      PL(3)=AND(SUMFE(I,4),O"7777777777") 
      PL(4)=AND(SHIFT(SUMFE(I,5),30),O"7777777777") 
      PL(5)=AND(SUMFE(I,5),O"7777777777") 
      PL(6)=AND(SHIFT(SUMFE(I,6),30),O"7777777777") 
      CALL PRINT35 (2,6)
 5750 CONTINUE
      IF((LINE +9).LT.PLF) GO TO 5760 
      CALL HEADER 
      GO TO 5780
 5760 CALL PRINT35 (1,1)
* 
*     PRINT 2550 NPU STATISTICS SUMMARY.
* 
 5765 CONTINUE
      DO 5770  I=1,11 
      IF(SUMNPU(I).EQ.0)  GO TO 5770
      GO TO 5780
 5770 CONTINUE
      GO TO 5820
 5780 CONTINUE
      CALL PRINT35 (1,1)
      IF (PREC(FRTY).EQ.O"060") GO TO 5800
      IF(PREC(FRTY).EQ.O"56")  HCF(5)=46
      IF(PREC(FRTY).EQ.O"57")  HCF(5)=48
      CALL XOVCAP ('PHEAD35',5,0) 
      CALL UOVCAP ('PHEAD35') 
      DO 5790 I=1,11,1
 5790 PL(I)=SUMNPU(I) 
* 
      IF (PREC(FRTY) .EQ. O"56") CALL PRINT35 (3,8) 
      IF (PREC(FRTY) .EQ. O"57") CALL PRINT35 (7,11)
      CALL PRINT35 (1,1)
      GO TO 5820
 5800 CONTINUE
      HCF(5) = 50 
      CALL XOVCAP ('PHEAD35',5,0) 
      CALL UOVCAP ('PHEAD35') 
      DO 5810  I = 1,9
 5810 PL(I) = SUMNPU(I)/SUMNPU(10)
      CALL PRINT35 (8,9)
      CALL PRINT35 (1,1)
 5820 CONTINUE
*     PRINT GRAPH OF TERMINALS ACTIVE VS. TIME OF DAY                    R2D2550
*                                                                        R2D2550
      DATA (IGTITL(I),I=1,4)  / 
     .10H     DEVIC,10HES ACTIVE ,10HVS. HOUR O,10HF DAY     /
      IG = 0
      YMAX = 0
      IYTITL(1) = 10H   DEVICES 
      IYTITL(2) = 10H ACTIVE                                             R2D2550
      IXTITL(1) = 10H      HOUR                                          R2D2550
      IXTITL(2) = 10H OF DAY                                             R2D2550
      NTERM(25) = 1 
      IF (PREC(FRTY).EQ.O"56") CALL DS5FE3
      IF (PREC(FRTY).EQ.O"57") CALL DSN5FE3 
      IF (PREC(FRTY).EQ.O"060") CALL DSN5FE3
      DO 605 N=1,24,1                                                    R2D2550
      IVAL(N,1) = NTERM(N)                                               R2D2550
      IF (IVAL(N,1).GE.YMAX) YMAX = IVAL(N,1) 
  605 CONTINUE                                                           R2D2550
      IF(YMAX.EQ.0) GO TO 610 
      NUM = 0                                                            R2D2550
      DO 606 K=1,24,1                                                    R2D2550
      ENCODE (10,607,XVAL(K)) NUM                                        R2D2550
      NUM = NUM+1                                                        R2D2550
  606 CONTINUE                                                           R2D2550
  607 FORMAT (I2.2)                                                      R2D2550
      IXMAX = 24                                                         R2D2550
      IXMIN = 0                                                          R2D2550
      IX    = 12                                                         R2D2550
      CALL CHART35(IGTITL,IYTITL,IXTITL,IXMAX,IXMIN,IX,IVAL,XVAL, 
     .             YMAX,IG) 
*                                                                        R2D2550
*     SET FIELDS TO PRINT GRAPH OF ERRORS VS. LOGICAL PORT NUMBERS       R2D2550
*                                                                        R2D2550
  610 CONTINUE
      DATA (IHTITL(I), I=1,4)  /
     .10H     ERROR,10HS VS. LOGI,10HCAL PORT N,10HUMBERS    /
      IYTITL(1) = 10H       ERR                                          R2D2550
      IYTITL(2) = 10HORS                                                 R2D2550
      IXTITL(1) = 10HLOGICAL PO                                          R2D2550
      IXTITL(2) = 10HRT NUMBER                                           R2D2550
      IG = 0
      YMAX = 0
      DO 620 K = 1,256
      KVAL(K,1) = AND(SUMFE(K,6),O"7777777777") 
      IF (KVAL(K,1).GE.YMAX) YMAX = KVAL(K,1) 
  620 CONTINUE
      J = 1                                                              R2D2550
      DO 640 I=1,256,1                                                   R2D2550
      IVAL(J,1) = KVAL(I,1) 
      IF((IVAL(J,1).EQ.0).AND.(I.EQ.256)) GO TO 635                      R2D2550
      IF(IVAL(J,1).EQ.0) GO TO 640                                       R2D2550
      T(1) = I - 1                                                       R2D2550
      T(2) = T(3) = 0                                                    R2D2550
      CALL HEX3(T(1),T(2),T(3),1)                                        R2D2550
      XVAL(J) = HX(2)                                                    R2D2550
      J = J + 1                                                          R2D2550
      IF(I.EQ.256) GO TO 635                                             R2D2550
      IF(J.LT.21) GO TO 640                                              R2D2550
  635 IXMAX = J-1                                                        R2D2550
      IXMIN = 0                                                          R2D2550
      IX = J-1                                                           R2D2550
      J = 1                                                              R2D2550
      IF(XVAL(1).EQ.0) GO TO 640                                         R2D2550
      IF(IX.EQ.0) GO TO 640 
      IG = IG + 1 
      CALL CHART35(IHTITL,IYTITL,IXTITL,IXMAX,IXMIN,IX,IVAL,XVAL, 
     .             YMAX,IG) 
      DO 637 JK=1,20,1                                                   R2D2550
      XVAL(JK) = 0                                                       R2D2550
      IVAL(JK,1) = 0                                                     R2D2550
  637 CONTINUE                                                           R2D2550
  640 CONTINUE                                                           R2D2550
*                                                                        R2D2550
*     SET FIELDS TO PRINT GRAPH OF USAGE VS. LOGICAL PORT NUMBERS        R2D2550
*                                                                        R2D2550
      DATA (IJTITL(I), I=1,4)  /
     .10H     USAGE,10H VS. LOGIC,10HAL PORT NU,10HMBERS     /
      IYTITL(1) = 10H     BLOCK                                          R2D2550
      IYTITL(2) = 10HS  X  100                                           R2D2550
      IXTITL(1) = 10HLOGICAL PO                                          R2D2550
      IXTITL(2) = 10HRT NUMBER                                           R2D2550
      IG = 0
      YMAX = 0
      DO 710  K = 1,256 
      KVAL(K,1) = AND(SHIFT(SUMFE(K,1),30),O"7777777777") + 
     .              AND (SUMFE(K,1),O"7777777777")
      KVAL(K,1) = KVAL(K,1)/100 
      IF (KVAL(K,1).GE.YMAX) YMAX = KVAL(K,1) 
  710 CONTINUE
      K = 1                                                              R2D2550
      DO 730 I=1,256,1                                                   R2D2550
      IVAL(K,1) = KVAL(I,1) 
      IF((IVAL(K,1).EQ.0).AND.(I.EQ.256)) GO TO 725                      R2D2550
      IF(IVAL(K,1).EQ.0) GO TO 730                                       R2D2550
      T(1) = I-1                                                         R2D2550
      T(2) = T(3) = 0                                                    R2D2550
      CALL HEX3(T(1),T(2),T(3),1)                                        R2D2550
      XVAL(K) = HX(2)                                                    R2D2550
      K = K + 1                                                          R2D2550
      IF(I.EQ.256) GO TO 725                                             R2D2550
      IF (K.LT.21) GO TO 730                                             R2D2550
  725 IXMAX = K-1                                                        R2D2550
      IXMIN = 0                                                          R2D2550
      IX = K-1                                                           R2D2550
      K = 1                                                              R2D2550
      IF(XVAL(1).EQ.0) GO TO 730                                         R2D2550
      IF(IX.EQ.0) GO TO 730 
      IG = IG + 1 
      CALL CHART35(IJTITL,IYTITL,IXTITL,IXMAX,IXMIN,IX,IVAL,XVAL, 
     .             YMAX,IG) 
      DO 727  JK=1,20,1                                                  R2D2550
      XVAL(JK) = 0                                                       R2D2550
      IVAL(JK,1) = 0                                                     R2D2550
  727 CONTINUE                                                           R2D2550
  730 CONTINUE                                                           R2D2550
* 
* 
  
*     IF SAME RECORD TYPE 
  800 IF (TWIC .GE. 2) GO TO 50 
  
      RETURN
      END 
      SUBROUTINE CHART35 (IGTITL,IYTITL,IXTITL,IXMAX,IXMIN,IX,
     .                    IVAL,XVAL,YMAX,IG)
* 
**               CHART35  --ROUTINE TO DEVELOP AND PRINT GRAPH
*                           AS DEFINED BY CALLING 2550 ANALYSIS 
*                           ROUTINE 
* 
*     ENTRY      IGTITL - GRAPH TITLE (40 CHARS)
*                IYTITL - Y-AXIS TITLE (20 CHARS) 
*                IXTITL - X-AXIS TITLE (20 CHARS) 
*                IXMAX  - THE MAXIMUM VALUE OF X
*                IXMIN  - THE MINIMUM VALUE OF X
*                IX     - THE NUMBER OF INCREMENTS ON X-AXIS
*                IVAL   - INTEGER ARRAY WITH GRAPHIC VALUES 
*                       - THERE IS A LIMIT OF 31 ENTRIES
* 
*     ERROR MSGS
*                **THE MAXIMUM NUMBER OF INTERVALS ON THE X AXIS IS 31.*
*                **THE IXMAX IS NOT AN INTEGER MULTIPLE OF IX** 
*                **YMAX ( 21),EXCEEDS THE UPPER LIMIT OF 100000.**
*                **IMIN ( 21), 15 LARGER THAN IMAX(20)****
* 
*     EXIT       LINE HAS BEEN UPDATED TO REFLECT THE VERTICAL SIZE OF
*                THE GENERATED GRAPH
* 
*CALL HPACOM1 
* 
      DIMENSION LIST(32),IVAL(31,2),IGTITL(4),IYTITL(2),IXTITL(2) 
      DIMENSION IZ(13),XVAL(64) 
* 
* 
      DATA (IZ(I),I=1,13) / 
     .1,2,4,5,10,20,25,50,100,200,500,1000,2000 / 
  
* 
*     IGTITL FORMAT STATEMENT 
 9901 FORMAT(1H0,13X,4A10)
* 
*     GRAPH PRINT FORMAT
 9902 FORMAT (2A1,I06.0,A1,31(1X,A2)) 
* 
*     TITLE FORMAT
 9904 FORMAT (8X,2A10,///)
*     BOTTOM LINE OF GRAPH
 9905 FORMAT (7X,1H0,100A1) 
* 
*     SET CHARACTER USED FOR GRAPHING 
      SETCH = 2H++
      XCOUNT = IXMAX
* 
*     ERROR PROCESSING
* 
      TEMP = IXMIN + ((IXMAX-IXMIN)/IX)*IX
      IF (XCOUNT .GT. 31     ) GO TO 200
      IF (TEMP   .NE. IXMAX  ) GO TO 230
      IF (YMAX   .GT. 100000 ) GO TO 240
      IF (IXMAX  .LT. IXMIN  ) GO TO 250
      IF (IG.GT.1) GO TO 370
      GO TO 300 
  
  200 PRINT 9000
      GO TO 251 
  230 PRINT 9030
      GO TO 251 
  240 PRINT 9040, YMAX
      GO TO 251 
  250 PRINT 9050, IXMIN, IXMAX
  251 LINE = LINE+1 
      RETURN
* 
 9000 FORMAT (1X,'THE MAXIMUM NUMBER OF INTERVALS ON THE X AXIS IS 31') 
 9030 FORMAT (1X,'THE IXMAX VALUE IS NOT AN INTEGER MULTIPLE OF IX.') 
 9040 FORMAT (1X,'YMAX (,',I7,'), EXCEEDS THE UPPER LIMIT OF 100000.')
 9050 FORMAT (1X,'IXMIN (',I7,') IS LARGER THAN IXMAX.(',I7,1H))
 9060 FORMAT (10X,31(A2,1X))
* 
*     SET IY
  300 IY = 20 
      IF (YMAX .GE. 1000  ) IY = 40 
      IF (YMAX .GE. 10000 ) IY = 50 
      IF((LINE+IY).LT.PLF) GO TO 320
      LINE =1 
      CALL HEADER 
  320 CONTINUE
* 
*     ROUND OFF YMAX, SET VARIABLES,AND DETERMINE Y TITLE START 
      YMIN = 0
      AY   = IY 
      AMAX = YMAX 
      A    = AMAX/AY
  
      DO 350 I = 1,13 
      YDELTA = IZ(I)
      IF (YDELTA .GE. A) GO TO 360
  350 CONTINUE
  360 YMAX   = IY*YDELTA
      YEND   = (IY-20)/2+YMIN 
      STARTY = IY - YEND
      SVYMAX = YMAX 
  370 CONTINUE
      YMAX = SVYMAX 
      YCOUNT = 1
      FLAGS (14) = YMAX 
* 
      IF ((LINE+IY).LT.PLF) GO TO 380 
      LINE = 1
      CALL HEADER 
* 
*     PRINT GRAPH TITLE 
* 
  380 CONTINUE
      PRINT 9901, (IGTITL(I),I=1,4) 
      LINE = LINE+2 
* 
*     BURST Y TITLE 
* 
      DECODE (20, 9100, IYTITL) (PL(KK), KK = 1,20) 
 9100 FORMAT (20A1) 
* 
*     SET CARRIAGE CONTROL AND GRAPH BOUNDRY CHARACTER
* 
      ICARR = 1H
      GBC   = 1H. 
* 
*     PRINT GRAPH 
* 
      DO 500  IJ = 1,IY 
      DO 400  I  = 1,XCOUNT 
      LIST (I) = 2H 
      IF (IVAL (I,1) .GE. YMAX) LIST(I) = SETCH 
  400 CONTINUE
* 
*     PRINT GRAPH LINE
* 
      PVALUE = YMAX 
      IF ((IJ.AND.1).EQ.0) PVALUE = 0 
      YCHAR = 1H
      PLI = YCOUNT-YEND 
      IF (IY .NE. 20)  PLI = PLI + 1
      IF ((YCOUNT .LE. STARTY) .AND.  (YCOUNT .GE. YEND)) 
     .     YCHAR = PL(PLI)
      PRINT 9902, ICARR, YCHAR, PVALUE, GBC, (LIST(J), J=1,XCOUNT)
      YMAX = YMAX - YDELTA
      YCOUNT = YCOUNT + 1 
      LINE   = LINE   + 1 
  500 CONTINUE
* 
*     PRINT GRAPH BOTTOM LINE AND X INDICES 
* 
      IXC = XCOUNT*3+1
      PRINT 9905, (GBC,I=1,IXC) 
      PRINT 9060, (XVAL(I),I=1,IXMAX) 
* 
*     PRINT X TITLE 
* 
      PRINT 9904, IXTITL
      LINE = LINE +5
* 
      RETURN
      END 
      SUBROUTINE DL5FE3 
* 
***       DESCRIPTION 
*         ----------- 
*         SUBROUTINE DL5FE3 DEVELOPS THE DETAIL REPORT FOR
*                2550 DATA ( BOTH NAM/CCP3.0, AND INTERCOM/CCP1.0)
* 
*         CALLED BY 
*         --------- 
*         AN5FE3
* 
*CALL,HPACOM1 
*CALL,HPACOM3 
*CALL,HPACOM2 
* 
      DIMENSION RID(13),RID2(13), RCR(62) 
      DIMENSION RET(2,4), MET(2,4)
      DIMENSION SUMFE(256,6), SUMNPU(11), T(10), FESTAT(200,2)
* 
      EQUIVALENCE (SUMFE(1,1),  STOR(1,1)), 
     .            (SUMNPU(1),   STOR(41,23)), 
     .            (T(1),        STOR(52,23)), 
     .            (FESTAT(1,1), STOR(62,23))
* 
      DATA RID(1)  / 10HCLA STATUS /
      DATA RID2(1) / 10H HANDLER   /
  
      DATA RID(2)  / 10HWORKLIST    / 
      DATA RID2(2) / 10HPROCESSOR  /
  
      DATA RID(3)  / 10HTIP RECEIV  / 
      DATA RID2(3) / 10HER         /
  
      DATA RID(4)  / 10HMLIA INTER /
      DATA RID2(4) / 10HRUPT HNDLR /
  
      DATA RID(5) /10HMODE-4    / 
      DATA RID2(5) /10H          /
  
      DATA RID(7)  / 10HCLOCK INTE /
      DATA RID2(7) / 10HRUPT HNDLR /
  
      DATA RID(8)  / 10HHOST INTER /
      DATA RID2(8) / 10HFACE PROC. /
  
      DATA RID(9) / 10H LIP         / 
      DATA RID2(9) / 10H            / 
      DATA RID(10)/ 10H            /
      DATA RID(11)/ 10H            /
      DATA RID(12)/ 10H INTERCOM   /
      DATA RID2(12) / 10H          /
      DATA RID(13)/ 10H NAM        /
      DATA RID2(13) / 10H          /
* 
      DATA (RCR(I),I=1,62,1) /
     .1,1,1,2,2,2,2,1,1,3,3,3,1,1,1,1,4,8,8,8,
     .8,8,8,8,8,8,8,5,8,9,7,11,12,12,12,12,12,12,12,12, 
     .12,12,12,5,5,5,5,11,11,13,13,13,13,13,13,13,13,13,11,13,
     .13,13  /
* 
      DATA (RET(I,1),I=1,2,1) / 10HERR COND. ,10HRESTORED  /
      DATA (RET(I,2),I=1,2,1) / 10HERR COUNTS,10H GIVEN    /
      DATA (RET(I,3),I=1,2,1) / 10HMLIA FAILU,10HRE        /
      DATA (RET(I,4),I=1,2,1) / 10H UNDEFINED,10H          /
* 
      DATA (MET(I,1),I=1,2,1) / 10HTERMNL-NO ,10HRESPONSE  /
      DATA (MET(I,2),I=1,2,1) / 10HTERMNL-BAD,10H RESPONSE /
      DATA (MET(I,3),I=1,2,1) / 10HTERMNL-ERR,10H RESPONSE /
* 
      CALL UCHEK35
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 900
  
      FORM = 10 
* 
*     GET LOAD DRIVER NAME
      RT1 =MTY-O"407" 
      IF((RT1.LE.O"00").OR.(RT1.GT.62))  GOTO 200 
      RT2 = RCR(RT1)
      PL(2) = RID(RT2)
      PL(3) = RID2(RT2) 
* 
  200 PL(1) = IFLD(20)
      IF ((MTY.EQ.O"521").OR.(MTY.EQ.O"522").OR.(MTY.EQ.O"523"))
     .    GO TO 650 
      PX = (IFLD(22) .AND. O"377") + 1
      IF(PX.GT.3)  PX=4 
      PX2 = SHIFT (IFLD(24), -8) .AND. O"177" 
*            FOR NAM - CCP3.0 
      IF (RTY .EQ. O"57") PX2 = (SHIFT (IFLD(26), -8) .AND. O"377") - 1 
* 
*     ... SORT OUT INCOMING DATA ACCORDING TO ITS ERROR CODE ...
*     UPL BREAKE - 443B 
      IF(MTY.EQ.O"443")  GOTO 700 
* 
*     MODE 4 TIP : AUTO RECOGNITION FAILED
*     MODE 4 TIP : NO RESPONSE, BAD RESPONSE, ERROR RESPONSE
*                  FROM TERMINAL
      IF ((MTY.GT.O"462").AND.(MTY.LT.O"467")) GO TO 700
* 
*     REAL TIME CLOCK LOST COUNT - 446B.
      IF(MTY.EQ.O"446")  GOTO 450 
* 
*     BAD FRAME DETECTED BY CRC 
      IF (MTY.EQ.O"445") GO TO 300
* 
*     COUPLER STATUS TYPE ERROR 
      IF(MTY .GT. O"431")  GOTO 400 
* 
*     MLIA ERROR STATUS 
      IF(MTY.EQ.O"430")  GOTO 500 
* 
*     DEADMAN TIME OUT. 
      IF(MTY.EQ.O"431")  GOTO 600 
* 
* 
*     LOAD PORT/SUBPORT 
      PL(7)=HX(2) 
      PL(8)=HX(3) 
* 
*         CLA STATUS NOT USED 
      IF ((MTY.GT.O"412").AND.(MTY.LT.O"417")) GO TO 800
      IF ((MTY.EQ.O"421").OR.(MTY.EQ.O"422").OR.(MTY.EQ.O"427")) GO TO 8
     +00
* 
*     CLA STATUS
      PL(9)=HX(4) 
      PL(10)=HX(5)
      GOTO 800
* 
  300 PL(11) = HX(4)
      PL(7) = HX(2) 
      PL(8) = HX(3) 
      GO TO 800 
* 
*     PROCESS COUPLER STATUS WORD 
  400 PL(7)=HX(2) 
      PL(8)=HX(3) 
*           IF NPU DEAD 
*     ERRORS DETECTED BY 2550 NAM 
      IF ((MTY.EQ.O"450").OR.(MTY.GE.O"471")) GO TO 720 
      IF(IFLD(FMTY).NE.O"436")  GOTO 800
* 
*     PROCESS ILLEGAL ORDER WORD
      PL(9)=HX(4) 
      PL(10)=HX(5)
      GOTO 800
* 
*     REAL TIME CLOCK STATUS  ..... 
  450 PL(7)=HX(2) 
      PL(8)=HX(3) 
      GOTO 800
* 
*     PROCESS MLIA ERROR STATUS 
  500 PL(8) = HX(3)                                                     000160
      PL(10) = HX(4)                                                    000170
      PL(11) = HX(5)                                                    000180
      PL(12) = HX(6)                                                    000190
      GOTO 800
* 
*     PROCESS DEADMAN TIMEOUT 
  600 PL(11)=HX(2)
      PL(12)=HX(3)
      GOTO 800
  650 CONTINUE
      PL(2) = 10HHASP-TIP 
      PL(3) = 10H 
* 
*     PROCESS UPL BREAK FROM OVERFLOWED ERROR COUNTER.
  700 PL(7)=HX(2) 
      PL(8)=HX(3) 
      PL(11) = HX(4)
      PL(12) = HX(5)
      FORM = 11 
      HX(7) = HX(7).OR.O"55 55 55 55 55 55 55 55" 
      PL(9) = SHIFT(HX(7),30) 
      IF (MTY.NE.O"443") GO TO 800
      IF(PX2.LE.0)  GOTO 800
      IF(PX2.GT.3)  GOTO 800
      PL(9)=MET(1,PX2)
      PL(10)=MET(2,PX2) 
      GO TO 800 
  
*         INTERCOM (NPU DEAD MESSAGE) ENTER SPACE IN UNUSED FIELDS
*         LOAD ERROR AND SUBERROR CODE
  720 CONTINUE
      FORM = 17 
      PL(2) = 10H PIP 
      S1 = SHIFT(HX(3),6) 
      S2 = HX(4)
      CALL LOAPR(7,SP,SP,SP,SP,S1,S2,SP,SP) 
  
* 
  800 CALL PRINT35 (FORM,12)
* 
  900 CONTINUE
      RETURN
      END 
      SUBROUTINE DS5FE3 
* 
*           DS5FE3 -- PROCESS STATISTICS DATA FOR 2550 (INTERCOM) 
* 
*          CALLED BY -- DL5FE3
* 
*          ENTRY CONDITION -- DETAIL SUBROUTINE HAS DETECTED
*                             STATISTIC TYPE MESSAGE IN INPUT SEF.
* 
*         EXIT CONDITION -- STATISTICS DATA IS ACCUMULATED FOR
*                           SUMMARY, AND PRINTED IN DETAIL, 
*                           IF REQUESTED IN PARAMETER (ST)
* 
*CALL,HPACOM1 
*CALL,HPACOM2 
*CALL,HPACOM3 
      DIMENSION SUMFE(256,6), SUMNPU(11), T(10), FESTAT(200,2)
      DIMENSION NPORT(256)                                               R2D2550
* 
      EQUIVALENCE (SUMFE(1,1),  STOR(1,1)), 
     .            (SUMNPU(1),   STOR(41,23)), 
     .            (T(1),        STOR(52,23)), 
     .            (FESTAT(1,1), STOR(62,23))
      EQUIVALENCE 
     .(FX1,FDS(1)),(FX2,FDS(2)),(FX3,FDS(3)),(FX4,FDS(4)),
     .(FX5,FDS(5)),(FX6,FDS(6)),(FX7,FDS(7)),(FX8,FDS(8)),
     .(FX9,FDS(9)),(FX10,FDS(10)),(FX11,FDS(11)), 
     .(FX12,FDS(12)),(FX13,FDS(13)),(FX14,FDS(14)), 
     .(FX15,FDS(15)),(FX16,FDS(16)) 
* 
      DATA (NPORT(I),I=1,256) /256*0/ 
* 
*           PROCESS STATISTICS MESSAGES 
      IF (NTERM(25).EQ.1) GO TO 120 
  
*            LOAD THE TIME
      PL(1) = IFLD(20)
      IF (MTY.EQ.O"510") GO TO 170
* 
      I=AND(SHIFT(FX2,-8), O"377")
      IF (I.EQ.0) GO TO 900 
      I = I+1 
*                                                                        R2D2550
*     ACCUMULATE TOTALS FOR GRAPH OF TERMINAL VS. TIME OF DAY            R2D2550
      NHR = IFLD(20)                                                     R2D2550
      DECODE (10,110,NHR) MHR                                            R2D2550
  110 FORMAT (I2,8X)                                                     R2D2550
      MHR = MHR + 1 
      NPORT(I) = NPORT(I).OR.SHIFT(1,MHR) 
      GO TO 160 
  120 CONTINUE                                                           R2D2550
      DO 130 L = 1,256
      DO 130 J = 1,24 
      IBIT = SHIFT(NPORT(L),-J).AND.1 
      IF (IBIT.EQ.0) GO TO 130
      NTERM(J) = NTERM(J) +1
  130 CONTINUE
      DO 140  I=1,256 
      NPORT(I) = 0
  140 CONTINUE
      GO TO 900 
  160 CONTINUE                                                           R2D2550
      CALL HEX3 (FX10,FX11,FX12,13) 
  
      IF (MTY .EQ. O"511") GO TO 300
      IF (MTY .EQ. O"512") GO TO 200
* 
  170 CONTINUE
      CALL HEX3 (FX14,FX15,FX16,19) 
  
*         ACCUMULATE 2550 NPU STATISTICS, AND 
*         FORM THE PRINT LINE FOR NPU STATISTICS. 
      SUMNPU(1)=SUMNPU(1)+OR(SHIFT(AND(FX3,O"377"),8) 
     .  ,                      SHIFT(AND(FX4,O"177400"),-8))
      SUMNPU(2)=SUMNPU(2)+OR(SHIFT(AND(FX4,O"377"),8) 
     .  ,                      SHIFT(AND(FX6,O"177400"),-8))
      SUMNPU(3)=SUMNPU(3)+OR(SHIFT(AND(FX6,O"377"),8) 
     .  ,                      SHIFT(AND(FX7,O"177400"),-8))
      SUMNPU(4)=SUMNPU(4)+OR(SHIFT(AND(FX7,O"377"),8) 
     .  ,                      SHIFT(AND(FX8,O"177400"),-8))
      SUMNPU(5)=SUMNPU(5)+OR(SHIFT(AND(FX8,O"377"),8) 
     .  ,                      SHIFT(AND(FX10,O"177400"),-8)) 
      SUMNPU(6)=SUMNPU(6)+OR(SHIFT(AND(FX10,O"377"),8)
     .  ,                      SHIFT(AND(FX11,O"177400"),-8)) 
      SUMNPU(7)=SUMNPU(7)+OR(SHIFT(AND(FX11,O"377"),8)
     .  ,                      SHIFT(AND(FX12,O"177400"),-8)) 
      SUMNPU(8)=SUMNPU(8)+OR(SHIFT(AND(FX12,O"377"),8)
     .  ,                      SHIFT(AND(FX14,O"177400"),-8)) 
      IF (RCFD.NE.2HON) GO TO 900 
      DO 180 IZ=4,19,1                                                   R2D2550
      IF((HX(IZ).AND.MASK(12)).EQ.L"00") HX(IZ) = L"  " 
  180 CONTINUE                                                           R2D2550
      CALL LOAPR (2,HX(4),HX(5),HX(6),HX(7),HX(8),HX(9),HX(10),HX(11))
      CALL LOAPR (10,HX(12),HX(13),HX(14),HX(15)
     .,HX(16),HX(17),HX(18),HX(19) )
  
      PR1 = 14
      PR2 =  17 
      GO TO 800 
* 
*             ACCUMULATE MODE 4 TERMINAL STATISTICS, AND
*             FORM PRINT LINE FOR MODE-4 STATISTICS.
  200 CONTINUE
      SUMFE(I,4)=SUMFE(I,4) 
     .+OR(SHIFT(AND(FX3,O"377"),38), SHIFT(AND(FX4,O"177400"),22))
     .    +OR(SHIFT(AND(FX4,O"377"),08), SHIFT(AND(FX6,O"177400"),-8))
      SUMFE(I,5)=SUMFE(I,5) 
     .+OR(SHIFT(AND(FX6,O"377"),38), SHIFT(AND(FX7,O"177400"),22))
     .    +OR(SHIFT(AND(FX7,O"377"),08), SHIFT(AND(FX8,O"177400"),-8))
      SUMFE(I,6)=SUMFE(I,6) 
     .+OR(SHIFT(AND(FX8,O"377"),38), SHIFT(AND(FX10,O"177400"),22)) 
* 
      IF (RCFD.NE.2HON) GO TO 900 
      DO 220 IZ =1,13,1                                                  R2D2550
      IF((HX(IZ).AND.MASK(12)).EQ.L"00") HX(IZ) = L"  " 
  220 CONTINUE                                                           R2D2550
      CALL LOAPR (2,HX(1),HX(2),HX(3),HX(4),HX(5),HX(6),HX(7),HX(8) ) 
      CALL LOAPR (10,HX(9),HX(10),HX(11),HX(12),HX(13),SP,SP,SP)
  
      PR1 = 13
      PR2 = 14
      GO TO 800 
  
*     ACCUMULATE 2550 LINE STATISTICS, AND
*     FORM PRINT LINE FOR LINE STATISTICS.
  300 CONTINUE
      SUMFE(I,1)=SUMFE(I,1) 
     .+OR(SHIFT(AND(FX3,O"377"),38), SHIFT(AND(FX4,O"177400"),22))
     .    +OR(SHIFT(AND(FX4,O"377"),08), SHIFT(AND(FX6,O"177400"),-8))
      SUMFE(I,2)=SUMFE(I,2)+OR(SHIFT(AND(FX6,O"377"),8),
     .                           SHIFT(AND(FX7,O"177400"),-8))
      SUMFE(I,3)=SUMFE(I,3)+OR(SHIFT(AND(FX7,O"377"),8),
     .                           SHIFT(AND(FX8,O"177400"),-8))
  
      IF (RCFD.NE.2HON) GO TO 900 
      DO 320 IZ=1,11,1                                                   R2D2550
      IF((HX(IZ).AND.MASK(12)).EQ.L"00") HX(IZ) = L"  " 
  320 CONTINUE                                                           R2D2550
      CALL LOAPR (2,HX(1),HX(4),HX(5),HX(6),HX(7),HX(8),HX(9),HX(10) )
      PL(10) = HX(11) 
      PL(12) = HX(11) 
  
      PR1 = 16
      PR2 = 10
* 
*         TEST FOR STATISTICS DETAIL PARAMTER 
  800 IF (FROG(8) .EQ. 3HOFF) GO TO 900 
  
      CALL PRINT35 (PR1,PR2)
  
  900 RETURN
      END 
      SUBROUTINE DSN5FE3
* 
*           DSN5FE3 -- PROCESS STATISTICS DATA FOR 2550 (NAM) 
* 
*          CALLED BY -- DL5FE3
* 
*          ENTRY CONDITION -- DETAIL SUBROUTINE HAS DETECTED
*                             STATISTIC TYPE MESSAGE IN INPUT SEF.
* 
*         EXIT CONDITION -- STATISTICS DATA IS ACCUMULATED FOR
*                           SUMMARY, AND PRINTED IN DETAIL
*                           IF REQUESTED IN PARAMETER (ST)
* 
*CALL,HPACOM1 
*CALL,HPACOM2 
*CALL,HPACOM3 
      DIMENSION SUMFE(256,6),SUMNPU(11),T(10),FESTAT(200,2) 
      DIMENSION  NPORT(256)                                              R2D2550
* 
      EQUIVALENCE (SUMFE(1,1),  STOR(1,1)), 
     .            (SUMNPU(1),   STOR(41,23)), 
     .            (T(1),        STOR(52,23)), 
     .            (FESTAT(1,1), STOR(62,23))
      EQUIVALENCE 
     .(FX1,FDS(1)),(FX2,FDS(2)),(FX3,FDS(3)),(FX4,FDS(4)),
     .(FX5,FDS(5)),(FX6,FDS(6)),(FX7,FDS(7)),(FX8,FDS(8)),
     .(FX9,FDS(9)),(FX10,FDS(10)),(FX11,FDS(11)), 
     .(FX12,FDS(12)),(FX13,FDS(13)),(FX14,FDS(14)), 
     .(FX15,FDS(15)),(FX16,FDS(16)) 
* 
      DATA (NPORT(I),I=1,256) /256*0/ 
* 
*      *******************************************
      IF (NTERM(25).EQ.1) GO TO 120 
      PL(1) = IFLD(20)
      IF ((RTY.EQ.O"60").AND.(MTY.EQ.O"510")) GO TO 100 
      GO TO 160 
*                                                                        R2D2550
*         ACCUMULATE TOTALS FOR GRAPH OF ACTIVE DEVICES VS. TIME OF DAY 
  100 NHR = IFLD(20)
      DECODE (10,110,NHR) MHR                                            R2D2550
  110 FORMAT (I2,8X)                                                     R2D2550
      MHR = MHR + 1 
* 
*         GET TOTAL ACTIVE DEVICES FOR THIS TIME FRAME - THE GREATEST 
*         NUMBER USED IN ANY ONE HOUR TIME PERIOD WILL BE USED. 
* 
      TAD = FX11 + FX12 + FX14
      DO 115 K=1,TAD
         NPORT(K) = NPORT(K).OR.SHIFT(1,MHR)
  115 CONTINUE
      GO TO 170 
* 
*         OUTPUT ACTIVE DEVICES VS. TIME OF DAY GRAPH 
* 
  120 CONTINUE                                                           R2D2550
      DO 130 L = 1,256
      DO 130 J = 1,24 
      IBIT = SHIFT(NPORT(L),-J).AND.1 
      IF (IBIT.EQ.0) GO TO 130
      NTERM(J) = NTERM(J) + 1 
  130 CONTINUE
      DO 140  I=1,256 
      NPORT(I) = 0
  140 CONTINUE
      GO TO 900 
  160 CONTINUE                                                           R2D2550
      I = AND(SHIFT(FX2,-8), O"377")
      IF (I.EQ.0)  GO TO 900
      I = I + 1 
      IF(MTY.EQ.O"512")  GOTO 340 
      IF(MTY.EQ.O"511")  GOTO 360 
*         CALL ROUTINE TO PROCESS STATISTICS
* 
  170 CONTINUE
*     ACCUMULATE 2550 NPU STATISTICS, AND 
*     FORM THE PRINT LINE FOR NPU STATISTICS DETAIL REPORT. 
      SUMNPU(1)=SUMNPU(1)+FX2 
      SUMNPU(2)=SUMNPU(2)+FX3 
      SUMNPU(3)=SUMNPU(3)+FX4 
      SUMNPU(4)=SUMNPU(4)+FX6 
      SUMNPU(5)=SUMNPU(5)+FX7 
      IF (RTY.EQ.O"060") GO TO 330
      SUMNPU(6)=SUMNPU(6)+FX8 
      SUMNPU(7)=SUMNPU(7)+FX10
      SUMNPU(8)=SUMNPU(8)+FX11
      SUMNPU(9)=SUMNPU(9)+FX12
      SUMNPU(10)=SUMNPU(10)+FX14
      SUMNPU(11)=SUMNPU(11)+FX15
* 
      IF (RCFD.NE.2HON) GO TO 900 
      DO 320 IN=1,22,1                                                   R2D2550
      IF((HX(IN).AND.MASK(12)).EQ.L"00") HX(IN) = L"  " 
  320 CONTINUE                                                           R2D2550
* 
*         OUTPUT BLOCK AND CHARACTER COUNTS IN DECIMAL
* 
      CALL LOAPR(4,FX2,FX3,FX4,FX6,FX7,FX9,FX10,FX11) 
      PL(12) = FX12 
      PL(13) = FX14 
      PR1 = 4 
      PR2 = 13
      GO TO 800 
* 
  330 CONTINUE
      SUMNPU(6) = SUMNPU(6) + FX10
      SUMNPU(7) = SUMNPU(7) + FX11
      SUMNPU(8) = SUMNPU(8) + FX12
      SUMNPU(9) = SUMNPU(9) + FX14
      SUMNPU(10) = SUMNPU(10) + 1 
      PL(1) = IFLD(20)
      IF (RCFD.NE.2HON) GO TO 900 
      CALL LOAPR(2,FX2,FX3,FX4,FX6,FX7,FX10,FX11,FX12)
      PL(10) = FX14 
      PR1 = 9 
      PR2 = 10
      GO TO 800 
*     ACCUMULATE MODE-4 TERMINAL STATISTICS, AND
*     FORM PRINT LINE FOR MODE-4 STATISTICS DETAIL. 
  340 SUMFE(I,4)=SUMFE(I,4)+OR(SHIFT(FX6,30),FX7) 
      SUMFE(I,5)=SUMFE(I,5)+OR(SHIFT(FX8,30),FX10)
      SUMFE(I,6)=SUMFE(I,6)+SHIFT(FX11,30)
* 
      IF (RCFD.NE.2HON) GO TO 900 
      DO 350 IN=1,16,1                                                   R2D2550
      IF((HX(IN).AND.MASK(12)).EQ.L"00") HX(IN) = L"  " 
  350 CONTINUE                                                           R2D2550
* 
*         OUTPUT BLOCK AND CHARACTER COUNTS IN DECIMAL
* 
      CALL LOAPR(4,HX(1),HX(2),HX(3),HX(4),HX(5),HX(6),FX6,FX7) 
      PL(12) = FX10 
      PR1 = 6 
      PR2 = 12
      GO TO 800 
* 
*     ACCUMULATE 2550 NAM LINE STATISTICS SUMMARY, AND
*     FORM PRINT LINE FOR LINE STATISTICS DETAIL. 
  360 SUMFE(I,1)=SUMFE(I,1)+OR(SHIFT(FX4,30),FX6) 
      SUMFE(I,2) = SUMFE(I,2) + OR(SHIFT(FX7,30),FX10)
      SUMFE3 = OR(SHIFT(FX11,15),FX12)
      SUMFE(I,3) = SUMFE(I,3) + OR(SHIFT(FX8,30),SUMFE3)
* 
      IF (RCFD.NE.2HON) GO TO 900 
      DO 370   IZ = 1,18,1
      IF((HX(IZ).AND.MASK(12)).EQ.L"00") HX(IZ) = L"  " 
  370 CONTINUE                                                           R2D2550
* 
*         CCP DIVIDES CHARACTERS TRANSMITTED AND RECEIVED BY 32.
*         THIS WILL RESTORE THE DETAIL DATA TO ITS ACTUAL COUNT.
* 
      FX7 = FX7 * 32
      FX8 = FX8 * 32
      IF (RTY.EQ.O"060") GO TO 380
* 
*         OUTPUT BLOCK AND CHARACTER COUNTS IN DECIMAL
* 
      CALL LOAPR(4,HX(1),HX(2),HX(3),FX4,FX6,FX7,FX8,SP)
      PR1 = 5 
      PR2 = 10
      GO TO 800 
  380 CONTINUE
* 
*         OUTPUT BLOCK AND CHARACTER COUNTS IN DECIMAL
* 
      CALL LOAPR(2,HX(1),FX4,FX6,FX7,FX8,FX10,FX11,FX12)
      PR1 = 12
      PR2 = 9 
  
*          TEST FOR STATISTICS DETAIL PARAMETER (ST ) 
  
  800 IF (FROG(8) .EQ. 3HOFF) GO TO 900 
      CALL PRINT35 (PR1,PR2)
  
  900 RETURN
      END 
      SUBROUTINE HEX3 (N1,N2,N3,P)
* 
*          DESCRIPTION
*          ------------ 
*          CONVERT HEX DATA TO DISPLAY FOR PRINT. 
* 
*          DATA AREAS 
*           ----------- 
*          N1,N2,N3, = INPUT WORDS, CONTAINING 4 CHARACTERS 
*          OF HEX DATA, TO BE CONVERTED TO BCD. 
*          BCD WORDS ARE PACKED, LEFT-JUSTIFIED, 2 CHAR PER WORD, 
*          IN ARRAY (HX), STARTING AT LOCATION (P). 
* 
      IMPLICIT INTEGER (F-Z)
* 
*CALL HPACOM2 
  
      DIMENSION HDAT(16)
      DATA (HDAT(I),I=1,16) / O"33",O"34",O"35",O"36",O"37",O"40",O"41",
     .                        O"42",O"43",O"44",01,02,03,04,05,06 / 
  
      KP = 0
      HX(P) = SHIFT (N1,48) 
      HX(P+1) = SHIFT(N1,56)
      HX(P+2) = SHIFT(N2,48)
      HX(P+3) = SHIFT(N2,56)
      HX(P+4) = SHIFT(N3,48)
      HX(P+5) = SHIFT(N3,56)
      P2 = P + 5
      DO 200 K = P,P2 
           DO 100 KK = 1,2
               TW = HX(K) .AND. O"17" 
               KP = KP .OR. HDAT(TW+1)
               HX(K) = SHIFT(HX(K),4) 
               KP = SHIFT(KP,6) 
  100          CONTINUE 
           HX(K) = SHIFT(KP,42) 
           KP = 0 
  200      CONTINUE 
  
      RETURN
      END 
      SUBROUTINE PRINT35 (LT,NW)
* 
**        DESCRIPTION 
*         ----------- 
*         SUBROUTINE PRINT35 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. 
* 
*         DATA AREAS SHARED - 
*         LINE, RCF, PL(32) 
* 
*         EXIT CONDITIONS 
*         --------------- 
*         DATA AREAS SHARED - 
*         LINE
* 
*         DATA AREAS
*         ----------
*         LINE   - (1)/COMMON BLOCK/NUMBER OF LINES PRINTED SO FAR
*                  IN A PAGE. 
*         IFORM  - (12,60)/COMMON BLOCK/AREA TO HOLD THE EXECUTION
*                  TIME FORMAT STATEMENTS FOR VARIOUS REPORTS.
*                  COLUMN NUMBER SELECTS A SET OF FORMAT STATEMENT
*                  AND THE MAXIMUN LENGTH OF ONE STATEMENT IS 12
*                  WORDS LONG.
*         PL - (32)/COMMON BLOCK/AREA TO HOLD A LIST OF PRINT 
*                  DATA LOADED BY THE CALLING ROUTINE.
*         CALLS 
*         ----- 
*         HEADER - INITIALIZE EACH PAGE OF VARIOUS REPORTS. 
*         PRHEAD - PRINT SUB-HEADER IN VARIOUS REPORT.
* 
*CALL,HPACOM1 
  
*          * * * * * * * * * * * * * * * * * * * * * *
      DIMENSION IFORM(6,17), FMT(6) 
* 
  
      DATA (IFORM(I,1),I=1,2,1) /10H(A10)     ,10H          / 
  
  
*        FORMAT FOR 2550 MODE-4 TERMINAL STATISTICS SUMMARY 
      DATA (IFORM(I,2),I=1,2,1) /10H(10X,A2,2X,10H,5I12.0)  / 
  
*          2550 NPU STATISTICS SUMMARY
      DATA (IFORM(I,3),I=1,3,1) / 
     .10H(7X,2I10.0,10H,1X,2I8.0,,10H1X,4I8.0) /
  
*         2550 NAM - NPU STATISTICS DETAIL
      DATA (IFORM(I,4),I=1,3,1) / 
     .10H(1X,A8,2A1,10H,11(I5.0,1,10HX))       /
  
*        FORMATS FOR 2550 STATISTICS
  
*         FORMAT FOR 2550 NAM - LINE STATISTIC DETAIL 
      DATA (IFORM(I,5),I=1,4,1) / 
     .10H(1X,A8,2A1,10H,3X,2(A2,6,10HX),A2,2X,5,10H(I7.0,1X))/
  
*         FORMAT FOR 2550 NAM -MODE-4 TERMINAL DETAIL 
      DATA (IFORM(I,6),I=1,5,1) / 
     .10H(1X,A8,2A1,10H,6(2X,A2,1,10HX),2X,I7.0,10H,2(1X,I7.0,
     .10H)         /
  
*         FORMAT FOR 2550 NAM - NPU STATISTIC SUMMARY 
      DATA (IFORM(I,7),I=1,2,1) /10H(1X,11I7.0,10H)         / 
  
*          FORMAT FOR 2550 MULTI-HOST NPU STATISTICS SUMMARY
      DATA (IFORM(I,8),I=1,5,1) / 
     .10H(6X,I3.0,2,10HX,3(1X,I6.,10H0),I8.0,3(,10H1X,I8.0),I,10H8.0) 
     .   /
  
*          FORMAT FOR 2550 MULTI-HOST NPU STATISTICS DETAIL 
      DATA (IFORM(I,9),I=1,5,1) / 
     .10H(1X,A8,1X,,10HI3.0,2X,3(,10H1X,I6.0),I,10H8.0,3(1X,I,10H8.0),I8
     ..0)/
  
*                FORMAT FOR  2550 DETAILS MESSAGES
      DATA (IFORM(I,10),I=1,5,1) /
     .10H(1X,3A10,3,10HA1,2(A2,1X,10H,A2,10X),2,10HX,A2,12X,A,10H2) 
     .   /
  
      DATA (IFORM(I,11),I=1,5,1) /
     .10H(1X,3A10,3,10HA1,A2,1X,A,10H2,9X,2A10,,10H2X,A2,8X,A,10H2) 
     .   /
  
*          FORMAT FOR 2550 MULTI-HOST LINE/TRUNK STATISTICS DETAIL
      DATA (IFORM(I,12),I=1,6,1) /
     .10H(1X,A8,4X,,10HA2,2X,2(I5,10H.0,4X),I7.,10H0,2X,I7.0,,
     .10H2(4X,I5.0),10H,2X,I5.0) /
* 
*           FORMATS FOR 2550  STATISTICS DETAIL REPORT
      DATA (IFORM(I,13),I=1,3,1) /10H(1X,A8,3(5,10HX,A2)7X,5(,
     .10H2A2,5X))    /
* 
      DATA (IFORM(I,14),I=1,4,1) /
     .10H(1X,A8,3X,,10H6(2A2,5X),,10H2X,2A2,5X,,10H2A2)      /
  
* 
*       FORMAT FOR 2550 LINE STATISTIC SUMMARY
      DATA (IFORM(I,15),I=1,6,1) /
     .10H(3X,A2,2(1,10HX,I9.0),2(,10H1X,I11.0),,10H1X,I9.0,3X,10H,I5.0,2
     .X,I,10H5.0      )/
* 
*      FORMAT FOR 2550 LINE STATISTIC DETAIL
      DATA (IFORM(I,16),I=1,3,1) / 10H(1X,A8,3X,,10HA2,4(5X,2A, 
     .10H2))         /
* 
*          FORMAT FOR PIP AND NPU/COUPLER INTERFACE ERRORS
* 
      DATA (IFORM(I,17),I=1,4,1)/ 
     .10H(1X,3A10,3,10HA1,2(A2,1X,10H,A2,10X),3,10HX,A1,A2)  /
* 
*       **********************************************
* 
  
*      IF CURRENT DETAILS - NOT TO BE PRINTED - RETURN. 
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 50 
  
      LINE=LINE+1 
      IF (LINE .LE. PLF) GO TO 5
      CALL HEADER 
      CALL XOVCAP ('PHEAD35',1,0) 
      CALL UOVCAP ('PHEAD35') 
  
    5 DO 8  J = 1,6 
       FMT(J)=IFORM(J,LT) 
  8   CONTINUE
      PRINT FMT, (PL(J),J=1,NW) 
* 
  
   50 DO 60 K=1,NW
   60 PL(K) = 1H
* 
      RETURN
      END 
      SUBROUTINE UCHEK35
**
*        UCHEK35  - BASIC ROUTINE USED BY DETAIL PROCESSORS, TO 
*                   TEST FOR CHANGES IN MESSAGE THAT WILL AFFECT
*                   SUBHEADER PRINT.  WHEN CHANGE OCCURS, MODIFY
*                   POINTERS AND CALL PHEAD35 FOR NEW HEADING 
*                   OF DEVICE AND MESSAGE TYPE. 
* 
*        ENTRY CONDITIONS 
*       ------------------- 
*       CURRENT MESSAGE IN PROCESS IS IN (IFLD) 
*     - FOR START OF REPORT, (SVEST) FLAG HAS BEEN PRESET,
*       BY ANALYZER ROUTINES, TO ( -1) TO INDICATE
*       ORIGINAL ENTRY. 
* 
*       EXIT CONDITIONS 
*       ----------------
*       CURRENT APPLICABLE SUB-HEADERS ARE PRINTED , AND FLAGS
*       FOR TEST CHANGES IN NEXT MESSAGE ARE SAVED. 
* 
*       DATA AREAS
*        -----------
*         SVEST - SAVE EST IN PROCESS 
*        SVMTY - SAVE MESSAGE TYPE IN PROCESS 
* 
* 
*CALL HPACOM1 
*CALL,HPACOM2 
  
      CALL DREPT3 
  
*       JUMP IF NOT INITIAL ENTRY FOR THIS UNIT 
      IF (FLAGS(12) .NE. 7HNEW-EST) GO TO 200 
      FLAGS(12) = 1H
      SVMTY = IFLD(FMTY)
      PDATE = SEBUF(21) 
      CALL HEADER 
      CALL FLIP3
      CALL XOVCAP ('PHEAD35',1,0) 
      CALL UOVCAP ('PHEAD35') 
      GO TO 500 
  
*         TEST CHANGE IN MESSAGE TYPE 
  200 IF (SVMTY .NE. MTY) GO TO 300 
*       TEST CHANGE OF DATE 
      IF (PDATE .EQ. SEBUF(23)) GO TO 500 
  300 PDATE = SEBUF(23) 
      HDATA(3) = PDATE
      SVMTY = MTY 
*     SET SUBHEADER CONTROLS
      IF ((LINE+5).GE.PLF)  GO TO 400 
      CALL FLIP3
      CALL XOVCAP ('PHEAD35',2,0) 
      CALL UOVCAP ('PHEAD35') 
      GO TO 500                                                         000880
                                                                        000890
  400 CONTINUE
      CALL HEADER                                                       000910
      CALL FLIP3                                                        000920
      CALL XOVCAP ('PHEAD35',1,0) 
      CALL UOVCAP ('PHEAD35') 
  500 RETURN
      END 
          IDENT  INTEM35
          LCC OVCAP.
          ENTRY  INTEM35
OVLNO     SET    5
          USE    /LINK/ 
LINKET    BSS    1
LINKEM    BSS    1
          USE    *
  
INTEM35   BSS    1
          SX6    ET 
          SA6    LINKET 
          SX6    EC 
          SA6    LINKEM 
          JP     INTEM35
          EJECT 
*CALL COMHPAERT 
          END 
      OVCAP.
      SUBROUTINE PHEAD35 (ST) 
* 
**     PHEAD35 PRINTS HEADINGS FOR REPORTS DEVELOPED
*      BY OVERLAY 3,5 ROUTINES. 
* 
*      ENTRY CONDITIONS 
*      -----------------
*      HCF(5) - ARRAY PRESET WITH POINTERS 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 (5) ARE SCANNED 
*               SEQUENTIALLY AND SEVERAL SUBHEADERS MAY BE PRINTED. 
*          ST = CONTAINS POINTER TO WHERE ROUTINE WILL
*               START SCANN OF (HCF) FLAG.
* 
*       EXIT CONDITIONS 
*       ----------------
*          SUB-HEADER PRINT COMPLETED.
*          ENCOUNTER (HCF) FLAG CONTAINING ( 0 ). 
* 
*       DATA AREAS
*       --------------------
*        HCF(5) - FLAGS TO CONTROL SUB-HEADER PRINT 
*        HDATA(5) = 5 WORDS OF (A) FORMAT DATA USED IN PRINT. 
*        HDATA(3) = CURRENT DATE FOR PRINT
*        TYPEST = CURRENT EST 
*        TYPEDT = CURRENT DEVICE TYPE 
*        TYPEID = CURRENT DEVICE NOMENCLATURE (DISK,TAPE,ETC.)
*        TYPORD = CURRENT ORDINAL TYPE (EST/HUID) 
*        ORD = CURRENT ORDINAL (WHEN APPLICABLE)
* 
*         CALLED BY 
*         --------- 
*         PRINT35 - AUTOMATICALLY, WHEN NEW PAGE IS INITIATED.
*         OVERLAY 3,5  ROUTINES THAT NEED TO CALL SUBHEADER.
* 
*CALL HPACOM1 
*CALL HPACOM2 
  
*         TEST IF PRINT FLAG IS OFF 
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 900
  
      P = ST
      GO TO 5 
    2 LINE = LINE + 1 
    5 LINE = LINE + 1 
  
    6 IF (P .GT. 5) GO TO 900 
      PTR = HCF(P)
      IF ((PTR .LE. 0) .OR. (PTR .GT.50)) GO TO 900 
      P = P + 1 
  
*        JUMP TO PRINT AS CALLED BY POINTER 
      GO TO (10,20,900,900,900,900,900,900,900,100,110,900,900,900,900
     .,    900,900,900,900,900,900,900,900,900,900,900,900,900,900,900
     .,    310,900,900,340,900,360,370,380,390,900,900,900,900,900,450
     .,    460,470,480,490,500) PTR 
* 
   10 PRINT 11, TYPORD,TYPDT,ORD,TYPID
   11 FORMAT (4H DT ,A4,6H - ** ,R2,1X,A4,3H **,
     .4X,3H.. ,A10,'  DATA  ..')
      GO TO 6 
  
*          DATE / MESSAGE TYPE HEADER 
   20 IF ((IFLD(FDT).EQ.R"NP").OR.(IFLD(FDT).EQ.R"NM").OR.
     .    (IFLD(FDT).EQ.R"ND"))    GO TO 25 
      PRINT 21,HDATA(3),IFLD(FCHAN),IFLD(FCON),IFLD(FUN), 
     .SEBUF(27),SEBUF(28),SEBUF(29) 
   21 FORMAT (///,1X,A10,5H CH- ,O2,5H EQ- ,O2,5H UN- ,O3,2X, 
     .12HMSG-TYPE >>>,2A10,A8,2H<<,/) 
      GO TO 27
  
   25 PRINT 26,HDATA(3),IFLD(FEST),SEBUF(27),SEBUF(28),SEBUF(29)
   26 FORMAT (///,1X,A10,7H NODE- ,I3,14X,
     .12HMSG-TYPE >>>,2A10,A8,2H<<,/) 
   27 LINE = LINE + 3 
      GO TO 2 
* 
*     SUB-HEADER FOR 2550 LINE STATISTICS SUMMARY 
  100 PRINT 102 
  102 FORMAT (5X,'... 2550 - LINE STATISTICS SUMMARY ...',//
     .,9X,'BLOCKS    BLOCKS  CHARACTERS  CHARACTERS    BLOCKS  ', 
     .'CONNECTIONS REJCD',/,2X,'PORT  XMITTED    RECVED     ',
     .'XMITTED      RECVED    IN-ERROR     PAD    A-A') 
      GO TO 810 
  
  110 IF (MTY .EQ. O"510") PRINT 113
      IF (MTY .EQ. O"511") PRINT 112
      IF (MTY .EQ. O"512") PRINT 114
      GO TO 790 
  
  112 FORMAT ('   TIME    PORT   BLOCKS    BLOCKS   CHARS   CHARS', 
     ./,'                 XMITTED    RECVD   XMITTED   RECVD')
  
  113 FORMAT ('   TIME     MESSG   MESSG   BLOCKS   BLOCKS',
     .4X,' MODE-4   TELETYPE   HOST   MESSAGES',/,10X,'  GEN .',
     .'   PROC.  BD-ADDR   BD-FORMAT  INP-REG  INP-REG',
     .'    FAIL  OUT-OF-SEQ') 
  
  114 FORMAT ('   TIME     PORT   CONTR-   TERM-   BLOCKS   BLOCKS',
     .'   BLOCKS   BLOCKS   UPLINE-BRK',/,19X,'OLLER    INAL  ',
     .' XMITTED   RECVD   RE-XMIT  W-ERRORS  FROM-ERRORS')
  
  310 PRINT 311 
  311 FORMAT (66X,'CONFIG.   DEVICE  ',/, 
     .2X,'TIME     REPORTED-BY',9X,'PORT/SUBPORT',
     .4X,'ERROR COUNT        ORDINAL   ORDINAL')
      GO TO 790 
  
  340 PRINT 341 
  341 FORMAT (2X,'TIME',7X,'REPORTED-BY',7X,'ERR-TYPE'
     .,4X,'LOOP-ERR-CT    LOST-DATA-CT    ALARM-CT')
      GO TO 800 
  
  360 PRINT 361 
  361 FORMAT (2X,'TIME     REPORTED-BY',9X, 
     .'CPLR/STATUS-WD...ORDER-WD    LAST-STATE    NEXT-STATE')
      GO TO 800 
  
  370 PRINT 371 
  371 FORMAT (2X,'TIME     REPORTED-BY',9X,'CLK-STAT')
      GO TO 800 
  
  380 PRINT 381 
  381 FORMAT (47X,'ERROR COUNT/',7X,'CLUSTER   TERMINAL',/, 
     .2X,'TIME     REPORTED-BY',9X,'PORT/SUBPORT',
     .4X,'CAUSED-BREAK       ADDRESS   ADDRESS')
      GO TO 790 
  
  390 PRINT 391 
  391 FORMAT (2X,'TIME     REPORTED-BY',9X,'PORT/SUBPORT',
     .4X,'CLA-STAT.   NODE ID/REG CONTENT') 
      GO TO 800 
* 
*     SUB-HEADER FOR 2550 MODE 4 TERMINAL STATISTICS SUMMARY. 
  450 PRINT 452 
  452 FORMAT (5X,'... 2550 -     TERMINAL STATISTICS SUMMARY    ...',// 
     .,20X,'BLOCKS',6X,'BLOCKS',6X,'BLOCKS',6X,'BLOCKS',5X, 
     .'UPLINE-BRK',/,9X,'PORT      XMITTED      RECVD      RE-XMIT' 
     .,'    WITH-ERROR   FROM-ERROR') 
      GO TO 810 
* 
*     SUB-HEADER FOR 2550 NPU STATISTICS SUMMARY. 
  460 PRINT 462 
  462 FORMAT (5X,'... 2550 - NPU STATISTICS SUMMARY ...',// 
     .,9X,'MESSAGES  MESSAGES    B L O C K S    INP-REG-STARTED'
     .,'    HOST   MSG.',/,13X,'GEN.     PROC.  BD-ADDR'
     .,'  BD-FMT    MODE4  TELTYP   FAIL. OUT-SEQ') 
      GO TO 810 
* 
*     SUB-HEADER FOR 2550 NAM AND I5 STATISTICS DETAIL REPORT 
  470 IF (MTY .EQ. O"510") PRINT 472
      IF (MTY .EQ. O"511") PRINT 473
      IF (MTY .EQ. O"512") PRINT 474
      GO TO 820 
* 
  472 FORMAT (12X,'MSG   MSG   RECV  ADDR  FMT    NO   LVL3  LVL2  ', 
     .'LVL1  LVL0  PROTCL',/,3X,'TIME     GEN   PROC  BAD   BAD   ',
     .'BAD   -----------REGLTN-----------  TIMOUT') 
  
  473 FORMAT (20X,'SUB   LNK-RMT  BLOCKS  BLOCKS   CHAR.  CHAR.   ',
     .'BLOCKS',/, 
     .3X,'TIME     PORT    PORT    NODE   XMITTD   RECVD  XMITTD',
     .'  RECVD   IN-ERR') 
  
  474 FORMAT (17X,'SUB  CLSR TERM TERM CNECT  BLKS     BLKS   BLKS' 
     ./,3X,'TIME     PORT PORT ADDR ADDR TYPE NUMBER',
     .' XMITTED  RECVD  IN-ERR')
* 
*     SUB-HEADER FOR 2550 NAM AND I5 NPU STATISTICS SUMMARY.
  480 PRINT 481 
  481 FORMAT (5X,'... 2550 - NPU STATISTICS SUMMARY ...',// 
     .,4X,'MSG    MSG  BD-MSG   BLKS   BLKS    NO   LVL-3', 
     .'  LVL-2  LVL-1  LVL-0  PROTCL',/,
     .4X,'GEN.  PROC.  RECVD BD-ADR BD-FMT  RGLTN  RGLTN  RGLTN', 
     .'  RGLTN  RGLTN TIMEOUT') 
      GO TO 820 
* 
*     SUB-HEADER FOR 2550 MULTI-HOST STATISTICS DETAIL REPORTS
  490 IF (MTY .EQ. O"510") PRINT 492
      IF (MTY .EQ. O"511") PRINT 494
      LINE = LINE + 2 
      GO TO 820 
  
  492 FORMAT (10X,'CPU  AVE NUM LOWEST % TIME AVE CHAR',
     .' AVE CHAR NUM ACTV NUM ACTV NUM OF',/, 
     .'   TIME   UTL  OF DATA REGLTN IN NPU PER SEC  ', 
     .'PER SEC  BAT OUTP BAT INP CONSOLE',/,
     .9X,'1/10% BUFFER  LEVEL  REGLTN RECVD    SENT', 
     .5X,'DEVICE   DEVICE   DEVICE')
  
  494 FORMAT(17X,'BLOCKS   BLOCKS     CHAR.    CHAR.    BLOCKS   ', 
     .'CONNECTION REJCD',/,3X,'TIME     PORT XMITTD    ', 
     .'RECVD    XMITTD    RECVD    IN-ERR     PAD    A-A')
* 
*     SUB-HEADER FOR 2550 MULTI-HOST NPU STATISTICS SUMMARY 
  500 PRINT 501 
  501 FORMAT (5X,'... 2550 - NPU STATISTICS SUMMARY...',//
     .6X,'CPU  AVE NUM LOWEST % TIME AVE CHAR', 
     .' AVE CHAR NUM ACTV NUM ACTV NUM OF',/, 
     .6X,'UTL  OF DATA REGLTN IN NPU PER SEC  ',
     .'PER SEC  BAT OUTP BAT INP CONSOLE',/,
     .5X,'1/10% BUFFER  LEVEL  REGLTN RECVD    SENT', 
     .5X,'DEVICE   DEVICE   DEVICE')
      GO TO 810 
  
  790 LINE = LINE + 1 
  800 PRINT 821 
      GO TO 5 
  
  810 LINE = LINE + 1 
  820 PRINT 821 
  821 FORMAT (1X,7(10H----------),9H---------)
      GO TO 2 
  
  900 CONTINUE
      RETURN
      END 
