A few years ago I had an idea: emulate a 27C256 on an AVR and use it as a programmable C64 cartridge. The goal was to make C64 development fast, fun and streamlined. The emulation part was a bit too demanding for the AVR I played with at the time, so I had to think bigger.
As time went by, the cartridge also went though many stages of development, a few of which can be seen below. I've done mistakes, been too quick to place orders, spent countless hours pulling my hair trying to figure out why it wouldn't work, and so on. I guess many of you have been though the same at some point in time.
C64FC development history
A few days ago I had a breakthrough getting the device to identify as an USB HID device, and yesterday it all just "clicked." The device works and transfers images without a hint of problems. Release candidate 2, with its minor hardware patches, is perfect:
C64FC RC2 in half a cartridge shell
Since the cartridge identifies as a HID device, no drivers are required! The client software automatically detects it on the USB bus and communicates with it. File transfers are so smooth and fast you have to see it for yourselves:
The 800MHz VIA C7 laptop used in this demonstration takes 1.4 seconds to initiate communication, transfer the file and reset the C64. On my slightly faster Core2Duo workstation this is completed in 1.1 seconds. Not that it really matters, but it's worth mentioning.
Even though I do not consider it necessary, I will drag the cartridge through phase RC3 to let a handful of betatesters give it a go. Meanwhile, I will be working on a Qt GUI frontend which will allow people to play with this from Linux, Mac and Windows.
Have a merry xmas! I know I'm having one :-)