The Enclosure
Since I had started working on this last year, the enclosure is partially completed. I had removed some plastic ribbing prior to the RetroChallenge, and mounted both a Rasperry Pi 3 and a LL530 keyboard interface board inside of it. That's about as far as I had gotten last year, so that's a good start. (pics in the next update post)
The Keyboard
I started out with trying to get the keyboard working. This seems to be the most time consuming portion of the hardware at this point, and has the most question marks associated with it.
The big issue is using the Tandy 102 keyboard with a spare "two header" Amiga 500 keyboard "encoder" board. I had toyed with the idea of perhaps just wiring up the row/columns to the Tandy keyboard's rows and columns, but this brought up some issues. Obviously, the matrix would be different... ie; row 2 column 2 would be different keys on the two keybaords. This would be fine as I could just change the code in the LL530 to convert the fakey-102-500 keycode to be the correct keypress. I kinda wanted to use the LL530 stock though, so this meant rewiring the 102 keyboard.
The 102 keyboard has diodes at most of the junctions, and there were a different ratio of rows/columns. but I plan on ignoring those by cutting the traces on the board and wiring around them, ignoring them.
I measured resistance for each key on both keyboards. The Tandy 102 keys ("Alps Mount Round Slider") came out at about 100 ohms when pressed. The Amiga keys ("Mitsumi KPR Hybrid Switches") were 0 ohms (no resistance). Could this be an issue with the custom Commodore key matrix scanner on the Amiga encoder board? Only one way to find out... Wire it up!
I wired up a couple of the Alps keys to the scanner, hooked it up to my LL530 and tried it. Turns out it all works great, so no worries there! I apparently picked "9" and the left spare key usually between 'left shift' and 'z', which apparently maps to a "section character" (§)
Next, I wanted to try to clean up the keys. They seem to bind a little as you press them down, as the plastic tube is getting snagged in the mechanism. This is probably due to wear, dirt, etc. I removed one from the board (four through-hole solder pins), and disassembled it carefully to see what I was dealing with.
The keys popped off using an official key cap removal tool... a pair of tweezers wedged under the key. Then the plunger and dome could be removed from the enclosure by flexing out the two T shaped tabs on the enclosure top. From left to right: the key cap, top cover (snaps on using the two large T shaped tabs), round plunger, rubber dome with carbonized contact, and finally the enclosure with the contacts in the bottom.
As far as I know, all of the keys are contacting/switching okay, but if i need to replace components, they're easy to swap in or replace the entire key.
I also took this opportunity to replace the "caps lock" and "num lock" keys, which are latching, with two spare keys, since I wanted to reuse the Num key for "right Amiga" and the caps lock key needs to be momentary for the Amiga matrix scanner. The pin layouts were different, so i needed to drill new holes in the board for the momentary switches. The switch labelled "56" above is the replaced caps lock, while "57" is the control key next to it.
Four of the "top row" keys of the 102 keyboard, the arrow keys, don't have quite the right snap/click that the others do, due to 30 years of use and wear. I happened to have a bunch of exact replacements, which I got on ebay for another project a couple years back, "12x12x7.3mm Tact Switches"
Next is the task of remapping the matrix. I found some commonalities between the two matrices, seen color coded above... the keys in yellow share the same x/y indexing with the Amiga layout, and the other colors only share the same column. I traced out the schematic on the keyboard, and cut a bunch of traces. Next up is rewiring it and wiring it up to the Amiga Encoder board.
More to come....
No comments:
Post a Comment