EMULAB Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

The new forum is online, hope you enjoy it!

Pages: 1 [2] 3   Go Down

Author Topic: wrong merging logic with new MAME 0.162 (MESS/MAME together) - another bug  (Read 9570 times)

Balteck

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 52.0.2743.116 Chrome 52.0.2743.116
    • View Profile

I tried it and I don't have anymore error on AREA51.

But:

1) clrmame doesn't rename area51 saturn set in area51e, so I have arcade CHD in roms\area51 and saturn CHD in softlist\saturn\area51. Mame starts correctly the 3 versions of saturn chds (jap, USA and Euro)

2) I had parent/clone relationship on PSX softlist:
      I put "marvel super heroes vs. street fighter - ex edition (japan) [slps-01915].chd" in root path and with scanner
      at first-pass clrmame moves it in the right folder (mshvsf).
      With scanner second-pass clrmame wants to rename mshvsf in mshvsfj, creating a split set
      then it deletes mshvsfj because it is and unknown set (???). The same problem is with kof95/kof95j, kof99/kof99j
      and many other that I don't have the parent, but only the clone.

A similar problem is present also in genesis set (arcade):
The parent doesn't exist, but it exists only the clone (TSS Chip).
Clrmame tells that I'm missing the rom, but I have the zip with inside a folder "genesis_tmss" and clone rom. I'm using Full Merge Mode: Hash Collision Name

Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

Good to hear the problem is gone...


I will look at the other issues later at home
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

1) well...why should it rename it? The name change comes with the next MAME version
2) yeah...tricky thing...fixed with the next nightly build ( http://mamedev.emulab.it/clrmamepro/binaries/cmpro20160919.rar )
3) genesis...well...if you use full merged sets, you need all clone files merged into the parent. So you don't need "genesis_tmss" but its files in "genesis".
« Last Edit: 19 September 2016, 21:29 by Roman »
Logged

Balteck

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 52.0.2743.116 Chrome 52.0.2743.116
    • View Profile

1) well...why should it rename it? The name change comes with the next MAME version


Oddi's answer confused me. I've understood that Area51e was already in mame 0.177. So cmpro20160918 did well

Quote
2) yeah...tricky thing...fixed with the next nightly build ( http://mamedev.emulab.it/clrmamepro/binaries/cmpro20160919.rar )


I'll try it

Quote
3) genesis...well...if you use full merged sets, you need all clone files merged into the parent. So you don't need "genesis_tmss" but its files in "genesis".


Genesis have two set: a parent without any rom and a clone with a rom "tmss_usa.bin". cmpro builds a zip in this way:

<ziproot>\
<ziproot>\genesis_tmss\
<ziproot>\genesis_tmss\tmss_usa.bin

For Mame is ok. But for cmpro scanner the parent set and the clone set is labeled missing
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

1) Don't listen to Oddi ;-) He's always using nightly MAME builds...

2) yes please

3) Erm...looks ok to me. Genesis is the parent set (which got no roms...fine...not very common but possible), "genesis_tmsss" is the clone. Again, if you use full merged sets, all files (parent and clones) are stored in the folder/archive named after the parent (even if that parent doesn't have a rom).
So they belong to "genesis" and since you're using "Full Merge Mode: Hash Collision Name", cmpro will store clones in subfolders within the parent.

So

<ziproot>\
<ziproot>\genesis_tmss\
<ziproot>\genesis_tmss\tmss_usa.bin

looks fine to me....cmpro should not moan about it (but I will double check this tonight)
Logged

oddi

  • Member
  • *
  • Karma: 2
  • Offline Offline
  • Posts: 175
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 49.0 Firefox 49.0
    • View Profile

1) Don't listen to Oddi ;-) He's always using nightly MAME builds...

absolutly right !

cover o.'s my head with ashes
Logged

Balteck

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 52.0.2743.116 Chrome 52.0.2743.116
    • View Profile

I've tested the new build and I can confirm that clone/relationship issues are gone:
 no more genesis alert and no more move from mshvsf to mshvsfj and viceversa.

Now, after the good news, there is a bad news. I discovered a strange behavior on 3 scenarios:

1) Gakuen King CHD is present is softlist\pc98_cd\gakuking and softlist\fmtowns_cd\gakuking. cmpro shows
    wrong SysDefPath and move CHD from pc98_cd to fmtowns_cd appending a number al last of the file.
    So I have two indentical CHDs (one with right name, one with collision name) in fmtowns_cd.
    After that cmpro wants to delete the one with collision name. I did it
    Then cmpro wants to move the right name CHD in softlist\pc98_cd\gakuking and the wheel restarts...
    Both softlists share the same CD, because Gakue King is a Hybrid FM Towns / PC98 title.

