IBM 5110 keyboard "emulator" and replacement

voidstar

11 Jun 2022, 18:20

I've figured out the signals needed to drive the keyboard input on an IBM 5110.

That is, I have an IBM 5110 with no keyboard, but now I can "talk to" that 5110 from another PC, using USB-to-serial connection to an Arduino Nano that converts ASCII over into IBM 5110 parallel key inputs. I can type interactively (push "A" on terminal program, and "A" appears on the 5110), or CTRL-V paste inputs into the terminal program. Also, every key is now typamatic/repeatable instead of just a few.

https://www.youtube.com/watch?v=zxSGnKx5J-0

And relevant notes are on github:
https://github.com/voidstar78/KBD5110

The Serial connection means you can script inputs, like BASIC programs or machine code programs. I have longer term goal of scripting in some machine code that lets you load in larger amount of code with the external IO at the back of the system (they are two parallel connectors, and the 15-pin connector at the top matches the old IBM joystick plug) - not quite a disk emulator for that system (although maybe someday), but maybe something fun like a BadApple demo running on the 5110 (since the machine code gives you more direct access to the video)

Next, I plan to use an Arduino Mega to let you just plugin in a USB keyboard -- so you can type inputs without needing a full PC or laptop. I couldn't get that working on the Nano (not quite enough pins), but the Mega already has an add-on USB module and software support prepared for that.

If anyone else has a 5100/5110 without a keyboard, maybe these notes can help get that system going again (maybe just to test the cards of a system, or to script in more elaborate programs {including APL} without having to deal with tape or disk -- it may be possible to inline this USB adapter with the existing keyboard, and/or connect this to the pins at the back of the A1 board without dealing with the stock keyboard connector at all).

I'm also wondering of maybe this approach might work for other systems that also use "parallel inputs" for keyboards? (Datamaster/32 perhaps?)

EDIT: And this is doing about 30 CPS, or effectively emulating a typist that could do ~380 WPM with 100% accuracy. So definitely faster than a standard typist, but not as fast the tape or disk :D (in small burst - single line - it could probably be faster, but in testing I found there are various cases where it is possible to type "too fast" and confuse/halt the system, so this 30 CPS is a compromise that is stable in all cases)


NOTE: I'm seeking a tape control card or a Display card for an IBM 5110. Those individually are relatively small to ship. If anyone is aware of loose cards or knows of an otherwise wrecked 5110, I could use those parts in another project.

Post Reply

Return to “Keyboards”