ROM-Reader for Super Nintendo / Super Famicom Game Cartridges

Thanks for the tips. If it remains quirky, I have some 21.4772 and 3.072 crystals so I'll swap out the clockgen for those.

According to sanni, the cheap Chinese Arduino clones have suspect power regulation that could affect SA-1 cart detection. He had problems with a CH340 based Arduino clone that required changing the onboard voltage regulator in order to get SA-1 detection working. By contrast, a different Arduino (official design) that he had always worked with the SA-1 carts.

My original reader uses a CH340 based Arduino which might explain some of the power issues that I've encountered. I recently picked up an Arduino that follows the official design with the ATmega 16U2. I'll have to do more testing with the new Arduino to see if it eliminates the need for some of my Master Clock code adjustments.

Good Luck!

It must be a noise problem, most likely my other Arduino has better caps or an overall better design. Replacing the voltage regulator probably helped because some regulators can cope with noise better than others and so does powering the Arduino with a 9V battery. Soldering a wire directly from the voltage regulator's output tab to the cartslot also seems to help if powered from a battery. I haven't fully understood it yet and also don't have the equipment to do better testing.

I've made a pulse counter (useful experience) and found that I needed quite some calibration (-581000), now the frequency seems to be spot on. Slowing the master clock doesn't help me get SA-1 carts recognized either, so I think I'll replace the voltage regulator and add necessary caps on the arduino now.

Still need to get something myself that can count clock pulses.

That would be great to control the menu instead of using only one button.

http://www.ebay.ca/itm/Infrared-Wireless-Remote-Control-Kits-for-Arduino-AVR-PIC-/191674550175?hash=item2ca0b1879f:g:pRoAAMXQDnpTa4qW

I finally got a SA-1 cart recognized. The cartridge in question had its maskrom replaced by a 27C322. None of my SA-1 carts with original MX maskrom ever worked though. I've already exchanged my chinese voltage regulator for a trusty 7805 but I still suspect the power circuit to be suboptimal. How did you improve the power circuit no your chinese boards sanni?

I did replace the output capacitor to see if anything changes, but nothing happend. Replacing the voltage regulator(AMS1117 1A) at least gave varying results from worse(78M05 0.5A) to better(AX1117 1A) but still far away from fixing the issue 100%.

I dumped my SA-1 cart(PAL PGA Tour '96 1L3B-01 PCB) but my Super Mario RPG SA-1 cart(NTSC 1L5B-20 PCB) simply does not want to boot.

sanni, do you use 'slow' functions for writeByteA1/writeByteA2/writeByteB or are you using optimized writes to the port registers? could poor SA-1 detection be due to too many rapid changes on the addressing ports?

I'm using the faster variant, maybe too fast.

Hi all,

What a great project! Thanks a lot to all the contributors, specially MichlK, sanni, skaman.

I will try to build my own "clone" so:

sanni: SNES Cart Slots: http://www.aliexpress.com/store/product/Replacement-62Pins-Slot-for-SNES-Clone-Console/1902006_32605683635.html

Any chance to find a reseller for only one or two connectors?

Kind regards, Nico

I recently purchased 10, so if you're from Europe I could send them

zzattack:
I recently purchased 10, so if you’re from Europe I could send them

Cool, I will send you a PM.

Nico

The project continues to move forward. We are now able to completely rewrite the Nintendo Power (SF Memory) carts. It took many months and combined input from several people including nocash, sanni, and BennVenn.

A little background, the flash chips used in the Nintendo Power carts (both SF Memory and GB Memory) include a page buffer/mapping register that is checked when reading games in the normal flash area. The games written to the cart will not work properly without the correct mapping. The flash chips use non-standard, undocumented commands to access the mapping data.

I'm working on an update to my "enhanced" code with full write support for the NP carts. It is the last SNES cart type that I set out to support.

On a different but related note, to gain insight into the SF Memory cart, I built a GB cart interface to sit in between the GB and GB Memory cart. Using the cart interface to log data, we were able to unlock the GB Memory cart and we can now completely rewrite it as well. I decided to build a standalone GB cart reader around the cart interface similar to the SNES cart reader. I plan to eventually release the code when all of the mappers are supported - I need to finish the MMM01 and TAMA5 mappers.

Good Luck!

I ported my Nintendo Cart Reader sketch from using the standard Arduino digitalread/write functions to using direct port manipulation. Everything is now faster than before, especially writing the 29F032 flashrom did benefit since now it's twice as fast as before.

I also added a little content viewer for the N64 Controller Pak so that before you dump it you see what games are actually on it: |500x375

I've been following this project closely on this and the other forums, and I have a question that you may be able to answer! The NP cart pcb seems to have two 16mbit MX 29F1601MC roms, but the PCB itself has the traces for a third rom chip, which is also silkscreen marked with "16M Flash"

Would it be possible to populate that third slot with an additional 16M flash rom, bumping the total from 32 to 48mbit?

What is missing right now is how to address it. Since the Hirom mapping can only be 4MB total, we would need either an Ex-Hirom mapping or some way of temporarily remapping the 3rd chip into the address space of the 2nd.

There are also several pins on the MX15001 chip that can be pulled either low or high with resistors so maybe they configure how much memory is installed? I wonder what happens when you switch those resistors around.

There was a supplier on Aliexpress that was selling loose 29F1601 chips. I bought a few and confirmed they were the real deal. The chips were not new and appeared to be pulled off boards. I did a lot of testing of the NP flash code using a single 29F1601 in sanni’s original flashrom writer board.

I primarily picked up the chips to figure out the hidden register/page buffer commands but I also wanted to eventually add a 3rd flash chip to the carts. It should be a fun project to attempt. I don’t know when I’ll get around to doing it. I still have to optimize the flash writing in the Enhanced code and I’m a bit sidetracked finishing the savegame code for the last GB mappers.

Good Luck!

Some impressions:

|500x375

|500x375

|500x375

|500x375