Jeff Harris has used the awesome Raspberry Pi mini PC to create a Slack client for his iconic Commodore 64 PC. Check out the video below to learn more about the project which is use Slack because its “simple and easier to deal with than emails” says Jeff.
Due to no native Slack client being available for the Commodore 64, Jeff set about creating his very own, and probably the very first and only Slack client for Commodore 64.
The C64 has an extension port called the Userport which, via an adapter, can communicate over RS-232 serial. I connected the Userport to a Raspberry Pi with a artisanal, locally sourced, homemade cable with the UserPort connector on one end, and a usb TTL-RS-232 converter on the other. The fastest I have been able to run this reliably is a solid 1200 baud / 150 bytes per second.
On the Commodore, I wrote an application in 6502 assembly. It uses built-in Kernal ROM functions to read and write the serial port and update the screen. On the Pi, I wrote a NodeJS app which talks to the Slack RTM API. It is reponsible for translating a simple RPC protocol between the C64 and itself and connecting to the outside world (in this case, Slack). It uses serialport to talk to the USB serial driver.
A simple RPC message format is defined between the C64 and Pi. The description below is all C-style, but of course on the C64 this is all implemented in 6502 assembly.
For full instructions on how to create your very own Slack Commodore 64 setup jump over to the Jeff Harris website via the link below. If you enjoy building Pi projects you might be interested in our comprehensive list of Raspberry Pi displays, HATS and small screens.