Table of Contents
Background of VT102 Emulation/Emulators
In computing, a DEC VT102 (or DEC VT100, which is nearly the same) is a pretty reliable
standard terminal type for access to a variety of computer systems.
VT100 and VT102 were introduced in 1978 by DEC, a former competitor of IBM and maker of computer
equipment and mainframe computers. It was originally sold as a physical stand-alone terminal for
the VAX mainframes.
In the past (before the PC), a VT100/VT102 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.
VT102 Technical Details and Esc-Squences
As all terminal types, VT102 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.
The VT102 terminal (or emulator) interprets escape sequences and control codes used by the original terminal,
providing a user-friendly interface for accessing remote systems or running text-based programs,
preserving compatibility with legacy applications and systems.
For example, 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 VT100 or VT102 terminal.
Rather than displaying all the text, the VT100 or VT102 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 VT102 control codes:
ESC [ H → Move cursor to top/left position on screen
ESC [ n @ → Insert n (Blank) Character(s)
ESC [ r ; c H → Cursor Position [row;column]
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 m → Set text attributes ( n= 1 → highlight; n=5 → blink, n= 7 → inverse )
(ESC equals character hex 1B or ^[ )
A fulll list of terminal emulation sequences for VT102 can be found in the
VT102 User Guide on vt100.net.
Testing a VT102 via vttest
The quality of a terminal emulator can be measured by testing how fully it implements the
terminal emulation sequences (see above) and how closely its matches the original terminal's
behavior in borderline situations (i.e. when it receives unexpected, faulty or weird combinations
of sequences).
Vttest is an application that is used to
demonstrate features of VT102 and related terminals, or emulations thereof, such as xterm.
The program was originally written in 1986 by Per Lindberg.
ZOC has been tested using the vttest suite, based on a
test score developed by Columbia University.
ZOC Terminal has scored an excellent 105 Points (see the
full report), which
ranks it among the best in the industry.
ZOC Terminal: Modern VT102 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 VT102 terminals in a basic way, but lack support for
certain subtleties in the way true VT102 terminals handled the incoming data.
Essentially, the basics of VT102 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 is different, it lets you access
mainframes via a telnet or SSL/SSH v2
connection using an expertly built
VT102 emulation. Additionally ZOC supports a wide scale of other
emulations used in the Unix world, like Linux,
xterm,
VT220,
Wyse,
QNX,
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.
All these are offered in solid implementations that leave
nothing to be desired.