The Kermit Project |
612 West 115th Street, New York NY 10025 USA • firstname.lastname@example.org
One of the reasons Kermit 95's terminal emulations are so accurate is our collection of real, operational terminals to test against. Some of them are shown above: a DEC VT52, an HP 2621, a Wyse 160, a VT100, a Hazeltine 2000, a Data General DASHER (CLOSEUP), an IBM 3151, a DEC VT520 (perched atop a DECserver-700, CLICK HERE for a closer view), an original DEC VT220,the German Siemens-Nixdorf 97801, various DEC and IBM models, plus a large library of original terminal manuals going back to the early 1970s.
These terminals, and many more, were indeed used to engineer and test the emulations in Kermit 95, but later the demand for office space became so severe that in 2006 we were directed to throw them out. CLICK HERE to see some photos.
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 such as the Teletype and DECwriter shown above) 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 video terminals pictured above (a PC is just a terminal with the computer on the inside instead of on the outside :-)
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).
A terminal emulator is a software program on a personal computer that does what these terminals — and others like them (but different) — do. It sends the codes generated by your keystrokes out the communications connection, and it interprets and displays the codes that arrive from the connection. Early video terminals such as the VT52 are extremely easy to emulate; later "clipper ship" terminals such as the DEC VT520 or the Siemens-Nixdorf 97801 are highly complex. Emulation of a particular terminal — and Kermit 95 emulates about 40 different ones — must take into account all its codes, keys, escape sequences, glyphs, character sets, and rules, and the "programming" manual for a 1980s-era terminal is typically several hundred pages long.