Atari 2600 Multi-Cartridge


Introduction

March 7, 2010

Are You a Fan of Retro Gaming on the Atari 2600?

I am. In an attempt to relive some of my lost childhood memories I picked up an Atari 2600 Video Computer System from eBay. It only came with five games, one of which was broken. So I thought I would try fixing the cartridge. The first step was to scan the web for repair instructions and general info on the games.

I came across some technical specs for the Atari cartridges and realized that it was not very hard to build clones of the old games using leftover parts we had laying around the lab were I worked at the time. After some research on how to package the game image files and then a few hours of soldering I had my very own 32 in 1 game cartridge.


Preparing the Programing File

Game Selection


All of the games I picked for this experiment were either 2kb or 4kb games. Some of the later Atari 2600 games where much larger than these basic games but to make the bigger games the cartridge designers used some tricks to swap in and out memory pages. The main component of my custom cartridge was basically an erasable EEPROM with some dip switches wired in. I didn't have the time (or inclination) to figure
out how the advanced memory schemes worked so I stuck with the simple 2kb and 4kb games.

The following table contains a list 2kb and 4kb games that were suitable.

Adventure
Atlantis
Berzerk
Bowling
Breakout
Carnival
Circus Atari
Combat
Defender
Donkey Kong

Dodge’Em
Frogger
Gorf
Guardian
Homerun
Kaboom!
Keystone Cap.
MissileCommand
Pacman
Parchute
Pitfall!
Q*Bert
Riddle Sphinx
River Raid
Seahawk
Space Invaders
StartWars:E.S.B.
Trickshot
Tron:DeadlyDisc
Venture
Warlords
Yars’ Revenge


Finding Game Files

The Atari 2600 games files are typically found in .bin format on the web. Technically these games are still property of the original owners and companies that designed them and you can't use them without permission. That being said its not to hard to find the files on the web. Plus all the games I wanted I (or one of my cousins) had owned at one point.

Games Size Consideration

For the few 2kb games I picked I took the easy way out and "converted" the smaller roms into larger 4kb images so they would look like all the rest of the games. To do this I put two exact copies of the image together in one file. The program I used to do this was a hex utility named binex by NewLife software.


The basic steps to turn a 2k game into a 4k game are as follows. I use the 2kb game Combat here as an example here but you can do this with any rom. Also the example uses GNU win32 command line utilities syntax (i.e cp is a utility that copies a file).
  1. Make a copy of the 2k game file:  cp ./K2/combat.bin ./K2/combat2.bin
  2. Use binex to merge the two .bin copies into one .hex file named combatD.hex: binex /h combat.bin combat2.bin /O combatD.hex
  3. Use binex to convert the hex file back to a bin file and place it in a sub directory named /bin:  binex /b combatD.hex /O./bin/combat.bin

At this point the "doubled" combat.bin file now looks like a 4kb game file. I repeated this step for all the four 2kb games I had selected for the cartridge.

Merging Game Files

To merge all the converted 2kb and 4kb game files into one big file that could be programmed into an EEPROM I used binex again. In this example the combined file is named Games.bin and all the source files are located in the same directory. I used a program called GNU make to automate this process but it is not necessary. The commands can be typed out manually if you don't want to complicate the process.

  1. binex /h bowling.bin breakout.bin combat.bin homerun.bin ADVNTRON.BIN ADVNTURE.BIN ATLANTIS.BIN Berzerk.bin Carnival.bin Circatri.bin Defender.bin Dk.bin Dodge_em.bin Frogger.bin Gorf.bin Guardian.bin Keystone.bin MISSCOMM.BIN Pacman.bin Parchute.bin Qbert_pb.bin Riddle.bin SEAHWK_P.BIN SPCINVAD.BIN Tricksht.bin Trondead.bin Venture.bin Vidpin.bin Warlords.bin Wizrdwor.bin Yar_rev.bin Zoofun.bin /OGames.hex
  2. binex /b Games.hex /OGames.bin

At this point I had a 32 x 4kb = 128kb file. We had some old Macronix 27C1000 (128K x 8bit) CMOS EPROMs laying around at work which were perfect for this project. We also had the required programmer (BP Mircosystems) to flash the new game image into the EEPROM.

Cartridge Construction

Parts list

  • One broken/no longer needed Atari 2600 game cartridge (will be destroyed to make the new multi-cartridge)
  • One programmed 128kb EEPROM (Macronix 27C1000 or equivalent)
  • One 5 position or greater DIP switch (8 position is very common)
  • Five 10k Ohm resistors
  • One 5V hex inverter IC (I used a 74HC11)
  • Two 0.1uF 50V ceramic/X7R decoupling capacitor
  • Sockets for the EEPROM and hex inverter chips.
  • Prototyping board to put the new circuitry on.
  • Wire wrap wire and misc soldering supplies

Cartridge Prep

The first step was to get the cartridge ready for the new EEPROM. I had an extra (and broken) Combat game lying around so I used that as the sacrificial source of the mechanical cartridge parts. The cartridges have one screw near the middle that needs to be removed. After that the cartridge is only held together with plastic pressure clips built into the sides of the case. If you apply pressure on the middle side seems of the cartridge it snaps apart pretty easily.

I cut out and de-soldered the old game chip which left me with a blank game circuit board with connection points for my new circuitry. I used a some leftover proto board I had lying around at work to place the EEPROM, inverter, dip switches, power supply capacitors, and pull up resistors. Then I used standard 32 AWG wire wrap wire to connect all the parts.

In the upper left hand side of the case I cut out a square area so the DIP switches would be accessible with the case closed. An Exacto knife worked well for this as the case plastic is not very thick.

I point to point soldered the connections instead of using wire wrap tools. This took a bit longer than making a wire wrapped board but I didn't think the wire wrap pins would fit in the closed case and I didn't have enough wire wrap supplies available anyway.
 

Wiring

The wiring to the EEPROM is pretty straight forward. There are several Atari 2600 cartridge pin-outs available on the web. A datasheet for the EEPROM is also needed. To wire the EEPROM into the cartrige you basically do the following:
  1. Connected the eight data lines of the EEPROM to the eight data lines of the cartridge (D0 to D7).
  2. Connect the lower 12 address lines of the EEPROM to the 12 address lines of the cartridge (A0 to A11)
  3. Connect the A12 of the cartridge to a logic inverter and connect the inverted signal to the chips select(CS) of the EEPROM
  4. Connect the +5V and ground of the cartridge to the +5V and ground of the EEPROM. Its a good idea to solder a 0.1uF decoupling capacitor and a bulk 10uF bulk capacitor to the power supply pins of the EEPROM.
  5. For the remaining 5 address lines connect them to the +5V supply via 10k pull up resistors. Then also connect the address lines to one side of the dip switches. Connect the other side of the dip switches to ground.
I also have a scan of my hand drawn schematic. Its a bit messy but basically readable.

Label Maker

This step really isn't necessary but I figured as long as I was going through the effort of making a multi-cartridge I thought I might as well make it look decent. I named my new cartridge Nostalgia Boy.

There is a TrueType font called HAMMRF.TTF that looks exactly like the font on all the original Atari games. I used that font for the back label of cartridge. Additionally there is a neat make your own Atari cartridge label maker I stumbled across on the web. It lets you name  the cartridge, select colors, and even upload an image to use for your new label.

Finished Cartridge

I was completely amazed when the cartridge actually worked the first time I powered it up. It is easy to switch between games. You basically turn off the system, remove the card, adjust the DIP switch settings to whatever game you want, and then plug the cartridge back in and play. The games run just like the originals.
































Comments