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: clrmame first-run questions  (Read 2706 times)

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #20 on: 01 October 2024, 07:26 »

https://mamedev.emulab.it/clrmamepro/binaries/clrmame_006_013_1.zip

purely experimental....

- when loading a -listsoftware data basis (either exe import or standalone dat), additional softwarelists can be added either by:

prio #1 - you used an exe with -listsoftware command, then it looks up the exe path for a hash folder
prio #2 - you specify a path in your settings.xml in the HashFolder element (start clrmame, quit it, an empty <HashElement> is added somewhere in the xml)


When no hash folder is found, nothing is added, no warning..etc

When a hash folder is found, it takes all .xml files in there (not recursively though), takes the file name as sl name (e.g. a2600.xml -> a2600), checks if this sl name is already in the listsoftware export (as an example: a2600 is, lisa2 isn't). If it is , it's skipped, if not, the software list xml is loaded and added to the sl collection.

The assumption here is that the filename corresponds to the software list name which is also present in the root element/@name attribute. The assumption prevents me from loading >700 xml files just to check the name attribute......


On a sidenote: Shoegazer, you also can select "all files" now in the xml browser :-)
« Last Edit: 01 October 2024, 07:27 by Roman »
Logged

john iv

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 72
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #21 on: 01 October 2024, 07:40 »

Thanks Roman, looks like it's behaving in my case (external softwarelist.xml).  I added the path to the settings.xml and it found the \hash folder.
My xpath filter is filtering these guys out anyhow, so it doesn't really impact me I guess.
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #22 on: 01 October 2024, 08:53 »

hehe..thanks for the feedback....I thought having an extra path for your scenario doesn't harm.....
Logged

Shoegazer

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 48
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 130.0 Firefox 130.0
    • View Profile
Re: clrmame first-run questions
« Reply #23 on: 01 October 2024, 20:57 »


- when loading a -listsoftware data basis (either exe import or standalone dat), additional softwarelists can be added either by:

prio #1 - you used an exe with -listsoftware command, then it looks up the exe path for a hash folder


Thanks for this!  I tried your prio #1 method, however I'm getting the following (again running in linux under Wine):

Code: [Select]
2024-10-01 13:57:16 info loading: Z:\home\testing\Emulation\Emulators\MAME\mame -listsoftware
2024-10-01 13:57:16 error can't parse Z:\home\testing\Emulation\Emulators\MAME\mame -listsoftware
2024-10-01 13:57:16 info Done, overall time: 0 seconds
2024-10-01 13:57:16 error errors occured, please check log

Note that it runs fine without the -listsoftware flag, so it seems to have a problem with the flag.

Your "All files" option does work fine though. :)
Logged

john iv

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 72
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #24 on: 01 October 2024, 20:59 »

Does adding the '.exe' to the command help?

Z:\home\testing\Emulation\Emulators\MAME\mame.exe -listsoftware
Logged

Shoegazer

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 48
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 130.0 Firefox 130.0
    • View Profile
Re: clrmame first-run questions
« Reply #25 on: 02 October 2024, 00:38 »

Does adding the '.exe' to the command help?

Z:\home\testing\Emulation\Emulators\MAME\mame.exe -listsoftware

Thanks, but Linux has no concept of an executable extension; even though the extension would be accepted if it were manually named that way, it is not a requirement, so for example my mame binary is just "mame".
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #26 on: 02 October 2024, 06:31 »

gimme some minutes...the regular expression which parses the path/exe and command uses a ".exe" to split application from parameter....

shouldn't be too hard to fix for Linux...

If no param is given, it doesn't split and internally takes -listxml :)
« Last Edit: 02 October 2024, 06:34 by Roman »
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #27 on: 02 October 2024, 10:35 »

Logged

Shoegazer

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 48
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 130.0 Firefox 130.0
    • View Profile
Re: clrmame first-run questions
« Reply #28 on: 02 October 2024, 16:11 »

https://mamedev.emulab.it/clrmamepro/binaries/clrmame_006_013_2.zip

