Table of Contents
Background of VT220 Terminal Emulation/Emulators
In computing, a DEC VT220 is a reliable all purpose terminal type
for access to a variety of computer systems.
The VT220 (Video-Terminal 220) was originally developed by DEC, a former competitor of IBM and maker of
computer equipment and mainframe computers. The DEC VT220 was originally sold as a physical stand-alone
terminal for the VAX mainframes running the VMS operating system.
In the past (before the PC), a terminal was to be a device consisting of a physical screen and keyboard.
The terminal was connected to a central server and provided a user with the means to enter data into the
server and see results that the server sent back to the user's screen. Thus the users had (rather
inexpensive) terminals on their desk to provide them with shared access to a (prohibitively expensive)
central computer.
However, with inexpensive PCs being available anywhere, the use of a single purpose screen
and keyboard to access a server has become an outdated concept. Instead, these days a program on a PC can,
emulate (simulate) the functions of a VT220 terminal. A software that does this, is called
a terminal emulator.
Ideally it perfectly simulates the behavior of the DEC VT220, thus enabling users to
interact with legacy command-line interfaces and text-based applications in the same
way as it was originally intended, but on a modern computer or laptop.
Such software is still in demand though, because the server software once running on mainframes is
now running on affordable machines (e.g. OpenVMS or Linux). The mark of a good emulation, besides
adding features to the original terminals, is to inpret the data stream in exactly the same way
as the original terminal did (there is even a software dedicated to
testing this for VT terminal emulators).
VT200 Technical Details
As all terminal types, VT220 is a standard that allows the server to send text to the user's screen.
By embedding special controls in the text, rather than just displaying text from left to right and top
to bottom, these codes also allow control over the placement and display charachacteristics
(location, color, etc.) of the text.
E.g. in order to send the text "this is an error!" to the user's
screen with the word "error" highlighted, the host would send
This is an ^[[1merror^[[0m! to the VT220 terminal.
Rather than displaying all the text, the VT220 terminal will interpret
^[[1m and ^[[0m
as commands that tell it to highlight the text that is received between them, so the output would be:
This is an error!.
Here is a list of basic VT220 control codes:
ESC [ n @ → Insert n (Blank) Character(s)
ESC [ n A → Cursor Up n times
ESC [ n B → Cursor Down n times
ESC [ n C → Cursor Forward n times
ESC [ n D → Cursor Backward n times
ESC [ row ; column H → Cursor Position [row;column]
ESC [ n I → Cursor Forward Tabulation n tab ston (default = 1)
ESC [ n J → Erase in Display ( n= 0/1/2 → below/above/all)
ESC [ n K → Erase in Line ( n= 0/1/2 → left/right/all)
ESC [ n K → Set text attributes ( n= 1, highlight; n= 30-37 foreground color)
(ESC equals the ASCII character hex 1B or ^[ )
The VT220 emulation extended the possibilities of earlier terminal definitions like DEC VT100 or VT100
to allow the server to control special characteristics that go beyond the requirements of initial vt100
terminals, e.g. to support additional keys (like F5 - F12 function keys) that were not available on the
VT100/VT102 series terminals.
Another improvement in the VT220 terminals was the availability of country specific character sets
and thus the ability to render text in European languages correctly (e.g. the German word "über").
ZOC Terminal: Modern VT220 Emulation for Windows and macOS
Today most 'terminals' are simply a software running on a PC. But many standard
telnet clients
can be used to emulate VT220 terminals in a basic way, but lack support for
certain subtleties in the way true VT220 terminals handled the incoming data.
Essentially, the basics of VT220 are easy to implement, which is why it is supported
in most terminal software to some extent, but the subtleties are hard to get right.
ZOC however has a long history of VT220 emulation and
correctly implements VT220 details, that are rather arcane. Thus
it lets you access servers via a telnet or SSL/SSH connection using a top notch
VT220 emulation.
Additionally ZOC supports a wide scale of other emulations used in
the Unix world, like Linux,
xterm,
Wyse,
QNX,
TN3270,
TN5250 etc.
The ZOC telnet/SSH client
also includes a number of other useful features. It comes with a modern multi-tabbed
user interface and is highly configurable.
Beyond that it includes the usual terminal features such as keyboard
redefinition and scroll back buffer. It also has some very advanced
and unique features such as a powerful script language and automatic
triggering of actions based on received or typed text. This terminal
emulation software also supports vt102, VT220 and several types of
ansi as well as Wyse, TVI, and Sun's CDE. ZOC also features major
file transfer protocols like X-, Y- and Zmodem as well as Kermit and
others. All these are offered in solid implementations that leave
nothing to be desired.