C64 Production Cartridge

A low-cost 128KB cartridge for selling modern games for the C64

Similar projects worth following
This project is to fill a small niche. Recently I heard someone give a talk about the lack of a low-cost cartridge for the C64 which can hold more than the standard 16KB. I thought this was a relatively easy problem to solve. I figure I could find a small microcontroller which has at least 32KB of memory and enough pins to connect the whole expansion bus. Then I just use the microcontroller's memory to store the ROM code and a simple program on the microcontroller to fetch from the correct address and put it on the bus.

The whole project should just be one active chip which definitely keeps it cheap.  I've targeted the PIC18F47K40-E/P - it's a 40-pin 64MHz processor with 128kb of memory still in active production.  It has an internal clock which saves me cost and pins.  It's fast enough to be able to fetch the byte from ROM and put it on the bus before the C64 needs it.  It works at 5V, and has enough I/O to hook up to the whole cartridge bus.


It's listed at $2.59 for one at Digikey.   Since this is targeted for a larger scale production run, it's $215 for 100.  For a 5x7 inch board, EasyEDA quotes $329 for 100.  This means roughly $5.44 for electronic parts.  That's not too bad.  Normally you'd triple the electronic costs to get your production price - so you could probably sell packaged & assembled carts for $16.  Then a software person could add their custom software to it, and charge maybe $25-$30 which seems reasonable.  My plan is not to sell these myself, but leave it up to whoever is developing the software to order the boards directly from the fabricator.  So I will release everything open source.  Maybe if I find I really like C64 programming, then I would make my own old-school video game and then sell it on this cart.


It's possible to do more than just act as a cartridge, but I'd like to avoid feature creep.  It could be a serial port too using the built-in UART of the microcontroller.  It could use some of the RAM of the processor - there's about 3.8KB of RAM in there.  I'll at least try to reserve the UART pins, and maybe pull them out to a header.  Also, the memory is Flash, so there's no reason you couldn't write to it while it's inserted.  So it could be used like a floppy drive to store programs.


The first problem is that I don't have a C64.  And I've never used one before.  This is not an insurmountable problem, but getting a working C64 might be a bit of a headache (eBay).  I also don't have a cartridge to go by, but I believe there's enough online resources.  

Also, this is not really a development cart.  There are better carts for that out there.  And you only need one of them.  This project is for higher-volume runs trying to minimize the cost.

  • Quick schematic

    Justin Davis11/10/2017 at 16:43 0 comments

    I was thinking something like this for a schematic:  basically hook everything up to the microcontroller.  Then break out the programmer interface for the PIC, and the UART interface for the FTDI cable.  I'm not sure what else is needed at this point, so I have to start learning about the C64 expansion bus and how I can do the bank switching.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates