The subject of the post might be a bit of a hyperbole but it gives somewhat an idea of what is going on in my head at the moment.
As USBhost-64 was mentioned again to me and as I have had quite some experience with PC communication in DC2N4-LC and C2NEmu I thought: why not make a device that connects to the Commodore 64’s user port and to a PC via USB, or one that uses micro SDHC cards? That would lower the overall costs and give myself a migration path away from the USB host vendor I used in USBhost-64. In fact, if I can reproduce the interface that it presents to the Commodore 64, then I can myself decide what the storage medium is going to be: USB flash disks, SDHC cards or a PC’s file system. The two evident benefits are:
- the drivers I wrote on the Commodore 64 don’t need changing;
- being in absolute control of the interface, I can extend it and port it to future micro controllers if I want to.
These sound too good not be give it a shot!
In order to come up with something that can withstand time and be easily ported to future micro-controllers, I decided to code such interface using mbed’s online compiler for ARM. I have enjoyed their library handbook quite a bit, despite the issue I reported with the SPI interface on the development board I am using.
It’s still early stages but if I manage to find the time I am going to set up a test rig with some AVR playing the role of a Commodore 64 and an ARM presenting the USB host’s interface. As per code, I’ve already put together an interrupt-driven bus transceiver that should be compliant with the existing implementation 🙂