Making a Cartridge Dumper for my Emulation System

For a school project I am trying to make a replica of the NES console using newer hardware, so far I have been programming an emulator for use on a Raspberry Pi Microcomputer which will be able to plug into a TV and play any ROMs I wish. However, as an addition to this project I would love to have a cartridge reader where I can directly dump the cartridge data to a ROM on the Pi's file-system for use with my emulator, being very new to the Arduino I am hoping that someone with knowledge in retro consoles might be able to help give me some pointers in making a way of generating the ROM and making it accessible from my Pi for my program to use, from something like a cartridge reader here: 72 Pin Connector

If this is possible, any help or guidance would be greatly appreciated, thanks :slight_smile:

You need not a picture of the connector but a function description for each pin. Ask in a NES related forum or find out yourself using Google etc.

Yeah I've tried looking elsewhere online without much luck for a beginner so I figured I'd give here a go, I'm also enquiring on NESDev just in case but thanks for your help :slight_smile:

You can dissect a cartridge. Inside you'll find a ROM so that you can find the ROM pin mapping to the cartridge pins.

Ok that sounds like a great start, if I connect the pins correctly to any of the GPIO pins on the Arduino board will it be as simple as copying that raw data in order to a file?

It's as simple, yes. You provide the addresses on output pins and read the related bytes on input pins. But the number of needed pins requires either a big controller (Mega) or shift registers or port expanders.

Ok I have a Mega so that should be fine, I am hoping to put all this output as raw data into one file as a .NES file, so since the overall size of the data will be larger than the board's RAM how would I go about sending that data as a file over serial to another device such as the Pi, as I have never used something like UART before?

You would think that this has been done in some way with an arduino.

A SD card can also be used as a modern cartridge replacement. Or serial (I2C/SPI) EEPROM.

Just a note: it's illegal to copy ROM cartridges for other than your own private use.

Okay great I'll see if I can copy it via serial.
And yeah this is only for my own private use so that'll be fine, thanks!