VT52
Developer | Digital Equipment Corporation |
---|---|
Type | Video terminal |
Release date | 1974 | /1975
Predecessor | VT05 |
Successor | VT100 |
TheVT50is aCRT-basedcomputer terminalthat was introduced byDigital 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 ofcontrol charactersand forward-only scrolling based on the earlierVT05.DEC documentation of the era refers to the terminals as theDECscope,a name that was otherwise almost never seen.
The VT50 was sold only for a short period before it was replaced by theVT52in September 1975.[1]The VT52 provided a screen of 24 rows and 80 columns of text and supported all 95ASCIIcharacters 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 sophisticatedVT100in 1978.
Description
[edit]These terminals supportedasynchronous communicationatbaudrates up to 9600bits per secondand did not require anyfill characters.Like other early DEC terminals they were equipped with both anRS-232port as well as a20mA current loop,an older serial standard used withteletypemachines that was more suitable for transmission over long runs oftwisted-pairwiring. 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 primitivecentral processing unit(CPU) built from small-scale-integrationintegrated circuits.It examined the data while the display hardware was inactive betweenraster scanlines, 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.
Typing a character produced a noise by activating a relay. The relay was also used as a buzzer to sound thebell character,producing a sound that "has been compared to the sound of a'52 Chevystripping its gears. "[2]
DEC also offered an optional hard-copy device called anelectrolyticcopier, 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.[3][4]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 wettoilet tissue.[5][6]Digital patented the innovation of having a singlecharacter generatorprovide the textfontfor 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 byconvection.The large, flat top of the terminal frequently accommodated large volumes of DEC documentation, which could block the vents and cause overheating.
Versions
[edit]VT50
[edit]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, theVT05,the VT50 did not support lowercase letters.[7]Computer users of that era seldom needed lowercase text.
VT50H
[edit]The VT50H added a separate "auxilary keyboard" on the right side of the original keyboard. This was arranged in the fashion of anumeric keypadwith additionalcontrol keysabove the numbers. Four of these werecursor keyswhich sentESCAthroughDfor 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 toESCPthroughR.[8]
VT52
[edit]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.[7]Many new commands and features were added:[9]
- 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,ESC?nthroughy.
- New cursor control codes to support host-directed full-screen editing and aWYSIWYGdisplay.
- A "graphics character set" which included several less-common characters as well as the ability to print some fractions in-line, like3⁄7.
One notable feature was the introduction of a separate function keypad with the "Gold Key",which was used for editing programs likeWPS-8,KED, andEDT.Pressing the Gold Key and then typing one of the keys on the keyboard sent a command sequence back to the host computer.
VT55
[edit]TheVT55incorporated an add-on graphics system that was capable of displaying two mathematical functions orhistograms.This was invoked by sending a command string that sent the terminal intographics 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 theTektronix 4010orplottersthat had to slowly draw text using graphics commands. This system became known aswaveform graphics,and would re-appear on the later VT105.
Block mode versions
[edit]TheVT61andVT62wereblock-mode terminals.The VT62 was to be used in conjunction with TRAX, a transaction processing operating system on high-endPDP-11's. They used the same cabinet but had a more complete custom processor. Application-specific behavior was coded in separatePROMmemory, 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 instead of the relay. Though the keyboards were identical, VT6x users admired the superior "feel".
VT78
[edit]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-aloneminicomputer/terminals similar to a contemporarymicrocomputer.TheVT78added a single-chipPDP-8processor to the VT52, ran a variant of Digital'sOS/8operating system, and usuallyWPS-8,Digital'sword processingsystem.
Escape sequences
[edit]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 theGEMDOSsystem and its offshoot, the TOS operating system of theAtari ST.These systems used a VT52-based screen driver in an era whenANSI escape codeshad already become almost universal. This version added several new commands including the ability to select colors.
Standard commands
[edit]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.
Code | Name | Meaning | Available on |
---|---|---|---|
ESCA | Cursor up | Move cursor one line upwards. Does not cause scrolling when it reaches the top. |
All |
ESCB | Cursor down | Move cursor one line downwards. | VT50H and VT52 |
ESCC | Cursor right | Move cursor one column to the right. | All |
ESCD | Cursor left | Move cursor one column to the left. Same action as theBS. | VT50H and VT52 |
ESCF | Enter graphics mode | Use special graphics character set. | VT52 |
ESCG | Exit graphics mode | Use normal US/UK character set. | VT52 |
ESCH | Cursor home | Move cursor to the upper left corner. | All |
ESCI | Reverse line feed | Move cursor one line upwards. If it is already in the top line, instead scroll all content down one line. |
VT52 |
ESCJ | Clear to end of screen | Clear screen from cursor onwards. | All |
ESCK | Clear to end of line | Clear line from cursor onwards. | All |
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. The VT52 did not support this alternate command. |
VT50H and VT52 |
ESCZ | ident | Identify what the terminal is, see notes below. | All |
ESC[ | Enter hold-screen mode | Stops display scrolling of the screen. Characters continue to be displayed until they reach the point where a scroll would occur, at which point the terminal sends an XOFF to the host to stop further data being sent.If the user presses theSCROLLkey, an XON is sent and data is displayed until the nextpoint where a scroll would be needed, when another XOFF will be sent.
|
All |
ESC\ | Exit hold-screen mode | Turns off hold-screen mode sends anXON if needed.
|
All |
ESC= | Enter alternate-keypad mode | Changes the character codes returned by the keypad. | VT52 |
ESC> | Exit alternate-keypad mode | Changes the character codes returned by the keypad. | VT52 |
Cursor positioning
[edit]TheESCYcode 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,=and3.The complete command would then beESCY3=(note the row, column ordering, not X, Y).[10]Adding 31 ensures that the characters are shifted out of the control range into the printable character range, so they will transmit properly.
Terminal identifier codes
[edit]TheESCZcommand allowed the host computer to identify the capabilities of the terminal. There were eight possible responses.
Model | Without printer | With printer |
---|---|---|
VT50 | ESC/A | (not available) |
VT50H | ESC/H | ESC/J |
VT52 | ESC/K | ESC/L |
VT55 | ESC/E | ESC/E |
Copier codes
[edit]Several additional codes were used with the optional copier:[11]
Code | Name | Meaning | Available on |
---|---|---|---|
ESC] | Copy screen | Prints the current screen. | All |
ESC^ | Enter auto-copy mode | Prints all subsequent lines. | All |
ESC_ | Exit auto-copy mode | Stops printing. | All |
Graphics mode
[edit]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.[12]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
5x | NBSP | NBSP | ||||||||||||||
6x | [a] | █ | ¹⁄ | ³⁄ | ⁵⁄ | ⁷⁄ | ° | ± | → | … | ÷ | ↓ | ▔ | 🭶 | 🭷 | 🭸 |
7x | 🭹 | 🭺 | 🭻 | ▁ | ₀ | ₁ | ₂ | ₃ | ₄ | ₅ | ₆ | ₇ | ₈ | ₉ | ¶ |
VT52 compatibility mode
[edit]Later VT terminals supported VT52 commands, as well as adding a single new command to return to full ANSI mode.[13]
Code | Name | Meaning |
---|---|---|
ESC< | setansi | Enter/exit ANSI mode |
Compatibility mode changed the response to theESCZcommand; all models responded with the codeESC/Z.
GEMDOS/TOS extensions
[edit]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 theYcommand. 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.[14][15]The system did not support a number of VT52 commands, including F, G and Z.
Code | Name | Meaning |
---|---|---|
ESCE | Clear screen | Clear screen and place cursor at top left corner. Essentially the same asESCHESCJ |
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 cursor up to the home position. |
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 previously saved with j. |
ESCl | Clear line | Erase the entire line and positions the cursor on the left. |
ESCo | Clear to start of line | Clear current line from the start to the left side to the cursor. |
ESCp | Reverse video | Switch on inverse video text. |
ESCq | Normal video | Switch off inverse video text. |
ESCv | Wrap on | Enable line wrap, removing the need for CR/LF at line endings. |
ESCw | Wrap off | Disable line wrap. |
Notes
[edit]- ^Reserved for future use
References
[edit]Citations
[edit]- ^"1975 Timeline".gordonbell.azurewebsites.net.
- ^Raymond, Eric S.,ed. (1996).The new hacker's dictionary.MIT Press.p. 186.ISBN978-0-262-68092-9.
- ^VT52 DECscope Maintenance Manual
- ^"Electrolytic recorder with additional helical cleaning stylus".
- ^"Re: Strange VT50 Decscope".Archived fromthe originalon 2011-07-14.
- ^"Linux-Advocacy Digest #457".mail-archive.
- ^abDECscope 1975,p. 11.
- ^DECscope 1975,p. 14.
- ^DECscope 1975,pp. 12–30.
- ^DECscope 1975,pp. 20, 21.
- ^Copier 1975,p. 3.
- ^DECscope 1975,pp. 24, 25, Appendix B.
- ^"GIGI Programming Reference Card",Digital Equipment Corp., December 1980
- ^"VT-52 terminal",TOS Documentation, June 1991
- ^"The VT-52 Emulator"
Bibliography
[edit]- DECscope Users' Manual(PDF).DEC. 1975.
- VT50-Series Copier User's Manual(PDF).DEC. 1975.
External links
[edit]- VT100 net
- DEC VT52,Terminals Wiki
- DEC VT55,Terminals Wiki
- DEC VT62,Terminals Wiki
- DEC corporate chronological product and financial summary, brief description and cropped image of VT52 on page 51, brief descriptions of VT55 and image with electrolytic copier visible on pages 51 and 59
- DEC VT52 terminal emulator for Windows, supports serial ports, telnet, and raw TCP: kgober/VT52,2019-08-20,retrieved2020-01-11