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: strange 1g1r behavior selecting unneeded  (Read 4491 times)

unknownbeef

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
strange 1g1r behavior selecting unneeded
« on: 11 January 2019, 07:02 »

I'm using 1g1r mode to trim my SNES collection, and noticed something strange:

-I've selected USA as the only region.
-My set contains "Mortal Kombat (USA)" but is missing "Mortal Kombat (USA) (Rev 1)"
-In 1g1r mode, clrmamepro wants to delete "Mortal Kombat (USA)" as unneeded, even though "Mortal Kombat (USA) (Rev 1)" is missing
-If I proceed with fixing unneeded files, I end up with no copy of Mortal Kombat
-This happens even if I add EUR as an alternate, second region
-The regular scanner mode (non-1g1r) shows my copy of "Mortal Kombat (USA)" as good and "Mortal Kombat (USA) (Rev 1)" as missing, as expected.
Here are the relevant entries from the p/clone xml:

Code: [Select]
<game name="Mortal Kombat (USA)" cloneof="Mortal Kombat (Europe) (Rev 1)">
<description>Mortal Kombat (USA)</description>
<rom name="Mortal Kombat (USA).sfc" size="2097152" crc="def42945" md5="0934878bb5ef33f25c1fcaba18a1105b" sha1="c6ded5b8bca1716a2dddfdc697b31f085aaa05d0" status="verified"/>
</game>
<game name="Mortal Kombat (USA) (Rev 1)" cloneof="Mortal Kombat (Europe) (Rev 1)">
<description>Mortal Kombat (USA) (Rev 1)</description>
<release name="Mortal Kombat (USA) (Rev 1)" region="USA"/>
<rom name="Mortal Kombat (USA) (Rev 1).sfc" size="2097152" crc="7ca113c9" md5="3ca4ba9c14827abfa0d047151bc86634" sha1="cf1c70c368da2a5a38771465137d7ab243b16335" status="verified"/>
</game>

Scanner mode (you can see both in "set information"):




1g1r mode ("Mortal Kombat (USA)" disappears from the set information list):



1g1r mode (all copies of "Mortal Kombat" from all regions get marked as unneeded, even though I don't have "Mortal Kombat (USA) (rev 1)"):

« Last Edit: 11 January 2019, 07:09 by unknownbeef »
Logged


Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 112
  • Offline Offline
  • Posts: 3287
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #1 on: 11 January 2019, 07:36 »

well, Logiqx's 1G1R algorithm hasn't changed for about 10 years....and maybe you hit a sideeffect of it now...
If the algorithm removes the set ("1g1r mode ("Mortal Kombat (USA)" disappears from the set information list)") it's clear that they will be removed as unneeded.

So it would be useful if you can provide the full datfile and maybe the belonging profile (*.cmp file in cmpro's settings folder) and your cmpro.ini file

then I can check what the algorithm does in this case
Logged

unknownbeef

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #2 on: 11 January 2019, 07:49 »

Here they are. Thanks for looking!
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 112
  • Offline Offline
  • Posts: 3287
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #3 on: 11 January 2019, 07:53 »

Thanks, I will have a look at it over the weekend
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 112
  • Offline Offline
  • Posts: 3287
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #4 on: 11 January 2019, 19:14 »

ok...had a quick look....nothing really wrong here.

The 1g1r algorithm prefers "Mortal Kombat (USA) (Rev 1)" over "Mortal Kombat (USA)", so for the all of the MK sets, the following will survive:

Mortal Kombat (USA) (Rev 1)
Mortal Kombat 3 (USA)
Mortal Kombat II (USA) (Rev 1)

"clrmamepro wants to delete "Mortal Kombat (USA)" as unneeded, even though "Mortal Kombat (USA) (Rev 1)" is missing"

of course, since now "Mortal Kombat (USA)" was dropped from the 1g1r algorithm and everything not in the dat is marked as unneeded. The fact that you don't have "Mortal Kombat (USA) (Rev 1)" is completely irrelavant in this context.

So we end up with two things:

1) of course you can wonder why the 1g1r algorithm picks "Mortal Kombat (USA) (Rev 1)" over "Mortal Kombat (USA)". Good question....the answer can be found in the datfile: "Mortal Kombat (USA)" is missing a release element like release name="Mortal Kombat (USA)" region="USA" for example.
So...it's a flaw (maybe wanted) in the datfile

2) The fact that you got missing sets. Well, as stated, there is nothing in the 1g1r selection which prefers one set over the other just because you have a set or miss another. The algorithm works on the datfile definitions, not actual files.
Logged

unknownbeef

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #5 on: 19 January 2019, 18:19 »

Thanks so much for looking into this, and for the explanation.

I think I misunderstood what 1g1r is supposed to do in the face of an incomplete romset. I was under the assumption that it would keep at least one copy of every game, assuming one exists from the regions you select in the rom manager. For example, I thought that if I select "USA, EUR", that the algorithm would choose the first of these:

