Currently I'm planning the updated version of my C64 universal cartridge ( http://www.ohwr.org/projects/c64cartridge/wiki
). I want to start a Kickstarter project, but first I want to build a fully working prototype of the updated version (hardware fully working), so that I can concentrate on mass production (I hope :-) ), regulations like WEEE for selling electronics, ESD/EMI testing etc., and for writing the firmware and PC software. All parts are non-BGA, which means I could sell it as a kit and you can solder it at home. But I plan to sell it fully assembled and tested, too.
Now the planned changes, later some open questions:
- new microcontroller: My idea is to replace the 8 bit CPU with the LPC11U24 ARM CPU (Cortex M0), because it is easier to program. E.g. there is a debug pin, when set, you can just plugin the USB port to a PC and it emulates a mass storage device with "firmware.bin" as a file. Updating means just to copy a new firmware file to it. And instead of a proprietary IDE you can use GNU GCC for the firmware, e.g. Codesourcery. It's not that much more expensive, EUR 4 for one.
- FPGA instead of CPLD: With the CPLD I can't emulate e.g. a C64 REU or access larger memory. So I plan to use a Lattice MachXO2 FPGA (LCMXO2-1200HC). It costs EUR 8, so still reasonable. It should have enough power to implement even a second SID or a Z80, and it is pin compatible to bigger FPGAs.
- SPI flash memory is getting less expensive. I'll replace the current SPI flash with a 16 MByte version for EUR 3.40.
- SDRAM instead of SRAM: Currently I'm using a 128 kByte SRAM IC. Some game cartridges need up to 512 kByte, and the REU can be upgraded up to 16 MByte. This is the reason to use the IS42S83200G SDRAM: 32 MB, for the same price as the old SRAM: about EUR 3! Accessing is more complicated, but I can do it with the new FPGA.
I need a different oscillator for the microcontroller and a better voltage regulator, and the input of the FPGA is not 5V tolerant, so I need more voltage level shifters, but in sum it should be less than 40 EUR for the parts and the PCB.
- should I add a SD card socket? The on-board 16 MByte SPI flash memory could save hundreds of cartridges, but swapping an SD card could be easier, or even selling SD cards with games would be possible (if I can get the permission from the license holders), or for more advanced projects (the cartridge can be used as a normal USB device, too, without a C64, and you can program the microcontroller and the FPGA with your own programs).
- how many LEDs, switches and push-buttons do I need to emulate as many different cartridges as possible?
- any other features I forgot? I will add some headers for attaching hombrew electronics, both on the CPU and the FPGA side. Maybe a not populated VGA connector with a R2R network, or a DVI output?
Comments, feature request etc. are welcome!