HDS Concept AVT-APL+


31 Aug 2020, 02:25

Really the only reason I bothered with this keyboard is the APL keycaps.
HDS-case.jpg (382.3 KiB) Viewed 124 times
It's from a Human Design Systems Concept AVT-APL+ terminal. The badge has gone missing and the caps have yellowed, but it's a recognizable match with the brochure. A terminal with full APL overstrike at the beginning of 1984 is actually pretty impressive.
HDS-back.jpg (321.5 KiB) Viewed 124 times
Otherwise, there unfortunately isn't much going on. From the wear patterns, I believe the top legends are dye-sub and the front ones are just pad printed.
HDS-open.jpg (484.75 KiB) Viewed 124 times
The switches and PCB are Keytronic.
HDS-PCB-top.jpg (1.26 MiB) Viewed 124 times
HDS-PCB-bottom.jpg (1.6 MiB) Viewed 124 times
The cable ends in a DIN-5 male. Tracing the signals shows 2 ground, 1 +5VDC, and a couple of data lines, one going to a 74LS14 inverter and one coming from it. So, it's gonna be bidirectional serial of some sort.

Step one to working out what it can do is replacing the foam and foil.
HDS-foam-before.jpg (584.88 KiB) Viewed 124 times
HDS-foam-after.jpg (549.42 KiB) Viewed 124 times
With the switches back in business and hooked up to a scope and a couple tries for idle state of the to-keyboard line, it's clearly 9600 baud with inverted polarity (relative to modern TTL UARTs in MCUs). And just regular ASCII, that is, the same codes you'd see on a non-APL keyboard.

So, a 5V tolerant UART that can invert is needed, and that's the Teensy 3.2.
HDS-teensy.jpg (348.01 KiB) Viewed 124 times
This confirms that it's just ASCII with normal SHIFT and CTRL masking and with no special shift state and certainly no up transitions. The function keys send various codes (sometime with a one-bit difference if shifted) with the eighth bit set. Not enough for a real keyboard converter, but okay for a typing test.

The final, slightly interesting, thing is the LEDs, four programmable ones and one inside the CAPS LOCK switch. These are set in almost the simplest possible way by sending a byte with a bit mask of on LEDs. Except that the byte has to have odd parity.

I put what I worked out into a gist for safe keeping.

Post Reply

Return to “Workshop”