I was just glancing through my copy of Installing and Using the VT320 Video Terminal and noticed that I had marked it up with some comments and corrections. I thought I would dump them on a web page. Please note that the comments here are not official errata for the manuals mentioned. Please let me know if you have any additions or corrections.
These errors are corrected in the online versions of these manuals.
The table of compose sequences incorrectly says that the character y umlaut (ÿ) is only available when you use the DEC Multinational Character Set. In fact it is available in ISO Latin-1 as well.
The character at position 10/8 is printed as double quote ("), but it should be umlaut (¨).
The paragraph at the bottom of the first column says:
For 7-bit systems, you can express DCS as ESC P. You can express ST as ESC /.
Should say "express ST as ESC \". This 7-bit equivalent is shown correctly in the table on p.86.
In the table in column 1:
Delete. DEL. Ignored when received.
This should say "Ignored when received, unless a 96-character set is mapped into GL". (This is what the equivalent VT420 manual says). Character sets contain either 94 or 96 characters. If a 94 character set (such as the ASCII set) is mapped into GL, codes 2/0 (SPACE) and 7/15 (DEL) will have their usual meanings, which means that DEL will be ignored and produce no effect on screen. However, if a 96-character set is mapped into GL, DEL will act as a printable character.
There is missing double dagger (‡) against the entry ESC ? m
, which is
the VT52 application mode response to pressing '-' on the numeric keypad. This code cannot be
produced on a VT52 because its numeric keypad doesn't include '-'.
The notes to Table 2 say:
The host cannot change the setting of CRM. You can only change CRM from set-up.
This one is an oddity, not an error. CRM is the mode which determines whether control codes are actioned or not. If this mode is set, control codes are displayed on screen instead of being actioned.
If you use DECTSR to ask for a terminal status report, you (the host) receive from the terminal a string containing a coded representation of its internal state. The only thing you are supposed to do with this string is send it back to the terminal at some later time, to restore the state after you've made some changes. However, if you decode this string, modify a certain bit, reencode it and send it back to the terminal, you can set CRM. You then find that your terminal is useless, because you can't restore the original state from the host. I really shouldn't be admitting that I've done this, should I?
The sequence given for direct cursor addressing, which is shown as
ESC Y
Pn, is wrong. The entry should read:
Sequence | Action |
---|---|
ESC Y Pl Pc |
Move cursor to line Pl and column Pc. Line and column numbers are single character codes whose values are the desired number plus 378. |
The table showing the C1 control characters that are recognised says that SOS is ignored. It actually appears to be treated in the same way as OSC, PM and APC, ie. the VT420 ignores all following characters until it receives a SUB, ST or any other C1 control character.
This table omits to mention that the sequence ESC S
cannot be produced by the numeric
keypad of a VT52 terminal. The VT52 terminal has only three application-specific keys on its numeric keypad,
rather than the four (PF1 - PF4) of a VT420.
ANSI mode Keyboard Action Mode (KAM) is incorrectly called AM throughout this chapter.
The set and reset sequences for Key Position Mode (DECKPM) are shown as
CSI 81 h
and CSI 81 l
, respectively, but DECKPM is a
DEC private mode, so these should be CSI ? 81 h
and CSI ? 81 l
.
Table 9-4 contains the entry:
Control Function | Mnemonic | Intermediate and Final Character(s) |
---|---|---|
Local function key control | DECLFKC | =} |
The intermediate and final characters shown should be *}
(shown correctly
on page 144).
ECMA-48 specifies that intermediate codes in these sequences are in the range 2/0 to 2/15,
so "=" (3/13) is always treated as part of the parameter string.
The sequence given for direct cursor addressing, which is shown as
ESC Y
Pn, is wrong. The entry should read:
Sequence | Action |
---|---|
ESC Y Pl Pc |
Move cursor to line Pl and column Pc. Line and column numbers are single character codes whose values are the desired number plus 378. |