Go Down

Topic: ROM-Reader for Super Nintendo / Super Famicom Game Cartridges (Read 224992 times) previous topic - next topic

JCreazy

I've got my reader up and running. I just have one question though. When I dump my cartridges, the MD5 doesn't match with known good dumps. The ROMs run fine in emulator and I assume the difference had to do with the way the game is dumped. I'm just curious what's causing the difference. Also, I dumped about 15 games last night without problem, this morning I've had 3 games with CRC errors in a row.  I reflowed all the pins on the PCB just in case that was the issue but I'm still getting CRC errors on a lot of games. Anything in particular I should look at?

sanni

Does it happen with games for all supported systems or just with one type?
I know that sometimes GBA games don't dump correctly right if they have eeprom save, must be a bug somewhere.

JCreazy

I've only dumped N64 cartridges so far.  I spent the better part of today dumping my 73 N64 games. Most dumped fine, a few had CRC errors but after cleaning and adjusting they dumped fine.  At the end of the day, I had 3 games that failed the CRC checks.  I've tried cleaning and adjusting and dumping each of them about 5 times and it fails every time.  The games are Glover, Golden Nugget 64, and Pokemon Stadium if that matters. I don't know what else to do, the pins look super clean and they play in an N64 without problem.

sanni

Do the 3 games have anything in common like all the maskrom chips being of the same make?
I guess you have already googled the CRC in case it's just a variant not present in my database?

I do know that Pokemon Stadium only dumps correctly with 3.3V and gives errors with 5V, never found out why though.
I also made the experience that N64 games don't dump correctly if one of the on/off or voltage switches has a resistance higher than 0.6 Ohm or something like that.

I'll probably have to adjust the timing in the code somewhat to make those edge cases dump correctly.

JCreazy

I'll open the cartridges tonight and see if there are any similarities with the ROMs. As for checking the CRC against ones online, they don't match so it looks like something is going wrong. I've been dumping everything on 3.3V. I'll check the resistance of the switches tonight as well. I'll reply when I've got some more info.

JCreazy

Alright so I've looked at the ROMs and it seems they are all different, or at least they are in sizes.  4, 8, and 32.  I ran the 3 failed CRC dumps through GoodN64 and Pokemon Stadium actually passed verification which makes me think that it dumped correctly even though it gave a CRC error.  It boots up fine in an emulator.  Golden Nugget 64 and Glover do not pass GoodN64 verification.  Golden Nugget 64 does boot in and emulator though but Glover refuses to boot at all.  I checked the resistance on my switches (I think I did it correctly correctly) but I am getting something around .8 Ohm.  Anything else I can check to help you out? I know nothing about coding but am willing to provide as much information I can.

Edit: I have found out the reason my Pokemon Stadium dump is not matching the CRC is because it's revision 2 which doesn't appear in the n64.txt.  I have verified this with CRC information online.  One more solved.   Still looking into the other 2.

Edit edit: The Glover dump file size is 4,096KB instead of 8,192KB which I believe is what it should be comparing it to other dumps.  Not sure why it is doing that.

sanni

Thanks for the detailed report.  :)

I added three new CRCs for different versions of Pokemon Stadium and fixed Glover's size to 8MB in the n64.txt database file. So after replacing the file on your SD those two should get valid CRCs now.

As for Golden Nugget 64 you can try if slowing down the Cart Reader has any effect.
In Cart_Reader.ino change:

Quote
/******************************************
   Define SD Speed
******************************************/
// Change to half speed if you get an sd error or it hangs when writing
#define sdSpeed SPI_FULL_SPEED
//#define sdSpeed SPI_HALF_SPEED
to
Quote
/******************************************
   Define SD Speed
******************************************/
// Change to half speed if you get an sd error or it hangs when writing
//#define sdSpeed SPI_FULL_SPEED
#define sdSpeed SPI_HALF_SPEED
and upload it to the Arduino.

JCreazy

That seemed to do the trick with Glover.  Golden Nugget is the last one that I am having issues with.  Slowing the SD speed resulted in no changes. The game seems to play fine in an emulator which makes me think it is being dumped somewhat correctly but it doesn't match CRC checksums I have found online and it doesn't pass GoodN64 checks.  The only think I can think of is I have a version that has never been dumped before which I find highly unlikely. 

RyoHazuki

I've been trying to adapt 27c801 eproms to work with the cartreader, no success tho.
Could you try to make it program 27c801 eproms? I'm a newbie in arduino and in writing code.

sanni

which makes me think it is being dumped somewhat correctly
You could use a Hex Editor like HxD, open both the dumped and the known good rom and compare them to see where they differ. CTRL+K and then F6 to move to the next difference.

Could you try to make it program 27c801 eproms?
I use my TL866 to program 27C801 eproms. It's a very cheap Chinese programmer that can do a lot of stuff.

RyoHazuki

Just recieved my repro of conker's bad fur day, i tried to make a backup of the game and my current save file, it backups both successfully but when i try to write the save back to the cartridge it looks like nothing happened, it writes and verifies successfully but when i put it in the console it still has my last save file.

Edit: Tried reflashing my cartridge, and all i get is a black screen. Tried changing the file in an hex editor, tried using patches and still nothing the only game that worked was banjo tooie. I have a PAL N64.

sanni

Perfect Dark and Donkey Kong 64 should also work since they also have 16K eeprom and 6105 CIC just like Conker and Banjo Tooie.

RyoHazuki

Perfect Dark and Donkey Kong 64 should also work since they also have 16K eeprom and 6105 CIC just like Conker and Banjo Tooie.

Is there any way to play smaller games like Super Mario 64?

JCreazy

You could use a Hex Editor like HxD, open both the dumped and the known good rom and compare them to see where they differ. CTRL+K and then F6 to move to the next difference.

I use my TL866 to program 27C801 eproms. It's a very cheap Chinese programmer that can do a lot of stuff.
I finally got around to comparing the Hex of my Golden Nugget dump and a confirmed one.  The one big difference I see is there is a large section that is all zeros in the confirmed dump. There is just no data there and in my dump there is all sorts of data.  I am not sure what would cause this but it's making me question weather or not the confirmed dump CRC is correct.  Without having access to another cart, I can't really say for sure but it is odd how there is a giant blank area in the file.

skaman

The known dump of Golden Nugget 64 with CRC32 641885DF is marked as Unverified by No-Intro.

It could be a bad dump.

What is the CRC32 for your dump?

Go Up