RFC 747

Recent extensions to the SUPDUP Protocol

πŸ“… published March 1978, from ietf

RFC 747: Recent Extensions to the SUPDUP Protocol πŸŽ€

okay so the title block is giving πŸ“‹βœ¨ Author: Mark Crispin (SU-AI). Date: 21 March 1978. Updates: RFC 734. See also: RFC 746. the doc doesn't list a category or say what it obsoletes, so there's nothing to add there πŸ€·β€β™€οΈ here's the original header, verbatim:

NWG/RFC# 747                                         MRC 21-MAR-78 44015

NIC number is 44015, network working group, all the official stuff πŸ’…


The Tea β˜•

okay bestie, so some extensions have been made to SUPDUP πŸ¦‹ RFC 746 by Richard Stallman documented the SUPDUP graphics extension 🎨. on top of that, a TTYOPT bit got added and two more variables got added to the initial negotiation 🌸 this RFC covers what changed from RFC 734, but skips the detailed stuff in RFC 746 (that's its own whole thing πŸ’–).

these extensions are upward and downward compatible and totally optional ✨ for most SUPDUP user and server programs, RFC 734 is still an adequate description of the protocol πŸ™ˆ BUT, 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 better 🫢 this is lowkey the main thing you want to do!!

Why There's No New 734 Yet πŸ€”

since the changes are compatible and optional, and since SUPDUP is still actively being worked on, the author chose to issue this update RFC instead of an updated version of RFC 734 🌈 a new 734 will come out once the protocol stabilizes again πŸ’œ

The New Variables πŸ‘‘

three new variables have been added to the initial negotiation 🧚 in order they are SMARTS, ISPEED, and OSPEED. because of that, the count should now be -10,,0, or in octal, 777770000000 πŸ’… the math is giving ✨

SMARTS 🧠

SMARTS says what "smarts" the terminal has, which is basically its graphics capabilities 🎨 same as the TTYOPT variable, a bit being true means the terminal has that option πŸ¦‹ RFC 746 explains this variable and the SUPDUP graphics option in full detail πŸ“– if the graphics extension isn't being used, SMARTS should be set to 0 πŸ“

ISPEED and OSPEED ⚑

these two are the input and output baud rates of the terminal, if they're known πŸ’– 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 πŸŽ€

the %TPPRN TTYOPT bit (value 0,,200) has been added ✨ this bit tells the system to swap parentheses with square brackets on input πŸ”₯ this is super useful for LISP users on a terminal where parentheses are a shift character but square brackets aren't πŸ’€πŸ™Œ the bit is normally off, and servers are not required to implement it 🫢

aside: "not required" means servers can skip it. no pressure, no drama πŸ’…

                                  -1-

and that's the tea πŸ΅πŸ’œ periodt.

πŸ“¦ where this page comes from