
  CONST
    dsc$mrt_ct_undefined = 0,
    dsc$mrt_ct_cyber_170_channel = 1,
    dsc$mrt_ct_isi_channel = 2,
    dsc$mrt_ct_isi_dma_channel = 3,
    dsc$mrt_ct_not_defined_4 = 4,
    dsc$mrt_ct_170_dma_esm_enhanced = 5,
    dsc$mrt_ct_ipi_dma_dual_port = 6,
    dsc$mrt_ct_ipi_dma_enhanced = 7,
    dsc$mrt_ct_pp_communication = 10(8),
    dsc$mrt_ct_scsi_interface = 11(8),
    dsc$mrt_ct_ici_s0 = 12(8),
    dsc$mrt_ct_ipi_s0 = 13(8),
    dsc$mrt_ct_not_defined_14b = 14(8),
    dsc$mrt_ct_not_defined_15b = 15(8),
    dsc$mrt_ct_not_defined_16b = 16(8),
    dsc$mrt_ct_channel_not_present = 17(8);

  TYPE
    dst$mrt_entry = RECORD
      CASE dst$mrt_entry_id OF
      = dsc$mrt_id_iou =
        iou: dst$mrt_iou_info,
      = dsc$mrt_id_central_memory =
        memory: dst$mrt_central_memory_info,
      = dsc$mrt_id_processor =
        processor: dst$mrt_processor_info,
      = dsc$mrt_id_mainframe =
        mainframe: dst$mrt_mainframe_info,
      = dsc$mrt_id_flpp =
        flpp: dst$mrt_flpp_info,
      = dsc$mrt_id_display_console =
        console: dst$mrt_display_console_info,
      = dsc$mrt_id_global_processor =
        global_processor: dst$mrt_global_processor_info,
      = dsc$mrt_id_clock_data =
        clock_data: dst$mrt_clock_data_info,
      = dsc$mrt_id_model_dependent =
        model_dependent: dst$mrt_model_dependent_info,
      = dsc$mrt_id_page_map =
        page_map: dst$mrt_page_map_info,
      CASEND,
    RECEND;

  TYPE
    dst$mrt_element_number = 0 .. 1,

    dst$mrt_entry_id = (dsc$mrt_id_iou, dsc$mrt_id_central_memory, dsc$mrt_id_processor,
          dsc$mrt_id_mainframe, dsc$mrt_id_flpp, dsc$mrt_id_display_console, dsc$mrt_id_global_processor,
          dsc$mrt_id_reserved, dsc$mrt_id_clock_data, dsc$mrt_id_model_dependent, dsc$mrt_id_page_map);

  TYPE
    dst$mrt_clock_data = PACKED RECORD
      pad: 0 .. 0ff(16),
      tens: 0 .. 0f(16),
      units: 0 .. 0f(16),
    RECEND,

    dst$mrt_cm_address = RECORD
      upper: 0 .. 0ffff(16),
      lower: 0 .. 0ffff(16),
    RECEND,

    dst$mrt_descriptor_id = PACKED RECORD
      size: 0 .. 1777(8),
      id: 0 .. 77(8),
    RECEND,

    dst$mrt_element_id = PACKED RECORD
      pad: 0 .. 0ff(16),
      element_number: 0 .. 0ff(16),
      model_number: 0 .. 0fff(16),
      serial_number_upper: 0 .. 0f(16),
      serial_number_lower: 0 .. 0ffff(16),
    RECEND,

    dst$mrt_frc_data = PACKED RECORD
      pad: 0 .. 0f(16),
      frc_bits: 0 .. 0fff(16),
    RECEND,

    dst$mrt_maintenance_channel_id = PACKED RECORD
      pad: 0 .. 0f(16),
      port: 0 .. 0f(16),
      unused: 0 .. 0f(16),
      type_code: 0 .. 0f(16),
    RECEND,

    dst$mrt_pak_descriptor = PACKED RECORD
      pad_1: 0 .. 3,
      data_00_31_secded_0_3: 0 .. 77(8),
      pad_2: 0 .. 3,
      data_32_63_secded_4_7: 0 .. 77(8),
    RECEND,

    dst$mrt_pp_barrel_vector = PACKED ARRAY [0 .. 15] OF boolean,

    dst$mrt_pp_vector = RECORD
      barrel_0: dst$mrt_pp_barrel_vector,
      barrel_1: dst$mrt_pp_barrel_vector,
    RECEND,

    dst$mrt_two_channel_descriptor = PACKED RECORD
      pad: 0 .. 0f(16),
      a_channel_on_off_status: boolean,
      a_channel_up_down_status: boolean,
      a_channel_type: 0 .. 0f(16),
      b_channel_on_off_status: boolean,
      b_channel_up_down_status: boolean,
      b_channel_type: 0 .. 0f(16),
    RECEND;

  TYPE
    dst$mrt_iou_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      element_id: dst$mrt_element_id,
      maintenance_channel_id: dst$mrt_maintenance_channel_id,
      pps_physically_missing: dst$mrt_pp_vector,
      pps_logically_missing: dst$mrt_pp_vector,
      pad_1: 0 .. 17777(8),
      pp_speed: 0 .. 7(8),
      channels_missing: dst$mrt_pp_vector,
      physically_present_cio_pps: dst$mrt_pp_barrel_vector,
      logically_present_cio_pps: dst$mrt_pp_barrel_vector,
      physically_present_cio_channels: dst$mrt_pp_barrel_vector,
      pps_0_11b_up_down_status: dst$mrt_pp_barrel_vector,
      pps_20b_31b_up_down_status: dst$mrt_pp_barrel_vector,
      i4_cio_pps_up_down_status: dst$mrt_pp_barrel_vector,
      channel_00_01: dst$mrt_two_channel_descriptor,
      channel_02_03: dst$mrt_two_channel_descriptor,
      channel_04_05: dst$mrt_two_channel_descriptor,
      channel_06_07: dst$mrt_two_channel_descriptor,
      channel_10b_11b: dst$mrt_two_channel_descriptor,
      channel_12b_13b: dst$mrt_two_channel_descriptor,
      channel_20b_21b: dst$mrt_two_channel_descriptor,
      channel_22b_23b: dst$mrt_two_channel_descriptor,
      channel_24b_25b: dst$mrt_two_channel_descriptor,
      channel_26b_27b: dst$mrt_two_channel_descriptor,
      channel_30b_31b: dst$mrt_two_channel_descriptor,
      channel_32b_33b: dst$mrt_two_channel_descriptor,
      i4_cio_channel_00_01: dst$mrt_two_channel_descriptor,
      i4_cio_channel_02_03: dst$mrt_two_channel_descriptor,
      i4_cio_channel_04_05: dst$mrt_two_channel_descriptor,
      i4_cio_channel_06_07: dst$mrt_two_channel_descriptor,
      i4_cio_channel_10b_11b: dst$mrt_two_channel_descriptor,
      pad_2: 0 .. 77777(8),
      iou_logically_off: boolean,
    RECEND,

    dst$mrt_central_memory_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      element_id: dst$mrt_element_id,
      maintenance_channel_id: dst$mrt_maintenance_channel_id,
      physical_central_memory_size: dst$mrt_cm_address,
      logical_central_memory_size: dst$mrt_cm_address,
      physical_cm_size_in_octal: 0 .. 0ffff(16),
      scd_reference_address: dst$mrt_cm_address,
      scd_offset: 0 .. 0ffff(16),
      operator_entered_cm_size: dst$mrt_cm_address,
    RECEND,

    dst$mrt_processor_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      element_id: dst$mrt_element_id,
      maintenance_channel_id: dst$mrt_maintenance_channel_id,
      pad_1: 0 .. 0f(16),
      page_map_0: boolean,
      page_map_1: boolean,
      page_map_2: boolean,
      page_map_3: boolean,
      segment_map_0: boolean,
      segment_map_1: boolean,
      pad_2: boolean,
      physical_16k_cache_installed: boolean,
      cache_set_0: boolean,
      cache_set_1: boolean,
      cache_set_2: boolean,
      cache_set_3: boolean,
      pad_3: 0 .. 17777(8),
      memory_port: 0 .. 7(8),
      pad_4: 0 .. 0f(16),
      processor_down_by_operator: boolean,
      processor_down_by_system: boolean,
      processor_down: boolean,
      ibs_degrade_bits: 0 .. 0f(16),
      vector_option_not_installed: boolean,
      pmf_not_present: boolean,
      c180_not_supported: boolean,
      c170_not_supported: boolean,
      processor_off: boolean,
      pad_5: 0 .. 0f(16),
      divide_net_result_select: 0 .. 3,
      divide_net_select_for_compare: 0 .. 3,
      disable_maintenance_mode: boolean,
      pad_6: 0 .. 3,
      no_cpu0_instruction_stack: boolean,
      no_cmu_capability: boolean,
      no_cej_mej_capability: boolean,
      cpu1_not_available: boolean,
      cpu0_not_available: boolean,
      pad_7: 0 .. 77777(8),
      micro_code_not_loaded: boolean,
      micro_code_name_char_1_2: 0 .. 0ffff(16),
      micro_code_name_char_3_4: 0 .. 0ffff(16),
      micro_code_name_char_5_6: 0 .. 0ffff(16),
      micro_code_name_char_7: 0 .. 0ffff(16),
      reserved_1: 0 .. 0ffff(16),
      micro_code_date_char_1_2: 0 .. 0ffff(16),
      micro_code_date_char_3_4: 0 .. 0ffff(16),
      micro_code_date_char_5_6: 0 .. 0ffff(16),
      reserved_2: 0 .. 0ffff(16),
      reserved_3: 0 .. 0ffff(16),
    RECEND,

    dst$mrt_mainframe_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      pad_1: 0 .. 0f(16),
      r_register_not_available: boolean,
      reserved_1: boolean,
      not_c176: boolean,
      not_c170_700: boolean,
      interlock_register_not_present: boolean,
      scr_not_present: boolean,
      reserved_2: 0 .. 77(8),
      pad_2: 0 .. 77777(8),
      no_cem_pem: boolean,
      physical_processors_present: 0 .. 0ffff(16),
      undefined: 0 .. 0ffff(16),
      char_1_2_ei_date: 0 .. 0ffff(16),
      char_3_4_ei_date: 0 .. 0ffff(16),
      char_5_6_ei_date: 0 .. 0ffff(16),
      ei_level: 0 .. 0ffff(16),
    RECEND,

    dst$mrt_flpp_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      pad_1: 0 .. 77777(8),
      flpp_15_physically_present: boolean,
      flpp_1_14_physically_present: 0 .. 0ffff(16),
      pad_2: 0 .. 77777(8),
      flpp_15_logically_on: boolean,
      flpp_1_14_logically_on: 0 .. 0ffff(16),
    RECEND,

    dst$mrt_display_console_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      display_type: 0 .. 0ffff(16),
      port_flags: 0 .. 0ffff(16),
      mdd_pp: 0 .. 1777(8),
      scd_pp: 0 .. 77(8),
      pad: 0 .. 0fff(16),
      mdd_to_be_loaded: boolean,
      mdd_port_number: 0 .. 7(8),
    RECEND,

    dst$mrt_global_processor_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      micro_long_init: 0 .. 0ffff(16),
      micro_idle_short_init: 0 .. 0ffff(16),
      micro_mps_heo: 0 .. 0ffff(16),
      micro_jps_heo: 0 .. 0ffff(16),
      micro_mps_hei: 0 .. 0ffff(16),
      micro_jps_hei: 0 .. 0ffff(16),
      pad_1: 0 .. 0f(16),
      pte: 0 .. 7(8),
      ptl: 0 .. 1ff(16),
      page_size: 0 .. 0ffff(16),
      pad_2: 0 .. 3fff(16),
      secure_analysis: boolean,
      state_flag: boolean,
      pad_3: 0 .. 0f(16),
      carriage_return: boolean,
      disk_deadstart: boolean,
      tape_deadstart: boolean,
      pad_4: 0 .. 7,
      cip_channel: 0 .. 77(8),
      cip_disk_type: 0 .. 0ff(16),
      cip_disk_unit: 0 .. 0ff(16),
      reserved_1: 0 .. 0ffff(16),
      reserved_2: 0 .. 0ffff(16),
      reserved_3: 0 .. 0ffff(16),
      reserved_4: 0 .. 0ffff(16),
    RECEND,

    dst$mrt_clock_data_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      years: dst$mrt_clock_data,
      months: dst$mrt_clock_data,
      days: dst$mrt_clock_data,
      hours: dst$mrt_clock_data,
      minutes: dst$mrt_clock_data,
      seconds: dst$mrt_clock_data,
      frc_bits_4_15: dst$mrt_frc_data,
      frc_bits_16_27: dst$mrt_frc_data,
      frc_bits_28_39: dst$mrt_frc_data,
      frc_bits_40_51: dst$mrt_frc_data,
      frc_bits_52_63: dst$mrt_frc_data,
    RECEND,

    dst$mrt_model_dependent_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      pad_1: 0 ..177(8),
      mega_bit_cm_chip_installed: boolean,
      pad_2: 0 .. 77(8),
      upper_cm_banks_degraded: boolean,
      lower_cm_banks_degraded: boolean,
      pak_3_bank_0: dst$mrt_pak_descriptor,
      pak_3_bank_1: dst$mrt_pak_descriptor,
      pak_3_bank_2: dst$mrt_pak_descriptor,
      pak_3_bank_3: dst$mrt_pak_descriptor,
      pak_1_bank_0: dst$mrt_pak_descriptor,
      pak_1_bank_1: dst$mrt_pak_descriptor,
      pak_1_bank_2: dst$mrt_pak_descriptor,
      pak_1_bank_3: dst$mrt_pak_descriptor,
      pak_4_bank_0: dst$mrt_pak_descriptor,
      pak_4_bank_1: dst$mrt_pak_descriptor,
      pak_4_bank_2: dst$mrt_pak_descriptor,
      pak_4_bank_3: dst$mrt_pak_descriptor,
      pak_2_bank_0: dst$mrt_pak_descriptor,
      pak_2_bank_1: dst$mrt_pak_descriptor,
      pak_2_bank_2: dst$mrt_pak_descriptor,
      pak_2_bank_3: dst$mrt_pak_descriptor,
    RECEND,

    dst$mrt_page_map_info = PACKED RECORD
      descriptor_id: dst$mrt_descriptor_id,
      element_id: dst$mrt_element_id,
      pad_1: 0 .. 0f(16),
      subsystem_id: 0 .. 0f(16),
      pad_2: 0 .. 0f(16),
      subsystem_number: 0 .. 0f(16),
      pad_3: 0 .. 0fff(16),
      page_map_degrade_bits: 0 .. 0f(16),
    RECEND;
