ROM-Reader for Super Nintendo / Super Famicom Game Cartridges

Thanks Sanni. At this point the interest is mostly academic, I'll probably ultimately end up getting the Jrodrigo one eventually. Re: the BennVenn cart my understanding is that while the chip is technically 3v (mine is 29w640) it can operate at 5v and so having 5v go into it won't actually lead to extra current that would hurt the Gameboy (at least based on discussions with a physics phd friend). Still, I may experiment if I can modify your sketch to switch the pin number in software (which seems easier then re-wiring the cart) for WE to audioin from WR (unless there is a reason that would not work).

Also curious as to your thoughts on this: https://lab.whitequark.org/notes/2018-09-17/game-boy-advance-cartridge-smc805-2/ The poster makes it seem like a big accomplishment, but I thought writing to bootleg flash carts was a pretty well understood thing.

According to the datasheet of the 29W640 the flash commands are pretty much the same as with the 29F033, so if you re-solder the WE wire or change the WE pin in the code and change the flash ID in the code from "04D4" to "22ED" or "22FD", depending on if you have a 29W640FT or 29W640FB, it might just program without any major changes.

In regards to the link: Intel is really really bad at labeling their flashroms, so figuring out how to write an Intel flashrom is actually quite the challenge. This is a nice hardware-based approach using the flash pinout to find a matching datasheet. For the 2 or so Intel chips I support in my current code I have just thrown flash commands at the chip until something worked. Once you know how to address the flashrom the rest is pretty straightforward.

Hi Sanni, i got 15 snes repros that uses the 29LV320, so there's a way that i can reflash these carts?
Without taking the memories out of the PCB

I've tried to Solder the WE on pin 18 and the OE on pin 57, but the shield doesn't detect

By the way, great job, congratulations :slight_smile:

Can you make a picture of the pcb? Right now the only 29LV320 repro that is supported looks like this:

The solder bridge pulling /WE high needs to be removed and then a wire to connect /WE to SNES /WR needs to be soldered for flashing.

Hi Sanni

I figured out what is happening, reading the datasheet and chatting to a friend, i saw that i forget to jump the CE (Black wire on the pictures)

Those memories are pretty common too in repros too

Here some pics, and let me share what i did

I wire the WR (Pin 1, Green wire) to connector 18
CE (Pin 12, Black Wire) to Connector 23
OE (Pin 14, White Wire) to Connector 57

Thanks for the help

The pics

I have a funny PAL SSB64 repro with a chip that i can't identify:


Any way I can identify it?

philx_x:
I have a funny PAL SSB64 repro with a chip that i can't identify:


Any way I can identify it?

Looks like a 16MB Macronix MX29GL128E or Fujitsu MSP55LV128, commonly used in GBA repros.
You can find out more by sticking it into the Cart Reader to see what the ID of the flash is.

Hi sanni and skaman,

Please try my new code to read and write Japanese Super Famicom(SNES) Satellaview 8M Memory Pack.

http://fast-uploader.com/file/7095773667285/

Just overwrite V2.1 ino flies with attached files.
Only cart supported to write Satellaview 8M Memory pack so far is BS-X -Sorewa Namaewo Nusumareta Machino Monogatari- so you need to insert Satellaview 8M memory pack into BS-X cart to write 8M flash in memory pack. I might add compatibility with some other carts in future.

You can find Satellaview menu under Cartridge Reader - Super Nintendo.

Good Luck,
Tamanegi_Taro

Thanks alot, I added the new code to the github 8)

Thanks sanni :grin:

Hi it's me again

This SNES cart uses the Fujitsu MSP55LV160A
I tried to found on internet the datasheet, but i got nothing
So there is a way that i can program this flash rom? using the snes cart and slot?

Thanks a lot

By the way congrats and thanks tamanegi_taro, for the SatellaView Support

Well, it basically will be trial and error.

All the SNES repro writing functions are in flash.ino. You can have a look at the commit for V1.6 where I added support for the S29GL032 flashrom to see what it takes to add a new flashrom: V1.6: Add support for S29GL032M flashrom (byte mode) · sanni/cartreader@b816918 · GitHub

The Cart Reader should give you the flash ID together with the unknown flashrom error. Which you can use to create a new entry in the "void id_Flash8()" function. There you define the flashsize in bytes and whether or not it's a native 8bit flashrom (type 1) or a a 16bit flashrom in 8bit mode (type 2).

Then in the function "void flashromMenu8()" under "case 3:" you add a new entry that selects a write function based on the flash ID of the MSP29LV160. Since MSP29LV160 sounds similar to MX29LV160 I would start with the "writeFlash29LV640()" function and see if it writes anything. If it doesn't try the "void writeFlash29GL()" function.

If that also doesn't work you can have a look at the write functions of the MSP55LV128 in GBA.ino or the MSP55LV100S and MSP55LV512 in N64.ino and see what they do differently. Then with that knowledge you can create a custom "writeFlashMSP29LV160()" function in flash.ino.

Also after each time trying to write something always read out the flashrom again and check what has been written in a hex editor like HxD to see if maybe part of your write code is working.

I purchased a different N64 connector and while it was a little more expensive it does appear to be the correct size. The spacer ring does not slip over it and it still fits into the PCB.

https://www.ebay.com.au/itm/Passend-für-Nintendo-64-N64-Kontakte-50-Pin-Connector-Schlitz-Ersatzteile/183372703594?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649

Hey all,

First off, awesome project! I'm building it for my school project and it's been a ton of fun.

To my problem: I'm trying to flash the PIC but I keep getting a "Cannot open COM port" error when I try to use WxPic. I've tried switching COM ports, to no avail. I guess I'm just not sure how to see what COM Port it's using or how to open the COM. I've done some google searching for COM ports on Windows 10 but that also hasn't been super helpful. Any advice or tips?

Hello again everyone,

Sorry if I'm bumping too much, but I took it into school and got this for an error from WxPic. Any thoughts?

Error.png

Just tried it on my Windows 10 x64 PC (newest update) and it still works.

Device Manager tells you which COM port to use:

WxPic can test if the programmer is ok(maybe try with the slow mode box checked):

Then select the correct PIC:

And program:

Have you double checked your programmer? Maybe something is soldered wrong.

Thanks sanni! I think my problem was the sop8 to dip8 adapter I used was too big and soldering extensions on to the chip was not the answer. I ordered a smaller adapter which is arriving tonight. Weird thing is my laptop isn't giving me the Ports option in the device manager.

Go into your PCs bios and make sure the Serial Port is not disabled:

Then install the COM Port in Windows like this.
-Open "Device Manager"
-Select menu "Action" -> "Add legacy hardware", then Click "Next"
-Select "Install the hardware that I manually select from a list (Advanced)" -> then click "Next"
-Scroll down, then select "Ports (COM & LPT)", then click "Next"
-Select "Manufacturer" as your need, (in this case, I'm selecting standard type or default option) then click "Next"

The COM port should be in the device manager even if nothing is connected to it so that is your problem right there.

Homerzilla2k:
Thanks sanni! I think my problem was the sop8 to dip8 adapter I used was too big and soldering extensions on to the chip was not the answer. I ordered a smaller adapter which is arriving tonight. Weird thing is my laptop isn't giving me the Ports option in the device manager.

On download page of WxPic was written that you MUST use PC not laptop. I tried my Dell Latitude 630 (with embedded COM not USB2COM one)and WxPic was able to recognize the ports but ROM flashing was out of luck.

Then I tried PC and ROM was successfully written. It's apparently voltage issue.

So, You'd better to use PC instead of laptop.