Network Working Group
Request for Comments: 110
NIC: 5809
J. Winett
MIT Lincoln Laboratory
25 March 1971

Conventions for Using an IBM 2741 Terminal as a User Console for

Access to Network Server Hosts

   Disclaimer

This material has not been reviewed for public release and is intended only for use with the ARPA network. It should not be quoted or cited in any publication not related to the ARPA network.

TO: NIC
FROM: Joel M. Winnet (LL)
SUBJECT: Conventions for Using an IBM 2741 Terminal as a User Console for Access to Network Server Hosts

An IBM terminal can be used to key in 92 different codes. These include 88 graphics plus the 4 controls SP, BS, HT, and NL. Each of these have defined ASCII codes except the cent graphic ([1]) and the New Line Control (NL). When the NL character is keyed, the program receiving the keyboard input can translate this signal into the appropriate line end signal for the host which is being used. That is, to a NL, CR, or LF code whichever is appropriate. There are 7 other ASCII graphic characters ( {, }, [, ], ^, \, `) and 31 other ASCII controls which cannot be keyed on a 2741 terminal. A convention must be established so that all 128 ASCII codes can be keyed from a 2741 terminal. This requires that one character be chosen as an escape (or prefix) character which,a together with following characters, can be converted into any desired ASCII code. In addition to this escape character, there are three other functions which are usually indicated by the typing of a single character key. These are:

a) character delete -- to cause this character and the preceding

character in the input line to be deleted.

b) line delete -- to cause this character and all previous

characters in the current input line to be deleted.

c) logical line end -- to cause all characters keyed after the

last logical line end character or last NL character up to this character to be considered as one logical line with this character being treated as if the NL key were entered. Characters following the logical line end character up to another logical line end character or a NL character are used for form another input line.

Since characters keyed are normally sent to the Server Host, a method must be defined to allow characters keyed to be interpreted by the user program. A system escape character can be used for this purpose. On character at a time systems, the characters keyed between two system escape characters can be interpreted by the user program. On line at a time systems, characters keyed after the system escape character and up to and including a NL character can be interpreted by the user program. Lines interpreted by the user program are not sent to the Server Host.

For those host systems which require use of the INS or INR network control commands, a method must be defined for causing these commands to be sent. These can be sent on a command to the user program either after keying the system escape character or through the use of the 'attention' button on a 2741 terminal. This choice will depend on the characteristics of the terminal user's operating system.

Other commands to the user program might be to:

a) suppress typeout of received messages

b) restore typeout of received messages

c) direct received message to a disk file

d) direct keyed input to a disk file

e) abort the user program

The following characters are recommended for the special functions listed above:

      1. character escape $NOT [1]
      2. system escape     |
      3. character delete  @
      4. line delete      $CENT [1]
      5. logical linend    #

For the 7 ASCII graphics not on a 2741 terminal, the following character escape and graphic pairs are recommended:

      $NOT <           to translate to         [
      $NOT >           to translate to         ]
      $NOT (           to translate to         {
      $NOT )           to translate to         }
      $NOT "           to translate to         ^
      $NOT /           to translate to         \
      $NOT '           to translate to         `

To permit the special function characters to be keyed, the following character escape and graphic pairs are recommended:

      $NOT -           to translate to        $NOT
      $NOT :           to translate to         |
      $NOT ,           to translate to         @
      $NOT .           to translate to        $CENT
      $NOT =           to translate to         #

To key in the ASCII control codes, it is recommended that the character escape followed by two letters be used to specify a control code. These two letters are derived from the mnemonic name of the ASCII control function and are as follows:

      $NOT AC          to translate to         ACK             X'06'
      $NOT BE          to translate to         BEL             X'07'
      $NOT BS          to translate to         BS              X'08'
      $NOT CA          to translate to         CAN             X'18'
      $NOT CR          to translate to         CR              X'0D'
      $NOT D1          to translate to         DC1             X'11'
      $NOT D2          to translate to         DC2             X'12'
      $NOT D3          to translate to         DC3             X'13'
      $NOT D4          to translate to         DC4             X'14'
      $NOT DE          to translate to         DEL             X'7F'
      $NOT DL          to translate to         DLE             X'10'
      $NOT EM          to translate to         EM              X'19'
      $NOT EN          to translate to         ENQ             X'05'
      $NOT EO          to translate to         EOT             X'04'
      $NOT ES          to translate to         ESC             X'1B'
      $NOT EB          to translate to         ETB             X'17'
      $NOT EX          to translate to         ETX             X'03'
      $NOT FF          to translate to         FF              X'0C'
      $NOT FS          to translate to         FS              X'1C'
      $NOT GS          to translate to         GS              X'1D'
      $NOT HT          to translate to         HT              X'09'
      $NOT LF          to translate to         LF              X'0A'
      $NOT NA          to translate to         NAK             X'15'
      $NOT NU          to translate to         NUL             X'00'
      $NOT RS          to translate to         RS              X'1E'
      $NOT SI          to translate to         SI              X'0F'
      $NOT SO          to translate to         SO              X'0E'
      $NOT SH          to translate to         SOH             X'01'
      $NOT SP          to translate to         SP              X'20'
      $NOT ST          to translate to         STX             X'02'
      $NOT SU          to translate to         SUB             X'1A'
      $NOT SY          to translate to         SYN             X'16
      $NOT US          to translate to         US              X'1F'
      $NOT VT          to translate to         VT              X'0B'

Note that the controls SP, BS, and HT can be specified using the character escape character or directly by keying the appropriate key on a 2741 terminal.

Endnote

[1] The following identifiers are substituted for graphics not in

ASCII:

         $CENT   Cent sign
         $NOT    Logical NOT ("bent bar")

See the PDF version of this document for graphics that cannot be represented in ASCII format.

[This RFC was put into machine readable form for entry]

[into the online RFC archives by Lorrie Shiota, 10/02]