DEC VT520
- Unknown internal specifications
- One DB25 serial port, male & female electrically coupled
- One DB25 parallel port for printer
- Two propietary MMJ plugs, selectable as serial or printer port
- Quiet, no fans
Connectors
The readside of the terminal features:
- COMM 1: Serial via DB25 port. For compatibility, the same logical port is wired to two electrical ports with reverse gender. This is an artifact of the DTE and DCE asymmetry in the specification for serial communication.
- Printer port: Typical parallel DB25 port
- COMM 2: Propietary MMJ plug, serial line
- COMM 3: Like COMM 2, plus also configurable as serial printer
- PS/2 Keyboard connector for both original DEC keyboards and regular PC keyboards
- Slot for additional ROM chip under a removable slide
Interface with Linux getty
Getty is configured in /etc/inittab
.
ttyS0::respawn:/sbin/getty -h ttyS0 9600 vt520
-h
- Im using the two control lines of the MMJ connection for CTS/RTS flow control. This option tells getty to activate hardware flow control via the termio ioctl syscall9600
- The baud rate. For debugging access via serial, this is enough, but for daily use, i use 115200 or morevt520
- Initial value for the TERM variable
The terminal also needs to be configured to match these settings. Mismatches will very quickly result in garbed character output. The configuration menu on the terminal can be entered via Alt+PrtScr
(The sysRq key combination).
Status line
The status line is a reserved line at the bottom of the terminal display, which works in a similar fashion like the window title for graphical terminal emulators. The terminfo database defines the tsl and fsl (to/from status line) sequences, but it seems as of 2020, they contain garbage:
tsl=\E[2$~\E[1$}\E[%i%p1%d` fsl=\E[0$}
The resulting behavior was that the status line always got appended to, including the stray backtick from the end of the string. This made the status line really non-useful. I worked out a fixed version that goes like this:
tsl=\E[2$~\E[1$}\E[G\E[K fsl=\E[0$}
\E[2$~
- Set status line. 0 = Off, 1 = Indicator line, 2 = Host-writable.\E[1$}
- Select active display. 0 = Main display, 1 = Status line. Also used to switch back to main display.\E[G
- Move cursor to start of line.\E[K
- Clear line from cursor onwards.
The terminfo database can be edited by exporting it via infocmp vt520
, saving and editing it as a file and then compile it back into the database via tic vt520.src
.