for the linux guys....
Thanks, Roman.  However I'm now getting:
Code: [Select]
2024-10-02 12:10:05 info creating xml export
2024-10-02 12:10:05 error can't run: Z:\home\testing\Emulation\Emulators\MAME\mame -listsoftware
2024-10-02 12:10:05 info loading: Z:\home\testing\Desktop\cm\exports\661de8ad-listsoftware.xml
2024-10-02 12:10:05 error can't parse Z:\home\testing\Desktop\cm\exports\661de8ad-listsoftware.xml
2024-10-02 12:10:05 info Done, overall time: 0 seconds
2024-10-02 12:10:05 error errors occured, please check log
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #29 on: 02 October 2024, 16:22 »

hmmm...looks like the export created a non valid file "661de8ad-listsoftware.xml" in the exports folder.
Can you check the file? Does it exist? Is it > 0 byte? Is it a valid XML....
(the filename is the crc32 of the used mame executable plus the used command by the way)

"can't run: Z:\home\testing\Emulation\Emulators\MAME\mame -listsoftware" indicates that executing this fails...wonder what's happening there since -listxml does work for you, doesn't it?


I mean...can you run a mame -listsoftware on your own or does it simply fail without clrmame involved, too?

...or maybe an access right issue?....I blame Linux :)
« Last Edit: 02 October 2024, 17:10 by Roman »
Logged

Shoegazer

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 48
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 130.0 Firefox 130.0
    • View Profile
Re: clrmame first-run questions
« Reply #30 on: 02 October 2024, 18:33 »

The file does exist, and it is indeed 0-bytes.  I confirmed that the filename prefix matches crc32 output for the mame binary, not that I had any reason to doubt.

Also, I observed some anomalies when running mame with flags from local vs. remote.  Some tests from shell to illustrate:

Code: [Select]
$ /home/testing/Emulation/Emulators/MAME/mame -listsoftware
No software lists found for this system

$ /home/testing/Emulation/Emulators/MAME/mame -listxml
(works - produces expected output)

$ cd /home/testing/Emulation/Emulators/MAME
$ ./mame -listsoftware
(works  - produces expected output)

$ cd /home/testing/Emulation/Emulators/MAME
$ ./mame -listxml
(works  - produces expected output)

So perhaps we need to define (set/export) the mame path first?

And finally to your Linux comment - bah not a perms issue, at least not this time, oh and hey look at that! POSIX compliance called, it wants its dignity back ;)
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Mac OS X Mac OS X
  • Browser:
  • Safari 18.0 Safari 18.0
    • View Profile
Re: clrmame first-run questions
« Reply #31 on: 02 October 2024, 18:39 »

Hmm actually I do change the current dir to the mame folder before running the export….I will do some tests/double check that.
Mame needs its hashfolder to create a listsoftware output. For listxml nothing is needed.
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #32 on: 02 October 2024, 19:45 »

ok..here we go again

https://mamedev.emulab.it/clrmamepro/binaries/clrmame_006_013_3.zip

I do change into the folder which holds mame but I now run it as ".\mame ..." ...let's see if this brings up some softwarelists in Linux....guess you need to remove that 0 byte file first
« Last Edit: 02 October 2024, 19:45 by Roman »
Logged

Shoegazer

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 48
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 130.0 Firefox 130.0
    • View Profile
Re: clrmame first-run questions
« Reply #33 on: 02 October 2024, 20:12 »

Thanks, but it didn't work.  I removed the 0-byte length file (actually, the entire exports subdir) before running.  By the way, I had to space out "sha ring" and "vio lation" on the log below, otherwise it gets caught by your spam filter.
Code: [Select]
2024-10-02 16:06:19 info creating xml export
2024-10-02 16:06:19 error running .\mame -listsoftware failed due to remove: Sha ring vio lation.: "Z:\home\testing\Desktop\cm\exports\661de8ad-listsoftware.xml"
2024-10-02 16:06:19 info loading: Z:\home\testing\Desktop\cm\exports\661de8ad-listsoftware.xml
2024-10-02 16:06:19 error can't parse Z:\home\testing\Desktop\cm\exports\661de8ad-listsoftware.xml
2024-10-02 16:06:19 info Done, overall time: 0 seconds
2024-10-02 16:06:19 error errors occured, please check log
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Mac OS X Mac OS X
  • Browser:
  • Safari 18.0 Safari 18.0
    • View Profile
