ROM-Reader for Super Nintendo / Super Famicom Game Cartridges

joseuro: so I use an external power supply, connected to the 5v from usb using wires and powering the cartridge directly with it.

Ok then it's not a power supply problem either. The N64 carts need a good 3.3V supply, for example I tried with a power supply that only gave me 3.2V and I got errors too. But that external supply you're using looks good enough for the job.

If the info screen isn't correct it can't read the cart at all and it won't dump right, neither rom nor save.

Maybe it really is just that the wires are too long. It is known in the N64 portable scene that long wires on the cartridge port make the N64 malfunctioning. But this will fix itself after you receive my pcb set :)

MichlK: Truely impressive, what all you guys did here - it is hardly comparable to the tiny project I published three years ago

Thanks, open source is a really powerful thing :D

Hello to all :)

Hi MichIK, nice to meet you, thank you very much for your offer to help with this assembly. All possible help is welcome.

Today I woke up early and I've been working on my assembly, without positive results.

Thank you Sanni, I also believe what this is a problem of very long wires. I wait for arriving pcb's.

Unfortunately for me, today I can not continue with this project, I have to meet family commitments. If it is possible for me, I retrieve the project this weekend.

Anyway, I've discovered something, which I not had noticed before, and it is: My Paper Mario and my Zelda MM cartridges have not implemented pin 21 S_Dat, something logical because the system of saved is not EEprom, these cartridges use flashRam to savedata, so my question is how would the program reads these cartridges? Please look at the pictures.

Thank you all, I have to go to meet my family commitments, when I can, I retrieve the project.

A greeting to all

Jose

Paper Mario Pcb.jpg|2048x1152

Zelda MM Pcb.jpg|2048x1152

The flashram uses the same pins as the maskrom(=game rom). The Nintendo Cart Reader reads the flashram by sending special commands that the flashram recognizes.

In 2013 I made a little N64 controller tester I did adapt it for the card reader shield some time ago but it seems I never posted it here.

https://github.com/sanni/cartreader/tree/master/extras/controllertest

Hello all,

I have started work on mine. I'm only interested in the SNES side of things. Also this is a test board to make sure i did them right :-) I found one via in the wrong spot. Once it works fine.. will make another with the propper SNES slot.

I have left off the 3V3 reg and cap. Still waiting on the OLED screens to arrive.

Whats the format on the SD card?? FAT16? FAT32? Size limit? 2GB??

D.

|500x375

I'm using 4GB and Fat32 but 32GB cards work too.

@joseuro - The N64 reader can dump the MN63F81MPN flashram. I have a Pokemon Stadium 2 with the MN63F81 and it dumps using the current 29L1101 save code. The Autodetect does not work as the current reader code does not have the flash id information for the MN chip.

What we found is that there are two groups of flashram chips used in the N64 carts. They're grouped as OLD_FLASH and NEW_FLASH. The OLD_FLASH group is MX_PROTO_A, MX_A and MX_C (29L1100). The MX_PROTO_A and MX_A are in the code base but whether they actually exist in retail carts is unknown (they are Macronix Device ID 00 and 01). The NEW_FLASH group is MX_B_AND_D (29L1101) and MATSUSHITA (MEI) flash (MN63F81).

The cart flashram list that sanni posted earlier is not a definitive list and it is likely that the mid to late 2000 carts could contain any of the flashram chips - 29L1100 (OLD_FLASH), 29L1101 (NEW_FLASH), or MN63F81 (NEW_FLASH). The best way to check is to open up the cart and read the id printed on the chip. Alternatively, you could use the current Autodetect routine which should sort you out if you have a 29L1100 or 29L1101. If you use the Autodetect and get a "Flashram unknown" with the following bytes - 11, 11, 80, 1, 0, 32, 0, F1 then you have the MN63F81 and you should dump it using the 29L1101 mode.

I believe sanni will be updating the reader code with the MEI (MN63F81) flash id so we'll then be able to Autodetect all of the known flashram chips.

Keep in mind that if you're planning to use the save file in an emulator that you might need to saveswap (use saturnu's Saveswap from KRIKzz's forum).

Good Luck!

Hello :)

Thank you very much for the information, skaman. This is really very interesting.

I am still waiting for the connectors that comes from China, I still have not received them.

So I can not do saves readings still. I think what as I have the electronic circuit armed and running, I want to make several dumps of my cartridges and send them to Sanni. So, investigate them.

As I can not do anything until I have the connectors, I'm using my little free time in other projects,

when I can I publish my results. I have attached a file with my installation of the 2013 Sanni controller test.

