Super Zaxxon Replica

A while back — following the repair of a C64 — I posted about testing the PLA replacement that I had used. In the great video on that topic shared by MindFlareRetro, Eslapion mentions two possible tests for a PLA replacement. One of these I covered in my post back then. The other test involves using a Super Zaxxon game cartridge.

Due to the unique way of bank switching implemented by that module, it seems to be particularly vulnerable to glitches produced by PLA replacements. Less-than-perfect replacements tend to produce crashes or skewed graphics when running that game.

Schematics based on Siem’s design.

I don’t own a Super Zaxxon cartridge and they seem to be hard to find these days. So I thought it might be fun to create my own replica. Doing the research for this project, I came across a post on the Lemon64 board. It turned out I was lucky: Siem Appelman had already examined the original module and documented the essential parts of the schematic. I contacted him and he was willing to share his findings, including his own design for a reduced version that would require a single memory chip, only.

I opted for a W27C512 EEPROM chip because I had plenty of them lying around and they seem to be the cheapest parallel PROM chips around these days. You can get them for less than 0.50€ each on eBay. With Siem’s simplified design, only the lower 32KiB are used and need to be programmed like this:

$0000     lower $1000 bytes (4KiB)      mapped to $8000
$1000     lower $1000 bytes (4KiB)      mapped to $9000
$2000     $2000 bytes, bank 0 (8KiB)    mapped to $A000
$4000     lower $1000 bytes (4KiB)      mapped to $8000
$5000     lower $1000 bytes (4KiB)      mapped to $9000
$6000     $2000 bytes, bank 1 (8KiB)    mapped to $A000

The game switches between the upper banks 0 and 1 by reading the contents of the lower memory either starting at $8000 or $9000.

Rev.2 of the expansion port breakout board.

After rounding out the schematics with general knowledge on C64 cartridges gained from Jani’s excellent post, I first wanted to create a prototype to ensure that the design would be working. For this, I tried to use my expansion port breakout board that I had created for the 74LS279 test circuit. But I soon realized that connecting all the data and address lines to the EPROM using jumper wires wasn’t only a pain in the rather tedious but also very unstable.

First working prototype of the Super Zaxxon cartrdige.

So, I created a new revision of the breadboard adapter that allows for an optional 27C512 or 27C020 EPROM to be placed on the PCB and to be connected directly. Using this new board, I finally managed to create a working prototype!

Actually, the prototype turned out to be working too well. When I connected it to my C64 that is featuring the replacement PLA, I was a little disappointed that I still didn’t see any crashes or broken graphics. It remains to be examined whether this is due to the modified schematics or to an exceptionally well working PLA replacement, although I suspect the former.

AND gate used in the replica’s schematic.

Alternate AND gate.

I did a few more experiments and found that driving the CE/OE line with two diodes and a pull-up resistor instead of the two NAND gates would still work on an unmodified C64 but would crash when using an EPROM based PLA replacement.

Then I lost interest in the subject and instead decided to layout a nice PCB to turn my prototype into a fully functional Super Zaxxon replica. The layout of the components was quite easy but I turned it up a notch by branding the PCB with the Super Zaxxon logo. This time, I ordered the boards from PCBWay again and they did good job producing the somewhat unusual design at a very reasonable price. It would actually be a waste to hide the beauty in a cartridge case. Maybe a transparent one would do.

The finished replica.

The BOM for this replica is quite short. Apart from the PCB and the optional DIP sockets there are only 4 different kinds of components:

1 U2 74LS00 quad 2-input NAND gate eBay
1 U3 74LS74 dual edge-triggered flip-flop eBay
1 U4 W27C512 64k-8bit EEPROM eBay
3 C1-3 100nF capacitor eBay

All in all, this was again a fun project with many things to learn along the way.

 

Annex I.

More than a year has passed since I finished this project. Since then, I’ve been asked for help multiple times by people trying to reproduce the cartridge. Most are actually having trouble creating the ROM image and looking back, my notes on that part could have been more elaborate. So I though I might give some additional hints.

