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-11-2015, 01:11 PM)LPFaint99 Wrote: [ -> ]
(09-11-2015, 06:40 AM)Maverick Hunter X Wrote: [ -> ]I can't speak for the const u32 USA_v1_1 = 0x4D5935D1; as it's not listed anywhere.

That was dumped from my personal gamecube, md5 019e39822a9ca3029124f74dd4d55ac4, crc d5e6feea
sha1 239eacd86527ff9a75aeb7282da65797baeef010

The list from redump.org only has 3 (2 pal, 1 US/NTSC-J [not even sure if that seems right])
so it is far from exhaustive,
heres another https://bugs.dolphin-emu.org/issues/7035#change-721322

It is as I expected then, that redump.org's GameCube BIOS list is incomplete and missing some BIOSes. They only have 7 entries in their DAT file and 3 of them is BIOS entries.

We can however confirm some things though:

- The PAL BIOS Dolphin has listed today is neither a verified v1.0 dump nor a v1.2 dump, it could for all that we know be a unverified v1.1 dump and maybe should be listed as such

- Your USA v1.1 BIOS is 100% good

- That greyrogue with issue #7035 Missing IPL USA version 1.2 also have a 100% good USA v1.2 BIOS

- The first USA BIOS listed in Dolphin is likely to be a v1.0 version and should be listed as such

What can be done here is that the entries from redump.org should be added to the list and that greyrogue's should be added.
That way we'll have the ones from redump.org, yours and greyrogue's so in the end it will look something like this:

const u32 USA_v1_0 (Present today, verified by Jhonn)
const u32 USA_v1_1 (Present today, verified by LPFaint99)
const u32 USA_v1_2 (Not present today, verified by greyrogue)
const u32 JAP (Present today, not verified)
const u32 PAL_v1_0 (Obviously mine and verified by redump.org, not present today)
const u32 PAL_v1_1 (Present today, not verified)
const u32 PAL_v1_2 (Verified by redump.org, not present today)
//const u32 PanasonicQJ = 0xAEA8265C;
//const u32 PanasonicQU = 0x94015753;
Maverick Hunter X Wrote:- The PAL BIOS Dolphin has listed today is neither a verified v1.0 dump nor a v1.2 dump