2) I have softlist\genius\englisha.7z and softlist\gl2000\englisha.7z. They are different sets with same name, but
    different rom inside; cmpro shows wrong SysDefPath and wants to move softlist\genius\englisha.7z to
    softlist\gl2000\englisha.7z.
    I answered yes, but cmpro did nothing. Every time I did a scan it wants to move in right place.
    But it is wrong: this two sets are in right place with the right roms inside.
2a) Same behavior with softlist\tandy6k\xenix30d.7z and softlist\trs80m2\xenix30d.7z.
      This time is the same named set and same named roms inside (so they are shared like Gakuen King)
2b) Same behaviour with softlist\lisa\xenixos.7z and softlist\lisa2\xenixos.7z.
      This time they are two different sets with same name and inside roms this same name, but different crcs.
 
3) I have some sets that are removed or renamed from the previous version of Mame. For instance:
   
    -  softlist\msx1_cart\happyfrt.7z is unneeded, but cmpro shows wrong SysDefPath and wants to move in
       softlist\msx1_flop. I've already in softlist\msx1_flop the right happyfrt.7z, so after telling yes to move in correct
       path, cmpro did nothing (no move, no delete, no add rom in destination archive).
       I was expecting to mark it unneeded and move it on backup folder.
    -  softlist\apple2\alice.7z is renamed in alcwndrl.7z, but cmpro shows wrong SysDefPath and wants to move in
       softlist\cdi. I've in softlist\cdi a folder alice with a CHD, so after telling yes to move in correct
       path, cmpro moved alice.7z in softlist\cdi. A second pass with scanner cmpro deleted this file, because there are
       apple2 roms inside and not a CDI set.
       I was expecting to rename it and not to move in another place and then move on backup folder. Finally a rebuild
       from backup folder it create the right named set.
    -  softlist\psx\burningr\burning road (japan) [slps-00518].chd is renamed in softlist\psx\broad\burning road (japan) [slps-00518].chd.
       cmpro shows wrong SysDefPath and wants to move in softlist\saturn. I've in softlist\saturn a folder burningr with
       parent and clone CHDs of Saturn Burning Road, so after telling yes to move in correct path, cmpro moved
       burning road (japan) [slps-00518].chd in softlist\saturn\burningr. A second pass with scanner cmpro deleted
       this file (obviously) from the softlist\saturn\burningr folder.
       I was expecting to rename it and not to move in another place and then move on backup folder.
       This time rebuilder cannot did the magic from backup folder and if I don't know that this CHD is legit, I lost it
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

to sum it up.....so all 1 to 3 are all about wrong "wrong SysDefPath" messages?
Logged

Balteck

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 52.0.2743.116 Chrome 52.0.2743.116
    • View Profile

2) I have softlist\genius\englisha.7z and softlist\gl2000\englisha.7z. They are different sets with same name, but
    different rom inside; cmpro shows wrong SysDefPath and wants to move softlist\genius\englisha.7z to
    softlist\gl2000\englisha.7z.
    I answered yes, but cmpro did nothing. Every time I did a scan it wants to move in right place.
    But it is wrong: this two sets are in right place with the right roms inside.

I've tried to delete englisha from the both path and start a scan.
Incredibly cmpro shows that only gl2000\englisha.7z is missing.
So I started a rebuild and it creates only englisha.7z in gl2000 (removing source file), but not englisha.7z in genius (leaving the file in backup).
I've started a new scan and for cmpro is all ok. But I've not englisha.7z in Genius, so my softlist is no complete even if cmpro tells me no missing roms...
Logged

Balteck

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 52.0.2743.116 Chrome 52.0.2743.116
    • View Profile

to sum it up.....so all 1 to 3 are all about wrong "wrong SysDefPath" messages?

