8K Non-Volatile RAM for C64

In order to write software for the C64 and use it in this manner I needed a way for the C64 to be able to run my software without having to load it from a disk. I needed to be able to do a lot of testing and an emulator isn't an option when you are working with external hardware add-ons. So burning to an EPROM and testing is too time-consuming. So I decided to create a cartridge for the C64 which would store 8K of RAM that can be used to auto-boot my program and also be modified at will. This is still untested as I'm still constructing this at the time of this writing. The schematic below represents both this project and the LCD project in one. The LCD part should work, the RAM part I am not sure about. Notice there is no battery backed RAM. Originally, I was trying to design it with an SRAM that would be battery-backed. However, I found this chips made by RAMTRON which should work even better. They were nice enough to send me free samples. The RAMTRON FM1808-70-P is a 28-pin DIP with the same pinout as a standard SRAM chip. Only, it is considered an FRAM and stores memory similar to a flash-memory product. It is supposed to have unlimited number of reads and writes. It requires no special routines to write to it (unlike flash or eeprom) So it should be pretty straight-forward. I've already been able to stick the chip in a cartridge and read from it (which is pretty much garbage right now since nothing has ever been written) However, the C64 PLA doesn't allow writes to the cartridge ROM areas so we have to use a decoder chip to handle this for us.

When finished and working, the idea is that the RAM at location $8000 will be in the external chip. You'll be able to read and write to it just as if it were RAM on the motherboard. However, there will be two switches. One switch controls the EXROM line which tells the C64 that a cartridge is installed. If this switch is activated, then the C64 will behave just like it has an 8K game-cartridge installed at location $8000. Otherwise, with it turned off, then the C64 won't know the difference between this RAM and the RAM inside. The other switch will control the read/write line. This way you'll be able to control write-access to the cartridge. So if you want to save your work and don't want it modified, then flicking this switch turns it into ROM.


Back to main tech Page