
"   TERMINAL DEFINITION FILE FOR DIGITAL VT100 TERMINAL                        "

"   VARIABLES                                                                 "
prefix              = (1B(16) 5B(16))
clear_all_tabs      = (prefix '3g')
clear_home          = (prefix 32(16) 4A(16))
cursor_key_mode_cur = (prefix '?1l')
enter_ansi_mode     = (1B(16) 3C(16))
g0_us_characters    = (1B(16) 28(16) 42(16))
g1_graphics_chars   = (1B(16) 29(16) 30(16))
home                = (prefix 'H')
home_cursor         = (prefix 48(16))
keypad_applic_mode  = (1B(16) 3D(16))
keypad_numeric_mode = (1B(16) 3E(16))
normal_attributes   = (prefix 'm')
select_g0_char_set  = (0F(16))
set_to_24x80        = (prefix 3F(16) 33(16) 6C(16))
set_to_24x132       = (prefix 3F(16) 33(16) 68(16))
start_alternate     = (prefix 31(16) 6D(16))
start_inverse       = (prefix '7' 6D(16))
start_underline     = (prefix 34(16) 6D(16))
stop_alternate      = normal_attributes
stop_inverse        = normal_attributes
stop_underline      = normal_attributes
wraparound_off      = (prefix '?7l')
wraparound_on       = (prefix '?7h')
redo_set_line_mode  = (enter_ansi_mode clear_all_tabs ..
     g0_us_characters g1_graphics_chars select_g0_char_set ..
     keypad_numeric_mode wraparound_on cursor_key_mode_cur)

"   MODEL NAME AND COMMUNICATION TYPE                                         "
model_name          value = 'DEC_VT100_HOST_ECHO'
communications      type  = asynch
application_string  name='DRIVER_PROCEDURE' out= 'tup$host_echo_vt100_boot'
application_string  name  = 'vt100_scrolling'  out = 'true'

"   END OF INFORMATION SPECIFICATION                                          "
end_of_information  in    = (0)

"   CURSOR POSITIONING INFORMATION                                            "
cursor_pos_encoding      bias  = (1)   type = ansi_cursor
cursor_pos_column_first  value = FALSE
cursor_pos_column_length value = (0)
cursor_pos_row_length    value = (0)
cursor_pos_begin         out   = (prefix)
cursor_pos_second        out   = (3B(16))
cursor_pos_third         out   = (48(16))

"   CURSOR MOVEMENT INFORMATION                                               "
cursor_home              inout = (prefix 48(16))
cursor_up                inout = (prefix 41(16))
cursor_down              inout = (prefix 42(16))
cursor_left              inout = (prefix 44(16))
cursor_right             inout = (prefix 43(16))

"   CURSOR BEHAVIOR (for cursor movement keys)                                "
move_past_right          type  = wrap_adjacent_next
move_past_left           type  = wrap_adjacent_next
move_past_top            type  = stop_next
move_past_bottom         type  = stop_next

"   CURSOR BEHAVIOR (for character keys)                                      "
char_past_right          type  = wrap_adjacent_next
char_past_left           type  = wrap_adjacent_next
char_past_last_position  type  = wrap_adjacent_next

"   TERMINAL ATTRIBUTES                                                       "
clears_when_change_size  value = TRUE
function_key_leaves_mark value = 1
has_hidden               value = TRUE
has_protect              value = TRUE
home_at_top              value = TRUE
multiple_sizes           value = TRUE
tabs_to_home             value = FALSE
tabs_to_tab_stops        value = TRUE
tabs_to_unprotected      value = TRUE
automatic_tabbing        value = TRUE

"   SCREEN SIZES                                                              "
set_size       rows = 24 columns = 80   out = (set_to_24x80)
set_size       rows = 24 columns = 132  out = (set_to_24x132)

"   SCREEN AND LINE MODE TRANSITION                                           "
set_screen_mode     out = (enter_ansi_mode clear_all_tabs ..
     g0_us_characters g1_graphics_chars select_g0_char_set ..
     keypad_applic_mode wraparound_off cursor_key_mode_cur)


set_line_mode     out = (enter_ansi_mode clear_all_tabs ..
     g0_us_characters g1_graphics_chars select_g0_char_set ..
     keypad_numeric_mode wraparound_on cursor_key_mode_cur ..
     normal_attributes clear_home home_cursor)

application_string name= 'REDO_SET_LINE_MODE' out=(redo_set_line_mode)


"   TERMINAL CAPABILITIES                                                     "
delete_char         in    = (prefix 50(16))
delete_line_bol     in    = (prefix 4D(16))
erase_end_of_line   inout = (prefix 4B(16))
erase_line_stay     inout = (prefix 32(16) 4B(16))
erase_page_home     inout = (clear_home home)
insert_line_bol     in    = (prefix 4C(16))
insert_mode_begin   in    = (prefix 34(16) 68(16))
insert_mode_end     in    = (prefix 34(16) 6C(16))
tab_forward         inout = (09(16))
tab_clear_all       inout = (clear_all_tabs)
tab_set             inout = (1B(16) 48(16))

"   MISCELLANEOUS TERMINAL SEQUENCES                                          "
bell_nak            out = (bel)
backspace           in = bs

