81

Aside from the character code (which I'll get to later) about the only "protocol" has to do with character framing, until very late in Teletype machines' timeline. Quick summary: The signal from a sending teletype to a receiving one is a single line, usually a current loop (two wires), which is always in either "marking" (current flowing) or "spacing" (...


50

Which OS was the first to use Ctrl-S and Ctrl-Q on the console for pause and continue? TL;DR; It's been developed independently of anything one might call an OS (*1). It's (nowadays) called Software Flow Control and has been around since the early days of computers using ASCII I/O, as the Model 33 Teletype used the device control codes DC1/DC3 (CTRL-Q/CTRL-...


40

The cursor is needed on a CRT raster display because otherwise it's hard to know where the next character will appear. On a teletype or teleprinter, you know where the next character will be printed because that's where the print head is positioned. The full-block cursor depends on the ability of your video hardware to do reverse video (otherwise the ...


29

Terminals fall into two broad categories: Character-at-a-time Line- or Screen-at-a-time The VT100 is a character-at-a-time terminal, which means that when you press a key on the keyboard, a character gets sent to the computer. If you have "local echo" enabled, then as soon as the character is sent it is also immediately displayed (often done using a ...


27

Different terminals didn’t (and don’t) use different kernel-level drivers. In Unix-style systems, the kernel does provide some terminal-related features, called line disciplines and the TTY layer which you mention; there is typically at least a raw line discipline (which doesn’t perform any translation), and a cooked line discipline (which provides more-or-...


25

Under normal circumstances, there is no difference (RETURN and ENTER will send CR or CR LF as configured by the New Line Mode). However, there is a mode called "keypad application mode" where all the keys on the numeric keypad send their own distinct control sequences which are different from the rest of the keyboard. From the VT-100 User Guide: ...


22

First OS is hard to say. The codes go back to the 1960s with the Teletype Model 33. I have a hunch the original usage was not part of an operating system but at a lower level. In later times, certainly by the 1980s, there were plenty of devices that functioned with software flow control at the hardware level. Microcomputer operating systems that supported ...


20

TL;DR: Until Unix v7, if you wanted to be able to use a serial port for terminal logins, it had to have a name starting with "/dev/tty". At the time the first Unix systems were developed, it was common to use a Teletype as a terminal. Early models of the DEC PDP-11 computer came with a Teletype intended to be used as the console terminal. "tty" is an ...


20

In 1967, a magazine article, cited a few times in the decade afterwards, said: The cursor (entry marker) identifies the next display position to be entered. The cursor continually blinks three to five times per second, which permits quick visual location by the operator. — F. H. Reagan Jr. (February 1967). "Viewing the CRT Display Terminals". Data ...


19

There is no limit, at least not by definition. And more so, not something across all terminals ever made. Most prominent nowadays (*1) is the so-called ANSI sequences standard - understood by next to all terminals built after ~1978. Trying to be as device agnostic as possible, it implies no upper limits by itself. The structure is built (*2) around an ...


15

It was nothing to do with an OS as such. Ctrl-S and Ctrl-Q are simply XON and XOFF in ASCII. These codes are used in serial communications to pause and resume sending. With hardware handshake on RS232 and similar communications standards used the RTS (RequestTo Send) & CTS (Clear To Send) handshake lines. Many comms links were, and still are, three ...


13

Per this site about using one with Linux: it's a current loop — i.e. presence or absence of current indicates high or low level; it can be cheaply interfaced to RS232; the host will need to speak Baudot code, as per pndc's answer that predates this one; code entries should be transmitted and received with one start bit and two stop bits, no parity (so, 5N2);...


13

Each terminal gets its own set of processes: first getty, which sets the terminal link up and waits for a login, then replaces itself with login to handle the actual login, and finally login runs the user’s shell. So yes, each terminal gets its own shell (once a user has logged in). This doesn’t happen automatically, it’s set up by init which uses the ...


13

It seems to me that a smart terminal would need a microprocessor, so I would expect them to start showing up in the early seventies, Not really, as discrete, specialized processors could do the job even before that. When did they arrive on the scene? TL;DR: Gradually between 1964 and 1971 As with every 'first' question, the answer is rather vague and ...


12

Historically a computer terminal or modem would be the most common device connected to a serial port. Thus, the default file name for the device reflects its most common usage, similarly to /dev/lpN for parallel ports, where "lp" stands for "line printer". For convenience, the device files corresponding to the (sub)set of serial lines dedicated to user ...


12

Does this mean that everything must be already set up for the user login on this port? Like a TTY driver already listening on the port, the login process already running, Exactly. In every system I've worked with, a port is assigned at or before boot time to be a terminal (input/output TTY-style session), printer, modem (as an auxiliary port - if it is for ...


11

Apologies for a non-definitive answer; while implementing a CP/M emulator for the Mac I find a fairly even split in the terminals that software available via Walnut Creek, etc, was configured for out of the box between the ADM-3a, VT-52, Hazeltine 1500 and Osborne control sets. If you're looking to do a really thorough job, I found that simple statistical ...


10

This was not done by a “driver” at the OS level as you are thinking of it. In Unix, there were drivers that dealt with the RS232 interface and these were surfaced as /dev/tty* devices and dealt with things like speed, echo, etc. As for escape sequences controlling the display of the terminal, that is not done at the “driver” level as you are thinking of it....


9

I can only provide my memories of a dozen or so years of programming for these DEC terminals. The 'new' character at the right hand end of the screen is inverse video. If I recall correctly, on the VT320 onwards there was a configuration setting to change this, such that it would appear not inverted.


9

"It depends". I'm answering this in the context of DEC timesharing systems, since that's the natural habitat of a DEC VT100. There's a hardware device such as a DZ11 terminal multiplexer (8 lines) that controls terminal lines by some physical protocol, such as RS232 or 20mA current loop. The physical protocol is a matter for the hardware. But the OS needs ...


8

There are two general ways to get terminals connected to a PDP-11: via Line Adapters or Multiplexors that provided direct terminal connections via a network link (using network protocols like Telnet, LAT, etc.) Terminal servers like the DECservers (but others made terminal servers as well, e.g. Xyplex) use method #2 to allow locally-attached terminals to ...


8

The short answer is yes. You can change the baud rate of a VT100 talking to a PDP-11. On the VT100, this is simply done using the Set Up facility. This is entered using the Set Up key on the top left of the VT100 keyboard. This takes the VT100 offline and into a configuration mode. Then press 5 to take you to a screen where you can change the baud rate ...


8

Teletypes use the five bit Baudot code. Although the machines themselves are obsolete, Baudot code still lives on in the form of RTTY which is still used by radio amateurs.


7

Sorry to debunk that myth. All information I'm aware of looks like it isn't a Zhe, but a made up symbol. Several sources, including IBM manuals do show quite different shapes. Sources pro Zhe: A) IBM 1620 CPU Model 1 Manual by IBM (found here) features a glyph much like a Zhe: Sources contrary Zhe: B) IBM 1620 Input Output Units Manual by IBM (found ...


7

Partial answer: General notes: ESC [ is "control sequence introducer", CSI. ESC O is "single-shift-3", SS3. DEC VT200 terminals sent CSI n~ for function keys F6 onwards, where n = the F-key number plus 11 decimal. F1 to F5 were local only, but it is a reasonable extension to have them send similar sequences with n = 12 to 16. n = 11 to 15 seems like an ...


6

You should take a look at the Macintosh Programmer’s Workshop: it provides a C compiler (within a development environment) and a command-line window. I don’t know whether its terminal emulation is sufficient to run Vi though — a classic Mac developer wouldn’t have used Vi. Resources for developing in Classic Mac OS MPW? has more information about this, ...


6

The details and conventions vary between configurations. When you type pwd at the keyboard, those three bytes get sent to the computer. The shell accepts them, and writes them back to the terminal. So pwd really gets sent back to the terminal; that's why you can see what you type. This scheme was common on some systems, especially from the 1970s and ...


6

Without documentation, this is a non-trivial project and you are probably going to have to open the monitor up in order to figure out what's what. There are two basic things you need to find out first: What voltage does the monitor require, is it AC or DC, and how much current? Which pin(s) are power, and which pin(s) are ground. Standard warnings about ...


6

Arguably the prototypical smart terminal was the IBM 3270. According to this link IBM History the 3270 was first demonstrated on May 23, 1971. While the Intel 4004 was shipping already at that time, the 3270 didn't use it - and the 4004 really wasn't powerful enough to run a terminal like the 3270.


6

According to this site, the 3481 uses the 3270 protocol, which isn't that difficult to parse and process, but definitely not dumb. I have seen "middleman" applications that allow to use a 3270-type terminal to interact with other applications (e.g. z/OS UNIX) which expect dumb terminals, but usage is quite different from what one is used to. It shouldn't be ...


Only top voted, non community-wiki answers of a minimum length are eligible