Again thank you for everything, a greeting to all :)

Controller test.jpg|2048x1152

Very nice :)

With the "cart info" menu on the OLED. What info is displayed for SNES carts? Is it like Hi rom / low rom, sram size? etc. Does it read that from the cart? or do i need the snes game database file?

I wish my OLEDs screens would arrive!!! I can't wait!

Is there an option for larger text font if you use a 128 x 128 OLED screen??

D.

If you're that curious you should use the serial output, it has pretty much the same functionality. The reader indeed extracts info from the rom header, so it gives info like hi/lorom, sram size, expansion chips etc.

Here you can buy N64 cart slots for cheap: https://www.reichelt.de/Slotstecker-Steckkartenverbinder/STECKER-50-254/3/index.html?ACTION=3&GROUPID=5218&ARTICLE=19472&OFFSET=1000& The don't have the Nintendo own 2.5mm spacing but instead the industry standard of 2.54mm but the two outer pins on the N64 cartridge are either additional GND or unconnected so it doesn't matter if the last pin doesn't line up and the slots still work perfectly.

Direct comparison between 2.5mm slots by SuperUfo from Aliexpress and 2.54mm slots by reichelt.de, close enough.

|500x375

And as a further alternative here are the slots skaman found on ebay, they also work great: http://www.ebay.com/itm/5pc-Industrial-Card-Edge-Slot-Socket-Connector-25x2P-50P-2-54mm-0-1-3A-RoHS-/140888533934

Thank you sanni for the links to buy the connectors, but I've been so many days waiting for them, I'll wait a few days more. I think that connectors should already be next to arrive by mail that as almost a month ago I bought them on Aliexpress. Anyway, if I make a new order, I would also have to wait and this would also be an extra expenditure of money. I'm investing my little free time in other projects, I have to make to my family a few electronic assemblies with pic microcontrollers. But I also had time to assemble this circuit (look at the attached pictures) surely you know it very well, it works perfectly. It is wonderful. By the way I would like to that with this circuit could be used an oled screen instead of using the monitor series of arduino, this is possible?

N64 Controller Pak reader (1).jpg|640x480

N64 Controller Pak reader (2).jpg|640x480

As anyone who has read my posts will know. This is a really exciting project!! I'm hugely into SNES gear. I make my own games / Do english translations. I have only done 1 translation.... BUT i have started a second. I was trying to think of some way how i could say "THANK YOU" for the time and effort spent by the people who have helped this project.

Because of this project, i found about writing to Nintendo Power Flash Carts. I didn't know anyone was working on that. I then found out about "Genjuu Ryodan". Its a NP Flash cart ONLY game. Its turn based stratgey (which i love). So i have started doing a english translation for it. Its only early days. But its almost playable. Thats what i have been working on.

D.

joseuro: By the way I would like to that with this circuit could be used an oled screen instead of using the monitor series of arduino, this is possible?

Not with the Arudino Uno since it has not enough space for my filebrowser code but with the Arduino Mega it works.

dtp30: As anyone who has read my posts will know. This is a really exciting project!! I'm hugely into SNES gear. I make my own games / Do english translations. I have only done 1 translation.... BUT i have started a second. I was trying to think of some way how i could say "THANK YOU" for the time and effort spent by the people who have helped this project.

Because of this project, i found about writing to Nintendo Power Flash Carts. I didn't know anyone was working on that. I then found out about "Genjuu Ryodan". Its a NP Flash cart ONLY game. Its turn based stratgey (which i love). So i have started doing a english translation for it. Its only early days. But its almost playable. Thats what i have been working on.

D.

In a way, we've opened Pandora's box when we figured out how to rewrite the NP carts. Giving people the ability to rewrite the carts could result in the loss of some irreplaceable data. I've dumped close to 50 different games and found 3 previously unknown NP-exclusive revisions. These revisions were never released in retail cart form and are the last revision for each game. Extrapolating out over the full 179 NP game list, that would mean that there might be another 8 or 9 previously unknown game revisions out there.

For anyone that is planning on rewriting their NP cart, please consider backing up the original data (ROM + MAP). Even if the game is a known dump (GoodTools/NoIntro/etc), the data on each NP cart is unique. For single game carts (no menu), then the unique data is in the mapping. For multi-game carts with menu, then the unique data is in the menu and mapping. Even blank carts have unique data in the mapping.

I wanted to set up some type of repository to collect the original data but I didn't have the resources to do it. I'm now working with someone that wants to archive the complete original data and plans to make it available on the web. If anyone is willing to share their original NP dumps (Full ROM + MAP), then please PM me a link.

