Ever since I got my C64 “mostly” working, I’ve wanted a way to get games on to it, in order to relive my early childhood a bit. We’re spoiled for choice in this department, it truly is a great time to be interested in this sort of thing if you have the funds to pay the price of admission.
And therein lies the problem, I’m a cheapskate!
I looked variously at the 1541-Ultimate II+, the Pi1541, the Kung Fu Flash, and the SD2IEC… in decreasing order of expense at the time of writing. All of them cost a fair bit, or I had to wait a while for shipping to buy them cheaper, or are presently unavailable.
Doing something completely unrelated (not sure what), I stumbled upon the Uno2IEC project which is, as I understand it, pretty similar to the SD2IEC… it may or may not borrow code from it, I’m honestly not sure.
This piqued my interest though, for two reasons - the price of entry is fairly modest (requiring only an Ardunio Uno which are very affordable and reusable for other things if I desire), and they’re available locally (or rather a knock-off is), so after work today I headed over to Jaycar and picked one up, along with a 6-pin DIN plug for the IEC connector.
On my Arch linux laptop, I needed the following packages installed:
pacman -Syu qtcreator arduino qt5-serialport
I then cloned the project, built the arduino bits and flashed it to the Uno, built the Qt application (open the poorly named
rpi2iec.pro file, but open it as a “Desktop” configuration) and ran it. It didn’t detect the Arduino, but that’s because I have to add myself to the
uucp group to have access to the detected serial ports, so that’s easy enough to fix (managed to wipe myself from the sudoers group in the process though).
After a bit more work, I soldered up the plug, wired it up, and loaded a ROM into place and… I was met with
ATNCMD: IEC_ERROR! in the log. Turned out I had it wired up incorrectly and after double-checking my work I was off to the races.
Here’s my final pinout for the plug I made:
|IEC Pin||IEC Purpose||Arduino Pin||Color|
It basically does what it says on the tin: the Arduino effectively just acts as a media converter and a buffer, while the Qt app actually impersonates the minimum viable 1541 drive. I say minimum viable, because like the SD2IEC, the compatability isn’t there for anything that uses any non-standard loading method, including fastloaders and so on… so a fair few of the games I nicked off the internet worked.
Super Pipeline did though, which was enough for me. I also successfully played Bubble Bobble and Boulderdash. Those were enough to remind me how exactly dogshit for ergonomics the joysticks of the day were.