Help with SNES Jurassic Park save patch
Moderators: B00daW, Moderators
Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
Help with SNES Jurassic Park save patch
Hi.
I'm trying to do a Jurassic Park repro with the SRAM patch.
I'm using an 2A5M donor board, since it has 256k of SRAM, 2x what the author claims necessary to 3 save files.
As usual, I've applied the patch, tested on SNES9x, removed the header did the swapbin and split the ROM and burned it to 2 M27C801 that verified ok on the programmer.
After assembling, it won't boot, just giving me a black screen.
I revised many times the PCB / hardware and could not find anything wrong with it.
Did someone tried this on real hardware and knows if it works?
I'm posting pictures of the PCB.
What else can I try to fix it?
I'm trying to do a Jurassic Park repro with the SRAM patch.
I'm using an 2A5M donor board, since it has 256k of SRAM, 2x what the author claims necessary to 3 save files.
As usual, I've applied the patch, tested on SNES9x, removed the header did the swapbin and split the ROM and burned it to 2 M27C801 that verified ok on the programmer.
After assembling, it won't boot, just giving me a black screen.
I revised many times the PCB / hardware and could not find anything wrong with it.
Did someone tried this on real hardware and knows if it works?
I'm posting pictures of the PCB.
What else can I try to fix it?
Re: Help with SNES Jurassic Park save patch
I just patched the ROM and tried it on my FX Pak Pro, and it seems to work as intended. I started a new save file, walked around and died (which is one of the triggers to save). Then I reloaded the game and my save file was there. I loaded the save file and I spawned around where I died, instead of the normal starting point by the main gate.
Here's the checksum for my patched ROM...
CRC32: 4768DBAC
edit: Very clean looking install, by the way. Did you check to make sure pins 24 and 31 aren't shorting?
Here's the checksum for my patched ROM...
CRC32: 4768DBAC
edit: Very clean looking install, by the way. Did you check to make sure pins 24 and 31 aren't shorting?
Re: Help with SNES Jurassic Park save patch
Thanks, Ziggy587.
The CRC32 of the file before the swapbin matches.
I looked for shorts, especially on the rewiring part and control bus and they seem fine.
Strangely, when testing using Lidnariq's memory viewer the program crashes after the hot swap.
If I go to another address that is not 0x8000, like 0x7E00 before hot-swapping it works fine.
I even checked some bytes of the cart and they matched.
Maybe I have some conflict here, perhaps a "bad MAD"?
Or maybe I have badly written EPROMs, even if the check after programming was OK.
It happened once and I have even forgotten about it, but it may be biting me again...
So thanks, I'll try to remove the EPROMs and check them again, or maybe try to build something that can read the cartridge as is.
The CRC32 of the file before the swapbin matches.
I looked for shorts, especially on the rewiring part and control bus and they seem fine.
Strangely, when testing using Lidnariq's memory viewer the program crashes after the hot swap.
If I go to another address that is not 0x8000, like 0x7E00 before hot-swapping it works fine.
I even checked some bytes of the cart and they matched.
Maybe I have some conflict here, perhaps a "bad MAD"?
Or maybe I have badly written EPROMs, even if the check after programming was OK.
It happened once and I have even forgotten about it, but it may be biting me again...
So thanks, I'll try to remove the EPROMs and check them again, or maybe try to build something that can read the cartridge as is.
Re: Help with SNES Jurassic Park save patch
If the two EPROMs verify OK... Are you sure you installed them in the correct sockets? ROM1 /OE to MAD-1 pin 16, and ROM2 /OE to MAD-1 pin 1.
Re: Help with SNES Jurassic Park save patch
Well, 1st EPROM I programmed I marked with a small pencil trace, the second I marked with 2.
As can be seem on the pictures, the 1st is on P0 and the 2nd on P1.
I removed them and tested, they passed the test.
Strangely, putting LEDs on MAD pins 1 and 16 shows that pin 1 never gets enabled.
I'll reassemble and try a 74'139, let's see if it boots.
If it checks for SRAM on boot I'm sure it won't.
As can be seem on the pictures, the 1st is on P0 and the 2nd on P1.
I removed them and tested, they passed the test.
Strangely, putting LEDs on MAD pins 1 and 16 shows that pin 1 never gets enabled.
I'll reassemble and try a 74'139, let's see if it boots.
If it checks for SRAM on boot I'm sure it won't.
Re: Help with SNES Jurassic Park save patch
Not sure if I should be happy or worried, but now I see random garbage on screen and the LEDs seem to be alternating quickly and I didn't try the 74'139 yet.
I'll try to make a video and post here later.
Does someone knows of a document that describes the SNES boot process?
I know I've seem it before, but I can't find it.
I need to know what address(es?) are accessed first.
I'll try to make a video and post here later.
Does someone knows of a document that describes the SNES boot process?
I know I've seem it before, but I can't find it.
I need to know what address(es?) are accessed first.
Re: Help with SNES Jurassic Park save patch
Just the normal 65816 process - load the vector from 00FFC/D and set the PC to that address, in "emulation" mode
Re: Help with SNES Jurassic Park save patch
Tried the 74'139 with the same result.
Any chances of a failed swapbin?
Did it happen to anyone?
I'll do a CRC check on the files I programmed vs non-swapped files, I think this may be it.
So the 1st ROM staying active probably means there's some bad data that makes it crash.
Any chances of a failed swapbin?
Did it happen to anyone?
I'll do a CRC check on the files I programmed vs non-swapped files, I think this may be it.
Re: Help with SNES Jurassic Park save patch
Maybe try and reprogram the EPROMs without using SwapBin? Just in case it's messing something up there.
Or if you have a 74LS139 or 74LS00 on hand, try wiring the EPROMs up with that and remove the MAD-1 and SRAM. That way it'll point to a ROM problem or something else.
Or if you have a 74LS139 or 74LS00 on hand, try wiring the EPROMs up with that and remove the MAD-1 and SRAM. That way it'll point to a ROM problem or something else.
Re: Help with SNES Jurassic Park save patch
Did that yesterday before going to sleep with the same results.
I did a "quick and dirty" test just now:
- Asked my wife to zip and send me all files in the folder I was working on;
- Unzipped them on a local folder;
- Used split to split the original ROM into 2 files; and
- CRC32'ed all files on the folder.
The result: AFAIK swapping data on the file should generate a different CRC32, if so, looks like I've found the failure!
Re: Help with SNES Jurassic Park save patch
Oh yeah.
That was it!
Somehow the PC I was using was not generating the swapped files correctly.
I generated in other PC, erased and reprogrammed the EPROMs and voilà! After all I just ran an antivirus on that PC.
It found some viruses and after the removal it didn't boot anymore.
So, backup, format and reinstall!
Thanks guys!
That was it!
Somehow the PC I was using was not generating the swapped files correctly.
I generated in other PC, erased and reprogrammed the EPROMs and voilà! After all I just ran an antivirus on that PC.
It found some viruses and after the removal it didn't boot anymore.
So, backup, format and reinstall!
Thanks guys!
Re: Help with SNES Jurassic Park save patch
Damn those viruses that mess up cart hacking!
Glad you got it working.
Glad you got it working.
Re: Help with SNES Jurassic Park save patch
Yeah, but looks like it was trying to steal some sensitive data from me and got triggered by SNES Tool, who knows why...
Guess I've found a bug on a virus!
I was very glad, but discovered just a few moments ago that it isn't saving.
I'll look for it tomorrow, probably it's some bad soldering or other stupid mistake of mine.
Re: Help with SNES Jurassic Park save patch
Well, I think I was vague when I said it isn't saving...
I tested playing with the 1st file.
After the game over it showed the small percentage I did get.
The 3rd file was showing 100%, so I tried it.
The game started and I was stuck and soon died and got a game over again.
After powering the console off for a dozen seconds I powered it up again and all files were showing as new.
I looked for broken/shorted traces on the SRAM pins and control bus, all seems fine.
The SRAM is getting 3.2V with the cartridge out of the console, so I think it's OK.
I tried to change the SRAM chip and disconnect and pull its A14 pin down with the same result.
Not sure what to do now, the MAD pins seem fine too, does someone have any suggestions?
Thanks in advance.
I tested playing with the 1st file.
After the game over it showed the small percentage I did get.
The 3rd file was showing 100%, so I tried it.
The game started and I was stuck and soon died and got a game over again.
After powering the console off for a dozen seconds I powered it up again and all files were showing as new.
I looked for broken/shorted traces on the SRAM pins and control bus, all seems fine.
The SRAM is getting 3.2V with the cartridge out of the console, so I think it's OK.
I tried to change the SRAM chip and disconnect and pull its A14 pin down with the same result.
Not sure what to do now, the MAD pins seem fine too, does someone have any suggestions?
Thanks in advance.
Re: Help with SNES Jurassic Park save patch
At this point I would look into the code, setting a breakpoint on reads to BRAM, to try and get a feel for how (or even if) the data is being validated. It should be fairly intensive. It's really easy to get things wrong when handling non-volatile RAM. Unless it's known that the developer tested it on a repro cart, I'd be prepared for it to not work reliably. If they only tested it on emulators or flash carts, all the RAM was initialized (probably to all zeros) before the game even saw it, which is definitely not going to be the case with a normal cart.