NES cart copiers/dumpers?

Discussion in 'Nintendo Game Development' started by bluej774, Mar 31, 2009.

  1. bluej774

    bluej774 Member

    Joined:
    Mar 25, 2009
    Messages:
    20
    Likes Received:
    0
    I know this question has been quasi-asked around here before but only resulted in a quasi-answer. Besides the CopyNES, what other cart dumpers/copiers are available out there. I realize that these things are mostly homebrew and I'm prepared to make one rather than buy one. I don't care for the CopyNES due to its being attached to an NES unit. I also understand that the kits aren't really being produced anymore and were expensive to begin with.

    I've read a little about the ChameleonNES but the hardware is exotic (read: Japanese) and there is basically no mapper support.

    I've also read about the IO-56, but ISA is dead. ;)

    So, c'mon. There's got to be some copier out there that is more widely used and was the source for all those illegal iNES files I've read are floating around out there. ;) I just can't seem to find it. Can someone point me in the right direction, please?
     
  2. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    There was never a widespread commercial device to dump NES games. The majority of the ROMs on the net were originally sourced from commercial ROM collections originally dumped by one-off hardware and sold in Hong Kong and Taiwan. In the late 90s Japanese redumps were conducted with popular free DIY devices like the Pasofami/"Hong Kong" series. CopyNES is still the only non-one-off Western device and the source for most of the redumps. I suspect nearly all of the original NTSC NES and PAL dumps were made with one-off hardware.

    Most DIY dumpers (and CopyNES) I've heard about use something like the Intel 8255 parallel I/O chip or discrete 74/4000 series logic (most Japanese projects).

    Another 8255 device:
    http://enes.emunova.net/en/infos/dumper.htm

    I've designed a few parallel port dumpers I would give hints on as well:
    -Stand alone unit using 74 series logic (counter/register based) using <US$5 of materials.
    -Simple Famicom expansion port to parallel port cable. By far the easiest to build but slowest design (~4k/s). With this you insert an initial cart to run a program which copies itself into RAM and creates a software handshake with the PC, from there you just hotswap cartridges and use PC control software to dump/do tests/whatever.
    -CPLD mapper development board with additional cart slot. The CPLD gates the cart slot's control signals (and some address lines) according to a flag so the cart won't conflict with the local hardware (game or BIOS/whatever). In my dumping CPLD config I gave the external slot an artificial address space so theoretically a pretty user interface in ROM could be used simultaneously while dumping games.
     
  3. bluej774

    bluej774 Member

    Joined:
    Mar 25, 2009
    Messages:
    20
    Likes Received:
    0
    Thanks for the info, Calpis. Very helpful. I had seen your link to the 8255 device before, but it suffers the same pitfalls as the others. It is a closed design (at least I couldn't find any designs for it) and it looks like dumping anything with an MMC is a pain.

    Your parallel port dumper tips are a great jump-off point. Also, I understand that using a FTDI chip or a parallel to USB adapter can get these running on newer equipment lacking parallel and serial ports.
     
  4. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    There is practically nothing to 8255 designs, you just wire the 8255's data bus to the parallel port's, the 8255's control bus to the parallel port's and the 8255's I/O to the NES connector. Since each 8255 has 24 I/O you'll need two of them.

    -16 outputs for address bus (PPU and CPU can share)
    -8 outputs for CPU and PPU control
    -8 inputs for CPU and PPU status
    -8 I/O for data bus (CPU and PPU can share)
    -8 I/O free (can be used to daisy chain the second 8255 in order to not need decoding logic--I don't think that Spaghetto unit used this trick so there's another IC.)

    Really a dumper could not be simpler than this, the only issue is that 8255 are old and expensive. They also cannot interface directly with a FTDI module because FTDI don't have enough control signals so a little more logic is needed but not a huge deal.
     
  5. bluej774

    bluej774 Member

    Joined:
    Mar 25, 2009
    Messages:
    20
    Likes Received:
    0
    Does anyone know of any similar chips or alternative implementations? I'm finding the i8255 and even its alternatives extremely hard to find.
     
  6. ASSEMbler

    ASSEMbler Administrator Staff Member

    Joined:
    Mar 13, 2004
    Messages:
    19,394
    Likes Received:
    995
    Well this is about 14 years too late, yes?
     
  7. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Last edited: Mar 31, 2009
  8. ccovell

    ccovell Resolute Member

    Joined:
    Jan 29, 2005
    Messages:
    954
    Likes Received:
    10
    Or, if you're really no good at hardware (like me) but are good at software programming, you can dump cartridges/ROM chips visually. (Via a program running in NES RAM & hot-swapping the cartridge.)

    What I had to do a long time ago:
    [​IMG]
    Yeah, stupidly time-consuming.

    What I did more recently (now that I have a video capture device):
    [​IMG]-->[​IMG]

    It's a little onerous and time-consuming, but the captured data in the latter images can be cropped, scaled and converted to binary data automatically by image editing software (irfanview), so the latter method is good and necessary for dumping ROMs that are part of a system BIOS, ie: not on a cartridge.
     
  9. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    Something similar to your approach were used to dump the iPOD boot loader by people related to the RockBox project, few years ago.

    But they used the system clicker as a sound output and modulated some sort of FSK stream, like old 8 bit computers used to generate the audio data for cassette storage of program and data. A custom made program on the PC then converted the wave data back to binary.

    Very clever. I say the same thing for your method.
     
  10. babu

    babu Mamihlapinatapai

    Joined:
    Apr 15, 2005
    Messages:
    2,945
    Likes Received:
    3
    Wouldn't it be possible to change so you use that PC NES transfer cable they made to transfer the data directly to a PC?
     
  11. bluej774

    bluej774 Member

    Joined:
    Mar 25, 2009
    Messages:
    20
    Likes Received:
    0
    Very clever.
     
  12. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    That circuit is just a controller with the parallel port simulating buttons. To use the controller port for data transfer is very difficult because there's only one latched output. People have made successful software UARTs for it, but that's all around complicated for the level of functionality. My link cable uses the expansion port for that reason, it's just 5 wires from connector to connector.

    On a side note probably the most elegant standalone dumper possible can be distilled to two sets of two of the most common 74 series chips totaling <$0.40. Writes and polling take 3 LPT accesses, full reads take 4 which should be over twice as fast as a 8255 design!
     
  13. babu

    babu Mamihlapinatapai

    Joined:
    Apr 15, 2005
    Messages:
    2,945
    Likes Received:
    3
    I knew there would be some problem with it ^^
    Yeah the expansion port would probably be better to use.. but then you have the pain with finding a suitable connector (or solder wires directly).
     
  14. TmEE

    TmEE Peppy Member

    Joined:
    Aug 13, 2008
    Messages:
    362
    Likes Received:
    1
    My MD cart dumper/burner could be made to dump NES/FC carts... I do not know anything about the mappers used...
    my dumper has 28 output lines and 24 i/o lines

    it uses 3x 74AC374, 74AC138 and a 82C55.... a simple unintelligent LPT device...

    I am going to add support for SMS/GG, Gameboy and SNES soon...
     
    Last edited: Apr 3, 2009
  15. bluej774

    bluej774 Member

    Joined:
    Mar 25, 2009
    Messages:
    20
    Likes Received:
    0
    But can it be used with one of those LPT to USB converters? I don't currently own a computer with a LPT port.
     
  16. TmEE

    TmEE Peppy Member

    Joined:
    Aug 13, 2008
    Messages:
    362
    Likes Received:
    1
    most likely not... things have to be bidirectional and you need to be able to control control signals as you wish... and all software is MS-DOS only anyway... and Win versions are slower and work only on 9x (XP will need I/O opening utilities).
     
  17. bluej774

    bluej774 Member

    Joined:
    Mar 25, 2009
    Messages:
    20
    Likes Received:
    0
    No worries about DOS vs. Windows. I use Linux. ;-)
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page