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]   Go Down

Author Topic: How to scan Software List files properly?  (Read 5941 times)

Klinzani

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.122 Chrome 81.0.4044.122
    • View Profile
How to scan Software List files properly?
« on: 28 April 2020, 23:40 »

If I set up a new profile from MAME 0.220, then in the Systems & assigned System-Default-Paths select only STANDARD, MECHANICAL, DEVICE, and BIOS (all auto-assigned to the ROM path), I can scan and rebuild my ROM+Samples+CHD collection without issues.

But if I start selecting any SOFT entries in there, also auto-assigned to the main ROM path, the "You're using SysDefPath options and at least one software list path is not unique!" error appears.

I tried this with 4.036a, as well as the recent cmpro20200421 nightly. Same problem with both.

What is the correct way to manage Software List items with ClrMamePro? (For SL, I have 0.202 and am eager to check it as well as to find out what I'm missing between that and 0.220!)

Edit: I've seen suggestions (https://www.emulab.it/forum/index.php?topic=4437.msg17655#msg17655) about using separate profiles for each system (each software folder?) and doing it all in a batch, but I'm not quite sure how that'll work in practice (I wanted to keep the software in a different path than ./ROMs (e.g., ./Software) but I don't know that this will work).

What am I looking for? A simple example to get me started...
« Last Edit: 29 April 2020, 00:12 by Klinzani »
Logged


Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 113
  • Offline Offline
  • Posts: 3292
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.129 Chrome 81.0.4044.129
    • View Profile
Re: How to scan Software List files properly?
« Reply #1 on: 29 April 2020, 05:59 »

The auto assign option simply runs through all rompaths counts the matched the sets in there and based on that count it tries to assign the system default path. If you got no sets at all or identical counts for e.g. 2 different software lists you may get wrong assignments. For combined mode you need uniquely split sysdefpaths, so if you got double assignments, you need to resolve them.

The prefered way to scan software lists is to have 1 profile per software list and work with the batcher. So simply drag'n drop all files from MAME's hash folder in the profiler and let cmpro's batcher (select and load more than 1 profile to see it) do the rest. The batcher allows in its Misc tab to setup rompaths automatically.
« Last Edit: 29 April 2020, 06:00 by Roman »
Logged

Klinzani

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.122 Chrome 81.0.4044.122
    • View Profile
Re: How to scan Software List files properly?
« Reply #2 on: 29 April 2020, 07:46 »

I've tried that a few times now, in a few different ways. Lots of windows open and close but it doesn't appear to actually be doing anything. I don't think the "default" paths are working for this.

These are my filesystem paths, which MAME points to in order to get its data (MAME itself is located in another filesystem):
  • ROMs: archives in X:\emudata\ROMs
  • Samples: archives in X:\emudata\Samples
  • CHDs: folders in X:\emudata\ROMs containing .chd files
  • SL: folders in X:\emudata\Software containing archives

The most I can set in ClrMamePro is Rom-Paths and Sample-Paths. There's no option for a SL folder.

Now, I can create a whole new instance of ClrMamePro with nothing in it. Blank install, drop the nightly exes in, and start it up.

Drag and drop all the hashes from the MAME hash folder into the profiler.

Select a couple of them, and load.

At the BatchRun dialog, it all starts with "Per-profile" options. Instead, I select Show stats, Enable all fixes, Enable deep hash, and Merged.

Click OK and... lots of windows flash by but the results show everything as "not scanned".

Clearly there are extra steps - probably the Settings.

What're the right ROM-Path settings for SL? Do I drop all the folders there, or just the ./Software parent folder? What about the folders I may currently be missing - how will ClrMamePro know how to create and populate them if I only drag and drop what currently exists and don't identify the parent folder? How about ROMs and Samples? Are they relevant to this?

Do I then save this as Default? It appears likely...

