
"   TERMINAL DEFINITION FILE FOR TELEVIDEO 950 TERMINAL                       "

"   VARIABLES                                                                 "
    ATTRIBUTES_OCCUPY_SPACE = (ESC 'F0')
    CLEAR_PROTECT           = (ESC '(' ESC '''')
    PAGE_BASED_ATTRIBUTES   = (ESC '[=2h')
    HOME                    = (RS)
    NORMAL                  = (ESC 'G0')
    LOCK_KEYBOARD           = (ESC '#')
"   PROTECT_MODE_OFF        = (ESC '''')
"   PROTECT_MODE_ON         = (ESC '&')
    SELECT_FUNCTION_KEY_SET = (ESC '[7;0v')
"   STOP_PROTECT            = (ESC '(')
"   START_PROTECT           = (ESC ')')
    START_INVISIBLE         = (ESC 'G1')
    START_BLINK             = (ESC 'G2')
    START_INVERSE           = (ESC 'G4')
    START_UNDERLINE         = (ESC 'G8')
    TV950_MODE              = (ESC '[10;1v')
    UNLOCK_KEYBOARD         = (ESC '"')
    WRAP_ON                 = (ESC '[=7h')
    WRAP_OFF                = (ESC '[=7l')
    DEFIN1                  = (ESC '~2' TV950_MODE SELECT_FUNCTION_KEY_SET)
    DEFIN2                  = (ATTRIBUTES_OCCUPY_SPACE PAGE_BASED_ATTRIBUTES)
    DEFINIT                 = (DEFIN1 DEFIN2)

"   MODEL NAME AND COMMUNICATION TYPE                                         "
    model_name          value = 'TV_950'
    communications      type  = asynch
    function_key_leaves_mark  value = 1
    application_string name='driver_procedure' out='tup$bootstrap_tv950_driver'
    application_string  name='insert_delete_scrolling' out='true'

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

"   CURSOR POSITIONING INFORMATION                                            "
    cursor_pos_encoding      bias  = (20(16))    type = binary_cursor
    cursor_pos_column_first  value = FALSE
    cursor_pos_column_length value = (0)
    cursor_pos_begin         out   = (ESC '=')

"   CURSOR MOVEMENT INFORMATION                                               "
    cursor_home              inout = (HOME)         label='Home'
    cursor_up                inout = (VT)
    cursor_down              inout = (SYN)
    cursor_left              inout = (BS)
    cursor_right             inout = (FF)

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

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

    AUTOMATIC_TABBING               value = FALSE  "unprotect"
    CLEARS_WHEN_CHANGE_SIZE         value = FALSE
    FUNCTION_KEY_LEAVES_MARK        value = 0
    HAS_HIDDEN                      value = TRUE
    HAS_PROTECT                     value = FALSE
    HOME_AT_TOP                     value = TRUE
    MULTIPLE_SIZES                  value = FALSE
    TABS_TO_HOME                    value = FALSE
    TABS_TO_TAB_STOPS               value = TRUE
    TABS_TO_UNPROTECTED             value = FALSE
    TYPE_AHEAD                      value = TRUE

"   SCREEN SIZE                                                               "
    set_size                 rows = 24 columns = 80

"   SCREEN AND LINE MODE TRANSITION                                           "
    screen_init         out = (DEFINIT)
    set_screen_mode     out = ()
    set_line_mode       out = (UNLOCK_KEYBOARD)

"   TERMINAL CAPABILITIES                                                     "
    delete_char         inout = (ESC 'W')          label='char del'
    delete_line_bol     inout = (ESC 'R')          label='line del'
    erase_end_of_line   inout = (ESC 'T')          label='line erase'
    erase_page_home     inout = (SUB)              label='page erase'
    erase_unprotected   inout = (ESC '+')
    erase_end_of_page   inout = (ESC 'Y')
    insert_char         inout = (ESC 'Q')          label='char ins'
    insert_line_bol     inout = (ESC 'E')          label='line ins'
    insert_mode_begin   inout = (ESC 'q')          label='insert begin'
    insert_mode_end     inout = (ESC 'r')
    tab_backward        inout = (ESC 'I')
    tab_clear_all       inout = (ESC '3')
    tab_set             inout = (ESC '1')
    tab_forward         inout = (HT)

"   VIDEO ATTRIBUTES AND SEQUENCES                                            "
    bell_nak                 out = (BEL)
    output_begin             out = ("wrap_off")
    output_end               out = ("wrap_on")
    display_begin            out = ()
    display_end              out = ()
    output_text_begin        out = ()
    output_text_end          out = ()
    title_begin              out = ()
    title_end                out = ()
    message_begin            out = ()
    message_end              out = ()
    italic_begin             out = (start_inverse)
    italic_end               out = (normal)
    input_text_begin         out = (START_UNDERLINE)
    input_text_end           out = (NORMAL)
    alt_begin                out = ()
    alt_end                  out = ()
    blink_begin              out = (START_BLINK)
    blink_end                out = (NORMAL)
    hidden_begin             out = (START_INVISIBLE)
    hidden_end               out = (NORMAL)
    inverse_begin            out = (START_INVERSE)
    inverse_end              out = (NORMAL)
    underline_begin          out = (START_UNDERLINE)
    underline_end            out = (NORMAL)
    error_begin              out = (START_INVERSE)
    error_end                out = (NORMAL)

"   PROGRAMMABLE FUNCTION KEY INPUT INFORMATION                               "
    next      in = 13           label='return'

    f1        in = (SOH '@')    label='f1'
    f2        in = (SOH 'A')    label='f2'
    f3        in = (SOH 'B')    label='f3'
    f4        in = (SOH 'C')    label='f4'
    f5        in = (SOH 'D')    label='f5'
    f6        in = (SOH 'E')    label='f6'
    f7        in = (SOH 'F')    label='f7'
    f8        in = (SOH 'G')    label='f8'
    f9        in = (SOH 'H')    label='f9'
    f10       in = (SOH 'I')    label='10'
    f11       in = (SOH 'J')    label='11'
    f1_s      in = (SOH '`')    label='  f1'
    f2_s      in = (SOH 'a')    label='  f2'
    f3_s      in = (SOH 'b')    label='  f3'
    f4_s      in = (SOH 'c')    label='  f4'
    f5_s      in = (SOH 'd')    label='  f5'
    f6_s      in = (SOH 'e')    label='  f6'
    f7_s      in = (SOH 'f')    label='  f7'
    f8_s      in = (SOH 'g')    label='  f8'
    f9_s      in = (SOH 'h')    label='  f9'
    f10_s     in = (SOH 'i')    label='  10'
    f11_s     in = (SOH 'j')    label='  11'

    bkw       in = (SOH '@')    label='f1'
    fwd       in = (SOH 'A')    label='f2'
    back      in = (SOH 'B')    label='f3'
    help      in = (SOH 'C')    label='f4'
    undo      in = (SOH 'D')    label='f5'
    stop      in = (SOH 'E')    label='f6'
    bkw_s     in = (SOH '`')    label='  f1'
    fwd_s     in = (SOH 'a')    label='  f2'
    undo_s    in = (SOH 'd')    label='  f5'
    stop_s    in = (SOH 'e')    label='  f6'

"   LINE DRAWING CHARACTER SPECIFICATION                                      "
    ld_fine_begin            out = (ESC '$')
    ld_fine_end              out = (ESC '%')
    ld_fine_horizontal       out = ('K')
    ld_fine_vertical         out = ('J')
    ld_fine_upper_left       out = ('F')
    ld_fine_upper_right      out = ('G')
    ld_fine_lower_left       out = ('E')
    ld_fine_lower_right      out = ('H')
    ld_fine_up_t             out = ('N')
    ld_fine_down_t           out = ('O')
    ld_fine_left_t           out = ('M')
    ld_fine_right_t          out = ('L')
    ld_fine_cross            out = ('I')
    ld_medium_begin          out = (ESC '$')
    ld_medium_end            out = (ESC '%')
    ld_medium_horizontal     out = ('K')
    ld_medium_vertical       out = ('J')
    ld_medium_upper_left     out = ('F')
    ld_medium_upper_right    out = ('G')
    ld_medium_lower_left     out = ('E')
    ld_medium_lower_right    out = ('H')
    ld_medium_up_t           out = ('N')
    ld_medium_down_t         out = ('O')
    ld_medium_left_t         out = ('M')
    ld_medium_right_t        out = ('L')
    ld_medium_cross          out = ('I')
    ld_bold_begin            out = (ESC '$')
    ld_bold_end              out = (ESC '%')
    ld_bold_horizontal       out = ('K')
    ld_bold_vertical         out = ('J')
    ld_bold_upper_left       out = ('F')
    ld_bold_upper_right      out = ('G')
    ld_bold_lower_left       out = ('E')
    ld_bold_lower_right      out = ('H')
    ld_bold_up_t             out = ('N')
    ld_bold_down_t           out = ('O')
    ld_bold_left_t           out = ('M')
    ld_bold_right_t          out = ('L')
    ld_bold_cross            out = ('I')

"   DEFAULT KEY DEFINITIONS FOR THE FULL SCREEN EDITOR                        "

"   END OF TERMINAL DEFINITION FILE FOR TELEVIDEO 950T TERMINAL              "
