BeagleBoard in ZX Spectrum case
Michael Gerbracht (180) 104 posts |
Since there is no case comming with the beagle board and the cases you can buy are not nice in my opinion, I found this funny project where somebody puts the BeagleBoard into the case of an Sinclair ZX Spectrum: http://www.flickr.com/photos/zxspectrumupgrade/sets/72157616543421081/ I like it because the spectrum case remains almost untouched and personally I started with the ZX Spectrum+ and changed to Acorn Archimedes later. I just wanted to point you to this interesting project and have a few related questions: 1. He managed to make use of the old rubber keyboard. To do that, he had to rematch the key codes from the keyboard and I wonder whether this is possible in RISC OS, too. I know that for different countries there are different mappings, but I have never seen how this mappings look like. Is is a completely editable table? So is it simple to remap the keycodes or would you need something more sophisticated like a module? 2. For running RISC OS it would of course be nicer to use an Electron or Master case, do you think this would work in the same way? Or maybe the case of an A3000/A3010? Would it be possible to use the build in keybaord as well in both “cases”? 3. I found this interesting because I like the old homecomputer style cases and I wonder why there are so few left (http://www.maximumpc.com/article/news/asus_shows_off_concept_keyboard_pc and http://www.cybernetman.com/). Am I the only one or are more people interested in such a case for the BeagleBoard? Do you know any company that could produce such a case if there is enough demand for it? |
Jeffrey Lee (213) 6048 posts |
The InternationalKeyboad module handles the mapping of the internal RISC OS key codes to ASCII (and to Unicode, it seems). It looks like it uses fairly simple tables to map the codes to each territory. However I don’t think it’s a particularly good idea to use the territory system to remap the keys for different hardware – it would be much better to change the code that produces the internal key codes. With USB keyboards, the internal key codes are generated from the USB HID key codes using a table inside the USBDriver module. At the moment that table is fixed, but it could be nice if it could be overriden on a per-keyboard basis. E.g. to save on desk space I’ve been using a keyboard with built in trackball with my Beagle. But the trackball only has two buttons, so in USBDriver I’ve remapped the Windows key to be the middle mouse button. So if you’re able to interface the keyboard via USB then performing any key translation inside USBDriver would be a good idea. The A3000 TRM doesn’t go into any detail as to the pin-out of the keyboard connector, but it looks like it’s just a ribbon cable providing direct access to the keyboard matrix. The keyboard signals are routed to an Intel 8051 on the motherboard which does the keyboard scanning and generates keycodes to send to RISC OS. So if you wanted to use the Arc keyboard as-is then you’d need to find a suitable replacement piece of hardware. If you’re lucky there might be enough spare GPIOs to drive the keyboard matrix using the OMAP, using a custom keyboard driver. If not then you might be able to find a suitable microcontroller that interfaces via USB, IIC or serial. I know that the Pandora uses the keyboard matrix driver that’s built into the TPS companion chip, but unfortunately the required pins aren’t routed to any of the expansion connectors on the Beagleboard..
The Master and Electron keyboards both look like they use an external keyboard matrix driver as well (i.e. they both connect the keyboard matrix to the motherboard using ribbon cables). So interfacing with a Master or Electron keyboard would be the same difficulty as interfacing with an Arc keyboard.
Probably due to lack of room for internal expansion, and lack of standardisation among case design. The PC market has thrived because the cases, motherboards, PSUs, expansion cards, hard discs, etc. all follow the same standards with regards to mechanical & electrical interfacing. Plus most all-in-one PC’s don’t have room for the massive heatsinks that modern x86 processors require – so even if you came up with a case design which could fit a standard mATX motherboard you’d have trouble selling it because there aren’t enough low-profile heatsinks, or any standards defining the maximum height for such a heatsink, etc.
An all-in-one case could be nice. |
patric aristide (434) 418 posts |
Yeah, that’s why laptops never took off: non-standard form factor difficult to keep cool and pretty bad expandability. Plus when the display goes duff they’re pretty useless! Seriously though, I quite like the idea. I thought of using some kind of industrial keyboard, building my own case and cram everything inside. On the other hand it would probably look as if I had built it and that’s not such a good thing unfortunately. The other possibility would be to mount the BB on the back of the monitor which shouldn’t be too difficult. |
Theo Markettos (89) 919 posts |
HID is fairly well supported by USB microcontrollers. You can probably find example code to do all the HID stuff. So you’d only need to interface that to whatever keyboard matrix you have. |
Uwe Kall (215) 120 posts |
This looks great, especially for friends of the Spectrum. I remember, though, that the keyboard was not one of the greatest advantages of the spectrum – I had an Atari 800 XL and the keyboard was much better :-). But even with this, I would really miss some keys from time to time. For my Beagleboard, I built a small box that takes the BB and a seven Port Hub (to attach it to the rear of the monitor) and use a wireless Keyboard & Mouse set to get rid of some of the cables. But as long as I need to use the Reset switch quite often the box still remains on the table, in reach… |