Dear Roman,
happy New Year!
During last week I was updating to latest MAME a very old machine (from 0.78 to 0.181).
I noticed that the fixdat file generated are always the same, regardless of the merging flag I set (non-merged, split, merged). Is this the right behaviour?
Consider the following datfile (it's just a test made by me to illustrate the situation):
<datafile>
<header>
<name>test XML</name>
<clrmamepro/>
</header>
<machine name="a">
<description>a</description>
<rom name="aa1" size="256" crc="5baf4761" sha1="aa7e07eb2cada03b85bdf11ac6a3de65f4253eef"/>
<rom name="aa2" size="256" crc="04c22349" sha1="d1cb78911cb1ca660d393a81ed3ed07b24c51525"/>
</machine>
<machine name="b (clone of a)" cloneof="a" romof="a">
<description>(clone of a)</description>
<rom name="aa1" merge="aa1" size="256" crc="5baf4761" sha1="aa7e07eb2cada03b85bdf11ac6a3de65f4253eef"/>
<rom name="ab2" size="256" crc="9428afb0" sha1="ba907d3361256b022583d6a42fe223e90590e3c6"/>
</machine>
<machine name="c (one rom identical to a)">
<description>c (one rom identical to a)</description>
<rom name="cc1" size="256" crc="0ab15633" sha1="df004ff41f35b16089f69808ccf53a5e5cc13ac3"/>
<rom name="cc2" size="256" crc="04c22349" sha1="d1cb78911cb1ca660d393a81ed3ed07b24c51525"/>
</machine>
</datafile>
I was expecting fixdat files to look like the following:
1) un-merged -> identical to the starting datfile
2) split -> games A and C as per original datfile, game B with only one entry (the non "merge" rom)
3) merged -> game A with 3 roms (aa1,aa2,ab2) and game C with 2 roms (cc1,cc2). No entry for game B.
Now my suggestion: as you will notice, rom cc2 has different name from rom aa2, but same size and hash. The games C and A have no parent/clone relation. This is happening a lot in MAME, especially with PROMs or sound ROMs.
Would it be possible for clrmame to generate a "minimal fixdat" file containing only the REALLY NEEDED 4 roms aa1,aa2,ab2,cc1 ? Only these 4 roms are really needed to fully rebuild my example set and clrmame perfectly manages this rebuild already now.
The advantage of a "minimal fixdat" will be to save a lot of bandwidth for people helping each other to complete their collections.
thank you for listening to me and for all the good work you put into clrmame.