The starting point is the Super Zaxxon CRT file intended for the use with an emulator. This file actually consists of 3 separate ROM images: one 4k part and two 8k parts. The cartconv tool can be used to display the details:

$ cartconv.exe -f Super_Zaxxon.crt
CRT Version: 1.0
Name: superzax
Hardware ID: 18 (Zaxxon)
Mode: exrom: 0 game: 0 (16k Game)

offset sig type bank start size chunklen
$000040 CHIP ROM #000 $8000 $1000 $1010
$001050 CHIP ROM #000 $a000 $2000 $2010
$003060 CHIP ROM #001 $a000 $2000 $2010

total banks: 3 size: $005000

The same tool is used to extract the total 20k of raw binary data which must then be cut into those three separate files. These three files are then concatenated into the final BIN file for the EEPROM exactly as described above. (Yes, the 4k part has to be included four times.)

The perfect case for the Super Zaxxon homage.

One more news I’d like to share on this topic: in the meantime, I found someone who created for me the perfect case for this cartridge. What do you think?

 

 

19 thoughts on “Super Zaxxon Replica

  1. Hi,

    Will this board be available for purchase from PCBWay like the Pi1541?

    Thanks,
    Gene

  2. I would like to make this project publicly available, too. But I’m worried what Sega might do when they notice. So, I’m afraid the answer currently is “no”.

  3. I have a genuine Super Zaxxon cart and I can confirm this modded design has exactly the same sensitivity to a problematic PLA as the original cart.

    If you want to make this cart consume less power, replace the 74LS74 with a 74HCT74 and the 74LS00 with a 74HCT00.

    If you want to make it incredibly sensitive to any slight glitch from the PLA, replace the 74LS74/HCT74 with a 74HC74. Then it will work fine with only the very finest PLA substitute. It might even have problems with a genuine Commodore PLA.

  4. Thanks for your feedback! I’ll give the 74HC74 a try and I’m curious how that works out. I actually wouldn’t have expected for it to work at all. But I have a few replacement PLAs that I’ll put to the test.

  5. Pingback: Bank Switching Cartridges | hackup.net

  6. Hi,

    What eeprom burner do you use and/or recommed buying for burning C64 cartridge chips?

  7. I’m using a TL866CS programmer (like this one on eBay) and I would definitely recommend it, it’s very good value for money. I’m not sure if you can still get the original one or only the TL866-II these days. This newer model lacks some higher programming voltage required for certain older EPROMs if I’m not mistaken. But it should do for any kind of EEPROM.

  8. You said:”With Siem’s simplified design, only the lower 32KiB are used and need to be programmed like this…”
    If you put a switch and resistor on A15 of the 27C512, then you can have Super Zaxxon on one half of the EPROM and Zaxxon on the other half. They both use the same switching method and have exactly the same electronics in the cartridge.

    – Eslapion

  9. I’m glad to hear that you like my replica PCB! But I’m sorry, I will not share the Gerber files for this one. I usually share my projects and most of them are available open source on Github. But there are a few exceptions and this is one of them.

  10. Hi there, can you explain exactly how to combine the three files into a single .BIN file?

  11. Love the design, WOW.
    And even with the comments from others to make it even more sensitive.
    Like to have two PCB’s or do you not sell the PCB’s either?

  12. Aloha !

    I just LOOOOOOOOOVE the case.
    Where can we get one ? I now have a ‘naked’ Zaxxon rev2 in my collection…

    Cheeeeeeers,

    Jecepede

  13. You might try to ask the guys at plexilaser.de if they can make such a case for you. 😉

  14. There’s someone selling these, or at very least a slightly modified copy, on Lemon64…

  15. Thanks for the heads-up! Such things happen again and again and it is always disappointing. Very little I can do about it though, apart from no sharing such things on my blog any longer…

  16. Pingback: ZaxxDual cartridge Zaxxon and Super Zaxxon on one cartridge | Levo's Retro Computer Projects

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.