VT52

The VT50 is a CRT-based computer terminal that was 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.

Description
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 for transmission over long runs of twisted-pair wiring. Data was read into a small buffer, which the display hardware periodically read to produce the display. Characters typed on the keyboard were likewise stored in a buffer and sent over the serial line as quickly as possible.

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 completed drawing the line. 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.

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 damp roll of special paper. It did this by electroplating metal from an electrode into the paper. The paper ran between two electrodes. The electrode on one side was a thin straight bar oriented across the paper width. The electrode on the other side was a thin helical bar wrapped around a rotating drum. One rotation of the drum scanned an intersecting area of the electrodes across the width of the paper. While the copier 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.

VT50
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 seldom needed lowercase text.

VT50H
The VT50H added a separate "auxilary keyboard" on the right side of the original keyboard. This was arranged in the fashion of a numeric keypad with additional control keys above the numbers. Four of these were cursor keys which sent through  for up, down, left and right, respectively. Another three of the keys were unlabeled and could be programmed to return any two-character code, and would default to through.

VT52
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 a limited amount without having to ask the host to re-send data. Another significant upgrade was that the VT52 included lowercase text support. Many new commands and features were added:


 * Support for the, and  characters, when the shift key was used with ,  or , respectively.
 * Typing on the numeric keypad could now be distinguished from the main keyboard by turning on Alternate-Keypad Mode. This returned multi-character codes, through.
 * New cursor control codes for full-screen editing and WYSIWYG display.
 * A "graphics character set" which included several less-common characters as well as the ability to print some fractions in-line, like $3/7$.

VT55
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."

VT78
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.

Escape sequences
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. This version added several new commands including the ability to select colors.

Standard commands
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.

Cursor positioning
The code was used to position the cursor anywhere on the screen, using two parameters representing the X and Y coordinates of the cursor position, with the upper left 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. The complete command would then be (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.

Terminal identifier codes
The command allowed the host computer to identify the capabilities of the terminal. There were eight possible responses.

Copier codes
Several additional codes were used with the optional copier:

Graphics mode
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. Unusual were glyphs for ¹⁄, ³⁄, ⁵⁄, ⁷⁄, which could be combined with subscript numbers to produce things like ⅗, and scan lines allowing a function to be plotted with 8 times higher vertical resolution than text.

VT52 compatibility mode
Later VT terminals supported VT52 commands, as well as adding a single new command to return to full ANSI mode.

Compatibility mode changed the response to the command; all models responded with the code.

GEMDOS/TOS extensions
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 number-to-character encoding as the command. Only the last four bits of the number were used, providing support for 16 colors. The Atari ST only supported 4 of those in 80 column mode and all 16 in 40 column mode. A few new cursor commands were added as well, essentially filling out the set of the original VT52 by including commands that cleared toward the top of the screen instead of the bottom. The system did not support a number of VT52 commands, including F, G and Z.