I'm new to the forum, so hope I'm posting in the right place.
I've had a QL since about 1985, and used it a lot back in the '80s and '90s, adding memory, disk drives, and expansions, and doing a fair bit of programming in various languages. However, it's probably been sitting in a box in my attic for over twenty years.
I have played with various emulators over the years, and have always had a great fondness for the QL, which is still one of the most beautiful computers ever build, in my opinion.
I've had an idea in the back of my head for a while now, of giving the QL a new lease of life, and I hope to make that happen this year, by putting a modern computer in the QL case. The Raspberry Pi seems the obvious choice, especially now that the Pi2 has been released.
I couldn't bring myself to destroy a working QL to achieve this, so last year I picked up a QL case on eBay (a £7 investment). It seems to be in good nick, and even the keyboard membrane looks okay.
Now the project would be pretty pointless if the QL keyboard can't be made work, so that's the first phase of the project. I've been looking at various options for doing this, and came up with a shortlist:
- Connect the keyboard connections to the IO ports on the Pi. This would be fairly easy to do, but the software on the Pi to interpret it and make it operate the computer would be tricky, and would require custom drivers, and would need me to use an external keyboard to develop and load the drivers in question.
- Use the controller board from a USB keyboard and connect the QL keyboard. I've seen this done on Spectrum and other retro keyboards, and it works well, but does require mappings to convert the keymap of the original keyboard to the target. Again an external keyboard would be needed to set this up. This approach seem preferable to 1, but still not ideal.
- Use a microcontroller development board to connect the QL keyboard connectors and remap the keystrokes into something the computer understands, preferably looking like a regular USB keyboard. This seemed like a pipe dream until I acme across the Teensy board. This is a USB connected board with a bunch of IO pins and a programmable microcontroller. Most importantly, there are toolkit libraries for many common functions, including emulating a USB keyboard. So it should be a relatively simple matter to make the QL keyboard behave as if it were an actual USB keyboard. And it should even be fairly easy to add functionality to interpret QL keystrokes such as CTRL+Left arrow and map them to the PC's backspace key. The Teensy 3.1 has an ARM chip, more than enough IO ports, and at under $20 is a very cost effective solution.
Once I have that working I'll look at adding the Pi. I want to map the Pi ports to equivalent ports, so the CTL and SER ports will become USB ports, the RGB port will be the HDMI, and one of the NET ports will have an RJ45 socket. The microdrive slots will, of course, house SD card readers.
Of course, once I have it working, I'm hoping I can get a QL emulator working on the Pi.
I'll post photos and report my progress here, and if any one is interested, I'll be happy to share my Teensy board code.
I'd love to hear comments or suggestions.
James