ROM-Reader for Super Nintendo / Super Famicom Game Cartridges

sanni:
If you manage to flash it with the PICkit and its software, please make some screenshots then I can add them to the github so that others don't make the same mistake. :slight_smile:

I don't understand how to get the PICkit3 and SOIC adapter to connect together? I bought the whole list of items on your github but those two are the only things listed together. The PICkit3 has six pins and the SOIC has eight spaced out on two different sides. I can understand if two are ground they may not be needed (not saying there are, just an assumption). The PICkit3 also has no identification for what pin is what, possibly in the software but I haven't got that far either. I'm waiting on slide switches lastly to begin my build. I plan to make a video of the whole process once I can finally put it all together.

Connect the Pickit3 with the SOIC8 adapter like this

Pin 6 of the Pickit is not connected to anything.

Mapper 82 PRG-RAM read/write is finally done. I had to do some fiddling but I got the PRG-RAM writes working properly.

While working on the PRG-RAM, I decided to work on the Family Basic SRAM. I wrote working code for read/write support of the Family Basic SRAM.

I ordered a few more Mapper 82 test carts and a Family Basic V3 cart so I'll need to confirm that the code works for them.

Nice :smiley:

Hi Sanni,
I set up my pocket version of your cartReader. I thought of doing something that was as simple and cheap as possible to assemble and solder. So I didn't use smd components and kept the entire SdCard module.
thx :slight_smile:

Pocket SNES Cart-RW(.gerber)_20191126.zip (141 KB)

Assembly Instructions (English).pdf (910 KB)

Instruções para montagem(Português).pdf (915 KB)

1 Like

Cool! Another portable SNES reader.

My portable readers came in really handy when visiting stores looking for undumped carts.

Very cool 8)

skaman:
Cool! Another portable SNES reader.

My portable readers came in really handy when visiting stores looking for undumped carts.

a few posts ago, I saw pictures of your portable. with big screen and battery. Professional level :slight_smile:

sanni:
Very cool 8)

thx for the hard work of making this cartReader so functional and cool!
can i attach the .gerber here for anyone to use?

Sure, if you want you can also do a pull request on the Cart Reader Github and upload them there. :slight_smile:

I submitted the NES.ino changes to sanni.

Adds Mapper 30 (NESmaker) support with read/write Flash support. Flash support only tested with the INL NM30 board.

Adds PRG-RAM read/write support for Mappers 4 (MMC6), 19, 80, 82.

Adds SRAM support for Family Basic (Mapper 0) carts.

When writing the Mapper 82 PRG-RAM, carts seem to write the first byte of each 1K block with the last byte of the block. I wrote the code to rewrite the first byte to make the written data match the source file. Both carts that I have appear to do the last byte = first byte (1K block) so I'm waiting on additional Mapper 82 carts for testing.

For the Family Basic cart, the Backup Switch must be in the Off position to write to the SRAM. I found that on powerup that the cart writes to certain locations of the SRAM. I don't have any original save files for the cart so I could only test with some dummy files. The dummy files would write properly but once the cart was powered up then various locations in SRAM were overwritten.

I don't plan on adding support for additional mappers or for other INL flash carts. If you want support for additional INL flash carts, then buy the INL programmer.

Hello everyone! I stumbled onto the cart reader just yesterday and decided to take the plunge in trying to make this. I was going to buy the Retrode 2, but I don't believe they have the NES cartridge figured out yet, plus it is not supported much anymore. The problem for me is I don't have any experience with PCB building/programming. The instructions on Sanni's GitHub page are amazing, and I think I can figure it out. The biggest concern I have at the moment (not having the parts yet) is flashing the snesCIC. I have never flashed anything before. The PICKit3 looks like a good thing to get for that, but are there any instructions on how to flash the snescic-lock-resync.hex file? Is there another forum area to get help with this? I am reading the comments about this procedure up above, but I am still confused. Any help would be much appreciated!

I don't have a PICkit myself but this video should give you an overview:

Thank you Sanni! I watched that, and it seems pretty straightforward. I will give that a try once the parts come. I am very excited for this! Has anyone ever tried working with a supplier to have these massed produced?

So when I got my Arduino I quickly noticed a few things are different.

The transistor is a little close to some resistors and the resistor you're to solder the 5v lead to beside the voltage regulator is orientated differently. This is the micro USB model rather than the printer cable A-female type connection. From the parts page this is what came. Just figured I'd mention for updated notes.

Here is a pic:

(Sorry, my HTML is a bit dated so my picture isn't showing up between line breaks, it seems.)

Androxilogin:
So when I got my Arduino I quickly noticed a few things are different.

The transistor is a little close to some resistors and the resistor you're to solder the 5v lead to beside the voltage regulator is orientated differently. This is the micro USB model rather than the printer cable A-female type connection. From the parts page this is what came. Just figured I'd mention for updated notes.

Here is a pic:
A little Different. - Album on Imgur

(Sorry, my HTML is a bit dated so my picture isn't showing up between line breaks, it seems.)

Interesting. I didn't notice that. I don't have mine yet, but it looks like you are referring to the schematic image, correct? Because the video where they show you how to do it looks like it is the same as your image. It would be good to get the schematic image updated too. Good catch!

Yeah. I just built one tonight and found that in the video actually. Except the resistor is still oriented differently. Now I'm facing an SD Error and the unit won't power on with the clock generator connected. I've formatted the SD to FAT32 and placed the required files in the root directory on a Sandisk Extreme. I used the micro SD board rather than the custom full size. I'm not sure what's going on yet.

What brand/size of SD card are you using, and how are you powering it?

Powering from a Tronsmart with VoltIQ, Sandisk Extreme 32GB HC1 V30 U3 A1. I have 2 16GB Ultras but I didn't really want to open them for this project.

EDIT:

On the "Known Issues" page under SD Card, it says:

There are SD modules out there that are missing the voltage level converter.

I have a 128GB Kingston mSD card that always gets stuck at the beginning of writing a flashrom, not sure if there is a partition size limit or maybe some SD cards are just incompatible with the Arduino SD Fat library.

I'm kinda figuring it may just be incompatible. Hopefully it isn't not the voltage level converter because I have no idea what that means with these things. The regulator is 3.3v that's about all I know. I'm not real sure though because in the video it shows the screen come up with the little mushroom and mine instantly goes to SD Card error. I would expect maybe a boot up animation at least or maybe not? It does the same thing without the connector attached so maybe not.

EDIT ONCE MORE:

It is, in fact, the SD Card. Tried the one I use in my Wii U and it went right to the menu. BUT... The clock gen still poses a problem.

sanni:
Just finished copy&pasting all of skaman's Famicom functions into the NES.ino. It was basically plug&play and the code was really easy to work with, thanks again to skaman. 8)

I haven't tested it yet but the adapter PCBs are already in production at JLCPCB so in 10 days we will know more. :slight_smile:

Also on a side note, the Arduino Mega is a real champ, only ~70% flash and ~52% sram are used right now. Probably enough room for even more systems.

And finally, I thought of an alternative to the cartridge adapters: An expansion port.

It's a little PCB that gets soldered to the underside of the Arduino and that duplicates all its ports so you can plug-in expansion modules.
Not sure if I should pursue this idea though since it looks complicated. :sweat_smile:

I really hope this is pursued. This is such a great idea!