Network Working Group Mark Crispin
Request for Comments 747 SU-AI
NIC 44015 21 March 1978
Updates: RFC 734. See also RFC 746.
Recent Extensions to the SUPDUP Protocol
Recently, some extensions have been made to the SUPDUP protocol. RFC
746, by Richard Stallman, documented the SUPDUP graphics extension.
In addition, a TTYOPT bit has been added and two more variables have
been added to the initial negotiation. This RFC describes the changes
from RFC 734, but excludes the detailed information in RFC 746.
These extensions are upwards and downwards compatable, and are
completely optional. For most SUPDUP user and server programs,
RFC 734 remains an adequate description of the protocol.
However, it is suggested that if the console's line speed is
known, the user SUPDUP should be modified to send the new ISPEED and
OSPEED variables (sending 0 for SMARTS if the graphics extension is
not to be used) so the server can handle buffering for the terminal
Since these changes are compatable and optional, and since the SUPDUP
protocol is being actively worked on at the present time, I have elected
to issue this update RFC rather than an updated version of RFC
734. An updated 734 will be issued when the protocol stabilizes again.
Three new variables have been added to the initial negotiation. In
order, they are SMARTS, ISPEED, and OSPEED. Consequently, the count
should now be -10,,0, or, in octal, 777770000000.
The SMARTS variable specifies what "smarts" (in general, what graphics
capabilities) the terminal has. Like the TTYOPT variable, a bit being
true implies that the terminal has this option. RFC 746 describes this
variable and the SUPDUP graphics option in complete detail. If
the graphics extension is not to be used, SMARTS should be set to 0.
The ISPEED and OSPEED variables are respectively the input and output
baud rates of the terminal, if known. For example, a 150./1200.
baud terminal would have an ISPEED of 150. and an OSPEED of 1200. A
speed of zero means the line speed is indeterminate.
The %TPPRN TTYOPT bit (value 0,,200) has been added. This bit
specifies that the system should swap parenthesis with square brackets
on input. This is often desirable for LISP users who are using a
terminal which has parenthesis as a shift character but not
square brackets. This bit is normally off and servers are not required
to implement it.