yes. I think it is the same problem also if different scenarios.
But I did a big mistake (maybe I'm becoming too old... :-[):

cmpro don't load all the xml present in the hash dir of mame, but it leaves somes (lisa2, tandy6k, genius, advantage, amigaaga, amigaocs, amigaecs, pippin_flop and maybe others) that were in my settings rom path.
So cmpro saw these folders, but they are not associated to any system in scanner or rebuilder.

Removing these folder containg softlist sets (by hash folder), but not softlist sets (by mame) the point 2. issue disappears.

Remain the point 1 and 3 and I think that it is strange that cmpro doesn't showed me all files in these folders as unneeded...
« Last Edit: 20 September 2016, 12:39 by Balteck »
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

well if it did not generate or scan genius software lists, the set or the software list might be disabled.....

but let me first check the wrong "wrong sysdefpath" thingie...
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

cmpro doesn't load the hash files at all ;-)

it uses what MAME prints out when you run it with -listsoftware (or whatever the switch was called). And that output does not necessarily match what you get when you use the hash xmls directly....(ok..do some fingerpointing to MAMEDEVs here ;-)) but to be fair...haven't double checked that for years.

"cmpro doesn't showed me all files in these folders as unneeded" .... another thing (beside the wrong sysdefpath thingie) I will look into....


Logged

Balteck

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 52.0.2743.116 Chrome 52.0.2743.116
    • View Profile

Mame uses xmls in hash folder.

If you empty the hash folder, the output of -listsoftware is 0
With hash folder full of xmls, the output of -listsoftware is a big dat contains all xmls data

But, probably, in Mame executable there is a flag that loads only some xmls from the hash folder, not all with the option -listsoftware.

I've always used this option to manage softlist, but I had a big HDD crash and I found a softlist collection made directly from xmls and not with -listsoftware. That's why I have these (for now) unneeded folders

« Last Edit: 20 September 2016, 13:59 by Balteck »
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

MAME's standard -listxml output only contains placeholders for software lists...from this list cmpro builds the selectable list when you want to add software lists.
If you single-select some there, cmpro will call MAME with single requests for the lists...which can even return empty lists for some (at least that was the case in the past). If you select all it will import all by using -listsoftware and not by sequentially calling single ones)...which leads to something else....

As I said...haven't tried that and compared the output for ages...but back in the past it was a mess ;-)
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

here we go again:
( http://mamedev.emulab.it/clrmamepro/binaries/cmpro20160920.rar )

this should fix the bad wrong sysdefpath thing.....which again was a bit tricky...since it appeared for 100% identical sets which are shared around various software lists.....so cmpro got a bit confused when it found a fully valid Gakuen King CHD for software list A in an assigned folder for software list B....tsk tsk tsk...fixed now.

Regarding the "I got additional rompaths which are not assigned to a software list" issue...well...as long as such paths contain sets which appear in the currently loaded database, they won't be listed as unneeded, no matter if they are assigned to an active software list/etc or not. Any file which doesn't represent a set should be listed as unneeded though.
Logged

Balteck

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.101 Chrome 53.0.2785.101
    • View Profile

here we go again:
( http://mamedev.emulab.it/clrmamepro/binaries/cmpro20160920.rar )

this should fix the bad wrong sysdefpath thing.....which again was a bit tricky...since it appeared for 100% identical sets which are shared around various software lists.....so cmpro got a bit confused when it found a fully valid Gakuen King CHD for software list A in an assigned folder for software list B....tsk tsk tsk...fixed now.


I confirm: no more Gakuen King CHD issue if both chd are present.
If one of two is present (not important if it is fmtowns_cd or pc98_cd) cmpro shows no missing (but it is wrong)
If both are not present, cmpro shows that I'm missing both CHD (that's is correct).
It seems that is one set is good, because it shares the same file, cmpro doesn't check if the file is present also in the other path.

Quote
Regarding the "I got additional rompaths which are not assigned to a software list" issue...well...as long as such paths contain sets which appear in the currently loaded database, they won't be listed as unneeded, no matter if they are assigned to an active software list/etc or not. Any file which doesn't represent a set should be listed as unneeded though.


I confirm that cmpro works as expected:
it shows unneeded the unknown file name and shows same set in different path if the file name has the same name of a right set in any softlist folder.
It was my fault to have added a wrong search path.

Last, but not least the point 3 issue remains. I've attached two roms to better explain.
The first happytr.7z, that contains a .rom file, is located in softlist\msx1_cart and it needs to be deleted, because it was present in a previous mame version, but not in .177
the second happytr.7z, that contains two .cas files, is located in softlist\msx1_cass and it is in the right place.
cmpro, during scan, when it reachs the first file, wants to move in correct path (from softlist\msx1_cart to softlist\msx1_cass) and if i press yes, it does nothing (no move, no delete, no add .rom file in the archive with .cas files)


« Last Edit: 21 September 2016, 10:37 by Balteck »
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

you keep me busy...but thanks for testing...that's highly appreciated.

"If one of two is present (not important if it is fmtowns_cd or pc98_cd) cmpro shows no missing (but it is wrong)"  ...hmmm....that should not happen....grrr..have to look at this again...I got an idea what might caused this (an old annoying optimization which hits me hard again and again and again...)

...and issue 3)....I will check that...
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