"   PROGRAMMABLE FUNCTION KEY INPUT INFORMATION                               "
f1        in = (1B(16) 4F(16) 71(16)) label='k1'
f2        in = (1B(16) 4F(16) 72(16)) label='k2'
f3        in = (1B(16) 4F(16) 73(16)) label='k3'
f4        in = (1B(16) 4F(16) 74(16)) label='k4'
f5        in = (1B(16) 4F(16) 75(16)) label='k5'
f6        in = (1B(16) 4F(16) 76(16)) label='k6'
f7        in = (1B(16) 4F(16) 77(16)) label='k7'
f8        in = (1B(16) 4F(16) 78(16)) label='k8'
f9        in = (1B(16) 4F(16) 79(16)) label='k9'
f10       in = ()
f11       in = ()
f12       in = ()
f13       in = ()
f14       in = ()
f15       in = ()
f16       in = ()
f1_s      in = (1B(16) 4F(16) 50(16)) label='p1'
f2_s      in = (1B(16) 4F(16) 51(16)) label='p2'
f3_s      in = (1B(16) 4F(16) 52(16)) label='p3'
f4_s      in = (1B(16) 4F(16) 53(16)) label='p4'
f5_s      in = (1B(16) 4F(16) 6D(16)) label='k-'
f6_s      in = (1B(16) 4F(16) 6C(16)) label='k,'
f7_s      in = (1B(16) 4F(16) 4D(16)) label='ke'
f8_s      in = (1B(16) 4F(16) 6E(16)) label='k.'
f9_s      in = (1B(16) 4F(16) 70(16)) label='k0'
f10_s     in = ()
f11_s     in = ()
f12_s     in = ()
f13_s     in = ()
f14_s     in = ()
f15_s     in = ()
f16_s     in = ()

"   CDC STANDARD FUNCTION KEY INPUT INFORMATION                               "
next      in = 13            label = 'RETURN'
next_s    in = ()
bkw       in = (1B(16) 4F(16) 71(16)) label='F1'
fwd       in = (1B(16) 4F(16) 72(16)) label='F2'
back      in = (1B(16) 4F(16) 73(16)) label='F3'
help      in = (1B(16) 4F(16) 74(16)) label='F4'
undo      in = (1B(16) 4F(16) 75(16)) label='F5'
stop      in = (1B(16) 4F(16) 76(16)) label='F6'
bkw_s     in = (1B(16) 4F(16) 50(16)) label='  Shift-F1'
fwd_s     in = (1B(16) 4F(16) 51(16)) label='  Shift-F2'
undo_s    in = (1B(16) 4F(16) 6D(16)) label='  Shift-F5'
stop_s    in = (1B(16) 4F(16) 6C(16)) label='  Shift-F6'
down      in = ()
down_s    in = ()
up        in = ()
up_s      in = ()
edit      in = ()
edit_s    in = ()
data      in = ()
data_s    in = ()

"   TERMINAL VIDEO ATTRIBUTES                                                 "
alt_begin           out = (start_alternate)
alt_end             out = (stop_alternate)
blink_begin         out = (prefix 35(16) 6D(16))
blink_end           out = normal_attributes
hidden_begin        out = ()
hidden_end          out = ()
inverse_begin       out = (start_inverse)
inverse_end         out = (stop_inverse)
underline_begin     out = (start_underline)
underline_end       out = (stop_underline)

"   LOGICAL ATTRIBUTE SPECIFICATIONS                                          "
error_begin         out = (start_inverse)
error_end           out = (stop_inverse)
input_text_begin    out = (start_underline)
input_text_end      out = (stop_underline)
italic_begin        out = (start_inverse)
italic_end          out = (stop_inverse)

"   LINE DRAWING CHARACTER SPECIFICATION                                      "
ld_fine_begin            out = 0E(16)
ld_fine_end              out = 0F(16)
ld_fine_horizontal       out = 71(16)
ld_fine_vertical         out = 78(16)
ld_fine_upper_left       out = 6C(16)
ld_fine_upper_right      out = 6B(16)
ld_fine_lower_left       out = 6D(16)
ld_fine_lower_right      out = 6A(16)
ld_fine_up_t             out = 77(16)
ld_fine_down_t           out = 76(16)
ld_fine_left_t           out = 74(16)
ld_fine_right_t          out = 75(16)
ld_fine_cross            out = 6E(16)
ld_medium_begin          out = (0E(16) start_alternate)
ld_medium_end            out = (0F(16) stop_alternate)
ld_medium_horizontal     out = 71(16)
ld_medium_vertical       out = 78(16)
ld_medium_upper_left     out = 6C(16)
ld_medium_upper_right    out = 6B(16)
ld_medium_lower_left     out = 6D(16)
ld_medium_lower_right    out = 6A(16)
ld_medium_up_t           out = 77(16)
ld_medium_down_t         out = 76(16)
ld_medium_left_t         out = 74(16)
ld_medium_right_t        out = 75(16)
ld_medium_cross          out = 6E(16)
ld_bold_begin            out = (start_inverse)
ld_bold_end              out = (stop_inverse)
ld_bold_horizontal       out = (' ')
ld_bold_vertical         out = (' ')
ld_bold_upper_left       out = (' ')
ld_bold_upper_right      out = (' ')
ld_bold_lower_left       out = (' ')
ld_bold_lower_right      out = (' ')
ld_bold_up_t             out = (' ')
ld_bold_down_t           out = (' ')
ld_bold_left_t           out = (' ')
ld_bold_right_t          out = (' ')
ld_bold_cross            out = (' ')

"   DEFAULT KEY DEFINITIONS FOR THE FULL SCREEN EDITOR                        "

"   END OF TERMINAL DEFINITION FILE FOR DIGITAL VT100 TERMINAL               "
