I was wondering what the best way would be to dump games? I know that for N64 or SNES you could just use a copier. With some luck you should also be able to find a copier for megadrive. But for other systems like NES ? How would you go about dumping games for systems other than megadrive, snes or n64, preferably without destroying the PCBs or having to desolder any non-socketed proms and sticking them in an prom reader/writer? (sorry if this has ben discussed before, i did search but couldnt find much)
I think I read somewhere else here in the forums that back in the 8-bit era, before Wild-Card, bung, they created their own in order to dump the ROM. Try doing a search.
To dump NES you must interface the cartridge with a PC. The PC would need to run routines specific to that particular cartridge (user intervention) since NES cartridges aren't predictable and in many cases it's impossible to detect the game type. Dumping cartridges can be as easy as you want to make it for any home console; with a little knowhow you can do it with simple logic and an interface to PC (such as parallel port or FTDI USB controller) I have built a device to dump FC (and NES w/ adapter of course) with a single small CPLD, FC connector, DB25 connector and a few passive components for power. It's as good as any "commercial" device.
Here are reasons why I didn't go with CopyNES: it isn't suitable for people who want to dump games whose registers riside in it's plugin area or who only use FC hardware. If you'd need to write your own plugins to dump obscure mappers (many FC), why not start from scratch? Directly manipulating I/O is also much faster than CopyNES. I can safely read the ROMs faster than the console can and fondle the cart in real time which CopyNES cannot.
If there's more interest I can show pictures but it's nothing to look at, it's on perfboard until I have an extra few hundred for a PCB. I won't draw a diagram since text is sufficient, for anyone out there who can already make one but need ideas, this is how my device operates: For compatibility with SPP, I am using data pins for PC output, 4 status pins for input. 4 of the data pins are a command which is decoded to 16 modes of operation. The other bits are for data output. The modes either register the data or put ROM data onto the inputs. Everything is synchronous which is clocked by toggling a parallel port control bit. Since my data bus is 4-bit, I have to latch the data input and use a data selector to access the output (ROM) data. Some examples of "modes" are: CHR address A0-A3, read PRG data (which nibble is selected by another control bit), register control bits (ie phi2, r/w), read in status bits (ie /IRQ) It's very much like a GB X-changer, except I need 30 DFFs alone for the address bit registers.