Now if I just set the parent Software folder and run the batch, it seems to go through every single available folder in Software, for each of the profiles I've selected. There are 600... running through 100K files 600 times is super slow, so that doesn't seem right either... but is that it? (It also has an odd habit of wanting to move things around within an archive - as these are already merged SL sets I can't quite tell if it's working as it should or doing something odd in that respect).

Before all that, I did find a slightly hacky way to get things working without the batch mode, but frankly that is cumbersome (though much faster than re-scanning every single folder for each of 600 systems).

And FWIW, as long as I exclude the SL dump step, regular MAME scanning goes quite smoothly for me, once I've set up the ROM(+CHD) and Sample paths, and auto-assigned the system paths. It's SL that proving oddly arcane here. I know SL is different to some extent (somewhat similar to CHDs, except instead of CHDs it's archives with files within), but it's a similar nesting principle.

If batching can perform similarly or better than this, by not re-reading every file in ./Software for each system, especially when folders are absent, then I'd really like to know how to set it up right. Dragging and dropping and running batches is easy in theory, but the settings are anything but, and that's why I'm here today, asking you for help.
« Last Edit: 29 April 2020, 07:47 by Klinzani »
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 113
  • Offline Offline
  • Posts: 3292
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.129 Chrome 81.0.4044.129
    • View Profile
Re: How to scan Software List files properly?
« Reply #3 on: 29 April 2020, 07:59 »

>The most I can set in ClrMamePro is Rom-Paths and Sample-Paths. There's no option for a SL folder.

of course not, since software list content is nothing but roms. There isn't also something like a chd folder since chds are simply containes for parts of a set.


>At the BatchRun dialog, it all starts with "Per-profile" options. Instead, I select Show stats, Enable all fixes, Enable deep hash, and Merged.

The batch screen has several tabs. And the Misc tab has options to automatically create rompaths for new datfiles.

So the basic steps are:

- drag'n drop the MAME hash folder files into the profiler, they will be listed as NEW DATFILES
- select the ones you want, hit load, the batcher will open, check the MISC tab, it should list Internal Default, Auto Update, DatFile Name Tag, DatFile Name Tag, enable 'create rompath for new dat (specify root folder)' and enter your prefered root folder here...e.g. E:\softwarelist, pause between profiles: 1 seconds, Rebuilder Tab: No Rebuilder Run

That's it basically....it will then create and assign a rompath for each new profile and does an automatic scan.
« Last Edit: 29 April 2020, 07:59 by Roman »
Logged

Klinzani

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.122 Chrome 81.0.4044.122
    • View Profile
Re: How to scan Software List files properly?
« Reply #4 on: 29 April 2020, 08:30 »

First, thank you - that certainly did more than it did before and seems to be working the way I hoped!

With that root folder set (which I selected as my X:\...\Software folder), and using internal defaults as you suggested... does that mean this just ignores any custom path settings entirely? It was definitely NOT obvious that this would be the key to the whole operation. I'd suggest that Misc tab be the first thing you see when you load a batch, with the folder setting right at the top.

I did notice a lot of renaming of the form`2pakblaca\2 pak special (black) - challenge, surfing (alt).bin -> 2 pak special (black) - challenge, surfing (alt).bin` when processing `2pakblac.zip` which contains both parent and clone files. Is it desired/expected that files that contain parents and their clones get flattened this way? Seems related to Hash Collision but I'm not sure what settings were originally used to merge the files I now have. Possibly "All Clones in Relationship"?

I noticed that 7zip in Windows just didn't work very well with this (but most people use zips anyway and I did likewise). Great for reading data, not so great for writing it.

Also, once in a while renames within ROM files wouldn't work quite right and I'd have to manually fix it (if I find an example I'll let you know - it was rare though, and I was bringing together lots of merged and split data as "adds" in the process of upgrading my collection to 0.220).

Edit: And I notice you can't edit the name of a profile (I was trying to rename my main MAME profile to sort it to the top - no matter what I tried it wouldn't let me via the UI).
« Last Edit: 29 April 2020, 09:01 by Klinzani »
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 113
  • Offline Offline
  • Posts: 3292
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.129 Chrome 81.0.4044.129
    • View Profile
Re: How to scan Software List files properly?
« Reply #5 on: 29 April 2020, 09:42 »

"does that mean this just ignores any custom path settings entirely"

It's for new datfiles only.....so there aren't any custom paths set yet.

> I'd suggest that Misc tab be the first thing you see when you load a batch, with the folder setting right at the top.

But it's the less used ;-) usually you fiddle around with scan options and rebuild options....

> 2pakblaca\2 pak special (black) - challenge, surfing (alt).bin -> 2 pak special (black) - challenge, surfing (alt).bin` when processing `2pakblac.zip`

Yes it's related to the fact that you most likely had them stored in a special way before where setnames are always stored as a path entry in the zip (Settings->HashCollisionMode + Profiler->Options->HashCollision) and now you load them without that option...so you decide how you want to store them in future.....or you manually switch the option to your prefered one for each profile.

>once in a while renames within ROM files wouldn't work quite right

well...it either works or it fails, failing can be anything from a corrupt file, access rights, etc etc...so I'd need a concrete example.

> And I notice you can't edit the name of a profile (I was trying to rename my main MAME profile to sort it to the top - no matter what I tried it wouldn't let me via the UI).

Hit F2 or use the right click -> Rename, but that's limited to some types of datfiles (actually those, who got a datfile header...and iirc SL files don't)




Logged

Klinzani

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.122 Chrome 81.0.4044.122
    • View Profile
Re: How to scan Software List files properly?
« Reply #6 on: 29 April 2020, 10:11 »

> I'd suggest that Misc tab be the first thing you see when you load a batch, with the folder setting right at the top.
But it's the less used ;-) usually you fiddle around with scan options and rebuild options....
Perhaps so, but it would help users if that rather critical setting was clearer. I'm not sure where it's looking when it's blank and a fresh install....

> 2pakblaca\2 pak special (black) - challenge, surfing (alt).bin -> 2 pak special (black) - challenge, surfing (alt).bin` when processing `2pakblac.zip`

Yes it's related to the fact that you most likely had them stored in a special way before where setnames are always stored as a path entry in the zip (Settings->HashCollisionMode + Profiler->Options->HashCollision) and now you load them without that option...so you decide how you want to store them in future.....or you manually switch the option to your prefered one for each profile.
No matter what setting I tried in Options, CMP insisted it should flatten them. I didn't dig into per-system settings (again. 600 systems and all...)

>once in a while renames within ROM files wouldn't work quite right

well...it either works or it fails, failing can be anything from a corrupt file, access rights, etc etc...so I'd need a concrete example.
It'd work, but wouldn't actually resolve the problem so it'd just complain about it again on the next scan. Like I said, if/when I see it again I'll make better note of it.

> And I notice you can't edit the name of a profile (I was trying to rename my main MAME profile to sort it to the top - no matter what I tried it wouldn't let me via the UI).

