6

I've seen various posts online about Nintendo cartridge dumping. Two popular posts which come to mind are Thijs Alkemade's Game Boy cartridge dumping on a Raspberry Pi series and NintendoPlayer's feature on preserving N64 prototype carts.

The "current" process to dump an N64 game requires a GameShark Pro and older hardware (a box with a parallel port running Windows XP or below). I put current in quotes because the guides I've been reading are at least 10 years old.

Assuming I am using a MacBook Pro (or other modern system/microcontroller), what is the feasibility of dumping a Nintendo 64 game using a Raspberry Pi or other tool (possibly an 8 bit Saleae logic analyzer) without having to fall back on older hardware?

5

N64 uses cartridges pretty differently compared to other platforms.

The console itself does not access the program on the cart but rather treats it as a storage device and all access is done via special chip called RCP.

Carts also don't have the usual data+address signals available, but rather data and address lines are multiplexed - this means that every nth operation the line contains data and every other contains address of the data (in very simplified terms, in reality data can be read sequentially in batches).

This all means that cartridges actually pretty hard to read without proper hardware.

Even if you could wire up a raspberryPi - you would need enough data and address lines and work out the communication protocol. Also, the GPIO in PI may not be fast enough to multiplex the data and address lines - you would then need extra hardware.

Using another tool such as logic analyser - it would require a lot of signals (I'm not sure how many lines an actual card uses), and then you would need a protocol decoder. The biggest challenge here would be reconstructing the cart image file out of such captured data - if it's read in chunks you would need to know how to reorder them etc. It's unlikely the cart will be read by N64 in sequence from start to end.

  • 2
    How is the cartridge clocked? Would it be possible to run it as slow as, let's say, 1 MHz, and use an Arduino or similar to implement the communication protocol for it? – Cactus Jun 13 '16 at 3:06
2

I'm not sure how feasible this would be with either a Raspberry Pi-style computer or a logic analyser like the one you mention.

One approach I know works, without using old hardware, is to use a Retrode with the appropriate adapter. With that you can even play Nintendo 64 games in an emulator with the original controllers!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.