-Some preferred version from USA (such as "Mortal Kombat (USA) (Rev 1)" in this case)
-Any version from USA (such as "Mortal Kombat (USA)")
-Some preferred version from EUR
-Any version from EUR


My goal is to trim this set to contain just USA versions (or EUR if no USA release). Is there some other way I can do this that you know of?

Perhaps what I should be doing is this same operation, but with the datfile and pclone file from the same date that this romset was released (2018-03-07). It looks like "Mortal Kombat (USA) (Rev 1)" is a new addition to the datfile since then. Do you know if there is any way to get older version of the datfiles from no-intro? I could be missing something obvious, but I can't seem to figure out a way to do this, if it exists.
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 112
  • Offline Offline
  • Posts: 3287
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #6 on: 19 January 2019, 19:03 »

1g1r selects one prefered set out of a parent/clone relationship...without taking your existing sets into account at all.
Your example datfile had no "release" xml elements listed for the "(USA)" named one but for the "(USA) (Rev 1)" one....I don't know if this is simply a bug in the datfile or an intended behaviour....that's what you have to ask the datfile authors...Of course you can modify datfiles yourself to match your needs....or checkout people/forum/irc at for nointro....
Logged

unknownbeef

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #7 on: 19 January 2019, 19:29 »

Does the lack of a "release" element cause that entry not to be considered as a candidate in the set?

What is the general function of the "release" element?

I found the same question (unanswered) in no-intro's forums: http://forums.no-intro.org/viewtopic.php?f=2&t=2901&p=21429#p21429, so I thought I would ask here as well in case you have the answer :)
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 112
  • Offline Offline
  • Posts: 3287
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #8 on: 19 January 2019, 20:18 »

hmmm....actually I had a quick look at the 1g1r scoring algorithm (after 10 years...) and yes that only takes the selected region and language settings (and their order) into account...but...the release information defines the final name of the set which survives the scoring.

so your final mortal kombat usa set will be named defined by this...
release name="Mortal Kombat (USA) (Rev 1)" region="USA"

...but you actually have to check the checksum to see which one is the one picked
Logged

unknownbeef

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 71.0.3578.98 Chrome 71.0.3578.98
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #9 on: 20 January 2019, 01:57 »

I was able to make this work by adding the release element to each game that has this problem. It looks like there are several cases where a (Rev 1) version of a game has been added to the no-intro DAT, and they removed the release element for the original version.

Thanks so much for your help!
« Last Edit: 20 January 2019, 01:58 by unknownbeef »
Logged

Sturm

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 2
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 72.0.3626.81 Chrome 72.0.3626.81
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #10 on: 03 February 2019, 17:12 »

Good day. I am running into the same issue here with my No-Intro NES ROMset. Specifically, Mike Tyson's Punch-Out!! never gets checked.

From what I can tell, the USA release is a clone of the Europe release. Even though they are a part of the latest No-Intro ROMset, they simply are never added to my "ROM-Paths" folder. I've tried using a "standard" DAT file (rather than Parent-Clone) and it does get included that way, but so do the various "Rev." of various games (which can get confusing). I also have to set the region in DAT-O-MATIC when downloading the DAT file.

Both of these issues are fine, and I can deal with them if it means getting Mike Tyson's Punch-Out!! (among other missing games, I'm sure). But if there's something that I'm missing, please let me know, because I do like the 1G1R simplicity better. I also don't like the idea of having to add "release" elements to select games in the DAT file. For 900 NES games, this makes my head spin. Can't even imagine doing this for other platforms!

Is there a trick that I'm missing to get the 1G1R method to work, or should I just stick with a "standard" DAT file and have LaunchBox merge all the "Rev." titles by hand?
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 112
  • Offline Offline
  • Posts: 3287
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 72.0.3626.81 Chrome 72.0.3626.81
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #11 on: 03 February 2019, 17:34 »

the 1g1r algorithm scores sets by 1) region 2) language 3) default 4) original parent. So you might need to look into the algorithm to check why a set is picked or a different one scores a higher rate and is taken.
I guess the algorithm can be found if you google for it.....e.g. here: http://forums.no-intro.org/viewtopic.php?t=544 pretty much at the bottom of the page.

So, it's more or less a task for the datfile authors to define the upper attributes correctly.
The release element only specifies the final name of the file which is picked. So you need to compare the hashvalues of the file and the datfile to see which one was actually picked. Don't look at the filename
Logged

Sturm

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 2
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 72.0.3626.81 Chrome 72.0.3626.81
    • View Profile
Re: strange 1g1r behavior selecting unneeded
« Reply #12 on: 03 February 2019, 18:09 »

So, it's more or less a task for the datfile authors to define the upper attributes correctly.
The release element only specifies the final name of the file which is picked.
Sounds like I should post on the DAT-O-MATIC discussions, since they seem to be the DAT file authors, to please revise that game (and possibly others) in the NES set. After all, I'm just a mostly-n00b and don't see the value in personally inspecting the algorithm (unless I can change it) nor comparing hashvalues if it won't solve anything.
Logged
Pages: [1]   Go Up
 

Page created in 0.121 seconds with 20 queries.

anything