Dolphin, the GameCube and Wii emulator - Forums

Full Version: Unknown hash on IPL.bin
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
(09-12-2015, 08:33 AM)GreyRogue Wrote: [ -> ]I think this thread mentions there's also a Portuguese version of the IPL as well:
http://www.gc-forever.com/forums/viewtopic.php?f=25&t=1375&p=28813#p28814
There's a screenshot on the page after this one.

That's weird, maybe it's another PAL variant (Portugal)? I'm saying that because my old GC was bought here (I live in Brazil) in a retail store and my IPL dump is the same as US version.

EDIT: I tested the Portuguese IPL that GreyRogue linked and it behaves like an US release (no games would boot when putting it in EUR or JAP). What doesn't make sense to me is it being fully Brazilian Portuguese (strings like "Select" differs between Brazil and Portugal so that confirms it's not a PAL release), my console was bought here and my friends that had GameCubes bought here were all English too.

EDIT 2: technically we are breaking our forum rules, so I removed the link to the portuguese IPL...
So what's the logic behind whitelisting hashes? We run any old game iso even if it might be borked.
AFAIK it adds some sanity check; putting an US IPL in EUR folder would load the wrong IPL when booting PAL games and the GC Menu would refuse to load the game, for example. Without the hashes the user wouldn't know what went wrong...
As it concerns Dolphin's codebase, perhaps CRC32 should be used instead of Adler32. Both should be just as robust for determining the IPL's integrity, and speed shouldn't be an issue (Adler32 is generally faster from what I understand, but the IPL file is a few MB). This would allow us to use the CRC hashes from Redump without worry. As a bonus, both hashes fit into 32-bits, so no strings or other tricks necessary.
Well, I found this. This confirms the existence of that Portuguese IPL but also shows there are more revisions than what Dolphin actually whitelist...
(09-12-2015, 01:00 PM)Shonumi Wrote: [ -> ]As it concerns Dolphin's codebase, perhaps CRC32 should be used instead of Adler32. Both should be just as robust for determining the IPL's integrity, and speed shouldn't be an issue (Adler32 is generally faster from what I understand, but the IPL file is a few MB). This would allow us to use the CRC hashes from Redump without worry. As a bonus, both hashes fit into 32-bits, so no strings or other tricks necessary.

Adler32 was only chosen because that's what the DSP dumps are hashed with

(09-12-2015, 01:07 PM)Jhonn Wrote: [ -> ]Well, I found this. This confirms the existence of that Portuguese IPL but also shows there are more revisions than what Dolphin actually whitelist...

Since there are only two that have popped up in the 4+ years since the whitelist was added it doesn't seem so bad.

I'd wager that it has prevented at least two bad issue reports in that same time, either from bad dumps or people placing the ipl in the wrong region's folderĀ  Big Grin
Well I'm glad that I started this thread and made an issue about this so that it's out in the open.

To follow GreyRogue's nice example on page 2 here's mine:

Purple GameCube bought on release day (DOL-001 EUR) (ALL PORTS)
EUR PAL 1.0
Adler32 0xAF912C43
CRC32 0x4F319F43
MD5 0x0CDDA509E2DA83C85BFE423DD87346CC
SHA1 0xF27C63E5394E2FD1606F70DF004C4FC2D6027700


As for changing Adler32 to CRC32 that would be a good idea because truth be told, I haven't even heard of Adler32 before I started this.
When I verify dumps of BIOSes and games I have made I only check CRC32, MD5 and SHA1 in HashCalc since they are most common at least on http://datomatic.no-intro.org/ and http://redump.org

EDIT:

If this turns out to be solved quite quickly, would this make the 5.0 RTM cut or is that out of the question?
I'm really looking forward to the 5.0 release and would like the rest of the BIOSes to be recognized for it.
I don't know what you plan to do with this or if it will make it to the Dolphin 5.0 stable release or not but I have finally been able to build Dolphin using the source from the Stable branch and included my own dumped IPL.bin hash and it works PERFECTLY, and all I can scream is YES!!!!

No more warnings when I start a game with my own dumped BIOS!
Although a bit late, this seems to have been fixed with 4.0-8197

https://bugs.dolphin-emu.org/issues/8936

https://github.com/dolphin-emu/dolphin/commit/0e258d4621cc2de72b440068ffe5382cd30176ad

My IPL is now recognized with newer versions, so thank you very much!
Nice. I was wondering about that recently myself. Glad it's fixed for you now Big Grin

I see we switched to CRC32 instead of Adler32 as well.
Pages: 1 2 3