The difficulty there was in loading and running the software.
Once games distributed on discs, backing up for swap-free play became easier, but I still recall having to use the original Wii hardware to read discs and write their files to a specially formatted hard drive.
If you have the device designed to read the original game distribution medium, you can modify it, sometimes just with software, to read game files and write them to the medium of your choosing. The original console has to decode the data and get it to the CPU somehow, and if you can run your own code on the CPU, you can always dump, even if it is just by displaying a series of 2-d bar codes on a TV screen and taking photos of them.
It is also worth noting that you cannot trust a company like Nintendo or Sony to make a distinction between civil-illegal that results in a tort, where the company can sue you for damages (if they find out about it), and criminal-illegal that results in a crime, where the state can put you in prison (if they find out about it).
That would be a novel hack, and I've considered something similar with an old IBM computer with an almost-dead floppy (probably a stretched drive belt?) The floppy will read something like the first 50-100KB from a disk, and fails on the rest. That'd easily be enough for a little program that reads the hard drive sector by sector, displaying them on screen as a colored grid, or something. Then it'd be an exercise in video processing to extract the data.
For your problem, I'd try pumping the data out of the serial or parallel ports first. An RS232 to USB cable might work.
The Genesis/MD and SNES work the same way. Expose an address bus and data bus via the pins and let the cartridge handle any sort of mapping.
Looking at the Genesis and SNES, each exposes a 24-bit address bus. I was speculating that the increased area would be enough that bank switching wouldn't be necessary (the largest SNES game seems to be around 48Mbit, right? A little over a third of the CPU's memory, although I haven't looked up where the cartridge data's window is usually mapped).
Of course, there's the added fun of external coprocessors and such.
I think that's probably true, but it's not what Nintendo is claiming. They claim that the copying devices themselves are illegal to own or use, since the result is a file that can be illegally uploaded and shared, and that as a result, any digital copy that a consumer might create is also illegal, even if kept for personal use.
> but I would wager the amount of people with the hardware to migrate NES/SNES/Genesis/etc. cartridges to ROMs is pretty low.
Yes, but not terribly exotic. There are EEPROMs that are drop-in replacements, in many cases. So they're also the kinds of chips that you can just connect an EEPROM reader to, to dump the data. Reading the data from the cartridge pins themselves can be a little more complex; I know that the 8-bit Nintendo systems broke their games into swappable sections, with access controlled by a mapper chip. To dump those games from the cartridge connector, one would need to send bank-swapping signals to the chip. The NES had a couple hundred variants of these mapper chips; the Game Boy had about 5 common ones. Not sure about the SNES. Sega Genesis/Megadrive just exposed the cartridge pins directly to the CPU's address bus, I think.
I know that people build Arduino-based ROM dumpers. The secret sauce is more in the mapper-handling code than anything else.
Newer systems like the Nintendo DS are likely to be less straightforward, but I haven't looked into it that closely.