Feature One: As seen on the GuardianWitness
A big thanks to the The Guardian and Matthew Holmes in particular, for featuring this humble Raspberry Pi, Arduino and ZX81 keyboard project in the article Best reader Raspberry Pi projects – and some of the most pointless. There are loads of other interesting Pi related constructions to peruse through, the article is a fun sample of all the ways people are finding to enjoy the Pi. I particularly enjoyed the Raspberry Pi hacked into a Holga 120 Film Camera, and its taking of photos old school.
|The AZ15, as seen in all the best online newspapers.|
Feature Two: New Keyboard Functionality
Having used the AZ15 for almost two weeks now I decided to add a little extra functionality, addressing some minor usability issues, the main one being my forgetting to switch between Emulator and Standard keyboard modes. When using a ZX81 emulator with the keyboard, the button on the right side of the case is pressed, this changes the keyboard mode, and the LEDs on top visually tell you what mode you're in. This is all fine, except I keep forgetting to press the button.
The solution is simple enough, have the keyboard change modes automatically. Nicely the Raspberry Pi can talk to the LeoStick via serial link and vice versa. A couple of commands directed at the serial interface before launching an Emulator automatically selecting the correct keyboard mode and things soon become more user friendly.
For example, emulator mode can be selected and a notification bell passed with the following redirection to the serial port the LeoStick / Keyboard is attached to.
echo emulator bell > /dev/ttyACM0
Putting the above in a start script that launches the emulator and then sets all back to normal after exiting solves my main issues.
#!/bin/bash # Put keyboard in Emulator Mode echo emulator bell > /dev/ttyACM0 # Launch the sz80 emulator sz81 # Set keyboard back to Standard Mode echo standard > /dev/ttyACM0
If the USB port assignment changes around, "dmesg" could always be used to parse for the correct device.
Command Line, Mode and Options Selection
|BELL||Sound the LeoStick Piezo. Could be used to forward audio system notifications etc.|
|BEEP OFF||Turn off Keyboard Sounds. Sounds are off by default.|
|BEEP ON||Turn on Keyboard Sounds. Similar to the keyboard clicks made by ZX Spectrum when typing. The keyboard only emits clicks in Standard mode. In Emulation mode sound is always off.|
|DEVICE||Returns message "ZX81_KEYS" to the console. Useful if unsure you have the correct serial port. You must be monitoring incoming streams to get the return message. eg cat /dev/ttyACM0|
|EMULATOR||Switch the keyboard into emulator mode.|
|STANDARD||Switch the keyboard into standard mode.|
The latest Arduino sketch can be downloaded here: http://zx81.dasteph.com/files/zx81usbkeyboard_20151205.tar.gz