There are a couple of options for the keyboard.
One is to develop my USB keyboard adaptor. The MSX scans more rows and columns, but otherwise the functionality is very similar.
The other is to build a mechanical keyboard. Others have done this already and published the details (Dino boards and skiselev / Omega) so there would be no need to reinvent the wheel.
I'm going to go down both routes to get a handle on the cost and the pros/cons of each.
The Omega project has a separate keyboard with standard MSX connector, so it's easy to simply order the board & parts and build one. While I'm waiting for my boards from China, I'll work on....
My USB keyboard adaptor requires some enhancement. To start with, the 'row' lines are encoded and need decoding. (4 lines on the keyboard connector, can be decoded into 9 or more rows). That's easy with 2 x 74138's or a 74145. Then there are the extra rows and columns (the interface was designed for the Minstrel 4th / Jupiter Ace, which has 8 half-rows of 5 bits in its matrix. The MSX has 9 rows minimum (without numpad) and 8 columns). This means some extra logic. You can see all of this here on a breadboard and bodges to my minstrel keyboard adaptor. What I'm trying to do here is to prove that it works before designing a pcb for the USB adaptor.
Obviously the keyboard logic will be included on the keyboard adaptor, with caps lock LED, keyboard-click buzzer and the proper MSX keyboard connector, so it'll connect with a ribbon to the PPI module and obviously via USB to the keyboard.
(Also on the breadboard there is another 138 which is used for decoding the slot select lines - see an earlier log. I already have new boards on the way which include that on the PPI module.)
Here is a movie of this in action, it demonstrates the 'paste over serial' functionality which is a great alternative to saving/loading.
Pros and Cons of the USB keyboard adaptor
- Convenience - it allows you to use whatever USB keyboard you have around
- Layout - type using the layout of the USB keyboard that you're used to
- Speed - it buffers the keyboard input and allows you to type very fast, keys are entered at a speed that the computer can accept. Until I've built the mechanical keyboard, I don't know whether this is such an issue as it is with computers like the ZX81 and Ace.
- Serial input - as you can see in the video above, pasting in a program over serial is a great alternative to saving / loading. Pasting is slower than loading (It'll probably go more quickly than in this video, I haven't tried yet) but I've found that I prefer working that way on the Minstrel 4th.
- Cheaper - even with the cheapest keyswitches and keycaps that I can find, this solution will probably be cheaper to make.
- Microcontroller - The USB keyboard adaptor uses a microcontroller for the USB communication, which I feel uncomfortable about. It's a more powerful computer than the computer it's connected to.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.