The VT50 was a CRT-based computer terminal introduced by Digital Equipment Corporation (DEC) in July 1974. It provided a display with 12 rows and 80 columns of upper-case text, and used an expanded set of control characters and forward-only scrolling based on the earlier VT05. DEC documentation of the era refers to the terminals as the DECscope, a name that was otherwise almost never seen.
The VT50 was sold only for a short period before it was replaced by the VT52 in September 1975. The VT52 provided a screen of 24 rows and 80 columns of text and supported all 95 ASCII characters as well as 32 graphics characters, bi-directional scrolling, and an expanded control character system. DEC produced a series of upgraded VT52's with additional hardware for various uses.
The VT52 family was followed by the much more sophisticated VT100 in 1978.
The VT50 supported asynchronous communication at baud rates up to 9600 bits per second and did not require any fill characters. Like other early DEC terminals, the VT50 series were equipped with both an RS-232 port as well as a 20mA current loop, an older serial standard used with teletype machines that was more suitable to long-distance transmission over phone lines. Data was read into a small buffer, which the display hardware periodically read to produce the display.
To interpret the commands being sent in the serial data, it used a primitive central processing unit (CPU) built from small-scale-integration integrated circuits. It examined the data while the display hardware was inactive between raster scan lines, and then triggered the display hardware to take over at the appropriate time. The display system returned control to the CPU when it was complete. The CPU was so basic that addition and subtraction could only be done by repeatedly incrementing or decrementing two registers. Moreover, the time taken by such a loop had to be nearly constant, or text lower on the screen would be displayed in the wrong place during that refresh.
Characters typed on the keyboard were likewise stored in a buffer and read back over the serial line as quickly as possible. One notable feature of the VT50 was the introduction of a separate function keypad with the "Gold Key", which was used for editing programs like WPS-8, KED, and EDT. Pressing the Gold Key and then typing one of the keys on the keyboard sent a command sequence back to the host computer.
DEC also offered an optional hard-copy device called an electrolytic copier, which fit into the blank panel on the right side of the display. This device was able to print, scan-line by scan-line, an exact replica of the screen onto a roll of paper that was saturated with salty water. It did this by electroplating metal from an electrode into the paper. While it did an admirable job of capturing the contents of the screen, the output of the copier had an unfortunate resemblance to wet toilet tissue. Digital patented the innovation of having a single character generator provide the text font for both screen and copier.
The basic layout of the terminal, with the screen and main keyboard on the left and the blank area on the right, was intended to allow the system to be upgraded. The printer was one such upgrade, but over time DEC offered a number of other options. The large size of the cabinet was deliberate, to avoid a cooling fan. The two circuit boards with processor and memory at the base of the terminal, and a single board with power-supply and monitor electronics at the rear, were cooled by convection. The large, flat top of the terminal frequently accommodated large volumes of DEC documentation, which could block the vents and cause overheating.
The VT50 was the first terminal Digital produced in this cabinet. It provided only 12 lines of text with blank lines between them to use the entire vertical area of the display. Like its predecessor, the VT05, the VT50 did not support lowercase letters. Computer users of that era used coding in the rare instance that they needed lowercase text. Opinion differed as to whether the VT50 was to be a dry run for the engineers or a lucrative product.
The VT50 was soon replaced by the greatly upgraded VT52. The VT52 had considerably larger buffers, giving it the capacity to store not only a full 24 lines of text that better utilized the screen space, but also the text off the top and bottom of the screen. This allowed the terminal to scroll backwards to a limited degree without having to ask the host to re-send data. The VT52 also included lowercase text support and a host of other new features. It was the first DEC terminal that allowed WYSIWYG ("What you see is what you get") text editing.
The VT55 incorporated an add-on graphics system that was capable of displaying two mathematical functions or histograms. This was invoked by sending a command string that sent the terminal into graphics mode, with further data being sent to a separate buffer and CPU. Both systems mixed their data during the display, allowing the user to mix graphics and text on a single screen, as opposed to systems like the Tektronix 4010 or plotters that had to slowly draw text using graphics commands. This system became known as waveform graphics, and would re-appear on the later VT105.
Block mode versions
The VT61 and VT62 were block-mode terminals. The VT62 was to be used in conjunction with TRAX, a transaction processing operating system on high-end PDP-11's. They used the same cabinet but had a more complete custom processor. Application-specific behavior was coded in separate PROM memory, using a separate instruction code that the processor interpreted. This unpublished language was to be used to easily develop additional models specific to single Digital marketing organizations. These terminals synthesized a "tock" sound on a speaker for feedback when a key was pressed, whereas the VT5x activated a relay. The relay was also used as a buzzer to sound the bell character, producing a sound that "has been compared to the sound of a '52 Chevy stripping its gears." Though the keyboards were identical, VT6x users admired the superior "feel."
The relatively large expansion area of the VT50 case, combined with rapidly shrinking electronics in the late 1970s, allowed DEC to produce single-box, stand-alone minicomputer/terminals similar to a contemporary microcomputer. The VT78 added a single-chip PDP-8 processor to the VT52, on which was programmed WPS-8, Digital's word processing system.
VT52 codes remained proprietary to DEC, although a number of other companies provided emulations in their terminals. Later VT series terminals supported a subset of these commands. One interesting case is the GEMDOS system and its offshoot, the TOS operating system of the Atari ST. These systems used a VT52-based screen driver in an era when ANSI escape codes had already become almost universal, adding several new commands including the ability to select colors.
VT52 commands normally consisted of the escape character and a single character following it. The exception to this rule was the Y command, which also required two numbers to be sent, representing the X and Y coordinates of the cursor position, with the upper right corner of the screen being position 1,1. These numbers were sent as ASCII characters of that value, adding 31. For instance, to position the cursor at column 30 and line 20, you would add 31 to each value to get 61 and 51, then look up those ASCII characters, = and 3. The complete command would then be ESCY3= (note the row,column ordering, not X, Y). Adding 31 ensures that the characters are shifted out of the control range into the printable character range, so they will transmit properly on 7-bit links.
|ESCA||Cursor up||Move cursor one line upwards.
Does not cause scrolling when it reaches the top.
|ESCB||Cursor down||Move cursor one line downwards.|
|ESCC||Cursor right||Move cursor one column to the right.|
|ESCD||Cursor left||Move cursor one column to the left.|
|ESCF||Enter graphics mode||Use special graphics character set, VT52 and later.|
|ESCG||Exit graphics mode||Use normal US/UK character set|
|ESCH||Cursor home||Move cursor to the upper left corner.|
|ESCI||Reverse line feed||Insert a line above the cursor, then move the cursor into it.
May cause a reverse scroll if the cursor was on the first line.
|ESCJ||Clear to end of screen||Clear screen from cursor onwards.|
|ESCK||Clear to end of line||Clear line from cursor onwards.|
|ESCL||Insert line||Insert a line.|
|ESCM||Delete line||Remove line.|
|ESCYrc||Set cursor position||Move cursor to position c,r, encoded as single characters.
The VT50H also added the "SO" command that worked identically,
providing backward compatibility with the VT05.
|ESCZ||ident||Identify what the terminal is, see notes below.|
|ESC=||Alternate keypad||Changes the character codes returned by the keypad.|
|ESC>||Exit alternate keypad||Changes the character codes returned by the keypad.|
The VT52 and VT55 included two characters sets, ASCII and "graphics mode" which switched out the lower case characters and some punctuation with new characters useful for the display of math. For instance, the set included glyphs for 1/, 3/, 5/ and 7/, which could be combined with subscript numbers to produce things like 3⁄5. Other characters included the degree sign, divide, paragraph symbol and others.
The ESCZ command allowed the host computer to identify the capabilities of the terminal. There were eight possible responses.
|Model||Without printer||With printer|
VT52 compatibility mode
Later VT terminals supported VT52 commands, as well as adding a single new command to return to full ANSI mode.
|ESC<||setansi||Enter/exit ANSI mode|
Compatibility mode changed the response to the ESCZ command; all models responded with the code ESC/Z.
The GEMDOS version of the VT52 command set adds a number of new commands. These mostly concerned color support, with the color selection being sent as a single character using the same encoding as the Y command. Only the last four bits of the number were used, providing support for 16 colors. The Atari ST only supported 4 of those. A few new cursor commands were added as well, essentially filling out the set of the original VT52 by including commands that worked towards the bottom of the screen as opposed to only the top. The system did not support a number of VT52 commands, including F, G and Z.
|ESCE||Clear screen||Clear screen and place cursor at top left corner.
Essentially the same as ESCHJ
|ESCb#||Foreground color||Set text colour to the selected value|
|ESCc#||Background color||Set background colour|
|ESCd||Clear to start of screen||Clear screen from the bottom up to cursor.|
|ESCe||Enable cursor||Makes the cursor visible on the screen.|
|ESCf||Disable cursor||Makes the cursor invisible.|
|ESCj||Save cursor||Saves the current position of the cursor in memory, TOS 1.02 and later.|
|ESCk||Restore cursor||Return the cursor to the settings perviously saved with j.|
|ESCl||Clear line||Erase the entire line and position the cursor on the left.|
|ESCo||Clear to start of line||Clear current line from the left side to the cursor.|
|ESCp||Reverse video||Switch on inverse video text.|
|ESCq||Normal video||Switch off inverse video text.|
|ESCw||Wrap off||Disable line wrap.|
|ESCv||Wrap on||Enable line wrap, removing the need for CR/LF at line endings.|
- Digital computing timeline
- Raymond, Eric S., ed. (1996). The new hacker's dictionary. MIT Press. p. 186. ISBN 978-0-262-68092-9.
- "DECscope User's Manual", Digital Equipment Corp., April 1976
- "GIGI Programming Reference Card", Digital Equipment Corp., December 1980
- "VT-52 terminal", TOS Documentation, June 1991
- "The VT-52 Emulator"