Engineering:VT52

From HandWiki
Revision as of 13:37, 5 March 2023 by MainAI (talk | contribs) (link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: CRT-based computer terminal
VT52
Terminal-dec-vt52.jpg
DEC VT52 terminal
DeveloperDigital Equipment Corporation
TypeVideo Terminal
Release date1974 (1974)/1975 (1975)
SuccessorVT100

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.[1] 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.[2][3] 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.[4][5] 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.

Versions

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.

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

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."[6] 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, representing the X and Y coordinates of the cursor position, with the upper left corner[7] 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.[8]

Code Name Meaning
Cursor up Move cursor one line upwards.
Does not cause scrolling when it reaches the top.
Cursor down Move cursor one line downwards.
Cursor right Move cursor one column to the right.
Cursor left Move cursor one column to the left.
Enter graphics mode Use special graphics character set, VT52 and later.
Exit graphics mode Use normal US/UK character set
Cursor home Move cursor to the upper left corner.
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.
Clear to end of screen Clear screen from cursor onwards.
Clear to end of line Clear line from cursor onwards.
Insert line Insert a line.
Delete line Remove line.
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.
ident Identify what the terminal is, see notes below.
Alternate keypad Changes the character codes returned by the keypad.
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. 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.[8]

VT52 Graphics Mode (gray cells are the same as ASCII)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
5_
80
NBSP
00A0
NBSP
00A0
6_
96
reserved
FFFD

2588
¹⁄
215F
³⁄
00B3 2044
⁵⁄
2075 2044
⁷⁄
2077 2044
°
00B0
±
00B1

2192

2026
÷
00F7

2193

2594
🭶
1FB76
🭷
1FB77
🭸
1FB78
7_
112
🭹
1FB79
🭺
1FB7A
🭻
1FB7B

2581

2080

2081

2082

2083

2084

2085

2086

2087

2088

2089

00B6

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

Model Without printer With printer
VT50 (not available)
VT50H
VT52
VT55

VT52 compatibility mode

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

Code Name Meaning
setansi Enter/exit 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.[10][11] The system did not support a number of VT52 commands, including F, G and Z.

Code Name Meaning
Clear screen Clear screen and place cursor at top left corner.
Essentially the same as
Foreground color Set text colour to the selected value
Background color Set background colour
Clear to start of screen Clear screen from the cursor up to the home position.
Enable cursor Makes the cursor visible on the screen.
Disable cursor Makes the cursor invisible.
Save cursor Saves the current position of the cursor in memory, TOS 1.02 and later.
Restore cursor Return the cursor to the settings previously saved with j.
Clear line Erase the entire line and positions the cursor on the left.
Clear to start of line Clear current line from the start to the left side to the cursor.
Reverse video Switch on inverse video text.
Normal video Switch off inverse video text.
Wrap on Enable line wrap, removing the need for CR/LF at line endings.
Wrap off Disable line wrap.

References

External links