News:

11 March 2016 - Forum Rules

Main Menu

Reading an SNES cartridge electronically?

Started by benjaminshinobi, February 08, 2012, 05:41:26 AM

Previous topic - Next topic

benjaminshinobi

Hey, figured I'd post here and hopefully gain further insights. I have not worked with circuitry to read ROMS or EPROMS before, my programming of microcontrollers (not of video game systems) is limited to glorified blinking of lights. I came across this article about a gameboy cart reader:

http://www.insidegadgets.com/2011/03/19/gbcartread-arduino-based-gameboy-cart-reader-%E2%80%93-part-1-read-the-rom/

Would it be the same for Super Nintendo? ie:

hook up power and ground
set the read and write lines properly
select the address I want to read
and then look for the data on the D0-D7 pins?

I'm just wondering if there are any old projects documented from back in the day or recent that I'm missing. I thought I had seen some but I was mistaken...they were all DIY chip programmer projects. I know about the Retrode and Power Pak obviously but haven't found any documentation/schematics etc. and this is for a different project.

Nightcrawler

Yep, that's pretty much how you would do it (Don't forget about the cart select and read lines too). This document is the first that comes to mind that will give you the cartridge port pinout. There are other documents (like this one) that have this information, but I can't say I would trust they were as accurate.

This is all from the SNES cart port perspective. I'm sure somebody has it laid out better somewhere for a cart reading project, but I can't say I know of any off hand.
TransCorp - Over 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations

henke37

The thing with carts is that they can contain non trivial chips. Things like memory mapping chips are very common and more than a few carts have extra processors. The extra processors can usually be ignored. But the memory mapping might not be ignorable. It could be swapping out different parts of the rom. Or it could just be swapping between some extra work ram areas.

Nightcrawler

To be clear, none of that impacts methodology of reading the cartridge. It only affects the cartridges data response. Any mapping details would be a software issue and not effect the reading hardware.  Whether or not these items are relevant depends on exactly what you're trying to accomplish with your cart reader.
TransCorp - Over 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations

benjaminshinobi

yeah I'm just looking to dump the data...not build an FPGA clone of an SNES (yet)....just kidding lol...kind of...I actually just got to looking at those docs before your reply Nightcrawler, they seem to have what I need for now. I have some other stuff percolating, but I will definitely post info once things are working.

Nightcrawler

Quote from: Nightcrawler on February 08, 2012, 09:35:57 AM
This is all from the SNES cart port perspective. I'm sure somebody has it laid out better somewhere for a cart reading project, but I can't say I know of any off hand.

Update:

The document I was really thinking of was Anomie's, which is much better than the previous ones I linked. I couldn't find it before because it was titled with 'port' and not 'cart'. This one (as well as most of his documents) is accurate and contains full pin-out on the cart port.

It's easy to forget about all the goodies  on top of address and data that are actually there if you access all pins. The special chips like the Super-FX use some of those extra pins on both ends, while most 'normal' carts only use a basic subset in the middle. That's also how MSU1 was possible for trivia.

http://www.romhacking.net/documents/195/
TransCorp - Over 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations