Help with INL SNES 12MB / Star Ocean
Posted: Tue Oct 06, 2015 2:03 pm
Update: Ignore the first two posts -- go to post #3 for a working patch.
------------------------------
I received my 12MB INL SNES board yesterday which I wanted to use to make a Star Ocean repro. I've read every other post on this forum regarding this and also about 12MB INL SNES boards in general and still can't seem to get this to work after several hours of trying. I have to admit that I expected this process to be quick and easy from all the prior reading I'd done... kind of disappointed with how reality has turned out so far!
Anyway, so, I know that the Star Ocean ROM needs to be both expanded to 96Mbit / 12MByte and also needs to be deinterleaved. Unfortunately even when doing both I cannot get it to work. Hopefully I'm just doing something really silly and someone spots my mistake.
So, what I've been doing:
I start off with a headerless Japanese Star Ocean ROM. Size is 6,291,456 bytes, file CRC 3dbdfdbf.
First I apply the DeJap english translation (v1.0, released Dec 31, 2003). This now translated ROM (6,291,456 bytes, file CRC 6ba9e08d) works fine in an emulator such as bsnes and is very obviously now in English as I expected.
Then I apply the "no-S-DD1/96Mbit hack" (96Mbit_SO_ENG.xdelta). This gives me a 12MB ROM (12,583,424 bytes, file CRC 6f3eac5a). As per the hack's README, I can run the expanded ROM just fine in Super Sleuth, but no other emulator (even bsnes) runs it. Note that based on the file size, this ROM appears to now include a 512 byte ROM header even when the ROM files from previous steps did not have a header. uCON64 also confirms that there is now a header. Also noticed that if I remove the header Super Sleuth will no longer run the game, but admittedly I know next to nothing about that emulator (maybe it requires ROMs to have headers? not sure). Not too worried about this as I know that I need a headerless ROM to flash to an INL board anyway.
Interesting to note that at no point so far does uCON64 say that the ROM is interleaved. Even with the original Japanese ROM it says it's not interleaved. Not sure if this is expected (Does uCON64 always correctly detect interleaved ROMs? Is what uCON64 is calling "Interleaved" the same thing as what we're talking about in the context of the Star Ocean ROM / INL boards?).
If I try flashing this ROM to the INL board it doesn't work, as I expected.
Removing the 512 byte header with uCON64 (ucon64 --stpn=512), I'm now left with a ROM 12,582,912 bytes in size, file CRC b1d82240. Attempting to flash to the INL board still doesn't work on a SNES.
To deinterleave, I've been using uCON64 (ucon64 --dint, also tried ucon64 --int --dint). I'm not actually sure that this is doing anything at all as this always yields a file with the same CRC as the input file.
I get the feeling I'm doing something wrong with the deinterleaving step and/or am misunderstanding something about it. There don't seem to be a whole lot of tools that can deinterleave ROMs out there (or am I wrong?). NSRT crashes and deinter.exe ("Entendo SNES ROM Deinterleaving Utility") doesn't change the file, same as uCON64..
Also I should mention that I came across a topic on the NintendoAge forums where some people were discussing this and even posting an xdelta patch to be applied against the original Japanese Star Ocean ROM (same one I mentioned above). I tried this patch and it results in a ROM file 12,582,912 bytes in size, file CRC b1d82240 (exact same as I get from doing my steps above manually). Flashing it to the INL board doesn't work on a SNES.
To get some other obvious things out of the way:
------------------------------
I received my 12MB INL SNES board yesterday which I wanted to use to make a Star Ocean repro. I've read every other post on this forum regarding this and also about 12MB INL SNES boards in general and still can't seem to get this to work after several hours of trying. I have to admit that I expected this process to be quick and easy from all the prior reading I'd done... kind of disappointed with how reality has turned out so far!
Anyway, so, I know that the Star Ocean ROM needs to be both expanded to 96Mbit / 12MByte and also needs to be deinterleaved. Unfortunately even when doing both I cannot get it to work. Hopefully I'm just doing something really silly and someone spots my mistake.
So, what I've been doing:
I start off with a headerless Japanese Star Ocean ROM. Size is 6,291,456 bytes, file CRC 3dbdfdbf.
First I apply the DeJap english translation (v1.0, released Dec 31, 2003). This now translated ROM (6,291,456 bytes, file CRC 6ba9e08d) works fine in an emulator such as bsnes and is very obviously now in English as I expected.
Then I apply the "no-S-DD1/96Mbit hack" (96Mbit_SO_ENG.xdelta). This gives me a 12MB ROM (12,583,424 bytes, file CRC 6f3eac5a). As per the hack's README, I can run the expanded ROM just fine in Super Sleuth, but no other emulator (even bsnes) runs it. Note that based on the file size, this ROM appears to now include a 512 byte ROM header even when the ROM files from previous steps did not have a header. uCON64 also confirms that there is now a header. Also noticed that if I remove the header Super Sleuth will no longer run the game, but admittedly I know next to nothing about that emulator (maybe it requires ROMs to have headers? not sure). Not too worried about this as I know that I need a headerless ROM to flash to an INL board anyway.
Interesting to note that at no point so far does uCON64 say that the ROM is interleaved. Even with the original Japanese ROM it says it's not interleaved. Not sure if this is expected (Does uCON64 always correctly detect interleaved ROMs? Is what uCON64 is calling "Interleaved" the same thing as what we're talking about in the context of the Star Ocean ROM / INL boards?).
If I try flashing this ROM to the INL board it doesn't work, as I expected.
Removing the 512 byte header with uCON64 (ucon64 --stpn=512), I'm now left with a ROM 12,582,912 bytes in size, file CRC b1d82240. Attempting to flash to the INL board still doesn't work on a SNES.
To deinterleave, I've been using uCON64 (ucon64 --dint, also tried ucon64 --int --dint). I'm not actually sure that this is doing anything at all as this always yields a file with the same CRC as the input file.
I get the feeling I'm doing something wrong with the deinterleaving step and/or am misunderstanding something about it. There don't seem to be a whole lot of tools that can deinterleave ROMs out there (or am I wrong?). NSRT crashes and deinter.exe ("Entendo SNES ROM Deinterleaving Utility") doesn't change the file, same as uCON64..
Also I should mention that I came across a topic on the NintendoAge forums where some people were discussing this and even posting an xdelta patch to be applied against the original Japanese Star Ocean ROM (same one I mentioned above). I tried this patch and it results in a ROM file 12,582,912 bytes in size, file CRC b1d82240 (exact same as I get from doing my steps above manually). Flashing it to the INL board doesn't work on a SNES.
To get some other obvious things out of the way:
- Before every flash I am erasing the board with the ERASE_SNES_12-16MB.bin file.
- I'm using the INL retro-prog v1.1beta.exe tool obtained from the INL site, not that other alternate flashing program that someone on this forum was developing (which I can't find a link to anyway, but apparently that didn't work with Star Ocean).
- I've successfully flashed working games onto 4MB and 8MB INL boards before, so it's probably safe to assume my Kazoo programmer is in working order. Also, I only got it just over a month ago.
- With this 12MB board, I tried flashing a few other smaller games onto it, such as Super Mario World, and they all worked fine. So I assume the board itself is in working order.
- In case it's important, written on my 12MB INL board is "v1.1" which I assume is the firmware version?