Re: clrmame first-run questions
« Reply #34 on: 02 October 2024, 20:27 »

Hmmm failed due to remove:sharing violation.
I‘ve also added the print out of the exception ‚what‘ string…..
Will check if this helps me…

But -listxml is working for you???
« Last Edit: 02 October 2024, 20:31 by Roman »
Logged

Shoegazer

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 48
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 130.0 Firefox 130.0
    • View Profile
Re: clrmame first-run questions
« Reply #35 on: 02 October 2024, 20:38 »

Actually when I configure clrmame's XML / EXE box as follows I get the same sha ring vio lation error:

Code: [Select]
Z:\home\testing\Emulation\Emulators\MAME\mame -listxml
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #36 on: 03 October 2024, 11:22 »

and it works when you don't specify a parameter like -listxml ???

This is weird since it automatically adds "-listxml" when no parameter is given. So no matter if you specify -listxml in the XML/EXE box or not, it will always run mame -listxml.
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #37 on: 03 October 2024, 12:56 »

Shoegazer,
https://mamedev.emulab.it/clrmamepro/binaries/clrmame_006_013_debug.zip

this simply prints out some more logger infos when the export is done...to find out where it runs into the exception.



On a side note, I plan to install an Ubuntu or whatever on a virtual box....so...what are you using and which MAME version do you use (maybe you can simply zip up your mame folder so I can quickly start testing it under Wine.....
Logged

Shoegazer

  • Member
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 48
  • Operating System:
  • Linux Linux
  • Browser:
  • Firefox 131.0 Firefox 131.0
    • View Profile
Re: clrmame first-run questions
« Reply #38 on: 03 October 2024, 18:00 »

and it works when you don't specify a parameter like -listxml ???

This is weird since it automatically adds "-listxml" when no parameter is given. So no matter if you specify -listxml in the XML/EXE box or not, it will always run mame -listxml.

Actually, I'm also getting that same error even when not specifying -listxml.  I ran your debug version, but this time only specifying the mame binary with no flags.  Result is posted here since the spam filter keeps catching this post with the log inline.

Also, here is my mame folder.  I'm using 0.270 with Mint 22 (Cinnamon DE), which is downstream from Ubuntu.  By the way you could just run Linux Mint 22 off a bootable drive like a USB stick, you can get the image here.
Logged

Roman

  • Global Moderator
  • Member
  • ***
  • Karma: 120
  • Offline Offline
  • Posts: 3414
  • Operating System:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 129.0.0.0 Chrome 129.0.0.0
    • View Profile
Re: clrmame first-run questions
« Reply #39 on: 03 October 2024, 20:21 »

Thanks for testing, the info and the files. Actually the log tells me a lot.
Looks like WaitForSingleObject (https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitforsingleobject) (the function used to wait that the export process finishes) returns something which isn't WAIT_TIMEOUT or WAIT_OBJECT_0 (which both would have triggered a different log output and would be normal during the export) but WAIT_ABANDONED or WAIT_FAILED. The exception about the remove:sharing violation is also clear then since if that WaitForSingleObject  fails it tries to remove the already created output file which is blocked.

So I will look a bit more deeply into the return values of WaitForSingleObject and I will try to run it on linux/wine....

thanks for your help...I will come back when I got something new to test ;-) ....unlikely to be this week/weekend...

by the way, the spam bot (which isn't mine by the way) usually can be beaten by login/relogin
Logged
Pages: 1 [2] 3   Go Up
 

Page created in 0.064 seconds with 21 queries.