Contact Tutuor  
Telnet Lab Systems          

Appendix I, Terminals and Terminal Emulators


VT Terminals

Serial communications

Serial Modems


PC Terminals

X Terminals







VT Terminal Emulation Software for PC's

By 1990, the terminal server and the VT terminal had made universal computer access in the office a possibility but not necessarily a certainty. In the 90's, two events changed the topology of computing. The cost of providing network connections to each desk was lowered to the point where it was financially possible to provide anyone and everyone with a network connection. The demand for desktop personal computers rose and the prices dropped causing most VT terminals to be replaced with PC's.

In a sense, nothing had changed; the PC was still just a computer on the network and it could use the TELNET or SET HOST applications to establish a connection to any other computer. But, there was one thing missing and that was an effective terminal emulator. A Windows PC or Macintosh, in spite of being more complex and expensive, is not a terminal and can't do what a terminal does without an extra application called terminal emulator software. At the beginning of the 90's, these packages existed but they were woefully inadequate.

Terminal emulator software runs on a PC and creates a window on the screen which with the PC keyboard is used to emulate a VT terminal. The terminal emulator sends, receives, translates and displays serial communications via a COM port or network packets via network interface card just like a real VT terminal does. How faithfully it translates the graphics controls or ESCAPE CHARACTERS to make the text appear as it would on a real VT terminal is a measure of how well it works. If it works well then it makes the terminal window on the PC do everything a VT terminal can do including terminal screen graphics. It should be able to connect using serial communication (using COM ports) or using network applications like TELNET and SET HOST, and protocols like TCPIP, LAT, and DECNET. And it should allow the user to send the same data as would be possible using a VT keyboard. If it doesn't then it can be a real pain for the user!

The function of terminal emulator software can be evaluated in these categories:

  1. Screen and communication function. Does the terminal emulator correctly translate on the screen the graphics functions of at least a VT220 and does it communicate with the host as it should?
  2. Keyboard mapping. Does the terminal emulator map the VT terminal keys on the PC keyboard in a practical and thorough manner?
  3. Utilization of PC graphics. Does the terminal emulator take advantage of the superior PC graphics to make the PC based terminal function better than a hardware terminal?

Screen and Communication Function

Instead of controlling the screen with millions of tiny pixels as a PC graphics card, a terminal screen is controlled using a more economical approach. To understand how it works, think of the terminal screen divided up into a grid of character sized squares each of which can contain one of a list of predefined characters and shapes. A VT terminal is described as a character cell terminal meaning, it uses column justified fonts which fit into the grid squares instead proportional fonts which space themselves according to their shape. As a first step, a PC terminal emulator must be able to reproduce these terminal characters in the correct square or cell on the screen.

The first character cell terminal printed characters on the display screen as a typewriter would on paper, from the bottom of the screen. VT terminal controls which have evolved over decades now allow changes to occur at any location on the screen and have expanded the graphics capabilities of VT terminals. OpenVMS editors and applications use all of the graphics enhancements available on terminals today. If a terminal emulator can't emulator the VT graphics controls then it will be difficult or impossible to use with editors and other applications. Errors in graphics displays might even lead the user to make serious, data damaging, mistakes.

A notable failure in this area are the terminal emulators that have been included with MS Windows since version 3.1. This is almost certainly the most widely distributed terminal emulator in history. Unfortunately, it only claims to emulate up to a VT100 and it's not clear that it does that faithfully. Being an antiquated VT100 emulator makes it extremely difficult to use with OpenVMS. Don't use this emulator except in an emergency when you've got nothing else to use. One might wish that Microsoft had put a little of the effort that they put into web browsers, into their terminal emulator.

Click here to see a comparison of both the correct and incorrect handling of screen graphics.

Terminal emulator software should also support the most common forms of terminal communications, TELNET and serial cable (via COM ports on a PC.) Some terminal emulators also support LAT and DECNET transports which is useful but not absolutely necessary in this era of the Internet.

Keyboard Mapping

Keyboard mapping is the assignment of VT keyboard keys to the key of a PC keyboard. If a PC keyboard key is pressed while using a VT terminal emulator then the PC key has to be translated into a VT key by the terminal emulator. Sounds easy but this is where most terminal emulators fail in a big way. To appreciate the problems that keyboard mapping can cause consider using an OpenVMS editor. To use the editor hot keys on the keypad you have to remember which edit function is assigned to which key. Now add the complexity of remembering the PC key to VT key assignments and what you end up doing is like translating English to ancient Greek and back to English. Not an easy thing to do so this key mapping business must be taken seriously.

Part of the difficulty is historic. PC keyboards on XT PC's started with only 88 keys. Programmers had to go through some contortions in order to map all of the 107 keys of a VT220 keyboard on an 88 key XT keyboard. It helped the the PC AT keyboard which replaced the XT 88 key keyboard had 101 keys. And since the XT keyboard has disappeared now, it can be completely ignored.

Unfortunately, the damage was already done as the programmers who wrote the terminal emulator software had gotten used to making every VT keystroke into two unrelated PC key strokes. When the terminal emulators were updated for new PC AT keyboards there was a tendency for the programmers to want to maintain consistency with the old versions of the software with the old mappings based on the PC XT 88 key keyboard. To make matters worse at least some of the programmers writing terminal emulation software has only experience using PC's and had never used a VT terminal enough to understand why the mappings were crucial to the usefulness of the emulator. For example, if you want to type a VT F10 on a bad terminal emulator you wouldn't just press a PC F10, you might have to press two unrelated keys at once, a PC "ALT" and "F6."

The keyboard mapping problem was overcome in two ways:

  1. some companies started making their terminal emulators with more sensible PC to VT key mappings almost matching the mapping of VT keyboard by itself
  2. DEC and now Compaq started producing PC compatible keyboards with 107 keys. The keyboard solution is discussed in the section on keyboards

The new mapping will be discussed now.

The first most obvious solution to mapping is to always make the PC keys represent the keys with the same name and/or location on the VT keyboard. This may seem like a logical thing to do but for the longest time VT terminal emulators' key mappings were only discernible by looking at a diagram or key map; there was no way to guess the mapping.

In a good terminal emulator today you should be a to guess the mapping of most keys. In cases where the general location and the name match but for different key locations the name should take precedence. A good example are the INSERT, DELETE, PAGE UP, and PAGE DOWN keys located in a group with HOME and END just left of the keypad. These keys have names similar to keys on the VT keyboard but have displaced position by one key. A good terminal emulator will make these keys equivalent in name if not in location. HOME and END keys which have no VT key equivalently named, are most often mapped as the two other VT keys located in the same area, FIND and SELECT. In the illustration below, predictable key mapping is shown with color shading. The only key mappings which the user would have to guess would be the FIND/HOME and a SELECT/END key pairs. All others could be deduced by their names.

Utilization of PC Graphics and Features

It would be a waste to use a PC, which even for modest models cost at least three times what a new terminal would cost, and not gain some advantage from the PC features. At a bare minimum, a PC terminal emulator package should include a convenient way to use the clip board to cut and paste text to and from the screen, to control screen scrolling, color, size, font, location, etc., to view graphical representations keyboard mappings and to provide a graphical VT keyboard to press VT keys missing on the PC keyboard. Below is a graphical keypad from WRQ Reflections for Web terminal emulator which allows the user to enter any VT key strokes by clicking on the appropriate key in the image.



© 2000 - 2008 -- CCSS, William A. Pedersen

Join our email mailing list!