This was another one of those "because I had the hardware laying around" projects. I recently bought myself an eprom burner so I can burn my own game roms. While tinkering with the eprom burner I discovered I could use it to not just burn eproms but it can also dump the information from a rom chip (any kind of rom chip assuming you wire it correctly). I have an eprom with a duck tales 2 nes rom image burned into it sitting around from an old project so first I tried dumping it. Since the rom was burned into a standard eprom dumping the image was very easy (just drop in and dump) and thanks to 3gengames I added a header to the image and it plays fine in an emulator. I also have a metal gear maskrom that I desoldered from an official nintendo cartridge. I decided to attempt dumping an official nintendo maskrom.
The metal gear maskrom is interesting because it's 128k (1mbit) but the pinout is only 28 pins. After doing my research all 1mbit eproms use a 32 pin configuration. I compared the pinout charts of the nintendo 1mbit 28 pin prg rom to the eprom 1mbit wiring and built this chart:
Then I wired up the real thing just like the above chart:
The image dumped just fine.
Next I took the dumped .bin image and hex edited in a dummy ines header at the beginning of the dumped file, the game won't run in an emulator without the ines header:
And saved the .bin dump with the added header as a .nes file. Then I loaded the newly dumped file into my favourite testing emulator:
And it runs fine.
So if you buy an eprom programmer / burner that has the ability to dump eprom chips you can also use it to dump information from game maskroms with a bit of rewiring.
Also I will NOT be hosting or distributing any dumped rom images I did this purely out of curiosity and only for the sake of backing up the games that I bought.