The KERNALquattro, yet another ROM Replacement

Recently, I got hold of quite a few broken Commodore 64 motherboards. It has been a while since I last had the chance to repair one of those boards and it was fun! I dubbed this repair project the “Blank Screen Marathon” and documented the whole process in German on Forum64. I might still give a summary in English here at a later point. But today, I’d like to introduce a small side project that resulted from this repair marathon.

The 3 ROM chips on a C64 motherboard

Among those broken boards were several with defective ROM chips. They were all so called “long boards” that use three of those ICs. One of them holds the “Kernal” which is what you might call a very rudimentary operating system. The other two hold the Basic interpreter and the character data.

The easiest and probably the cheapest way to replace one of those ROMs today, is to use a W27C512 EEPROM. These have the added benefit of a larger memory. Kernal and Basic require 8KB, the character set 4KB, so multiple different version will fit into one EEPROM. This also allows for a Kernal switcher, for example.

Different forms of ROM adapters

However, it does require some kind of adapter to use those 28 pin EEPROMs as a replacement for the 24 pin ROM ICs. The Open2327RomAdapter is one example for such a simple adapter board.

While these adapters are cheap and functional, they are massive constructs compared to the original IC. I wanted a more compact and elegant solution, and I wanted a way to easily switch between different ROM banks directly on the replacement board.

The KERNALquattro

So, I took some inspiration from prior work shown on Forum64 (see here and here) and created the “KERNALquattro”. “KQ” for short, maybe. It uses a surface mount AT28HC256 EEPROM that nicely fits onto the bottom side of the adapter PCB. With its 32KB it has enough memory to store 4 Kernal images. In order to make these accessible, the KERNALquattro provides alternative ways to switch between them: using either a DIP switch, solder bridges, or some other kind of switch wired to the external connector.

Replacing the Kernal ROM in a VIC-20

The AT28HC256 can either be programmed prior to soldering or with the help of a special adapter board. This adapter goes in between the KQ and the ZIF-Socket of a standard programmer like the TL866. It maps the 24 pins of the KQ back to 28 pin layout of a 28C256 in DIP package.

Programming the KERNALquattro using the Adapter

When using the adapter, all four switches on the KQ must be opened, i.e. switched to the OFF position. After programming, switches 3 and 4 (CS and WE) need to be closed again to use the KQ. Switches 1 and 2 (A13 and A14) can be used to select the memory banks.

The BOMs for the KQ and the adapter are quite short as one would expect. Unfortunately, the AT28HC256E EEPROM is not easy to source right now and more expensive than it used to be. Very likely, this is due to the current situation, the global shortage of semiconductors.

KERNALquattro Bill of Materials
Amount Ref Description Source
1 U1 AT28HC256E EEPROM eBay (China)
2 R1,R2 10k resistor 0805 eBay (China)
1 SW1 DIP Switch SMD SPSTx4 eBay (China)
1 CN1 male pin headers, round eBay (China)


The KERNALquattro and its programming adapter


KERNALquattro Adapter Bill of Materials
Amount Ref Description Source
4 J1 Pogo pins, 1.0mm diameter eBay (China)
1 CN1 female pin headers, round eBay (China)
1 U1 male pin headers, round eBay (China)


First tests of the KERNALquattro rev.1 have been successful, there doesn’t seem to be any pressing need for a new revision right now. So, PCBs for the KERNALquattro and the KQAdapter will be are available at PCBWay very soon now.

I’d like to do a little more testing followed by some cleaning up of my project files. When that’s done, I will share the project files on Github as usual. So, make sure to check for updates here.

Update 2022-05-30

The project sources are now available on Github.


7 thoughts on “The KERNALquattro, yet another ROM Replacement

  1. Good Job! I like the KERNALquattro.Thank you for sharing this Project with us.

    Can you please look after the first Link in the BOM to the AT28HC256E EEPROM. It shows a Voltage Regulator instead the EEPROM.

  2. Darn! Yet another mistake caused by copy and paste. Thanks for pointing that out, it’s fixed now!

  3. Very nice!

    Could the …”programming adapter” without the pogo pins installed be used to just read the contents of a Commodore factory 2327 ROM chip.
    BTW, I think your other projects are very cool.

  4. Apologies for that typo in the above post.
    It should read ,…

    Could the …”programming adapter” without the pogo pins installed be used to just read the contents of a Commodore factory 2364 or 2332 ROM chips…

  5. Pingback: Commodore 64’s BASIC and Kernal ROM replacement – We are All Geeks!

  6. Nice project but notice that the links for KERNALquattro are broken; do you have suggestion for what else can be used?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.