View Full Version : Pj64 CRC doesn't match
Doomulation
December 31st, 2001, 10:20
Is this just me or is this something really strange?
I've checked some rom-headers, and what I just found is that Pj gets it diffrently from me.
Exmples:
Yoshi's story (J) (!):
I get: CF14602D-54CA4783
Pj says: 2DCFCA60-8354B147
Exmample2:
1080 Snowboarding (U) (!):
I get: FD142558-2E3F8DD9
Pj says: 58FD3F25-D92EAA8D
I even tried to search the rom-headers for that CRC. But I can't find 'em! It's really weird....
Gent
December 31st, 2001, 12:23
Here is what it says in The Info
Gent
December 31st, 2001, 12:25
& Here is what it says in the rdb
Witten
December 31st, 2001, 14:55
PJ64 calculates the CRC with a CRC32 algoritm!
the first is with the header, the second without. Or was it the other way round.
Doomulation
December 31st, 2001, 16:52
Um, alright, I know that Pj uses some technique to read the CRC.
I'd like to ask why, since other utilities doesn't, but that doesn't matter.
What I would like to know, is how to get the CRC Pj does. How do I decrypt this information, this CRC32 algrotim so it matches the CRC I get?
You Witten, who knows a lot about this, could u plz tell me?
Witten
December 31st, 2001, 17:46
hmmm... my mind is screwed up... :P
Doomulation, just read 4bytes starting from 0x10 for CRC1 and 4bytes starting from 0x14 for CRC2. This is the easy way. :)
Just make sure the rom is in the correct byteorder.
flow``
December 31st, 2001, 21:25
what format are you roms in ? .z64 or .v64
pj64 and 1964's INI's use the .v64 endian whereas tr64 uses the .z64 endian
get tool64 and convert to .v64 would be my suggestion although i'd think pj64 byteswaps the rom's before it loads the data to compare with entries from the INI that match the rom's crc :/
Doomulation
January 1st, 2002, 18:26
That was the first post I've seen u post that is nice to me, flow.
Anyway, the problem is not with gameplay, rather about getting the CRC right. Converting the roms would be the most stupid thing I could do.
It's just that it should be able to read all roms whatsoever and get the CRC. 'Cuz other don't byteswap the roms to another format.
And I use both formats.
I see a little how this encryption works. However, the CRC which I get from headers are screwed up! Look at the yoshi example. The "14"-part of CRC1 is supposed to be B1. I figured that out, since that was the only that was missing from the CRC's when I compared them to 1964. I tried to switch place of data and stuff, and I got it all right, except for the last 2 digits of CRC2. The "b1"-part, which is "14" in my CRC.
?????? Weird.
N-Rage
January 1st, 2002, 18:35
doom, the CRCs are stored in the Rom-header, so yes it makes a difference in which byteorder the Rom is stored. the right order to read the CRCs is big-endian.
If u want to calculate the CRCs yourself u still have to change the byteorder to big-endian i believe( usually they are calculated with that BO ), or make a CRC-routine that can handle all kind of orders.
Doomulation
January 1st, 2002, 18:38
Originally posted by N-Rage
doom, the CRCs are stored in the Rom-header, so yes it makes a difference in which byteorder the Rom is stored. the right order to read the CRCs is big-endian.
If u want to calculate the CRCs yourself u still have to change the byteorder to big-endian i believe( usually they are calculated with that BO ), or make a CRC-routine that can handle all kind of orders.
Yes, no problem with that ;)
I know that already.
Yet, there are problems. Some CRC's don't get long enough!
Some CRC's are 7 bytes long! Even though it's supposed to 8 bytes!
I've checked the ASCII-number of the characters in the rom-header. And some of them are < 15, which they are not supposed to be!
That's one my problems. And check above, the CRC didn't match. Undepending the byte-order, 2 bytes were wrong!
flow``
January 1st, 2002, 19:51
you aren't getting this..
(dont ask me if this is the right order or not) but each CRC endian places the CRC in a different ABCD order
i think smiff has the ABCD order chart somewhere on his site..
and ACBD should not resemble ADCB, its a little more complex then moving the values around
if you dont believe me
get rtool, calc the crc of a z64 rom, then use tool64 and byteswap it to v64 and calc it again.. there might be a few resemblences in values but not many
just download tool64 and see if you can clean up the mess you've already made with the crc
if not, you might as well download the rom again
Doomulation
January 1st, 2002, 19:54
Originally posted by flow``
you aren't getting this..
(dont ask me if this is the right order or not) but each CRC endian places the CRC in a different ABCD order
i think smiff has the ABCD order chart somewhere on his site..
and ACBD should not resemble ADCB, its a little more complex then moving the values around
if you dont believe me
get rtool, calc the crc of a z64 rom, then use tool64 and byteswap it to v64 and calc it again.. there might be a few resemblences in values but not many
just download tool64 and see if you can clean up the mess you've already made with the crc
if not, you might as well download the rom again
Gee, I've never messed with ANY of my roms.
And I know about the byte-order, and that's not the problem. I byteswap them as needed after extracting the CRC.
Powered by vBulletin® Version 4.1.10 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.