PC-8801 Keyboard
First Draft: February 16, 2025
You could say I'm a bit of a PC-8801 fan. I own a pair of the slabs, I spent a good ten or so hours fixing battery damage in one of them, I've gone out of my way to buy expansion cards (PC-8801-01 Kanji ROM, PC-8801-02 128K RAM, PC-8801-11, and a PC-8801-23 clone), I got a PC-80S31 that way I could run floppy disks, and I even imported an old monitor for the thing that way it "looks right".
"PC-8801 Keyboard" and "Pain" have been commonly-associated terms for as long as I've played with the line of systems. Original keyboards aren't too expensive but don't show up very often, when they do show up they're prone to issues like the spacebar being all floppy or the stems getting killed in shipping a la Commodore VIC-20/64s where the keys on the edges snap off. 8801MkII keyboards are either notably bad, the Futaba switches seem pretty universally disliked by everyone I know that uses them, or notably expensive due to not only 8801 owners buying them but also Alps Blue fans seeking their latest fix of overhyped switches on a board to gut and USB convert. Type A/B/C keyboards follow the latter statement I made regarding MkII keyboards.
Since I'm in a place of mild pain with my 8801s, only one intact original keyboard which feels all nasty and scratchy, I think it's in my best interest to churn out a modern replacement.
Part 1: The Actual Thing
A cool thing about the PC-8801 keyboard is that it just doesn't have much of anything to it. Software reads the key matrix directly, there's no sort of microcontroller for things like serial communication going on here.
The bill of materials as-published by NEC consists of a 10uF 25V capacitor, a 0.1uF ceramic capacitor, a 74159, six diodes, two locking keyswitches, 90 standard linear keyswitches, 92 keycaps, and a DIN14 connector. Said DIN14 connector carries:
* KA0-KA3 (four rows)
* KD0-KD7 (eight columns)
* +5V
* GND
The only "hard parts" about replicating this that I can find are as-follows:
* Nobody sells a good set of keycaps for the thing, keys like STOP or ROLL UP aren't exactly on modern keyboards.
* DIN14 connectors are pricey, that said Atari ST fans make their own 3D printed onese these days.
At least the electronics and using sharpie to make my own special keycaps should be easy enough, right?
At some point in the future I'll come back and make a "Part 1.1" where I try to figure out how one of these translates to a Type A/B/C keyboard. I assume those are more like PC-9801s with microcontrollers but I really honestly don't know, I would be interested in finding out but not until I'm done with creating something that works on the original thing and MkIIs.
Part 2: KiCad
Now that I know what I need to replicate, the first step is copying that page from NEC's manual into KiCad.
I was thinking about doing something like what the OSI guys did with their 600D replica board, making the latching keys be standard switches with optional toggle switches located elsewhere on the board, but in all honesty I like flipping paddles - I'm just going to use SPST switches as toggles and revise the layout to have a 2U CTRL key and nothing to the left of GRPH, some SPST toggles somewhere else to stand in for CAPS and KANA.
The next step is routing the circuit board. I've got to lay the keys out and connect all the bits together, the former part of that being a huge pain in my neck.
I know the quality of this screenshot is horrible, what I'm trying to convey is that the way I run KiCad just doesn't cleanly lay out keyswitches. You can set your grid to 4.7625mm but it doesn't matter on the X axis, some will just be off - certain switches are going to overlap, others are going to have gaps. The solution is manual layout, mapping one key to a good spot like (0,0) and then basing the rest off of that position. Are there modern solution to make this easier? Maybe. Should I look for them? Probably. Will I? Probably not, I'll just spend a week in Excel doing simple math to generate the coordinates for everything.