Good Luck with the translation!

skaman: In a way, we've opened Pandora's box when we figured out how to rewrite the NP carts. Giving people the ability to rewrite the carts could result in the loss of some irreplaceable data. I've dumped close to 50 different games and found 3 previously unknown NP-exclusive revisions. These revisions were never released in retail cart form and are the last revision for each game. Extrapolating out over the full 179 NP game list, that would mean that there might be another 8 or 9 previously unknown game revisions out there.

For anyone that is planning on rewriting their NP cart, please consider backing up the original data (ROM + MAP). Even if the game is a known dump (GoodTools/NoIntro/etc), the data on each NP cart is unique. For single game carts (no menu), then the unique data is in the mapping. For multi-game carts with menu, then the unique data is in the menu and mapping. Even blank carts have unique data in the mapping.

I wanted to set up some type of repository to collect the original data but I didn't have the resources to do it. I'm now working with someone that wants to archive the complete original data and plans to make it available on the web. If anyone is willing to share their original NP dumps (Full ROM + MAP), then please PM me a link.

Good Luck with the translation!

Thats a realy good idea. Once my reader is finished.. i can start dumping my NP flash carts. I have quite a few.

Great, can't wait to get some more feedback :)

Total success!!! Now I can dump all my n64 Carts

Thank you Sanni Thank you skaman Thank you MichIK Thank you themanbehindthecurtain And thanks to all the people who worked on this project :)

I still have not received the connectors purchased in China. I'm tired of waiting for them. But last Friday I received by mail the pcbs of version v5B of sanni, which I had bought more than one month ago in China.

To my despair, for not having received the connectors. I decided to try one of the pcbs received last Friday. So I decided to check one pcb at any price.

So I removed the connector of my Passport Plus III and I use the connector on the pcb adapter for N64.

Then I dismantled my Snes game adapter for NTSC and JAP games, I took one of the two connectors and I use it on the main Board: the Nintendo Cart Reader pcb. This connector does not included all pins but takes the pins needed to work with the N64 carts.

I've used a few metres of desoldering wire, but the result has been positive :)

Then, I assembled all the circuit and I place all the essential electronic components to make it work in N64 cart reader mode.

Now everything works perfectly with sanni pcbs, it is clear what the problem what I had and by which the circuit did not work properly was the length of the wires.

I've done my first dumps of the cartridges with chip MN63F81MPN, thanks to the skaman information, using the 29L1101 mode.

The rom and the flashram savedata are fully functional, they work perfectly on my Everdrive 64 and I don't have to do the saveswap. The ED64 recognizes the savedata in the SAVE folder at the first time and the rom of course.

By the way skaman, I could not get the tool: "saturnu's Saveswap from Krikzz forum" all links are broken and I could not find it on Google, so I can not test these files in an emulator, I'll keep looking, thank you very much for your help.

By the way I've discovered something curious in the operation of the circuit:

I can do the reading of the savedata on the cart in "29L1101" mode, without any problem this works fantastically well and the save data is fully functional. But when I try to upload the savedata to the cart again in this mode: "29L1101", the program gets frozen in that moment and on the Oled Screen says: Erasing Flashram and the circuit is blocked, it does not pass that point. Then I have to turn off the power to the circuit and to restart it again. But if I upload the savedata in autodetection mode to the cart, then the circuit upload it perfectly and without any problems. What might be the problem? I will continue investigating this matter.

Sanni thank you very much for making reality something what I had been waiting for, for many years. I'll send you a PM with the files that I have obtained, to update the sketch with the flashram MN63F81MPN. By the way I have a Paper Mario cart with 29L1100KC chip, you have to update the list.

Thanks to all :)

Again I apologize for my bad English, I'm trying to learn

pcbs.jpg|640x480

My electronic assembly.jpg|640x480

circuit working fine.jpg|480x640

Paper Mario.jpg|480x640

Looking great :)

I have ordered Animal Crossing from Japan in hope that it will have the MN63 chip. I already written a test version of the MN63 support but since I can't test it I don't know if it works or not.

You'll find saturnus ED64 Saveswap tool inside the ed64_archive_v3.zip here

And remember you should not plug the USB cable directly into the Arduino when the N64 Adapter PCB is also plugged into the Arduino. So to upload a new version of the Cart Reader code you must first remove the N64 Adapter PCB. Because otherwise the N64 cartridge will get 5V instead of 3.3V. Although it probably won't do any damage.