I can't believe we're finally here, but the C64FC is ready for the FINAL VERSION. After locating a couple of minor hardware bugs and implementing V-USB, the device works as expected and runs flawlessly! Words can not describe how thrilled I am right now.
I'm using V-USB on the ATmega16 to deal with the PC communication, and this was surprisingly easy to work with. File transfers are bundled in usbSetReport packages, and it takes around 1-1,5 seconds to transfer a complete cartridge image over the USB 1.0 connection. The cartridge image is stored on an IDT7005 8K Dual Port RAM, meaning that the ATmega16 and the C64 can speak to it simultaneously. The reset is optional, and the cartridge memory contents may be reprogrammed while the C64 is executing it!
The client software is currently Linux command line only, but I will start working on a Qt GUI frontend for Linux, Mac and Windows. Command line versions will of course be an option, as they may be nice to include in Makefiles for software testing.
For a little background story, see here http://jmp.no/blog/c64fc-is-done