What's a Terminal?


(Photos by Frank da Cruz)

One of the reasons Kermit 95's terminal emulations are so accurate is our collection of real, operational terminals to test against. The photos above are of terminals from the Kermit lab: a Wyse 160, a Data General DASHER (CLOSEUP), an IBM 3151, a DEC VT520 (perched atop a DECserver-700, CLICK HERE for a closer view), and an original DEC VT220. Not shown in the strip montage are others such as the German Siemens-Nixdorf 97801, various DEC and IBM models, plus a large library of original terminal manuals going back to the early 1970s.

A terminal emulator is a software program on a personal computer that does what these terminals -- and others like them (but different) -- do. Video terminals, also known as CRTs (Cathode Ray Tubes), appeared on the scene in the mid-1960s and dominated the human-computer interface from the early 1970s (when they began to displace hardcopy terminals) until the mid-1980s, when PCs began to take over.

CRTs are part of a long continuum that began with the typewriter in the 1800s, the Teletype in the early 1900s, electric typewriters communicating with each other by radio in the 1930s and 40s; electric typewriters interfaced to computers in the 1950s and 60s, hardcopy computer terminals in the 1970s, and finally CRTs such at the VT-100, all sharing in common a keyboard, a printer or screen for display, and (except the typewriter) a communications interface (cousin to the computer terminal is the key punch, which allows input for the computer to be prepared offline, and thus lacks a computer interface). The basic keyboard-display-interface design has remained the same all this time: Your keystrokes are sent out the communications interface, and material arriving on the interface is sent to the display.

The great advantage of video terminals over their predecessors (besides the obvious ones of not using paper, ribbons, and ink and making less noise) is the ability to position the cursor on the screen (thus allowing full-screen editing, forms-filling data entry, games, etc), to "edit" the screen (e.g. by erasing characters or lines), and to create special effects like highlighting, underlining, and in some cases color, multiple fonts, and graphics. Of course all of these ideas carried over to the PC. It is no accident that PCs look so much like the terminals pictured above (a PC is just a terminal with a computer added :-)

Terminal connections might seem old-fashioned but they have distinct advantages. First and foremost is their use of plain text rather than a graphical presentation. This is an advantage because (a) plain text is stable and universal, whereas "rich text" formats and graphical user interfaces are many, varied, mutually incompatible, and in a constant state of flux; and (b) text-mode interfaces are easier to use than graphical ones (perhaps harder to learn, but less labor-intensive to use once learned). In most cases, the same terminal can interact with many different kinds of computers.

Although plain text may be the universal and eternal language of computing, and although terminals create and display plain text, terminals still have their differences: they use different escape sequences to control cursor positioning, color, highlighting, and other special effects; they have different keys that send different codes; and they use different representations for non-ASCII characters (accented Roman letters, Cyrillic, Hebrew, etc, as well as math/technical and line- and box-drawing characters). Emulation of a particular terminal such as VT100, Linux Console, or SNI 97801 must take all these details into account and convert between the PC's keys, codes, glyphs, and controls, and the ones used by the terminal it is emulating.

[ Lots More History ] [ Kermit 95 Home ] [ Kermit Home ]


The Kermit Project / Columbia University / kermit@columbia.edu / 2 April 2002