MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Pages: 1

CiroConsentino
Frontend freak!
Reged: 09/21/03
Posts: 6211
Loc: Alien from Terra Prime... and Brazil
Send PM


Emu Loader frontend and MAME sets with CRC32 collisions (different files, same CRC32)
#358228 - 09/02/16 07:10 PM


hi all,
my frontend Emu Loader doesn't check for CRC32 collisions yet. I'm still studying the best way to implement this since zipped files do not contain SHA-1 info (or WinRAR for that matter).
Go to this thread for more info and for discussion.
http://www.mameworld.info/ubbthreads/sho...p;vc=1&new=



Emu Loader
Ciro Alfredo Consentino
home: http://emuloader.mameworld.info
e-mail: [email protected]



Roman
Regular
Reged: 09/21/03
Posts: 1584
Send PM


Re: Emu Loader frontend and MAME sets with CRC32 collisions (different files, same CRC32) new [Re: CiroConsentino]
#358230 - 09/02/16 07:35 PM


MAME's -listxml output gives you the affected sets ...and you need to unpack/sha1 calc/compare them yourself ;-) no need to do this for all sets...just the affected ones....



CiroConsentino
Frontend freak!
Reged: 09/21/03
Posts: 6211
Loc: Alien from Terra Prime... and Brazil
Send PM


Re: Emu Loader frontend and MAME sets with CRC32 collisions (different files, same CRC32) new [Re: Roman]
#358233 - 09/02/16 07:59 PM


>> no need to do this for all sets...just the affected ones....

yes, I already wrote a small function to check for duplicate CRC32 in a set.
I will make EL unzip ROMs directly into RAM (using a TMemoryStream class). This will take a hell of a time to process. The good thing is it will not unzip to the hard drive...

One thing I noticed, lots of games have duplicate ROMs with same name, same CRC32 and same SHA-1... why ? One example is indytemp (Indiana Jones and the Temple of Doom (set 1)).

Others like hcastle (Haunted Castle (version M)) have ROMs with different names but same CRC32 and SHA-1 checksums. This game, I tried deleting duplicate ROMs from the hcastle.zip and MAME loaded the game without a problem. MAME didn't report missing files.
(rom name="768c13.j21" size="256" crc="f5de80cb" sha1="e8cc3e14a5d23b25fb7bf790e64786c6aa2df8b7" region="proms" offset="0")
(rom name="768c11.i4" size="256" crc="f5de80cb" sha1="e8cc3e14a5d23b25fb7bf790e64786c6aa2df8b7" region="proms" offset="200")

My frontend doesn't parse SHA-1 info from -listxml output. Do you know of a game that 2 ROMs have same CRC32 but different SHA-1 ? I can modify my frontend to find that out, but it will take days since my free time is almost none.

Edited by CiroConsentino (09/02/16 08:00 PM)



Emu Loader
Ciro Alfredo Consentino
home: http://emuloader.mameworld.info
e-mail: [email protected]



Roman
Regular
Reged: 09/21/03
Posts: 1584
Send PM


Re: Emu Loader frontend and MAME sets with CRC32 collisions (different files, same CRC32) new [Re: CiroConsentino]
#358235 - 09/02/16 09:55 PM


double entries like in indytemp hmmm...no idea..haven't looked at the mamesource if they are listed twice accidently (unless they are really mirrored on the original board for whatever reason)

different names/same checksums...pretty common....especially within parent/clone relationsships...since MAME wants to use the actual IC naming of the board it can happen that they are named differently

same names/differnt checksums within a parent/clone relationship...yeah great...can happen, too for obvious reasons, you only run into issues if you want to fully merge the sets (you need a way to avoid overwriting)

crc32 collisions (same crc32, different sha1) within a set can be found in .177 in naomigd (bios) set with the checksum a738ea1c



CiroConsentino
Frontend freak!
Reged: 09/21/03
Posts: 6211
Loc: Alien from Terra Prime... and Brazil
Send PM


Re: Emu Loader frontend and MAME sets with CRC32 collisions (different files, same CRC32) new [Re: Roman]
#358236 - 09/02/16 10:27 PM


I see. Thanks for your help.



Emu Loader
Ciro Alfredo Consentino
home: http://emuloader.mameworld.info
e-mail: [email protected]



CiroConsentino
Frontend freak!
Reged: 09/21/03
Posts: 6211
Loc: Alien from Terra Prime... and Brazil
Send PM


Re: Emu Loader frontend and MAME sets with CRC32 collisions (different files, same CRC32) new [Re: CiroConsentino]
#358485 - 09/09/16 07:45 PM


Ok. I finished coding the functions to detect CRC32 collisions.
The only set affected by it is naomigd. Is this right ?



Emu Loader
Ciro Alfredo Consentino
home: http://emuloader.mameworld.info
e-mail: [email protected]


Pages: 1

MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Robbbert, Tafoid 
3 registered and 223 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 1560