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: Alive and kicking  (Read 7492 times)

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 116.0.0.0 Chrome 116.0.0.0
    • View Profile
Alive and kicking
« on: 12 September 2023, 11:57 »

It’s quiet here, isn't it?

One reason is that it's summertime and real life, holidays, Diablo4 and other stuff kept me busy.

But just wanted to say that I'm alive and kicking and working on a new scanner, similar to the new rebuilder.

Fortunately, the code basis of the rebuilder with the new concept of having views on XML data instead of implementing rules for different merge modes makes coding life very easy.

The scanner is in a state that it runs fine already in finding and reporting all issues. Didn't start the fixing part at all, but it is planned that this will be an easy set of straight forward archive or file operations like rename/delete/add.

Compared to the cmpro's scanner, where you can differ between missing, case, name, size, checksum etc checks, you will have all in one and it comes down to missing, wrong name or unneeded. You see, simplification is one of the goals. You won't need to specify anything to do this or that check.

One of the main things I wanted to find a good solution for are -taadaa- rompaths. As you might now not all people tend to put all sets into one (1) rompath. Some people split the collection by bios (so you got rompaths for e.g., neogeo, playchoice10 and so on), others may go even further and use something like a manufacturer/year combination. Since configurating rompaths is usually an annoying thing if #rompaths > 1, the new scanner will allow simply specifying a root folder plus some storing pattern expression, like the pattern the new rebuilder allows. If it comes to softwarelists (and loading a full software list xml), you can now simply use one rompath root. In cmpro it is really annoying to setup hundreds of paths. Of course you can also specify single ones, but maybe you get inspired to use some more structured paths.

Regarding speed I can say that it already looks promising compared to the cmpro scanner, some benchmarks will follow.
Keep in mind that with such large data as a MAME collection, you already have a fixed amount of time just to read in all the archives' central directories with your preferred zip/7z/file routine. You can't really get below that. Surely this time differs from SSD to HD and using/not using disk cache. Due to the new code basis, the on top part, the actual checking, becomes a very small part of the overall used time now.

For now, it is command line based but as you see from last rebuilder release, a simple UI can be added pretty quickly.
I'm currently also thinking about a better way for the command line output. Scanning a messy collection produces a lot of text output, so I think I may additionally write a result xml file which can be used for some plain html/xslt rendering purpose....time will tell.

It's still far away from a Profiler/Rebuilder/Scanner solution....but hey...let's see what the future brings...

So...just wanted to send out a small "hello world"....till next time.

Tada
Roman
« Last Edit: 12 September 2023, 11:59 by Roman »
Logged


nullz3

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 16
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 102.0 Firefox 102.0
    • View Profile
Re: Alive and kicking
« Reply #1 on: 14 September 2023, 03:30 »

Hi Roman,

Thank you so much for the update.  Hope you are well.  I am a long time lurker, but was compelled to make an account to ask about the new software.  The reason I've been using your software for many years is because i use a certain filter for MAME and wanted to know if someday this may be implemented.  Basically the DriverStatus flag, as MAME keeps growing, I've come to the realization that most of the sets will forever stay in the preliminary phase.  I basically scan sets that are not preliminary, but include all the parents, clones, drivers, bios.  Would love to hear your thoughts on this, but I understand if this is something that won't carry over.

Thank you,
Nullz
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 116.0.0.0 Chrome 116.0.0.0
    • View Profile
Re: Alive and kicking
« Reply #2 on: 14 September 2023, 06:31 »

well, if everything else is running fine, I can think of some additional filtering possibilities.
Currently the new rebuilder and scanner already have a regular expression based filter option to select only some of the sets.

I can think of a generic include/exclude option which would allow selecting a subset of machines based on whatever you want inside the xml, e.g. by providing an xpath expression. That would be an extremely powerful selector/deselector, e.g. -include "/*machine[driver[@status='good'] and not(contains(manufacturer, 'Taito')]" would include only non Taito manufacture machines with good driver status ....

Actually that idea came up right now while writing this post...and I definetly put it on my list. One thing is questionable though: Such a selector would only pick machines on their own. There is no "also include parent / clone / bios / devices"....but hey...I need something to do for the future....
Logged

Dirstac

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 8
  • Operating System:
  • Linux Linux
  • Browser:
  • Chrome 100.0.4896.58 Chrome 100.0.4896.58
    • View Profile
