SUBROUTINE DRAW_FOREIGN_SCALERS C---------------------------------------------------------------------- C- C- Purpose and Methods : Draw the foreground of the Foreign Scaler monitoring C- screen. C- C- Inputs : common block variables C- Outputs : screen output C- Controls: none C- C- Created 27-OCT-1992 Philippe Laurens, Steven Klocek C- C---------------------------------------------------------------------- IMPLICIT NONE INCLUDE 'LV1_MPOOL.PARAMS' INCLUDE 'LV1_MPOOL_DERIVED.INC' INCLUDE 'LV1_MPOOL_FORMATTED.INC' INCLUDE 'LV1_MON_SCREEN.INC' INCLUDE 'LV1_MON_SCREEN_LAYOUT.PARAMS' C INTEGER COUNT, SCALER CHARACTER*132 BUFFER C INTEGER HFFFFFFF, HFFF PARAMETER (HFFFFFFF = 268435455) PARAMETER (HFFF = 4095) C INTEGER HIGH12, LOW28, UNITS, GIGAS, TRULEN, ISTAT C HIGH12(UNITS,GIGAS) & = IOR(ISHFT(UNITS, -28), ISHFT(GIGAS, 2)) LOW28(UNITS) = IAND(UNITS, HFFFFFFF) C C Draw the top portion of the screen C CALL DRAW_GLOBAL_HEADER C C Print info on the scalers C 100 FORMAT( I2, ' |', Z3.3, Z7.7, '|', F9.2, '|', A) C DO COUNT = 1, NUM_FOREIGN_SCALERS SCALER = FOREIGN_SCALERS_INDICES(COUNT) UNITS = FOREIGN_SCALER_DATA(SCALER).FS_COUNT GIGAS = FOREIGN_SCALER_DATA(SCALER).FS_COUNT_GIGAS WRITE (BUFFER, 100, IOSTAT=ISTAT) SCALER, & HIGH12(UNITS,GIGAS), LOW28(UNITS), & FOREIGN_SCALER_DATA(SCALER).FS_RATE, & FOREIGN_SCALERS_NAMES(COUNT) CALL PUT_STRING(PS_LIST, 0, BUFFER(1:TRULEN(BUFFER))) END DO C CALL PUT_LIST(FS_TABLE_L, 1) CALL MOVE_CURSOR_SAFE CALL FLUSH_SCREEN C---------------------------------------------------------------------- 999 RETURN END