Hack78.Put Your Homebrews on Cartridges

Hack 78. Put Your Homebrews on Cartridges

Start your own homebrew retro-game assembly line .

So you've developed your own homebrew game for the Atari 2600 [Hack #75] or maybe another classic system. You've probably spent a significant amount time developing your game by using an emulator. Frankly, though, nothing beats the sight and sound of the real thing, and you'd be hardpressed to sell just your ROM file through digital distribution. It's time to bestow that game of yours to the world in a real, physical cartridge, and fortunately for you, it isn't all that difficult to do!

Before I begin, here are some definitions you should know:



ROM (Read Only Memory)

A generic term used to describe the program file, or the physical chip the program file is stored on. The ROM chips in game cartridges are usually mask ROMs , the programming for which was stored as a result of the manufacturing process. Mask ROMs cannot be erased or reprogrammed.



PROM (Programmable Read Only Memory)

A ROM chip that can be programmed to hold data. PROMs are available in many different sizes and configurations.



EPROM (Erasable Programmable Read Only Memory)

A ROM chip that can be erased with UV light and reprogrammed many times. An EPROM will have a clear window in the center, usually covered with a sticker or label to protect from accidental erasure.



EEPROM ( Electronically Erasable, Programmable Read Only Memory)

A ROM chip that can be erased and programmed electronically. An EEPROM might store high-score data or other data persistent between operational sessions.



PCB (Printed Circuit Board)

The physical circuit board that chips and electronic components are attached to.



Package

Describes the size and arrangement of a ROM or other computer chip. The most common package for older chips is dual in-line package (DIP), a large rectangular shape with 2 rows of pins.



Pinout

Term that describes the configuration and functions of the connecting pins on a chip, cartridge, etc.

8.7.1. Cartridge PCBs

Before the homebrew scene began to flourish, there was really only one method of obtaining PCBs: removing the ROM chips from existing games and replacing them with reprogrammed ROM chips. Recycling original PCBs is still a viable option today, but if you're going to assemble a large number of game cartridges, then you've already got a lot of work ahead of you. Add to that the wear and tear that recycled PCBs experienced in their previous life as Combat or Pac-Man, and you've quickly built up a case for using new PCBs instead of old ones. New PCBs are available for many platforms, including the Atari 2600, 5200, Colecovision, and Vectrex. Most are available for only a few dollars, and unlike some recycled PCBs, new PCBs are typically made to use more commonly available ROM chips. If you do choose to recycle PCBs, you'll need to desolder the original ROM chip, clean the board and contacts, and add your own ROM. Some game system manufacturers used proprietary ROM devices, and depending on the particular game platform, you may have to add some additional logic chips to your PCBs. For example, the Atari 2600 uses ROMs chips with an active high chip select (CS) line. Modern PROM and EPROM devices use active low CS, requiring the signal be inverted for correct operation. New 2600 PCBs will have a place to insert an inverter chip, whereas recycled PCBs usually won't have such a provision.

When developing your game, you may have been required to make some choices for bankswitching schemes, mappers, etc. When selecting a new PCB or finding a donor candidate for recycling PCBs, you'll need to be sure the PCB logic meets the requirements of your program file. For example, a 2K/4K PCB for the 2600 won't work at all for a 32K ROM with F4 bankswitching. Ideally, you should choose your hardware before programming your game, that way you know of your requirements ahead of time.

If you've decided to release a homebrew on a less common system, such as the Sega Master System or Arcadia-2001, then you've got a bit of extra work ahead of you. You'll want to spend some time examining the cartridge pinouts, how the factory ROMs are installed, and whether there is a comparable drop-in replacement EPROM available. You may have to alter the PCB slightly to accept a different type of EPROM. Fortunately, the hardware specifications and pinouts of most game systems have been documented by other enthusiasts , so it should be a trivial matter to search around and find some hardware information for your particular platform.

8.7.2. Do-It-Yourself PCBs

