107 lines
3.5 KiB
Markdown
107 lines
3.5 KiB
Markdown
# Keyboard Converter: Consul 262.5 & VDX 52600
|
||
|
||
![Terminal with keyboard and the converter](overview.jpg)
|
||
|
||
Arduino project for a keyboard converter between a Zbrojovka Consul 262.5 terminal keyboard and a Videoton VDX 52600 terminal.
|
||
|
||
Why? Because the VDX 52600 terminal doesn't use the AT or XT keyboard protocol. And neither does the Consul 262.5.
|
||
This converter aims to translate between the two non-standard protocols, making these devices usable!
|
||
|
||
## Keyboard: Consul 262.5
|
||
|
||
Terminal keyboard from 1980s built in Brno, Czechoslovakia.
|
||
|
||
It uses a DB25 connector with UART TTL data lines, clock line, +5V primary power and -12V auxiliary power.
|
||
The -12V voltage alone makes in unusable with the current computer hardware, so a converter is necessary.
|
||
|
||
## Terminal: VDX 52600
|
||
|
||
VT52 terminal from 1987 built in Hungaria.
|
||
The serial interface is an RS-232 on a DB25 connector.
|
||
|
||
It features a DIN5 keyboard connector that does not use the standard AT/XT keyboard protocol.
|
||
|
||
|
||
## Converter
|
||
|
||
Interfaces the keyboard and the terminal, optionally a USB. These modes of operation are supported:
|
||
|
||
1. Keyboard and terminal connected: primary standalone mode. Everything is powered from the terminal.
|
||
2. Keyboard and USB connected: USB keyboard mode. Powered from the USB which acts as a HID keyboard.
|
||
3. Terminal and USB connected: Serial keyboard over USB mode. Powered independently. Allows sending keystrokes to the terminal over USB serial.
|
||
|
||
![Converter box](box.jpg)
|
||
|
||
|
||
## Parts needed
|
||
|
||
- Arduino Leonardo
|
||
- Symmetrical boost converter, 5V to +/- 12V
|
||
- Piezo speaker
|
||
- red and green LED + 470 ohm resistors
|
||
- connectors
|
||
- project box
|
||
- (among others)
|
||
|
||
|
||
## Connections
|
||
|
||
### Terminal DIN5
|
||
|
||
Device | Controller | Description
|
||
---|---|---
|
||
GND | GND | Ground
|
||
+5V | +5V | Power
|
||
Data | 6 | Keyboard data to terminal
|
||
Status | 7 | Status (LEDs) and Clock from terminal
|
||
|
||
![DIN5 connector pinout](DIN5_pinout.jpg)
|
||
|
||
|
||
### Keyboard DB25
|
||
|
||
Device | Controller | Description
|
||
---|---|---
|
||
GND | GND | Ground
|
||
+5V | +5V | Power
|
||
-12V | -12V | via a symmetrical boost converter
|
||
Serial out | 3 | UART out from keyboard
|
||
Serial in | 4 | UART in to keyboard
|
||
|
||
|
||
### Box Interface
|
||
|
||
| Controller | Description |
|
||
| ---|--- |
|
||
| 10 | Offline LED |
|
||
| 9 | Online LED |
|
||
| 8 | Speaker |
|
||
|
||
|
||
## VDX 52600 keyboard protocol
|
||
|
||
Since I didn't have any compatible keyboard, I tried reverse-engineering the protocol. Following are my findings:
|
||
|
||
- on the Status pin, the terminal periodically sends out a status "packet" with the state of LEDs
|
||
- on the Data pin, the keyboard sends 8-bit key codes
|
||
- it seems to rely on a shared baud rate, expecting the keyboard to synchronize on the periodic status messages sent by the terminal
|
||
- the terminal is not listening for key codes while it is transmitting the status packet
|
||
|
||
|
||
## Terminal's DB25 connector
|
||
|
||
The VDX 52600 terminal uses the standard RS-232 serial link through a DB25 connector. It is enough to connect pins (2) TX, (3) RX and (7) GND.
|
||
See [RS-232 over DB25 connector](http://www.nullmodem.com/DB-25.htm) for more.
|
||
|
||
Beware that this is an RS-232, so the voltages are not safe for a standard USB-to-serial module. Use an RS232-to-TTL converter such as the MAX232 chip.
|
||
|
||
By default the serial port configuration is 9600–8-N-1 (i.e. the standard baud rate of 9600).
|
||
Connecting it to a serial port of a Linux machine works nicely and you get a vintage console experience.
|
||
|
||
|
||
## Links
|
||
|
||
- [Videoton VT terminal family (in Hungarian)](https://itf.njszt.hu/termek_hardware/vt-videoterminal-csaladok)
|
||
- [Consul 262.5 technical details and manual (in Czech)](http://www.sapi.cz/prislusenstvi/c262-5.php)
|
||
|