I ran into an issue with some old Commodore 64 Cartridge Roms that I purchased. I found 4 Rom chips with a single PCB for sale and purchased them. The PCB had a IC Socket on it to swap the chips around, all four chips worked on the board. I wanted to get them all usable again as full cartridges. I purchased some 3d printed cartridge shells at some point after that. There is also the issue that with the cartridge shells you can not use an IC Socket, it makes the chip sit too high to close the shell.
I decided to look around for some PCBs, but I couldn’t find any with the proper footprint for the original ROM ICs that have the 2364 pinout and not the pinout of the now commonly used 2764 27xxx EPROMs that the Modern PCB designs use.
I had not yet worked on any PCB designs. It is a lot of work to go from scratch for something like this if you aren’t familiar with it. The main issues are recreating the physical board in the right dimensions, the edge connector, as well as the proper size and placement of the hole to fit the case shells. With those in place it would not be too bad.

I did find a project on Github with Eagle design files. I tried to start working on it, but just wasn’t getting it at the time. Part of my issue is I have four ROMs and one board already. I only needed three boards. I didn’t want to order in 5-10 PCBs to only ever end up using three of them. That would have been quite a waste. I expect to that I will not be getting any more 2364 pinout ROMs in the future.
It has been a good while since I put those chips in some ESD Foam for storage. I recently purchased some premade PCBs for other projects, which you can find the GAL PLA replacement post here which is one of the boards. Another of the boards I purchased was a 2364 to 2764 adapter board. The GAL PLA was so easy to put together as well as the 2364 adapter that I really wanted to get back to this project.
I looked around and had seen some of bwak’s stuff. I found his Versa64Cart over at Github.
https://github.com/bwack/Versa64Cart
It looked like a great candidate as it was available with the Eagle files. I haven’t used Kicad and the other project I found only had files for it. I wasn’t up to learning another program just for this project. Bwak’s design is also the most complete and has all required documentation.
The only thing I really had to do with bwak’s design was add the 2364 footprint beside the 27xx footprint and wire it up properly. I was careful and used the design for the 23 to 27 rom adapter as part of my reference.
https://github.com/SukkoPera/Open2327RomAdapter
I also did some other reading of cartridge schematics and reverse engineering the original PCB I had received with the ROMs. In the end I put on the 2364 footprint, I tried to use an existing Eagle Library that had it in it, but there was some issue with the footprint in it. That lead me to making a new footprint for it in the library using the standard DIL/DIP footprint. It is the oval pads rather than the minimal round ones that bwak used for his footprints though.

I also added a jumper between EXROM and IO2 to the board. The only reason I added that was because the Original PCB I have has them wired together. I have seen no other point at which those are referenced as being wired together. These specific ROMs are set for “GAME” and “ROMH”. EXROM is not used on these cartridges. I have found no reference of IO2 or IO1 used on any standard cartridges, maybe they are used for bank switching cartridges? If that jumper was connected AND “EXROM” was tied to ground, that would Ground IO2, which is probably not good. Beyond those changes the board is the same as bwak’s 1.5 design. This will let me use my remaining boards with some 27xx Eproms or EEproms.
In the end I ordered 5 boards from JLC PCB. You can see the IC2 and JP1 footprints below on the Gerber viewer.

The PCBs arrived 7 days from ordering them. That was manufactured, packed and shipped from China to the Eastern United States. They do say two weeks estimate, it was very impressive to get them so quickly. I got them for a bit under $20 for the five boards shipped to me.

If you look at my board compared to bwaks’s 1.5 the ground plane is different, I think I widened the gap between traces, as well as the additional footprint for the other socket is probably blocking some areas. The old boards had no ground plane it is not a big deal. I usually like to fill it out as much as possible though, for this it is not important.

When they arrived I tested them against the original PCB. Everything checked out, the boards all looked correct with no defects. I did have to round over the card edge connector though, I expected that. I didn’t want the sharp edge there going into the C64. It was easy take the edge down with some sandpaper on a sanding block with a few passes across it.
The next thing I needed to do was solder on one of the ROMs, the capacitor and do the solder bridges for the GAME and ROMH pads. Initially it did not work, but that was because I forgot to do the GAME solder bridge. I did that and it worked perfectly. For the next three ROMs I soldered one onto the original board and prepared two more of the new boards for the last two. They all tested out and worked properly. The next thing was to put them into the 3d printed cartridge shells. That was easy enough, I will say compared to the old PCB, which fit perfectly into the printed shells that the new boards are slightly different. They are maybe .5mm to wide to fit, the hole for the screw must also be about .5mm to high or maybe even 1mm . This meant I had to slightly shave the 3d printed shell to fit the pcb into it, not a big deal. The hole placement means they are sticking slightly out of the bottom of the cartridge, but part of that is these cartridge’s have the screw about 1mm to low making that difference between the old board and the new ones a bit more pronounced. The old PCB even is about sticking out of these shells.