Hit F2 or use the right click -> Rename, but that's limited to some types of datfiles (actually those, who got a datfile header...and iirc SL files don't)

I ended up manually renaming it and every single thing that had that old name in it... then it worked.

Another bug (IMHO) you should be aware of as it might be relatively new.

For example, in this XML we see a softwarelist description with a '/' in it ("ZX Spectrum MGT DISCiPLE/+D disks"):

https://github.com/mamedev/mame/blob/master/hash/spectrum_mgt_flop.xml#L26

ClrMamePro really doesn't like that '/' at all, and won't even batch scan that (it flashed a window but didn't actually do anything). Once I edited out the '/' in the DatFIle, reset that particular profile, and reloaded it, it worked normally.

I thought you should know in order to sanitize that input, as there's at least one other one coming (https://github.com/mamedev/mame/blob/master/hash/sgi_mips.xml) and perhaps others I'm unaware of.
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 113
  • Offline Offline
  • Posts: 3292
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.129 Chrome 81.0.4044.129
    • View Profile
Re: How to scan Software List files properly?
« Reply #7 on: 29 April 2020, 10:18 »

"/" is used as file/folder delimiter (i.e. you can have the dat description as basis for your profile's placement and rompath setup) and it gets replace by "-"
Logged

Klinzani

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.122 Chrome 81.0.4044.122
    • View Profile
Re: How to scan Software List files properly?
« Reply #8 on: 29 April 2020, 10:35 »

"/" is used as file/folder delimiter (i.e. you can have the dat description as basis for your profile's placement and rompath setup) and it gets replace by "-"
Which is good, except for the fact it still fails to scan...

Speaking of errors, this DatFile just stops everything: https://github.com/mamedev/mame/blob/master/hash/c64_flop_clcracked.xml

Yes, it's virtually empty, but it's also part of MAME 0.220's XMLs and perhaps ought to fail a little more gracefully than interrupting the long batch with a hard error.

(These aren't meant as complaints, just bug reports as I work through a pretty massive scan this week. Clearly I can work around them, but I figure you'd want to know about such things.)
« Last Edit: 29 April 2020, 10:36 by Klinzani »
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 113
  • Offline Offline
  • Posts: 3292
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.129 Chrome 81.0.4044.129
    • View Profile
Re: How to scan Software List files properly?
« Reply #9 on: 29 April 2020, 10:48 »

The Zx Spectrum file works fine here... so I don't know what you mean with fails to scan

yes..I know about the "hard error" in the c64 file...it annoys me, too....guess that will be fixed soon
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 113
  • Offline Offline
  • Posts: 3292
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.129 Chrome 81.0.4044.129
    • View Profile
Re: How to scan Software List files properly?
« Reply #10 on: 29 April 2020, 11:31 »

by the way, you should get the latest nightly build https://mamedev.emulab.it/clrmamepro/binaries/cmpro20200429.rar

this includes the "c64" empty sl fix and datfile descriptions can now have special characters like / (however you need to reimport that datfile to see it)
Logged

Klinzani

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.122 Chrome 81.0.4044.122
    • View Profile
Re: How to scan Software List files properly?
« Reply #11 on: 29 April 2020, 11:44 »

I'll try that out later today - thanks again!
Logged

Klinzani

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.122 Chrome 81.0.4044.122
    • View Profile
Re: How to scan Software List files properly?
« Reply #12 on: 30 April 2020, 06:31 »

by the way, you should get the latest nightly build https://mamedev.emulab.it/clrmamepro/binaries/cmpro20200429.rar

this includes the "c64" empty sl fix and datfile descriptions can now have special characters like / (however you need to reimport that datfile to see it)

So I did try it out and it worked much better for these issues - thanks!
Logged

Klinzani

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.129 Chrome 81.0.4044.129
    • View Profile
Re: How to scan Software List files properly?
« Reply #13 on: 02 May 2020, 01:59 »

One additional note, to whoever stumbles on this thread and finds it useful.... MAME really doesn't seem to like it if the SL folders are NOT in the directory with the ROMs, even if they're in the ROM paths.

After getting everything sorted, I went to actually run MAME and it would constantly complain when trying to load a machine's software that it was invalid. On a hunch, I moved the SL folders into the ROMs folder and simply worked. Didn't expect that.
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 113
  • Offline Offline
  • Posts: 3292
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.129 Chrome 81.0.4044.129
    • View Profile
Re: How to scan Software List files properly?
« Reply #14 on: 02 May 2020, 09:04 »

erm...nope...looks like your mame config is wrong then

mame.ini -> romapth, ensure that you got your mame and softwarelist paths added there and then you can easily run e.g.

mame64.exe a2600 atlantis
Logged
Pages: [1]   Go Up
 

Page created in 0.106 seconds with 20 queries.

anything