How do we know the Adler32 hash (the one in Dolphin's code) isn't from a 1.2 dump? We know it's not from a 1.0 dump because you verified that yourself. But no one has verified the Adler32 hash of the 1.2 dump. All we have are the CRC32, MD5, and SHA1 hashes of the 1.2 dump (from redump.org), none of which helps us since none of them is Adler32.

Remember, redump.org doesn't list Adler32 hashes anywhere on their site, as far as I know. It's easy to confuse them with CRC32 hashes (which are the same lengths, 32-bits), but they're different.
If that helps, my IPL dump has the hashes below. I don't know what version my GC had, I just know they are US release:

CRC32: 6D740AE7
MD5: FAE2B558FFC344467170520D62177E5C
SHA-1: 015808F637A984ACDE6A06EFA7546E278293C6EE

EDIT: using a random tool I found in Google I can confirm my IPL dump has an Adler32 hash of 1fce3fd6 and that matches with current hash available in Dolphin...
(09-11-2015, 05:09 PM)Shonumi Wrote: [ -> ]
Maverick Hunter X Wrote:- The PAL BIOS Dolphin has listed today is neither a verified v1.0 dump nor a v1.2 dump

How do we know the Adler32 hash (the one in Dolphin's code) isn't from a 1.2 dump? We know it's not from a 1.0 dump because you verified that yourself. But no one has verified the Adler32 hash of the 1.2 dump. All we have are the CRC32, MD5, and SHA1 hashes of the 1.2 dump (from redump.org), none of which helps us since none of them is Adler32.

Remember, redump.org doesn't list Adler32 hashes anywhere on their site, as far as I know. It's easy to confuse them with CRC32 hashes (which are the same lengths, 32-bits), but they're different.

I know 100% it's not the v1.2 PAL BIOS, as I said earlier I found out using an unmoral way.

This is the Adler32 hash of the PAL BIOS used in Dolphin today: A0EA7341

I found a IPL.bin that had that Adler32 hash and a CRC of DD8CAB7C

If you look at the entries from the redump.org DAT that I posted the CRC for the verified PAL v1.2 BIOS dump is AD1B7F16

DD8CAB7C and AD1B7F16 does not match which means Dolphin maybe have an unverified v1.1 PAL BIOS listed.
Again, if Dolphin would have listed the PAL v1.2 BIOS then the CRC's would have matched but they don't.

(09-11-2015, 05:17 PM)Jhonn Wrote: [ -> ]If that helps, my IPL dump has the hashes below. I don't know what version my GC had, I just know they are US release:

CRC32: 6D740AE7
MD5: FAE2B558FFC344467170520D62177E5C
SHA-1: 015808F637A984ACDE6A06EFA7546E278293C6EE


EDIT: using a random tool I found in Google I can confirm my IPL dump has an Adler32 hash of 1fce3fd6 and that matches with current hash available in Dolphin...

That would probably mean you got the v1.0 USA BIOS so we can say it's verified.

So this is how Dolphin IPL list look today:

const u32 USA = 0x1FCE3FD6; (Present in Dolphin today, verified by Jhonn and presumably a v1.0 USA dump)
const u32 USA_v1_1 = 0x4D5935D1; (Present in Dolphin today, verified by LPFaint99 and most likely a v1.1 USA dump)
const u32 JAP = 0x87424396; (Present in Dolphin today, unknown version not verified and origin presumably unknown)
const u32 PAL = 0xA0EA7341; (Present in Dolphin today, not verified and most likely a v1.1 PAL dump and origin presumably unknown)

This needs to be added/updated to the Dolphin IPL list:
const u32 USA_v1_2 = 0xDF6CF65B (Not present in Dolphin today, verified by greyrogue and most likely a v1.2 USA dump)
const u32 PAL_v1_0 = 0xAF912C43; (Obviously mine, verified by me and matches redump.org, not present today and is definitely a v1.0 PAL dump)

As for the PAL v1.2 version and the rest of the JAP BIOSes I have absolutely no idea about those so these have to be left for now.
Maverick Hunter X Wrote:I know 100% it's not the v1.2 PAL BIOS, as I said earlier I found out using an unmoral way.

How do you (or the rest of us) know that this copy is 100% byte-for-byte correct though? All it takes is a single byte to get most hashing methods to generate completely different output. The copy you have could be a 1.2 dump, just corrupted (that's the problem with getting things the unmoral way...)

The only ways to be sure would be to have some one redump the 1.2 IPL repeatedly and have someone else verify it with a different system. But that's going to be difficult.

Maverick Hunter X Wrote:DD8CAB7C and AD1B7F16 does not match which means Dolphin maybe have an unverified v1.1 PAL BIOS listed.

Or it means your dump is incorrect... Which is why we need to verify this stuff the proper way. We already have some suspect hashes in Dolphin, we shouldn't add any more if we can help it.
(09-12-2015, 12:30 AM)Shonumi Wrote: [ -> ]
Maverick Hunter X Wrote:I know 100% it's not the v1.2 PAL BIOS, as I said earlier I found out using an unmoral way.

How do you (or the rest of us) know that this copy is 100% byte-for-byte correct though? All it takes is a single byte to get most hashing methods to generate completely different output. The copy you have could be a 1.2 dump, just corrupted (that's the problem with getting things the unmoral way...)

The only ways to be sure would be to have some one redump the 1.2 IPL repeatedly and have someone else verify it with a different system. But that's going to be difficult.

Maverick Hunter X Wrote:DD8CAB7C and AD1B7F16 does not match which means Dolphin maybe have an unverified v1.1 PAL BIOS listed.

Or it means your dump is incorrect... Which is why we need to verify this stuff the proper way. We already have some suspect hashes in Dolphin, we shouldn't add any more if we can help it.

Shonumi, my dearest friend. Let's start over because this have become very confusing.

Plain simple:

My PAL v1.0 BIOS with:
Adler32 hash AF912C43
CRC 4f319f43
MD5 0cdda509e2da83c85bfe423dd87346cc
SHA1 f27c63e5394e2fd1606f70df004c4fc2d6027700

is verified on redump.org, and I wanted you to add it to Dolphin.

Forget about PAL v1.2 or any other because obviously we can't verify it.

If you could add my verified v1.0 PAL BIOS then I'm satisfied.

If you can't then I guess I have to add it myself and use my own builds.
It's not a problem to add it to Dolphin's master branch (I could make a PR easily, anyone could since there's like 1 line of code to add), it's just that sooner or later we'd like to find out what's correct and incorrect about the hashes already in Dolphin. That was where this discussion was going. We already know your hash is good and can be added, we're just trying to figure out what in the world the other hashes are doing, which is equally important in my opinion.

I'm not trying to speak for the developers (or anyone else). That's just my opinion. Personally, I'd like to see this mess sorted before the code is changed, but anyone else is free to make the changes to master (or request them via PRs).
(09-12-2015, 01:27 AM)Shonumi Wrote: [ -> ]It's not a problem to add it to Dolphin's master branch (I could make a PR easily, anyone could since there's like 1 line of code to add), it's just that sooner or later we'd like to find out what's correct and incorrect about the hashes already in Dolphin. That was where this discussion was going. We already know your hash is good and can be added, we're just trying to figure out what in the world the other hashes are doing, which is equally important in my opinion.

I'm not trying to speak for the developers (or anyone else). That's just my opinion. Personally, I'd like to see this mess sorted before the code is changed, but anyone else is free to make the changes to master (or request them via PRs).

OK Shonumi, I understand.
This is quite a mess indeed.

Of all the BIOSes Dolphin have today listed only 2 have been confirmed:

const u32 USA = 0x1FCE3FD6; (Confirmed by Jhonn)
const u32 USA_v1_1 = 0x4D5935D1; (Confirmed by LPFaint99)

These are unknown/not confirmed:

const u32 JAP = 0x87424396; (Unknown)
const u32 PAL = 0xA0EA7341; (Unknown)

We know of at least 2 more that can be confirmed and added to the list:

const u32 USA_v1_2 = 0xDF6CF65B (Confirmed by greyrogue)
const u32 PAL_v1_0 = 0xAF912C43; (Confirmed by me and verified with redump.org)

So that would be a total of 4 confirmed at least.

Now that we know this and come this far, what would be the next logical step here because I have tried to find information on the Internet but haven't found anything other then the information that I got from from redump.org

It all feel so hopeless right now.

If anyone here on the forum reads this and have dumped their BIOS/BIOSes could you please post this information:

Version and region of BIOS, Adler32 hash, CRC hash, MD5 Hash and SHA1 hash.

Please!


EDIT:

I actually found this information that might help a little to determine which version of the GameCube you have and which BIOS/IPL version you have:
http://www.gc-forever.com/wiki/index.php?title=GameCube_versions - GameCube Versions

Basically it's a chart containing:
Mainboard revision, Console Identifier (DOL-XXX), IPL Version, Ports, Console Type etc.
(09-12-2015, 03:01 AM)Maverick Hunter X Wrote: [ -> ]const u32 USA_v1_2 = 0xDF6CF65B (Confirmed by greyrogue)
const u32 PAL_v1_0 = 0xAF912C43; (Confirmed by me and verified with redump.org)

Version and region of BIOS, Adler32 hash, CRC hash, MD5 Hash and SHA1 hash.

Please!

Silver (No SP2 or Digital Port)
USA NTSC 1.2
Adler32 0xDF6CF65B
CRC32 0x86573808
MD5 0xB17148254A5799684C7D783206504926
SHA1 0xEF9194AB4804AA0AA8540D846CAF291B28331165

I'd like to see at least one other person get the same values.
It's relatively easy to do. All you need is a gamecube, Swiss and a way of running homebrew. There's even a new method of running homebrew called HomeBros that just requires a memory card, a Wii (to get the save file on the memory card) and SSBM:

http://www.gc-forever.com/forums/viewtopic.php?f=38&t=3023&sid=c4d5c08c5d434038e7f0c67e2abc940d

You'll probably also need a MemCard to SD adapter to save the file, also.

I think this thread mentions there's also a Portuguese version of the IPL as well:
< mod edit: link removed >
There's a screenshot on the page after this one.
I think we've had an issue report about the 1.2 NTSC bios missing. So, I'd completely believe if no one has added in a while.
Pages: 1 2 3