EMULAB Forum

clrmamepro [English] => clrmame Discussion => Topic started by: Pandor on 13 April 2023, 08:42

Title: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 08:42
Hi,

I'm trying to verify a MAME 0.253 merged romset, But Clrmamepro 4.047 is reporting a whole lot of missing sets and wrong filenames. DAT/xml was created from mame.exe. default Clrmamepro settings. only change made is Merged sets selected in scanner window.

Romvault reports a 100% valid set with the same mame.exe xml output, so i kow for a fact the set is good.

I found this old post, with similar report, here (https://www.emulab.it/forum/index.php?).

Anyone know if there is any (default)setting that could cause this?
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 08:49
Actually, you don't need a datfile, use a direct exe import....but if it's a clean -listxml redirected output, fine...

Profiler->Options->Parse ROM 'merge' tags and Parse DISK 'merge' tags should be enabled

And please give a (one) detailed set/rom example about what cmpro complains about....I'm pretty sure cmpro is right :-)
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 09:09
For romvault I extraxted the XML manually. For CMP, it is a direct import from mame.exe.
Merge tag options are 'on' as per default settings for Clrmamepro 4.047 (this is a new freshly unzipped, first usage case).

steps to reproduce:


as per request, screenshot of the scan, and proof the rom actually exist, despite CMP claiming the rom is not there (and/or wrong filename):
(https://i.ibb.co/FJDqpFJ/mame-merged-error.png) (https://ibb.co/5vRxZPv)
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 09:17
Looks like you're using full merged sets where all client files are *always* stored in subfolders.
By default, cmpro only does this when a merge collision was detected to prevent overwriting of files (when a clone uses an identically named rom file but with a different hash).
If you want to always use subfolders, go to Settings and turn on Full Merge Mode -> Hash Collision Name
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 09:27
Looks like you're using full merged sets where all client files are *always* stored in subfolders.
By default, cmpro only does this when a merge collision was detected to prevent overwriting of files (when a clone uses an identically named rom file but with a different hash).
If you want to always use subfolders, go to Settings and turn on Full Merge Mode -> Hash Collision Name
Thanks for the detailed explanation.
I believe subfolders are the default for romvault, hence it verifies as 100%.

Prior to trying CMP, I used romvault to go from an older split set, to the latest merged romset, i'm trying to validate with CMP.
My set also verifies with the (torrent)source of the current set.

unfortunately, setting Hash Collision Name in settings and performing a new scan did not fix it for me.


Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 09:36
Check: Profiler->Options-> Naming Pattern should be "%f\%1" (which is default by the way)

Ensure that Settings->Full Merge Mode -> "Hash Collision Name"  is ticked, leave cmpro, start it, click on Profiler "Clear Cache" and reload the profile....
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 09:39
followed your suggestions, but still same result.
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 09:47
Hmm....nasty....try this: in Scanner, click on "split sets" and then again on "merged sets". Open SetInformation (bottom left button in scan results window), enter "m4pitfala" in prefered at top to jump to the pitfall set (remember your first screenshot...there you have the same.....), and click on a subitem like Pitfall (Empire) (MPU4, set 3)....on the right side you should see then "m4pitfalb\pf2_0.bin" listed (*with* subfolder).

Is this the case? If no, hmm....maybe you should remove the profile and create a new one...If yes, then please do a new scan and show one single error message again
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 10:53
CMP does (now) show the subfolder in front of the rom in the SetInformation, and pitfall seems okay now.

But now i'm left with a large list of "missing but fixable"
(https://i.ibb.co/SJzg1RH/missing-but-fixable.png) (https://ibb.co/KmJgQFB)
Seems like pit fighter rev4 want the include roms that are from pit fighter rev3 (and are present).
I don't believe this should be by design for a merged romset, as the proceeding revision already has the correct files.

settings and profile are correct (I believe):
(https://i.ibb.co/2qNhWRW/cmp-profile-settings.png) (https://ibb.co/F6V3mcm)

Ater all this,
I tried starting over from a freshly unzipped CMP, reloading mame.exe,.... nothing seems to do the trick.
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 11:19
First of all, it's all about interpretation. MAME itself doesn't care about filenames, it simply takes an archive and looks by hash for the needed file. So to make it playable, you don't need an audit tool....simply put all garbage into a file and you're done :)

The interpretation for parent/clone relationships within cmpro is that clones can share a file with their parent but not with other clones.
The relationship is either based on identical names or on the "merge" atttribute in the datfile/-listxmloutput. By default, cmpro uses the merge attribute information (See profiler options "parse rom merge tags").

So yes...if you have Parent P with rom p1, Clone C1 with rom p1, c1 and Clone C2 with rom p1, c1, c2 and clone C3 with rom c3 only, you will end up in a merged set with:

p1
C1/c1
C2/c1 + C2/c2
C3/c3

That's the way it is, it won't change and hasn't changed since 1997 now..... :-)

There is no information that a version 3 is older or newer than a version 4 of a set. The relationship is defined in the datfile....if version is was designed to be the parent, version 4 and 3 could be clones...maybe a dev decides later on that 4 becomes parent....there is no real rule on that....one day it was "the most common version", then "the us or europe version", then the initial version .....there were lots of plans to set a rule on it...but actually I don't see one.


By the way, if they are identical (hash and name) you can get rid of the few extra bytes by simply NOT using subfolders for clones...then you only get them 1 time in the archive.....
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 11:27
Thanks. So as you say, and what I suspected, it is subject to interpretation (there is no standard unfortunately, and MAME does indeed not care, as long as the file is there somewhere), and it seems CMP and RV differ in that aspect. so a RV merged romset, is not compatible with CMP's algorithm, apparently (and vice/versa).

I've always been a split set advocate, but thought I would change that for this current set. I guess it bit me in the *ss  ;D

I'll just stick to RomVault then. it is, in my humble personal opinion a bit more intuitive and user-friendly.

Thanks for the help though. It did clear up a lot.
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 11:49
Just for reference, this is how RomVault interprets the same set:
(https://i.ibb.co/FW6RfwQ/RV-interpret.png) (https://ibb.co/fSMjKp3)
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 11:51
would it list an additional 136081-3030.15d rom with f143f0e16850ad98366db208e956f7402d1ca848 in pitfight4 as unneeded then? Or would it simply mark it green?



Well, it's of course your decision, however if you're coming from MAME's -listxml output, you see that e.g. "136081-3030.15d" from pitfighter 3 and 4 do not have any "merge" attribute set...and if you follow the idea of having the archive structure like

- the archive is named after the parent set
- the subfolders in the archive are named after the clones and each holds the files for that clone but limits it to the ones which differ from its parent

Sounds a bit more structured if you ask me.....(compared to..."ah yeah...and it also needs a file from another subfolder since the clone shares a file with another clone, too)

But again...it's all about interpretation and personal taste.....however it's now 26 years that I hear of a full merged storing method like that (romvault's)...may be an idea as additional view for the rebuilder tool (https://www.emulab.it/forum/index.php?topic=8816.0) which currently supports split, full (always with subfolders) and "standalone" which is also "new" compared to cmpro....
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 12:08
would it list an additional 136081-3030.15d rom with f143f0e16850ad98366db208e956f7402d1ca848 in pitfight4 as unneeded then? Or would it simply mark it green?



Well, it's of course your decision, however if you're coming from MAME's -listxml output, you see that e.g. "136081-3030.15d" from pitfighter 3 and 4 do not have any "merge" attribute set...and if you follow the idea of having the archive structure like

- the archive is named after the parent set
- the subfolders in the archive are named after the clones and each holds the files for that clone but limits it to the ones which differ from its parent

Sounds a bit more structured if you ask me.....(compared to..."ah yeah...and it also needs a file from another subfolder since the clone shares a file with another clone, too)

But again...it's all about interpretation and personal taste.....however it's now 26 years that I hear of a full merged storing method like that (romvault's)...may be an idea as additional view for the rebuilder tool (https://www.emulab.it/forum/index.php?topic=8816.0) which currently supports split, full (always with subfolders) and "standalone" which is also "new" compared to cmpro....
This way it does save (some marginal) space, doesn't it? as in my pit fighter example, rev3 becomes a parent for rev4, and rev4 only includes roms that are not in rev3. in CMP's case, the roms from rev3 are duplicated from rev3 to rev4 and only the actual (head) parent, pitfight is taken into account, right?
I'm not saying this is the 'correct' way. Just thinking out loud, and trying to figure out the difference between CMP en RV, and why they differ.

What about split then? will CMP also include the rev3 roms into the rev4 zip?

Becuase the way I see it now (I could be completely wrong), merged is just the same as split, but clones are just included as subfolder in the parent/main zip, which could save some space because of zipfile header/encapsulation overhead?
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 12:20
would it list an additional 136081-3030.15d rom with f143f0e16850ad98366db208e956f7402d1ca848 in pitfight4 as unneeded then? Or would it simply mark it green?
...
re-reading this, I get your point, and is something i'll test. Just like mame, it is possible that RV doesn't care where the file/rom is. and it will mark it green eighter way. but it is still a rom manager, so there should be some 'standard' it adheres to, and not put it randomly in a subfolder/zip that is most convenient, or it would never be consistent.

As you say, I think it will deem it as unneeded, and move it to rev3 where it is 'needed', if not present, and discard it from rev4. But I have not tested this.
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 12:24
It's fun to hear the diskspace argumentation in 2023....if you decided to collect MAME (and maybe software lists) you shouldn't care about the few extra size of such "clones of clones" at all....each upcoming laserdisk chd will be more than all the files together...

I personally think "merged" or "split" was never a question of "hey I can save a few MB"...it's more about how you look at your collection. The "full merged" guys tend to "I want only one pacman archive and not pacman1 to pacman 20", while the "split merged" guys are more like "MAME support 1003 sets, I have 1003 archives and I can see the difference of pacman1 compared to pacman2...

"This way it does save (some marginal) space, doesn't it? as in my pit fighter example, rev3 becomes a parent for rev4"  ....well, yes, but "becomes parent" is something romvault made up. There is no indicator in MAME's -listxml file for it. And yes, it saves marginal space

If you won't use subfolders for full merged sets, then you a) won't have the pitfighter roms doubled and b) you would even save more space since the folder name is not in the archive....

"What about split then? will CMP also include the rev3 roms into the rev4 zip?"

Split merged: you have 1 archive for each set, parent archives only hold the files for the parent, clone archives only hold files which are not marked as "merged". There is no sharing between clones
Full merged: you have only archives for parent sets, where the archive also holds the files for each clone.

To answer your question:
rev3 would hold: 136081-3028.05d, 136081-3029.05b, 136081-3030.15d, 136081-3031.15b (but not 136081-4028.05d or 136081-4029.05b)
rev4 would hold: 136081-4028.05d, 136081-4029.05b, 136081-3030.15d, 136081-3031.15b (but not 136081-3028.05d or 136081-3029.05b)


"merged is just the same as split, but clones are just included as subfolder in the parent/main rom, which could save some space because of zipfile header overhead"

the subfolders part is not really a part of merged sets. Originally there were no subfolders (and MAME does not need subfolders), subfolders were introduced first where it made sense (e.g. if you have clone files with identical name but a different hash)....but surely they give a better idea which file belongs to which clone if you always use them....but that latter argument also is an argument to have the clones-of-clones in each subfolder ;-)



Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 12:27
"As you say, I think it will deem it as unneeded, and move it to rev3 where it is 'needed', if not present, and discard it from rev4. But I have not tested this."

Why should it be needed in rev3 and not vice versa? just because some string says revision 3 versus 4 and an xml ordering of 3 before 4....Sorry...but I don't follow this logic.... :-)

You have parent/clone relationships of totally different kinds in MAME...where not even the setnames are in common...or the manufacturer etc....and yes, there you might also find identical files spread in the clones only...how do you decide there to which clone they really belong....

Again...if you think your/RomVault's full merge is more right, feel free to use it....there is no standard, there is no right way, it's just interpretation.
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 12:44
It's fun to hear the diskspace argumentation in 2023....if you decided to collect MAME (and maybe software lists) you shouldn't care about the few extra size of such "clones of clones" at all....each upcoming laserdisk chd will be more than all the files together...
...
I come from a time where a MAME collection would fit on a CD-rom...  ;D
I had a spare 1TB drive, devoted to MAME (started years back), up till now. The past weekend I decided to fire it up again, and update my (then) split sets, but came to the conclusion the drive wasn't going to cut it anymore. so I decided to try my luck with a merged romset.

The (popular*)source I got it from, seems to use romvault as a means to manage the roms. So this is why I got intrigued into the reason why it does not match a CMP scan. Your replies have been verry educational and helpful, for which my gratitude.

For me it actually doesn't matter if I have a set as a single zip, or 20 zipfiles, but storage has become a 'problem', as in "i'll need to get myself a bigger disk for MAME now".
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 12:48
4TB HDs are < 100 EUR ......I come from a time where I paid > 800 (rough estimation) for an Amiga HD......for 32 MB.....
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 13 April 2023, 12:53
"As you say, I think it will deem it as unneeded, and move it to rev3 where it is 'needed', if not present, and discard it from rev4. But I have not tested this."

Why should it be needed in rev3 and not vice versa? just because some string says revision 3 versus 4 and an xml ordering of 3 before 4....Sorry...but I don't follow this logic.... :-)

You are absolutely right. Maybe it's just my human logic, that a previous revision (or named so), would be a 'parent' to a latter revision, and that a child could receive from its parent... Don't get me wrong. you make a lot of sense. I'm not trying to undermine, just understand.
Title: Re: mame merged sets not scanning correctly?
Post by: yescabernetnointernet on 13 April 2023, 18:34
@Pandor: not on PC ATM, but IIRC starting from the same -listxml and using merged sets you'll end up with same results on both CMP and RV.
Only thing you need to change in CMP is the Hash Collision methodology (as Roman already told you) and you'll have same Scan results.  ;)

Anyway,
may I suggest you mixing the modes for your romset?
I find myself really pleased with roms UNMERGED (including BIOS) and chd sets merged.
Be aware I'm meaning chd sets, not chd.
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 13 April 2023, 19:58
then you should switch to new rebuilder's standalone mode...which really produces "unmerged" sets ;-)
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 15 April 2023, 10:38
@Pandor: not on PC ATM, but IIRC starting from the same -listxml and using merged sets you'll end up with same results on both CMP and RV.
Only thing you need to change in CMP is the Hash Collision methodology (as Roman already told you) and you'll have same Scan results.  ;)
...
Tried it with those settings, to no success.
I might have done something wrong, but CMP doesn't even seem to honor the mame xml output...
Example for 'Zackman':
(https://i.ibb.co/wRtzXZx/zackman.png) (https://ibb.co/kxZSfVW)
While to XML clearly states the folowing:
Code: [Select]
<machine name="zackman" sourcefile="handheld/hh_hmcs40.cpp">
<description>Zackman</description>
<year>1983</year>
<manufacturer>Bandai</manufacturer>
<rom name="hd38820a49" size="4352" crc="b97f5ef6" sha1="7fe20e8107361caf9ea657e504be1f8b10b8b03f" region="maincpu" offset="0"/>
<rom name="zackman.svg" size="910695" crc="8385497b" sha1="eec68a9f677e3ae849414278f6461929d77f3169" region="screen" offset="0"/>
<device_ref name="hd38820"/>
<device_ref name="screen"/>
<device_ref name="pwm_display"/>
<device_ref name="speaker"/>
<device_ref name="speaker_sound_device"/>
<chip type="cpu" tag="maincpu" name="Hitachi HD38820" clock="400000"/>
<chip type="audio" tag="mono" name="Speaker"/>
<chip type="audio" tag="speaker" name="Filtered DAC"/>
<display tag="screen" type="svg" rotate="0" width="487" height="1080" refresh="60.000000" pixclock="31557600" htotal="487" hbend="0" hbstart="487" vtotal="1080" vbend="0" vbstart="1080" />
<sound channels="1"/>
<input players="1">
<control type="joy" buttons="1" ways="8"/>
</input>
<port tag=":IN.0">
</port>
<port tag=":IN.1">
</port>
<port tag=":IN.2">
</port>
<port tag=":IN.3">
</port>
<port tag=":IN.4">
</port>
<driver status="good" emulation="good" savestate="supported"/>
</machine>
according to the XML filesize should be 910695 for zackman.svg (which it is (https://ibb.co/QDhNJhF)), but CMP insists it should be 910689 with different CRC?
What kind of sorcery is this?   :D

I understand that CMP, unlike RV might want to duplicate roms shared between clones if there is no merge TAG present. but not honoring the filesize and CRC as described in the XML seems weird.. Where is it getting this from?
Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 15 April 2023, 13:14
then you should switch to new rebuilder's standalone mode...which really produces "unmerged" sets ;-)
I've used Rebuilder 0.05, you recently released on my RV created merged set to output a new merged set according to your algorithm.

I've noticed Rebuilder 0.05 (in Full mode) does also put all clones into subfolders, so that would mean when scanning the output with CMP, Hash Collision should be ticked, right?

I also verified, that indeed RB, does duplicate clone roms, that are not tagged as "merge", which I agree, is *the correct way* by design of the mame xml and default in CMP, unlike RV's algorithm (not sure how RV decides what is a parent, and when a clone should have roms, owned by another clone/revision). The difference is only about 3GB worth of 'redundant' data.

I'm currently running a RV scan, to check that that RB merged set is indeed complete, and if it actually reports redundant (clone) roms as unneeded (which I suspect).
After that I wil try a CMP scan again, and see if anything changed. I would suspect the missing but fixable should be gone now, but still there is the problem that I mentioned above, which is weird....

*edit*
as suspected, RV reports unneeded roms. But, it also reports a missing rom for osa_mastro.
(https://i.ibb.co/N2wwMp7/RV-wrong-report.png) (https://ibb.co/9HRR72G)

It seems RB put osa_analyst into its own zip, osa_analyst.zip, while it has a romof="osa_maestro" tag. (it is missing a cloneof= tag though...)
(https://i.ibb.co/kgwvpwC/maestro-inconsistancy.png) (https://ibb.co/MDtQbt0)

Code: [Select]
<machine name="osa_analyst" sourcefile="src/devices/bus/saitek_osa/maestro.cpp" isdevice="yes" runnable="no" romof="osa_maestro">
<description>Analyst</description>
<biosset name="b" description="Analyst B"/>
<biosset name="c" description="Analyst C"/>
<biosset name="d1" description="Analyst D (set 1)" default="yes"/>
<biosset name="d2" description="Analyst D (set 2)"/>
<biosset name="dp" description="Analyst D+"/>
<biosset name="dpp" description="Analyst D++"/>
<rom name="m6l_a15_u2.u2" bios="b" size="32768" crc="91570897" sha1="e6db36ffc87ce3941a3e12222678069cff9e47f6" region="maincpu" offset="0"/>
<rom name="b6c_721_u3.u3" merge="b6c_721_u3.u3" bios="b" size="32768" crc="b1e57023" sha1="6cec5cdc0bf4f8ac88afb0397fcb4738136b0431" region="maincpu" offset="8000"/>
<rom name="m6l_b30d_u2.u2" merge="m6l_b30d_u2.u2" bios="c" size="32768" crc="bb10e15c" sha1="7b0fb987c49da76a03b46c80d2b4eacaa785ee75" region="maincpu" offset="0"/>
<rom name="b6c_721_u3.u3" merge="b6c_721_u3.u3" bios="c" size="32768" crc="b1e57023" sha1="6cec5cdc0bf4f8ac88afb0397fcb4738136b0431" region="maincpu" offset="8000"/>
<rom name="ma3_714a_u2.u2" merge="ma3_714a_u2.u2" bios="d1" size="32768" crc="435e1e30" sha1="0d82df7c40443cb341dacebdf65f33c3e03bce70" region="maincpu" offset="0"/>
<rom name="b6m_b15_u3.u3" merge="b6m_b15_u3.u3" bios="d1" size="32768" crc="6155de90" sha1="bb5cdf061dde2d1dc7925d455891c3ade1d274e3" region="maincpu" offset="8000"/>
<rom name="ma3_714a_u2.u2" merge="ma3_714a_u2.u2" bios="d2" size="32768" crc="435e1e30" sha1="0d82df7c40443cb341dacebdf65f33c3e03bce70" region="maincpu" offset="0"/>
<rom name="b6m_629_u3.u3" merge="b6m_629_u3.u3" bios="d2" size="32768" crc="15e7b1f1" sha1="d2a757114f13c6141d74a15671aa06b675304b4a" region="maincpu" offset="8000"/>
<rom name="m6m_625_u2.u2" merge="m6m_625_u2.u2" bios="dp" size="32768" crc="aa7b5cfd" sha1="e909108fdace633a519fecf0b9876fe6a46b2067" region="maincpu" offset="0"/>
<rom name="b6m_614_u3.u3" merge="b6m_614_u3.u3" bios="dp" size="32768" crc="eff75543" sha1="d7c1b3824bc87d5ffada6f5c8c72a8b292ff3d46" region="maincpu" offset="8000"/>
<rom name="d++_u2.u2" merge="d++_u2.u2" bios="dpp" size="32768" crc="48ef032c" sha1="d336cb2096780b4d3bcceda0d2ed1246e780cd8d" region="maincpu" offset="0"/>
<rom name="b6m_614_u3.u3" merge="b6m_614_u3.u3" bios="dpp" size="32768" crc="eff75543" sha1="d7c1b3824bc87d5ffada6f5c8c72a8b292ff3d46" region="maincpu" offset="8000"/>
<device_ref name="r65c02"/>
<device_ref name="generic_socket"/>
<device_ref name="software_list"/>
<device_ref name="hd44780_a00"/>
<chip type="cpu" tag=":maincpu" name="Rockwell R65C02" clock="8000000"/>
<configuration name="CPU Frequency" tag=":FAKE" mask="7">
<confsetting name="4MHz" value="0"/>
<confsetting name="5.67MHz" value="1"/>
<confsetting name="6MHz" value="2"/>
<confsetting name="7.2MHz" value="3"/>
<confsetting name="8MHz" value="4" default="yes"/>
<confsetting name="10MHz" value="5"/>
</configuration>
<device type="romimage" tag=":extrom" interface="saitek_egr">
<instance name="romimage" briefname="rom"/>
<extension name="bin"/>
</device>
<slot name=":extrom">
</slot>
<softwarelist tag=":cart_list" name="saitek_egr" status="original"/>
</machine>

So as you can see, RV wants to remove all redundant roms as we already established, and might be considered incorrect, as per interpretation. But it also wants to move osa_analyst, to a subfolder/clone to osa_meastro.
(https://i.ibb.co/zPQ3QL9/RV-suggested-fix.png) (https://ibb.co/6DrKrp9)

*edit2*
As for CMP, (unless I'm doing something complete wrong here) it looks like even Rebuilder 0.05 can't produce a merged mame romset that can satisfy the scanner.. (no offence).
(https://i.ibb.co/tcNFXnX/CMP-completely-wrong.png) (https://ibb.co/pZs5yNy)



I have used CMP years back... but it has lost credibility for me. And I do not mean that in offence. I respect your work.. but these inconsistencies are driving me nuts...

how is it possible that alpinesa isn't listed as a clone to its parent alpines. in doing so, CMP wrongfully considers alpinesa as the parent and wants to rename alpines.zip to alpinesa.zip. This surely can't be by design?:
(https://i.ibb.co/8shYwDH/apinesa.png) (https://ibb.co/fFcDWYs)

While this might not break MAME, it is not consistent with the XML:
Code: [Select]
<machine name="alpinesa" sourcefile="namco/namcos22.cpp" cloneof="alpines" romof="alpines">
<description>Alpine Surfer (World, AF2 Ver.A, set 2)</description>
<year>1996</year>
<manufacturer>Namco</manufacturer>
<rom name="af2ver-a_ll.ic2" size="2097152" crc="d8025e98" sha1="e1c08557e70d632bf1e99356d6c6f76b5f407b8f" region="maincpu" offset="3"/>
<rom name="af2ver-a_lm.ic3" size="2097152" crc="5f805d51" sha1="b7fa9028deeaf1c549e9c2d6099925a0d0ad1598" region="maincpu" offset="2"/>
<rom name="af2ver-a_um.ic4" size="2097152" crc="e7e057e3" sha1="436e4645ba0e8734c0e25c7c22489bf97066944d" region="maincpu" offset="1"/>
<rom name="af2ver-a_uu.ic5" size="2097152" crc="3eee10a2" sha1="6e52c5132581e7fe69a257195af5bc9f3a3efe25" region="maincpu" offset="0"/>
<rom name="c71.bin" merge="c71.bin" size="8192" crc="47c623ab" sha1="e363ac50f5556f83308d4cc191b455e9b62bcfc8" region="master" offset="0"/>
<rom name="c71.bin" merge="c71.bin" size="8192" crc="47c623ab" sha1="e363ac50f5556f83308d4cc191b455e9b62bcfc8" region="slave" offset="0"/>
<rom name="af1data.8k" merge="af1data.8k" size="524288" crc="ef13ebe8" sha1="5d3f697994d4b5b19ee7fea1e2aef8e39449b68e" region="mcu" offset="0"/>
<rom name="af1scg0b.12f" merge="af1scg0b.12f" size="2097152" crc="46a6222a" sha1="5322ef60690625b9b8dbe1cfe0c49dcd9c8b1a4c" region="sprite" offset="0"/>
<rom name="af1cg0.8d" merge="af1cg0.8d" size="2097152" crc="7423f3ff" sha1="6a2fd44823ef46111deb57d328b1b75cc355d413" region="textile" offset="0"/>
<rom name="af1cg1.10d" merge="af1cg1.10d" size="2097152" crc="ea76689a" sha1="73dd3af737a3e9903abe5ed9c9ae7eded51d8350" region="textile" offset="200000"/>
<rom name="af1cg2.12d" merge="af1cg2.12d" size="2097152" crc="2a38943a" sha1="15d737996f49bf6374ef6191bbfbe0298d398378" region="textile" offset="400000"/>
<rom name="af1cg3.13d" merge="af1cg3.13d" size="2097152" crc="7f5a3e0f" sha1="241f9995323b28df23d20a75e1f43ce6e05434cd" region="textile" offset="600000"/>
<rom name="af1cg4.14d" merge="af1cg4.14d" size="2097152" crc="a5ee13e2" sha1="48fd3c912690f21cbbc2a39bed0a82be41a0d011" region="textile" offset="800000"/>
<rom name="af1ccrl.3d" merge="af1ccrl.3d" size="2097152" crc="6c054698" sha1="8537607646b183883c5aa4060fb0af640da4af87" region="textilemap" offset="0"/>
<rom name="af1ccrh.1d" merge="af1ccrh.1d" size="524288" crc="95a02a27" sha1="32ee87b76ae9fcec6d825e3cf4d5cbb97db39544" region="textilemap" offset="200000"/>
<rom name="af1ptrl0.18k" merge="af1ptrl0.18k" size="524288" crc="31ce46d3" sha1="568fb9ee9ac14e613a4fd7668cb38315c10be62b" region="pointrom" offset="0"/>
<rom name="af1ptrl1.16k" merge="af1ptrl1.16k" size="524288" crc="e869bf00" sha1="b3c3026891ae3958d1774c905e97c3b57a414ea7" region="pointrom" offset="80000"/>
<rom name="af1ptrm0.18j" merge="af1ptrm0.18j" size="524288" crc="ef7f4d8a" sha1="02f77c68004b7dccc99b61126e7d07960eb15028" region="pointrom" offset="100000"/>
<rom name="af1ptrm1.16j" merge="af1ptrm1.16j" size="524288" crc="7dd01d52" sha1="adc1087435d31ed6163ad046466955f01517450f" region="pointrom" offset="180000"/>
<rom name="af1ptru0.18f" merge="af1ptru0.18f" size="524288" crc="177f1591" sha1="3969e780e5603eca0a65f65c1ad14d1cef918b39" region="pointrom" offset="200000"/>
<rom name="af1ptru1.16f" merge="af1ptru1.16f" size="524288" crc="7521d18e" sha1="dc03ef369db16f59c138ff4e22260d1c04782d1f" region="pointrom" offset="280000"/>
<rom name="af1wavea.2l" merge="af1wavea.2l" size="4194304" crc="28cca494" sha1="4ff87ab85fd17bf8dbee5b03d99cc5c31dd6349a" region="c352" offset="0"/>
...

After having a look at the changelog, and noticing the following:
Code: [Select]
4.046a (2022-08-16)
  revert: since MAME does not support subfolders on unpacked sets, the disk names handling change from 4.046a needs to be reverted

4.046 (2022-08-14)
  fixed: support for other sample extensions is broken
  fixed: more compatibility for standalone rebuilder tool in handling disk names in full merged mode (hash collision mode)
  fixed: more compatibility for standalone rebuilder tool in handling of devices with romof attributes in full merged mode
  misc: updated 7zip sdk/dll tp 2201
I even reverted to 4.046 in the hopes that would fix it, but nothing...
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 16 April 2023, 13:36
Quote
I understand that CMP, unlike RV might want to duplicate roms shared between clones if there is no merge TAG present. but not honoring the filesize and CRC as described in the XML seems weird.. Where is it getting this from?

Easy answer: You're tring to scan a 253 collection with a MAME binary based on 239 (the window title of your screenshot shows it). Back then the hashes were different.
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 16 April 2023, 13:45
Quote
As for CMP, (unless I'm doing something complete wrong here) it looks like even Rebuilder 0.05 can't produce a merged mame romset that can satisfy the scanner.. (no offence).
Got several testers on board and noone reported a problem. So I guess you may have some setting wrongly set or you're using a wrong datasource (as reported before 239 vs 253)

Quote
how is it possible that alpinesa isn't listed as a clone to its parent alpines. in doing so, CMP wrongfully considers alpinesa as the parent and wants to

In general you can't fully merge alpinesa in alpines since they share an identically named rom with different hash (af2ver-a_ll.ic2). When cmpro imports data, it will prompt you about it (you most likely clicked on "ok to all" when the first of such events happend).
The hash collision detection will add a subfolder for it.... and it will show up as in the screenshot below.

Since you seem to have some weird effects which can not be repeated, it would be best if you send me your cmpro.ini, and the used .cmp file (cmpro's settings folder) and the used datfile (if any, if not, state which exe you're using).

Title: Re: mame merged sets not scanning correctly?
Post by: Pandor on 16 April 2023, 15:09
Quote
I understand that CMP, unlike RV might want to duplicate roms shared between clones if there is no merge TAG present. but not honoring the filesize and CRC as described in the XML seems weird.. Where is it getting this from?

Easy answer: You're tring to scan a 253 collection with a MAME binary based on 239 (the window title of your screenshot shows it). Back then the hashes were different.
I've just noticed it after I made a split set. man, I feel dumb now. Must have grabbed an old mame version of my drive to create the profile. *hitting head against the wall*
Sorry about the rant, and wasting your time.
Title: Re: mame merged sets not scanning correctly?
Post by: Roman on 16 April 2023, 15:11
no problem...such things do happen..