ok....here we go....since the main page is currently down, I've attached the latest build.

issue 3 part 1: fixed. Another bad "wrong sysdefpath" issue...sigh... also fixed the Gakuen King problem that it does not see the missing set when you only deleted 1 out of 2 identical ones...so 2 fixes for tonight...

issue 3 part 2: you wonder why happyfrt cart set is not listed as unneeded. Well, the reason for this is the following:
- during the unneeded sets check it only checks the setname if it appears in the setlist or not. happyfrt is a valid name, so it's not listed as an unneeded set. Let's assume you fake a set (use a valid setname and as roms you got some random files), then the rom unneeded check will identify such files and lists them as unneeded. So you will see them.
In your case however, the rom check won't even touch the set since in reality it does not exist for that software list....
So yes....in this weird case such sets won't appear as unneeded.
I will double check if I will update the set-unnneded check in such cases a bit...but for now it's a normal (even if weird) behaviour. (but I guess I will update that little point as well...)
« Last Edit: 22 September 2016, 06:06 by Roman »
Logged

Balteck

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 22
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.101 Chrome 53.0.2785.101
    • View Profile

I tried the new version.

Now if I have both gakuen king.chd cmpro shows no errors.
If I delete the CHD of fmtowns_cd, cmpro shows missing set (but not missing CHD in set) for fmtowns_cd
If I delete both CHDs, cmpro shows missing set and missing CHD for both sets

For the issue of renamed/unneed sets with a name of a new set, cmpro shows nothing. No error, no missing, no wrong path, etc. Like if happytr.7z on msx1_cart was deleted (but it is always there in msx1_cart folder). So it was better before, that I could check any wrong path by hand and I could choose what to do and not having dead files around.

As I understood the logic of cmpro, I will ask if it possible to change the behavior in this way:

Now cmpro scans for files, it finds happytr.7z (so it assumes that is the set "happytr"), looks for this set and finds that it is in msx1_cass (not msx1_cart where it found it). Tries to move in right place (in this specific case, it fails because it finds a file named happytr.7z in right place, instead of merging two archives together having an happytr.7z contains 2. cas and 1.rom files, like cmpro does with CHDs, it skips to move the 7z file) and in a second scan discovers that the 7z contains a rom unneeded for this set. It deletes it and if it is a rom of another set (because mamedev simply renamed the set and used the same name for another set in another soflist), cmpro rebuilder does the magic.

My idea is that scans for files, it finds happytr.7z (so it assumes that is the set "happytr"), looks for this set and finds that it should be in msx1_cass (not msx1_cart where it found it). Instead to move it in right place, scans inside this set and discovers that:
1) is a rom of another set of same softlist (ie: softlist\apple2\alice.7z that was renamed in softlist\apple2\alcwndrl.7z)
    and it renames the 7z or add the rom to existent alcwndrl.7z file because it a old-parent rom become clone rom
2) is a rom not present in any set of any softlist and it marks it unneeded
3) is a rom that really misplaced and it moves it in the right place.

In this way I think that it will be solved the same issue with CHD. For example burning fight (japan) [slps-00518].chd, in previous mame it was a parent rom of set softlist\psx\burningr. Now is a clone rom of set softlist\psx\broad (the parent rom is the USA version of CHD), but there is a parent set named burningr in softlist\saturn and cmpro wants to move the psx CHD in saturn set, deleting it in second pass scan because is not in the right set, but ignoring that is a CHD for the softlist\psx\broad set.
 
What do you think?
« Last Edit: 22 September 2016, 15:32 by Balteck »
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 78
  • Offline Offline
  • Posts: 2648
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 53.0.2785.116 Chrome 53.0.2785.116
    • View Profile

since the page is going up and down at the moment due to some ISP things....I've attached the latest build which should list the missing chd in the missing set and should list the unneeded msx1_cart set.
Logged
Pages: 1 [2] 3   Go Up
 

Page created in 0.099 seconds with 21 queries.

anything