If new PCBs aren't available for your system but you're still interested in using new hardware, you can always have new PCBs manufactured. There are many companies that will produce custom PCBs in bulk at very reasonable cost and even provide free software for designing the board layout. Try http://www.pcbpro.com for starters. You could even subsidize your project by having extra PCBs made and reselling them to other homebrewers.

If you're truly masochistic, you could make your own by purchasing blank PCBs, photoresist film, etchant, a UV light, drill press, bit, jig saw, etc. It'll take forever, the results will be inconsistent, and you'll still spend a lot of money. This may be an option if you want to produce a single PCB "proof" to ensure your circuit design works, but for a large run of PCBs it won't be worth the effort for anything but the smallest of production runs.

8.7.3. ROMs: New or Used?

Unless your game concept is "Nihilistic Screaming Lines" for the Atari 2600 or "Ultimate Please-Insert-Cartridge" for the Colecovision, you'll need to store your game data on something. I talked about PCBs first because the available PCB options will determine the appropriate type of ROM chips that you will need to obtain.

The least expensive way to obtain ROM chips is through recycled electronics. These are usually EPROMs and are sold as "pulls." Most electronic parts vendors (try the ones listed at http://www.arlabs.com/sources.htm) sell pulls for no more than $1-$2 each, and sometimes less than that. If you want to hunt for your own EPROMs, check out used computer stores or university surplus stores. You may be able to find a stack of old hardware full of EPROMs for dirt-cheap. Just peel back the labels to read the part codes.

New ROMs are also available from electronics vendors. If they're available, PROM chips will usually be cheaper than EPROM chips. Once they're written they can't be changed, but most people won't buy a homebrew game and tear it open to reprogram it. New PCB vendors frequently stock ROM chips in the appropriate sizes, too.

Some older EPROM chips may have the same number as a standard EPROM but have a different pinout. For example, the Texas Instruments TMS2716 has a different pinout than a standard 2716 ROM. If in doubt, try doing a Google search for the EPROM part number to see if there are any variations.


8.7.4. Erasing and Programming ROM chips

Programming (also called "burning") ROM chips is a fairly easy process. There are many value-priced EPROM programmers that can handle a wide variety of EPROM types. Some currently available budget-oriented programmers include:



Willem EPROM Programmer, www.willem.org, 3780 euros ($45$100)

Available in kit form or preassembled, the line of Willem EPROM programmers is geared towards someone with greater familiarity with EPROM technology. They are one of the least expensive options, but they also require some technical proficiency to use; many of the settings for various EPROM devices are made via jumpers and DIP switches. The Willem is capable of programming a wide variety of devices by default, and adapters are available for additional devices. Zero Insertion Force (ZIF) sockets are optional. Software is free, and source code is available.



SPEP Plus, Futurelec, www.futurelec.com, $79.95

The SPEP Plus EPROM programmer handles most 27-series EPROM devices. It has a parallel port interface, ZIF socket, and comes with software and a manual.



The Pocket Programmer 2, Transtronics, Inc., www.xtronics.com, $149.95

The Pocket Programmer is a parallel port programmer with a built-in ZIF socket. In its default configuration it is capable of programming a wide variety of 8-bit EPROM devices. EPROM device selection is done fully in software. Adapters are available for additional devices and packages. Free software updates are provided for one year.

Figure 8-27 illustrates various types of ROM chips you might use. From left to right: a 2Kb 2716 EPROM, a 32Kb 27c256 EPROM, a 1Mb 27c1001 EPROM, and a 27c2048 2Mb 16-Bit non-erasable PROM.

Figure 8-27. Various ROM chips

8.7.5. Erasing Used EPROMs

EPROMs can be erased by exposing them to a source of UV light. There are a wide variety of EPROM erasers available, starting at about $50. Most of them have a small drawer that can accommodate several chips and have a built-in timer. The actual amount of time it takes to erase an EPROM will vary depending on manufacturer. Place your EPROMs into the eraser and set the timer for 12 minutes. Once the timer expires , remove the EPROM, insert it into your programmer, and perform a blank check . If the check passes , the EPROM has been erased and is ready for reprogramming. If the check fails, place the EPROM back into the eraser and expose it for a few more minutes. Keep track of how much time it takes to reach full erasure, and erase remaining devices for the total time plus an additional 12 minutes.

An EPROM can be permanently erased if overexposed to UV light. When testing for erasure time, only erase in increments of a few minutes. Otherwise, you could end up with an EPROM that can never be reprogrammed.


8.7.6. Programming ROM Devices

Once you've obtained your ROM chips, it's time to program them with your game code. Insert your PROM or EPROM into the programmer and select the appropriate device type. You may want to perform one last blank check to make sure the ROM is ready to be programmed. Next, load the binary image of your game software into the programming buffer and program the device. If the software doesn't automatically verify the ROM contents, there is usually an option to verify the ROM against the contents of the program buffer. It's a lot easier to verify a good program at this stage than after you've assembled a cartridge and discovered that it doesn't work correctly.

8.7.7. Soldering ROMs to PCBs

Once your game has been programmed to the ROM chip, it's time to solder it in the PCB. Be sure to insert the chip on the PCB correctly; a ROM chip inserted backwards will not work, and if it is powered up in that state, it will probably damage the chip.

If you don't have a soldering iron, look for one around 15 to 30 watts and with a grounded plug. If you're planning to solder a lot more in the future, you may want to invest in an iron with a variable temperature control.

If you've never soldered before, you'll want to practice on some old hardware first, like an old VCR or radio. There are many good soldering tutorials available on the Internet; search around and find one that matches your learning style. Practice removing components and then re-soldering them back on. If you can successfully re-solder removed components and the device still works, then you're in business!

8.7.8. Cartridge Cases

Well, your PCB has to go in something, right? If you're recycling PCBs, they'll go right back in to the cartridge case they came from. If you're buying new PCBs, they're made to fit into a particular style of case, usually first-party cartridge cases. The PCB vendor will be able to tell you which cases are appropriate.

Also available for a few platforms are brand new cartridge cases. For example, new Atari 2600 cases can be had in the original black color , or you can jazz up your title and use other colors like red, blue, and clear. See http://www.vgwiz.com for more details on new 2600 cases.

If you're going to reuse original cartridge cases, you'll need to first prepare them by removing all of the labels. On some cases, the adhesive may have become so brittle over the years that the labels will fall right off. On others, you'll have to coax the label off with plastic-safe solvent and/or a hair dryer. Lighter fluid works well for releasing the adhesive from the plastic shells . Let the fluid soak into the label for a few minutes and then starting at one corner, slowly peel the label off. Other household products, such as WD-40 and Goo Gone, can help greatly in removing labels and cleaning label residue.

Once the old label and adhesive residue has been removed, disassemble the casings and thoroughly clean them with warm, mildly soapy water. Some of these old games have seen serious duty in attics, garages, flea markets, and kids ' hands. You might be surprised at the amount of grime that has accumulated over the years. Some cartridges may have integrated dust shields and springs, so make a note of how everything goes back together.

When the cases are nice and clean, you can either use them as-is, or you can spice them up with a few coats of plastic-bonding paint. Be sure to use a paint that's intended for plastic as cartridges get a fair amount of wear from being inserted and removed, and conventional paints may chip or flake off. Try painting a sample cartridge and inserting and removing it several times to make sure the paint holds fast.

8.7.9. Final Steps

Once your cases are prepared, ROMs programmed, and everything soldered to your PCBs, it's time to reassemble and test everything. Always test each cartridge before sending them out. Testing finished cartridges en masse should only take a few minutes of your time; it's just not worth the hassle and headaches if your customer receives a non-working cartridge.

Now that you've assembled and tested your cartridges, maybe it's time to add a label, set of instructions, or even an outer box. See [Hack #79] for some ideas on how to make your game look just as, or even more, professional than original games!

Luke Sandel



Retro Gaming Hacks
Retro Gaming Hacks: Tips & Tools for Playing the Classics
ISBN: 0596009178
EAN: 2147483647
Year: 2003
Pages: 150
Authors: Chris Kohler

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net