I am working on modifying a 3d printed shell design for my remaining boards, as those are the only ones I had. I had purchased them specifically for use with these four Original ROMs. I do have an Ender 3 Pro and can print them myself now. There are a number of designs on Thingiverse and other sites. So I picked up a few designs and started tweaking them with Tinkercad. The primary design I started with is a Stumpy type, it perfectly fits that old factory PCB, but that is the tallest it will accept. That is fine with me. It looks cute and takes up a bit less space, is quicker to print and takes less material. The problem with it is that the screw hole is was not placed properly, and the diameter of the standoff is incorrect, is also lacks support to keep the cartridge from rocking back and forth along it. I worked on it to get the screw hole placement correct, as well as fix the other issues with the standoff. I had placement corrected, and the length of the pins was great, the problem being the shaft was too large.. why.. So back to working on it. I did get it downsized properly now. It will use a M3 screw, so I reworked the face to accept a threaded brass insert. If I used the brass insert I can use M2.5 screws as well. The revised case now prints well and fits the cartridge PCBs nice and securely in the proper location.

The short shell is going to be for the remaining boards and possibly a few other modern cartridges. The original cartridge board fits it perfectly and is the longest that will fit in it. The Versa64 board a bit shorter so they fit well. I was thinking of making an even shorter version, but then it may get to be difficult to remove from the computer. I am thinking of maybe making a post about the shell if I do something interesting with it. It does not have the removable nameplate, which it really can’t as the screw mount is on the back of it. The cool thing about the removable faceplate on the shells I ordered is that a custom plate can be made to put in them. I had also purchased a shell for my Dual C64 Diag/Dead Test Cartridge which as a customized nameplate and opening to make the switch accessible.
The last thing I did with these cartridges was print up some labels with my Brother PTouch Labeler.
I thought of doing some printed labels on my inkjet printer, but they tend to fade as well as smear the ink if they get wet/damp. I have also done reproduction labels for cartridges using either label paper with the clear packing tape over them to protect them. Those sometimes the adhesive fails but it does usually hold up, the problem is more likely the packing tape adhesive fails and it starts to come loose. I have done it with paper and spray adhesive, but then after a couple years the spray adhesive has failed and the labels started coming off. Maybe I didn’t use the right adhesive spray. I did use clear laminating tape, and that seems to hold up well and stay on the label, but due to the spray adhesive they haven’t been on that long. Also the laminating tape I used is not glossy and is slightly hazy. I have also recently used a matte finish inkjet printable vinyl (see the RAD REU Cart). I feel that should hold up well, it isn’t quite the finish I like though it is durable. I mean the vinyl won’t have the exact look of an original cartridge label.
The PTouch labels have nice gloss finish and they stick very well. I expect them to hold up well. I have used them up for years for various projects as well as for work. They look nice for what they are, but are rather limited in the “art” and styles available.

You can see they aren’t any high value Cartridges. My projects are often about learning to do something new, or get better at some things I have done in the past. I like the bonus of getting something useful in the end. I may not use these games often, but I am glad that it will be easy to do so now. You can see how close the PCB is to the cartridge’s shell. Radar Rat Race is actually the original pcb, and even it is sticking out a bit. If I cared, I could sand down the new PCBs a bit shorter to be a more proper fit, but I don’t care that much. The new modified shells I have been working on are modified to fit better as they are.
This is just another quick easy project that I did. It is so much easier to put together a project with a proper PCB. I had toyed with the idea of designing and etching the boards myself. The ones I make were a very delicate and complicated project. I really don’t want to do any more of them anytime soon. Being a double sided board makes that much more particular in alignment. Cutting the boards correctly, drilling, etching… It is a lot of work, the lack of solder mask and through holes make it far more complex to assemble (not to mention not having the cartridge edge connector plated properly). I also design the boards with more space between traces when etching the boards myself to allow for the difficulty of keeping them intact and getting them to separate properly during the etching process , as well as going with as few through holes as possible.
I certainly expect to look into getting PCBs manufactured for future projects where required. The tough thing is for one off projects they are rather wasteful. I don’t want to buy 5 of them and only ever use one. Prototypes often end up with some mistakes, so I might order 5 and not be able to use any, or use one of them and have to rework on the board making it a bit of a mess.

Just a little addition. Here is a further modification of the Stumpy Shell shown above. The PCB is nice and flush in the shell. This is a C128 Dual Diag cart I have made up with one of the spare PCBs using an EPROM. The switch insert makes it reachable from the outside and the little red reset button extension makes it accessible. The EPROM is in a socket for this cartridge so I needed to make an opening for it. I find it quite difficult to get proper measurements for making the openings. There is a bit of trial and error making some test prints. An easier way may be to export the pcb design either to a scaled image file to use for a background or export it as a 3d model, which I did for my RGBI to RGB adapter pcb when making the case for it.