EMULAB Forum

clrmamepro [English] => clrmame Discussion => Topic started by: Dullaron on 25 March 2011, 07:51

Title: Having a problem checking nes roms with the nes.xml header enabled.
Post by: Dullaron on 25 March 2011, 07:51
For some reason cmpro64 and nes.xml header not working right.

1942 (Japan, USA).zip I had for a while is bad and won't work on the Nestopia and Mednafen.

I went and found one that works on Nestopia and Mednafen. I deleted the non working 1942 (Japan, USA).zip and rebuild the one that works.

But the funny thing is that cmpro64 and nes.xml header thinks both roms are good. Is there something I'm not doing right? It just not checking correctly.
Title: Re: Having a problem checking nes roms with the nes.xml header enabled.
Post by: Roman on 25 March 2011, 08:20
Verification of roms and playability are two different things.
Clrmamepro compares the hashvalue (crc32/sha1/md5) of a file against the one which is stored in the loaded datfile. If it matches, the file is good for clrmame. This of course does not mean anything regarding playability.

In case of roms with headers, like nes, the datfile usually only holds the checksum for the rom part without the header, i.e. cmpro also has to only calculate the hash over the header-less part. Usually header information can vary while the actual rompart stays the same, that's why you only want to look at the real binary part of the rom, not the header.

So, clrmame is checking correctly, since you scan it with a dat for header-less files and you only compare the header-less part.

I guess your emulators most likely need information stored in the header to work correctly...which is missing or is different in your file. So you have to check the meta data in there....but that's not a task for cmpro (unless you have another dat which holds checksums for the full file....)