Re: Alive and kicking
« Reply #3 on: 14 September 2023, 09:20 »

Hopefully there can be a UI
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 116.0.0.0 Chrome 116.0.0.0
    • View Profile
Re: Alive and kicking
« Reply #4 on: 14 September 2023, 09:29 »

Currently I'm focusing on the core but yes, of course an UI is something on the list, as a first step a minimal one like in the new rebuilder.
Logged

nullz3

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 16
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 102.0 Firefox 102.0
    • View Profile
Re: Alive and kicking
« Reply #5 on: 14 September 2023, 15:26 »

Actually that idea came up right now while writing this post...and I definetly put it on my list. One thing is questionable though: Such a selector would only pick machines on their own. There is no "also include parent / clone / bios / devices"....but hey...I need something to do for the future....

I'm assuming you already know this, but the reason I need to include "parent / clone / bios /device" when I use "Logical Not" %D=preliminary is because the Scanner attempts to add files to the sets that are disabled resulting in never getting a completely finished scan.  Not sure if I explained it correctly  :P

Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 116.0.0.0 Chrome 116.0.0.0
    • View Profile
Re: Alive and kicking
« Reply #6 on: 15 September 2023, 06:25 »

That sounds wrong (if I fully understand it), you're saying that the scanner adds files to unselected sets? How? By fix-missing? If a set is disabled it should not even complain about missing files nor should a fix-missing operation work on it. In full merged sets you may run into weird effects if you e.g. enabled a clone but got the parent disabled, then of course the "parent" set exists but only with the clone files....Disabling sets is a bad idea anyhow ;-)
Logged

ntt3

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 30
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 117.0.0.0 Chrome 117.0.0.0
    • View Profile
Re: Alive and kicking
« Reply #7 on: 16 September 2023, 23:19 »

Thank you for the update Roman, and yes I'm really looking forward to the new scanner!
take care
Logged

nullz3

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 16
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 102.0 Firefox 102.0
    • View Profile
Re: Alive and kicking
« Reply #8 on: 18 September 2023, 00:34 »

That sounds wrong (if I fully understand it), you're saying that the scanner adds files to unselected sets? How? By fix-missing? If a set is disabled it should not even complain about missing files nor should a fix-missing operation work on it. In full merged sets you may run into weird effects if you e.g. enabled a clone but got the parent disabled, then of course the "parent" set exists but only with the clone files....Disabling sets is a bad idea anyhow ;-)

The way you described it, now I'm able to articulate the issue better.  If I only want sets that are not preliminary, I run into issues where the parent is disabled and the clone is enabled.  My work around is to enable "parents, clones, devices, bios" which works great and is my way of dealing with MAME's ever growing list of sets stuck in the forever preliminary phase.  Also, I only use split sets.  Again, I'm perfectly fine with this solution and if this can be carried over to the new software, it would be great.  Also, would No-Intro dats be impacted in the future?
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 117.0.0.0 Chrome 117.0.0.0
    • View Profile
Re: Alive and kicking
« Reply #9 on: 18 September 2023, 06:18 »

Time will tell. Tosec? Well, as long as they follow the xml layout of MAME I don't see a problem. I haven't thought about any 1G1R mode yet though. For now, a clean, small core is all I'm interested in.....
Logged

nullz3

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 16
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 102.0 Firefox 102.0
    • View Profile
Re: Alive and kicking
« Reply #10 on: 20 September 2023, 04:50 »

Time will tell. Tosec? Well, as long as they follow the xml layout of MAME I don't see a problem. I haven't thought about any 1G1R mode yet though. For now, a clean, small core is all I'm interested in.....

You definitely make good design choices and will be looking forward to how this software flourishes.  BTW, does it have a new name or should we keep calling it "Rebuilder" for the time being?

Thanks again Roman!
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 117.0.0.0 Chrome 117.0.0.0
    • View Profile
Re: Alive and kicking
« Reply #11 on: 20 September 2023, 06:40 »

First version will be a standalone Scanner, so call it Scanner ;-). Later on I will merge both standalones (rebuilder and scanner) and will think about some kind of profiler ....no working title yet...
Logged
Pages: [1]   Go Up
 

Page created in 0.215 seconds with 20 queries.