Results 1 to 15 of 253

Thread: [GUIDE] Make a Reprogrammable Genesis Cart

Threaded View

  1. #1
    Join Date
    Mar 2009
    Location
    In a windowless van.
    Posts
    10,330
    Thanks
    98
    Thanked 701 Times in 329 Posts
    Blog Entries
    1
    EP Points
    1430

    Default [GUIDE] Make a Reprogrammable Genesis Cart

    This is a full tutorial on how to turn any crappy Sega Genesis/MegaDrive cartridge into something worth playing. Besides a few more pictures, this tutorial is finished.

    Parts required:
    [1] [alt] EPROM programmer
    [2] 16-bit EPROM adapter for programmer
    [3] 4.5mm Gamebit
    [4] Soldering iron
    [5] DeSoldering iron - or solder wick (not recommended)
    [6] EPROM supporting your ROM size
    [7] ROM image
    [8] Donor Cartridge

    Step 1.
    Locate a donor cartridge depending on the ROM image you want to burn to it. You must note the ROM size and whether not it requires save RAM. If your ROM uses saving, you need to find a battery backed donor cartridge.* Cheap sports games make for excellent donor cartridges!

    For example, Monster World IV is a 2MB ROM that requires a battery backed save function. By referring to the Sega genesis/MD rom-set I downloaded, I can find a game that uses saving and uses a board that supports chips 2MBs or larger, such as Madden NFL 95.
    Note: You can rewire smaller carts to support larger ROMs, but if you find a cart that already supports the size, it will be a direct pin lineup. The rewiring is explained in step 7b.

    Step 2.
    Open up the cart and remove the board. This requires the 4.5mm gamebit or sometimes a very common hexbit. Cartridges that are only 512KBs will have a 40 pin ROM and larger games will be 42 pin ROMs. If you're unlucky, you might find an uncommon cart with multiple ROMs. These have the game split into two parts with a decoder chip.**
    For my example, I will use a 512KB Monopoly cart to make the 512KB/non-saving game M.U.S.H.A.



    Step 3.
    Now comes the tough part; removing the ROM without destroying anything. For this you will have to plug in your DeSoldering iron and literally suck the solder from the pins. It is incredibly easy and more clean than using solder wick. Common practice asks for you to skip every other pin to avoid excess heat points, then go back to the remaining pins. Youtube has a few wonderful demonstrations if yourself having trouble here.



    Step 4. Optional
    You may use a 40pin IC socket if you wish, but this will only allow for 27c400 chips to fit and the cartridge shell cannot close. Alternatively, you could cut a hole in the shell so that you can close it and be able to swap out other EPROMs that you burn.



    ^notice that hole 1 is empty. That is because 27c400 chips have only 40 pins instead of 42. Place 512KB chips all the way to the right.

    Step 5.
    Now choose the EPROM capable of holding the ROM you want to burn to it and program the game. Here you will need an EPROM programmer, a 16-bit adapter and the EPROM. You may use a larger EPROM if it happens to be cheaper, but may have to rewire certain pins.

    EPROM / Size
    27c400 - 512KBs (4Mbits)
    27c800 - 1MBs (8Mbits)
    27c160 - 2MBs (16Mbits)
    27c322 - 4MBs (32Mbits)

    Step 6.
    This is important. Which programmer are you using?

    I have the willem programmer:

    Spoiler warning:

    Step 6. willem
    Step 6 is very important to follow closely because the software and hardware from sivava is very picky.
    Plug in your programmer via your desktop's parallel port and start the programming software in Admin mode found here. Note, if you are using a Willem programmer, do not use the USB power ever. Buy yourself an AC adapter because these chips require 12v which cannot be achieved via USB. You will get all sorts of errors and become frustrated. Trust me, I nearly chucked my programmer out the window before I bought an AC adapter... And if you get an IO.dll error upon startup of the software, read this and do as he says. This error normally happens if using Windows 7 and especially if using the 64-bit version. He explains the full details, but basically Windows 7 maps the IO address of your parallel port in a strange location which confuse any software trying to access it.
    Insert your 16 bit adapter, hook up the extra pins with the included wire and place in your blank EPROM. Select your EPROM from the drop down and set the jumpers on your programmer according to what the screen asks.



    Next load the ROM, go to your buffer tab at bottom and "swap Byte." Then hit program.



    Notice that "SEGA" will not be written correctly in the burnable version after byte swap.



    I have the GQ-4x:
    Spoiler warning:

    Step 6. gq-4x
    Disconnect any adapters or eproms from your hardware programmer, then plug it in.
    Now open the software and make your selections.

    Choose Device (27c400)
    This will configure the speed, vpp, pinout etc for your particular chip.



    Choose File
    This will load your file into the buffer. You can look at it in the buffer tab.

    Click "Command" > "Buffer Byte Swap"
    This is very important for Sega Genesis / Megadrive ROMs. I won't get into the details, but this is how the console reads the bytes.
    You could also have clicked the byte swap shortcut button. Now check your buffer and make sure it looks right.



    Check Adapter
    In the bottom right hand side of the window is the Adapter box. This will tell you which adapter that you need. For a 27c400, you'll need the ADP-054 16-bit adapter.
    Now check your jumpers. On this adapter there is J1, J2 and J5. J1 switches between the 27c400/800/160 and the 27c322 eproms. Bridge pins 1-2 for the 27c400.
    Ignore J2. It is for the higher address pins that the old willem needs jumpered separately. The GQ-4x supports these address natively.
    J5 is for programmer compatibility. Probably choose v4 for the gq-4x, v3 for willem.

    **Also worth noting is that you'll need an AC adapter for eproms with VPP pins.

    Now program
    On the right side, there is an auto-mode box. I suggest clicking Blanks Check, Write and Verify.
    Now click Write or Auto and cross your fingers. (These eproms are old)

    If there were no problems, move on to Step 7. If you had some problems, such as "chip not blank" or verify errors, you'll need to erase your eprom again and start over at step 6. Like I said, these chips are old and I have had a lot of problems with them. Such is the reason I moved on to the 29F- series of eeproms.



    Step 7a.
    The final step is to solder your chip onto your empty board. If your board supports your chip size, solder it directly to the board without worrying about rewiring any pins. Make sure the notch on your EPROM points left, as shown in the photos. If you used a socket, place it in that. I like to test the chip before soldering in a socketed board.
    If you chose a smaller donor board and need to rewire a few pins, move to step 7b, otherwise you are finished and can move on to step 8.

    Step 7b.
    If you have selected a chip that is larger than what your board supports, you have to take note of A18, A19 and A20 on your EPROM. These are Address inputs that tell the board how much memory is mapped out on the chip. Every extra address line essentially doubles the memory that can be read from the chip. The following table explains which pins will have to be rewired depending on the board you have used.***
    16biteproms.png
    guidegenny.jpg
    So for example, if you want to use a 27c322 chip on a 512KB board, hen you have to rewire A18, A19 and A20.
    A18 must be wired to pin B7.
    A19 must be wired to pin B8.
    A20 must be wired to pin B9, unless is is a saving game in which case it must go to pin 5 of the 74H00 IC.

    Step 8.
    PLAY IT! The below pictures are of the game Clue that I have burned to an EPROM. It works no differently than any other game and the console doesn't know the difference of course!







    End Notes:
    Ask me some damn questions! I need some feedback on the project.
    * Some less common cartridges use serial memory rather than a battery backed SRAM and these are specific to the ROM image. Megaman Wily Wars for example, requires Serial memory only, however; there is a patch that allows for the ROM to use ordinary battery backed saving.
    ** These carts are less common but may be worked with if you can follow the pin traces to the cartridge slot pins and find out the largest chip support by each slot. A18, A19 and A20 (Address inputs) are explained further down in the tutorial. The reason they are difficult to work with, is that the total ROM size does not determine what size ROM each slot supports.
    *** I have noticed many NTSC-U 512KB boards to already have A18 and A19 wired to the appropriate pins even though they are not used on the original 40pin ROM chips. As for A20, there is often a Jumper wire labelled J2 linking it to Vcc. If you have this type of board, you can remove J2 and place it into J1 to wire A20 to B9 of the cart connector. This is only necessary for 27c322 chips. If you are not using a 27c322, this jumper connects the /BYTE pin to VCC which means 16-bit mode for the ROM chip. It is essential that all non-322 ROMs connect the /BYTE pin to VCC.


    Here I will keep a running list of cartridges that contain save batteries and SRAM.
    Download Links:
    Links are hidden from guests. Please register to be able to view these links. Here is a list of games using "hidden" SRAM. By hidden, I mean that the location of SRAM overlaps the location of ROM. There is an internal logic based bank-switching method specific to the cartridge. Games having 3MBytes+ ROM and SRAM typically have these special carts.
    Download Links:
    Links are hidden from guests. Please register to be able to view these links. Here is the list of Serial-EEPROM games that I have found. Games may or may not be compatible with each others' flash memory; this is something I am testing soon.
    Download Links:
    Links are hidden from guests. Please register to be able to view these links.
    Last edited by Jazzmarazz; 28th-March-2017 at 23:45.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About Us

We are the oldest retro gaming forum on the internet. The goal of our community is the complete preservation of all retro video games. Started in 2001 as EmuParadise Forums, our community has grown over the past 18 years into one of the biggest gaming platforms on the internet.

Social