Author Topic: listXML for non-MAME emulators  (Read 263 times)

placebo_yue

  • Full Member
  • ***
  • Posts: 49
  • sup
    • View Profile
    • Instagram
listXML for non-MAME emulators
« on: August 12, 2020, 08:20:37 PM »
Ok so here's the deal, i have a few arcade emulators besides MAME, like Nebula (for neo-geo and capcom), supermodel, and Model2. I'd like to use only one, but this is the easiest and fastest way i got every game i wanted running.

Now,i can't retrieve the metadata of those with thegamesdb. BUT i can get it with listxml if i swap the emulator with my MAME executable, generate the romlist, then swap back to the original emulator.

But it's a pain in the ass to do that every single time i update the romlists. Is there a way to force the romlist to retrieve the data from my MAME executable but keeping the real emulator in place?

Or perhaps there's a similar command for Nebula and the others to retrieve the same data? or a way to export the list from mame and load it as a file for the other romlists?

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
Re: listXML for non-MAME emulators
« Reply #1 on: August 12, 2020, 08:59:59 PM »
Inside your Attract-Mode folder create a folder called "extras".

From the command line run
Code: [Select]
<path_to_mame_folder>\mame.exe -listxml > <path_to_attractmode_extras_folder>\mame.xml

You should end up with something like this
/attract/extras/mame.xml

Now add this line to your arcade emulator files
Code: [Select]
import_extras        .\extras\mame.xml

Now all of you emulators will use the mame.xml when creating your romlists.

placebo_yue

  • Full Member
  • ***
  • Posts: 49
  • sup
    • View Profile
    • Instagram
Re: listXML for non-MAME emulators
« Reply #2 on: August 12, 2020, 09:22:13 PM »
Inside your Attract-Mode folder create a folder called "extras".

From the command line run
Code: [Select]
<path_to_mame_folder>\mame.exe -listxml > <path_to_attractmode_extras_folder>\mame.xml

You should end up with something like this
/attract/extras/mame.xml

Now add this line to your arcade emulator files
Code: [Select]
import_extras        .\extras\mame.xml

Now all of you emulators will use the mame.xml when creating your romlists.

Outstanding! that's exactly what i needed! i just found out about exporting the XML list but i had no idea how to include it, it was quite simple. Thanks!

Yaron2019

  • Sr. Member
  • ****
  • Posts: 285
    • View Profile
Re: listXML for non-MAME emulators
« Reply #3 on: October 12, 2020, 11:58:53 PM »
I want to use this method as well but I get the following message:

No matching machines found for 'D:\Arcade\attract\extras\mame.xml'

why?

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
Re: listXML for non-MAME emulators
« Reply #4 on: October 13, 2020, 01:33:25 PM »
Post your emulator.cfg for the system you are having issues with.

Yaron2019

  • Sr. Member
  • ****
  • Posts: 285
    • View Profile
Re: listXML for non-MAME emulators
« Reply #5 on: October 14, 2020, 02:48:23 AM »
It fails in the first part:
Code: [Select]
C:\Users\Yaron>E:\Arcade\attract\apps\Mame\mame64nonag.exe -listxml D:\Arcade\attract\extras\Mame.xml
No matching machines found for 'D:\Arcade\attract\extras\Mame.xml'

Here is my mame.cfg

Code: [Select]
# Generated by Attract-Mode v2.6.1
#
executable           E:/Arcade/Attract/apps/Mame/mame64nonag.exe
args                 [name]
rompath              E:/Arcade/Attract/apps/Mame/roms
romext               .zip;.chd
system               Arcade
info_source          listxml
exit_hotkey          Escape
artwork    float           $PROGDIR/menu-art/Mame/float
artwork    flyer           $PROGDIR/menu-art/Mame/flyer
artwork    marquee         $PROGDIR/menu-art/Mame/marquee
artwork    snap            $PROGDIR/menu-art/Mame/videos;$PROGDIR/menu-art/Mame/snap
artwork    themes          $PROGDIR/menu-art/Mame/themes
artwork    wheel           $PROGDIR/menu-art/Mame/wheel
artwork    boxart          $PROGDIR/menu-art/Mame/boxart
« Last Edit: October 14, 2020, 02:50:46 AM by Yaron2019 »

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
Re: listXML for non-MAME emulators
« Reply #6 on: October 14, 2020, 09:05:13 AM »
You're missing the ">". Also, you have both the E: drive and the D: drive listed in your command. Is this correct?

try
Code: [Select]
E:\Arcade\attract\apps\Mame\mame64nonag.exe -listxml > D:\Arcade\attract\extras\Mame.xml


Depending on the version of mame you have you might also want to download and include catver.ini (for genre info) and nplayers.ini (for player counts).
« Last Edit: October 14, 2020, 09:18:28 AM by progets »

Yaron2019

  • Sr. Member
  • ****
  • Posts: 285
    • View Profile
Re: listXML for non-MAME emulators
« Reply #7 on: October 14, 2020, 09:39:15 AM »
You're missing the ">". Also, you have both the E: drive and the D: drive listed in your command. Is this correct?

Oh I didn't see that character! Sorry. Yes D: and E: is correct.
So now it created an xml file 214MB in size. I'm using mame for my apple2 emulation, so I added this "import_extras" line to the apple.cfg emulator file and I get this error:
Code: [Select]
*** Generating Collection/Rom List: Apple II
 - Found 34 files.
     - Obtaining -listxml info...Error parsing xml output:Microsoft Windows [Version 10.0.18362.1082]

here is my apple2.cfg

Code: [Select]
# Generated by Attract-Mode v2.6.1
#
executable           cmd
args                 /c "[romfilename]"
rompath              E:\Arcade\attract\apps\Mame\apple2\
romext               .bat
system               apple 2
info_source          listxml
import_extras        D:\Arcade\attract\extras\Mame.xml
exit_hotkey          Escape+LShift
artwork    boxart          $PROGDIR/menu-art/Apple II/boxart
artwork    cartart         $PROGDIR/menu-art/Apple II/cartart
artwork    snap            $PROGDIR/menu-art/Apple II/videos
artwork    wheel           $PROGDIR/menu-art/Apple II/wheel
« Last Edit: October 14, 2020, 09:52:30 AM by Yaron2019 »

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1094
    • View Profile
Re: listXML for non-MAME emulators
« Reply #8 on: October 14, 2020, 01:20:14 PM »
This thread was talking about arcade emulation. The mame listxml only has arcade games.

For other software lists of systems (like apple, nes, genesis, etc.) the command and list are different. For these you can run this command
Code: [Select]
E:\Arcade\attract\apps\Mame\mame64nonag.exe -listsoftware > D:\Arcade\attract\extras\software.xml

You will also need to change your emulator setting from listxml to listsoftware and enter the proper system name that is used by mame as well.

The list above will contain all software list games and can be use with other systems in mame. If you only want the apple2 games in a list you can run a command like this
Code: [Select]
E:\Arcade\attract\apps\Mame\mame64nonag.exe -getsoftlist apple2 > D:\Arcade\attract\extras\apple2.xml

Look in your E:\Arcade\attract\apps\Mame\hash folder, you might already have the files for individual systems.
« Last Edit: October 14, 2020, 03:15:04 PM by progets »