ROM-Reader for Super Nintendo / Super Famicom Game Cartridges

Hey guys

Made one of these, works pretty good. Can't seem to dump some common games like mario kart, mario world, pilotwings, and a few others but works pretty good for the rest of them. I haven't really looked into it yet, if anybody knows whats up with that let me know.

Anyways. I managed to get it to go quite a bit faster.

I cut the code down a bit, took out the delays (the snes would read from the cart way faster than the arduino, seems to work) and I used the fastDigitalWrite and fastDigitalRead functions I found here which are closer to bare port manipulation than the stock digitalRead and digitalWrite. A bunch of things are changed from variables to defines so that the pins have fixed values at compile time. To make the fastDigital functions work right.

So far it looks like it takes 177s (2m 57s) to dump a 1mb cart, where before it was taking 1113s (18m 33s). About 6x faster.

I made a little python program for it too that makes it a little easier to work with and shows progress as it dumps. It doesn't start dumping automatically now, it waits for "R" to be sent to it. So the python program can tell it to dump or do other things, like "I" to just give you cart info or read/write SRAM (which is what I plan to do next, has anyone done this with theirs yet?). You can swap cartridges without unplugging because it'll always be idle without the computer telling it to do something.

If anyone wants the code let me know. It's a bit of a mess.