Jump to content
LaunchBox Community Forums

MAME Software Lists Import Tool - plugin 6.0.2

   (2 reviews)

4 Screenshots

About This File

Use this plugin to filter and import MAME Software Lists into LaunchBox.

New - version 6.0 

  • Requires LaunchBox 13.3 or newer*
  • Slightly different look. Same old features. A lot of (behind the scenes) code improvement.
  • This update has been rewritten in .NET 6.0 to “keep up with the times”. 

*If you’re using LaunchBox version 13.2 or older, download version 4.5 of the plugin.
(For now, at least) v4.5 will still work with LaunchBox 13.3 and newer.

Features:

  • Import MAME Console/Computer ROMs into a new or existing Platform
  • Import clones as Additional Apps, separately or not at all
  • (Option) Skip Prototypes
  • (Option) Skip Non-Supported ROMs
  • Adds the Platform and Command-line Parameter to the selected MAME emulator (ex. Atari 2600      a2600 -cart)
  • (Option) Copy ROMs to a new folder during importing
  • Imported games tagged as not supported by MAME will be marked as "Broken".
  • (Option) Import only games that exist in your ROMs Source Folder
  • (Option) Ignore games that only have a Title change (when updating)
  • Version information found inside parenthesis in a Games Title will be added to the games "Version" (metadata)

 

Audit Feature:  Compare your existing softlist console/Platform against the MAME hash.xml.
    Will cross check Title and Rom names.
        - Select the respective hash.xml and Platform
        - Click Audit (last page)
        - Any differences along with a brief description will be shown.
        - Option to select files (if any) and have them removed from your LaunchBox Platform.
        - Will check main Titles as well as Additional Apps (if you imported them that way).
    This does NOT check rom integrity. That's between you and Clrmamepro (or related utility).

 

 

What's needed:

  • (1) dll file included in the zip.
  • MAME Software List hash files (located in the "hash" sub folder of your Mame's main folder)
  • MAME Software List ROMs* and BIOS files (only if you want to actually play them)
    •     *The rom set needs to be either a Split set or a Non-Merged set for a full import
    •       If you plan to not import clones, any type set will work.

 

What it won't do: 

  • Filter/Sort by Region (it's a MAME hash file limitation)
  • Determine if/what BIOS files are needed
  • Import Metadata and Media (just use the built in LaunchBox Tool)
    • To remove extra information from the games titles [Example "(Jpn)"], select 
    •    Yes, download and replace all existing metadata and media when running the tool.)

 

How to:

- Copy the "ImportMameSoftwareLists" folder from the zip file to your ..\LaunchBox\Plugins folder.
- Navigate to that folder and unblock the .dll file.  (Right click, Properties, and click Unblock)
180007186_Unblockdll.jpg.d9640d85e456213cc864e9bee26000e2.jpg

- Start LaunchBox. Click on "Tools" and select "Import MAME Software Lists".
- Navigate through the wizard.
- After running the plugin, right-click your new platform and select Edit. Set Scrape-as to whatever your platform is and save.


Notes:

ROM Folder Locations (screen): The Destination Folder is required even if you don't plan to copy the files.  It's needed to set up the Application Path for the ROMs when Importing.

Copy and/or Import (screen):  To add Version info (if it exists in the Games Title) to an existing console (Platform), run the plugin and DO NOT CHECK Ignore games that only have a Title change (when updating)

 

Selecting an emulator:
The main intent of this plugin is to import consoles and computers using MAME softlist ROMs and set the games "proper" Title and application path.  It will also attempt to add the appropriate Command-line Parameter for the platform in MAME’s Associated Platforms.

If you prefer to use an emulator that can load MAME ROMs other than MAME (or a variant there-of), go for it.  It’s recommended to select MAME while using the importer, and then change the Default Emulator when done importing. 

You can select the 'other' emulator in the plugin, and it will be set as the default for the platform. But it will also have the default command line parameters for the associated platform set using MAME parameters.  So be sure to adjust as necessary.
 

Importing:
(optional) "Import games that only exist in the ROMs Source Folder"
If using a Merged softlist set, clones will not get imported using this option.  But if you have a curated Split set, this can be handy.

(optional) "Ignore games that only have a Title change (when updating)"
If you manually renamed your game titles, check this box.


Updating:
If you’ve updated your MAME emulator and MAME softlist ROMs, simply run the importer and point to the updated hash file and select your existing platform.

When updating, this plugin will NOT remove any games from your collection that MAME has removed from the hash file(s).  You can use Audit to compare your collection to the MAME hash file and manually remove games from your collection that don't exist in the hash file (if you so desire).

 

Downloading Metadata:
After running the plugin, right-click your new platform and select Edit. Set Scrape-as to whatever your platform is and save.

When downloading metadata and Media, choose "Yes, download and replace all existing metadata and media".  This will remove the Version info from the games Title.

After updating the metadata, if some, but not all games got updated, restart LaunchBox and try the bulk metadata downloader again.

 

Auditing:
When auditing, if a game originally had the version info in its Title and you have ran the Download Metadata and Media wizard selecting "Yes, download and replace all existing metadata and media", you WILL see games marked as Missing.
 

 

* MESS xml *   

Spoiler

 

To see MAME's Overall and Emulation status [Preliminary/Good/Imperfect]in the Import Mame Software Lists plugin, you will need to have the MESS xml file that matches your version of MAME.    messxxx.xml (where 'xxx' is the MAME version.  i.e. mess215.xml) 

image.png.354c8734786e6908b1b976b058e16ba0.png

This file needs to be located in the same folder as the plugin (..\LaunchBox\Plugins\ImportMameSoftwareLists\) and can be download from: https://www.progettosnaps.net/mess/repository/  (July 10,2023 updated site link)

These files are [relatively] large (24MB+) and will slow down the screen updates when selecting different consoles/computers.  

Use "Shrink_MESSxml.exe" to reduce the mess xml file size to a little over 1MB to eliminate slow screen updates.  After 1st making a backup, it then removes unneeded data from the xml file.  Place only the one 'shrunken' xml file in the plugin folder.  ..\LaunchBox\Plugins\ImportMameSoftwareLists\mess242.xml

image.png.c2144eb50f6677c1fa3b40d15ef8b609.png

The Import Mame Software Lists plugin will search for "mess*.xml".  So as you update, just replace the old xml file (mess242.xml) with the new one (mess243.xml).

ONLY HAVE ONE MESS XML FILE IN THE PLUGIN FOLDER AT A TIME!

 

 

Other Notes: (things I've learned)

- Software List folder/file locations: 
 

Spoiler

 

For easiest integration with MAME, place all Software List folders inside a single directory (i.e. "software") and name them the same name as their respective hash xml file_name.  For example:

D:\emulators\MAME\software\
D:\emulators\MAME\software\32x\
D:\emulators\MAME\software\a2600\
D:\emulators\MAME\software\a2600_cass\
D:\emulators\MAME\software\apple2gs\

Now, all you need to add to mame.ini in "rompath" is "software".  You don't need to worry about any of the Software List sub-folders.

#
# CORE SEARCH PATH OPTIONS
#
homepath        .
rompath         roms;software

Assuming you still have both boxes checked ("Don't use quotes..." and "Use File name only..." in the MAME emulator settings, you'll be able to lauch these without problems*.

321267204_MAMEemucheckboxes.thumb.jpg.e5538c9a9735eda1ccef4d6614460a7d.jpg

 

 

- *Associated Platform Command line parameters

Spoiler

 

The command lines that get placed in MAME - Associated Platforms come from hash files. However there are a few that will need to be manually edited. A couple I'm aware of are:

Apple 2GS: needs to be changed from "apple2gs -flop1" to "apple2gs -flop3"
Sony PlayStation: (though doens't work in MAME) needs to be changed from "psx -cdrm" to "psu -cdrm" (See MAME and CDROMS)
SNK NeoGeo CD: For some reason I can only get it work if the command line (neocdz -cdrm) is placed under each games "Emulation" tab in "Use Custom Command-LineParameter".

image.png.dc29fa5ec1852206b6da32f24963f4fe.png  This plugin can help put that in there for you.  If someone knows how to get it to work otherwise, please let me know so I don't have to look like I'm pimping my other plugins. :) 

 

- MAME and CDROMS

Spoiler

 

MAME will run (when supported) CDROMS by simply pointing the application path to the game's folder rom_name.  You do not need to point to the chd file to run it.  (Note: the plugin will have it point to the folder_name.zip, but with the checkbox "Use file name only..." checked, it takes off".zip".

If you wish to import CDROM games into LaunchBox for use with a different emulator, you will need to have the application path point to the games actual file_name.chd.

New Feature: When the plugin sees that the media type is CDROM, you'll be given the option to import the roms for "use with an emulator other than MAME" (Choose "Yes").  If you'll only be using them with MAME, choose "No".

 

 

 


What's New in Version 6.0.2   See changelog

Released

New feature - Filter hash files by Overall and Emulation status
                           (Requires mess2xx.xml file.  See *MESS xml* section)
              
                          Note: Some hash files do not have any Status associated with them.
                          Check the box "Remove No Status" to remove those from the list.

  • Like 9
  • Thanks 7
  • Unusual Gem 3

User Feedback

Recommended Comments



Hi, thanks for the reply in the review section. I would not have mentioned anything had you not replied as I am happy with the tool as is but if you would like feedback there are only minor things to possibly improve it. On the first page where you enter the location of your .xml files it would be cool if it remembered it instead of having to do it each and every time, though that is no big deal at all. Other than that it does a funny thing where I will go through the tool and at the end press import only but it will not do anything so I exit and redo it all again and it will then work the second time through. It has done that to me for multiple platforms. At first I thought it was likely due to me doing a step incorrectly but I am pretty sure I did not miss anything. Other than that it tickles my pickle, thanks kindly.

Link to comment
Share on other sites

I used to have it 'remember' your last location for the hash files folder.  I then automated it to look for your MAME emulator in LB, and then navigate down to the hash folder and put that in the textBox.  It works great on my computer. lol  Obviously it's not foolproof.  What, if anything appears in the box when you 1st load it?  Do you store your hash files (folder) outside of your MAME folder?

It had been quirky in the past about not actually importing on the 1st go-around.  I thought that had been resolved.  Trusting you downloaded [the latest] v2.0, I'll have my team revisit that.  Ya, ya.... OK.  I'll look into it.  Again. :$

Glad it's working for you otherwise.  Glad it's working for you otherwise [the 2nd time].   :) 

Link to comment
Share on other sites

2 hours ago, JoeViking245 said:

I used to have it 'remember' your last location for the hash files folder.  I then automated it to look for your MAME emulator in LB, and then navigate down to the hash folder and put that in the textBox.  It works great on my computer. lol  Obviously it's not foolproof.  What, if anything appears in the box when you 1st load it?  Do you store your hash files (folder) outside of your MAME folder?

I have my hash files stored in Retroarch's system folder which is a requirement for using MAME and MESS in Retroarch. I could easily put it in MAME's folder also as that would make it easier regarding the way your tool is setup to look for it. It only takes ten seconds to browse to where I have them so it is no drama. Spending that ten seconds is my first-world problem.

2 hours ago, JoeViking245 said:

It had been quirky in the past about not actually importing on the 1st go-around.  I thought that had been resolved.  Trusting you downloaded [the latest] v2.0, I'll have my team revisit that.  Ya, ya.... OK.  I'll look into it.  Again. :$

Haha, I did download v2.0. It is only a minor issue having to go through it a second time but I guess for someone who is giving it a try for the very first time it might leave them scratching their head.

Link to comment
Share on other sites

On 4/13/2020 at 7:04 PM, Dane said:

I have my hash files stored in Retroarch's system folder

I'm going to defer to "What's needed", item #2.  "- MAME Software List hash files (located in the "hash" sub folder of your Mame's main folder)" :D

As for it not Importing on the 1st go-around, I am at a loss.  I've looked at the code ad nauseam and discovered my programming/troubleshooting skills-to-date have peaked.  So for now, consider the success of Importing as (you so kindly put it) a lottery.  BUT, a lottery where the odds are greatly in your favor.  It at first it doesn't work, try, try again. :) 

"...and thank you for your support." (Bartles & Jaymes [1984 to 1991])

 

Link to comment
Share on other sites

17 hours ago, JoeViking245 said:

I'm going to defer to "What's needed", item #2.  "- MAME Software List hash files (located in the "hash" sub folder of your Mame's main folder)" :D

As for it not Importing on the 1st go-around, I am at a loss.  I've looked at the code ad nauseam and discovered my programming/troubleshooting skills-to-date have peaked.  So for now, consider the success of Importing as (you so kindly put it) a lottery.  BUT, a lottery where the odds are greatly in your favor.  It at first it doesn't work, try, try again. :) 

"...and thank you for your support." (Bartles & Jaymes [1984 to 1991])

I originally did not know I had them in the MAME folder anywhere which is why I was using my RA ones. Though, it does work either way. However, it would be silly to use my RA ones when I already have them in the location it automatically points to so I will definitely stick to that. I am happy with how it is so all is good in the world, except for people dying of corona-virus, but this tool is cool.

  • Like 1
Link to comment
Share on other sites

Hello. I'm using it now, and it says "Select the Computer\Console you want to import".....How do you select and import ALL the consoles\computers at once? I want to import all of them, but the GUI seemingly allows for selecting one.

Link to comment
Share on other sites

Ya, sorry.  It's an 'import one at a time' thing.  We're talking approximately 600 console/computers at roughly 70 GB of files (116,499 individual files, not including CHD's, Bios and device files) total.  

Link to comment
Share on other sites

Oh gotcha. Thanks for clarifying and thanks for the plugin. OK I will try importing my snes and nes and couple others and see what happens. I'm a total launch box noob, but I've just completed importing my full MAME set into my desktop installation. Lets see what happens. :)

Link to comment
Share on other sites

Oh and Joe....just for clarification, I'm using MAME 206. A older version. Since MESS is incorporated into MAME these days, am I required to download the Shrink_MESSxml_2.0.zip as well? Or is that for something else?

Link to comment
Share on other sites

OK I just imported my snes roms and whaddayaknow? It worked! Tested a few games and everything worked properly. Guess it helps that I already have experience using QMC2.

 

OK so here comes the million dollar question.......what is the best way to go about importing images to these console games? I tried selecting all the snes games but don't see anything within the LB GUI to add or download images.

Link to comment
Share on other sites

You're welcome!  Glad you picked an easy one. :D

Shrink_MESS is not required at all for the importer to work.  If you have the mess206.xml  (206 being your revision of MAME) located in the plugin folder, you'll be able to see the compatibility status of the console/computer in MAME.  Shrink_MESS takes that 31 MB file (which you can get from here:  http://www.progettosnaps.net/mess/) and "shrinks" it to just over 1 MB (for faster scanning by the plugin).  And what you'll see is something like thisimage.png.e8f28410b71efb3121225c5030747b76.png

Metadata and Media (Images):

Click on a game.  Press Ctrl-A (select all).  Click Tools, Download Metadata and Media.image.thumb.png.634f25cfe9e35c38247b73111b7bccfc.png

Link to comment
Share on other sites

Is anyone else having an issue where this plug in just randomly stopped working ? I can see it in my tools but nothing comes up when I click on it.

Link to comment
Share on other sites

For the time being, there're two options:  (1) Revert your LaunchBox to release 11.2 (stable).   or   (2) Wait for 11.3 betas to get ironed out.

Fortunately it's only an issue within the betas and not the [prior] official releases.

"Beta is a measure of the volatility—or systematic risk" 

  • Like 1
Link to comment
Share on other sites

Has this been updated/ironed out for newer versions of launchbox (11.8+)?  Trying to find a simple way to import/organize all my mame sets.

Link to comment
Share on other sites

49 minutes ago, CyrixDX4 said:

Has this been updated/ironed out for newer versions of launchbox (11.8+)?  Trying to find a simple way to import/organize all my mame sets.

Short answer: Yes.

Long Answer: The last published update for this plugin accounts for LaunchBox's switch to .NET Core ( LB/BB version 11.3).  This plugin is compatible with (at least) LaunchBox versions 10.8 through current 11.8, and beyond.

If you find any issues with the plugin, please feel free to post here so that they can be addressed and resolved.

  

Link to comment
Share on other sites

Not even 6 months prior to this plugin being created I wrote scripts to create plain-text symlinks to each and every MESS rom/CHD so launchbox could import them correctly.

This would have saved me so much time. 

I cannot wait to delete my symlink folder and start fresh.

 

  • Like 1
Link to comment
Share on other sites

This works extremely well, thanks, but there are so many machines to import I have lost interest in adding them now, is there anyway a bulk import could be added eg point the plugin to the root folder of where my software list roms & chds are stored, and just import everything?

Link to comment
Share on other sites

53 minutes ago, DJ1220 said:

This works extremely well, thanks

You're welcome!  I'm glad it's working well for you.

55 minutes ago, DJ1220 said:

is there anyway a bulk import could be added

 

On 5/20/2020 at 6:32 AM, JoeViking245 said:

Ya, sorry.  It's an 'import one at a time' thing.  We're talking approximately 600 console/computers at roughly 70 GB of files (116,499 individual files, not including CHD's, Bios and device files) total.  

This comment was from a year and a half ago and we're now talking about 658 consoles/computers which equates to about 658 new Platforms that would be added into your LaunchBox setup.

Adding bulk import is not going to happen. Apologies.

Link to comment
Share on other sites

No worries, it's not the import process that irks me anyway to be honest, it would just relieve a bit of time from the process, quite a lot of the machines don't import correctly and still need the emulator to be manually editted, I assume this is nothing to do with the plugin though.

I think the Amiga set(s) are an example of this where mame is expecting the model to be A500 but amigaecs is added or something like (from memory) to the emulator settings.  If this isn't correct, I will find an actual example later when I finish work

Appologies for not reading that you had already covered my request anyway :)

Edited by DJ1220
Link to comment
Share on other sites

19 minutes ago, DJ1220 said:

quite a lot of the machines don't import correctly and still need the emulator to be manually editted

Ya, my best attempts are only as good as the information that is provided.  The command lines that get placed in MAME - Associated Platforms come directly from MAME's hash files (i.e. -cart, -flop  etc.). As do the game's Title. Which initially was the [only] intent of this plugin... get the game's proper Title [for soflists] into LB.  We've expanded beyond that a little. ;) 

Generally, the softlist's hash filename is what's used in the command line.  The hash files don't provide info for the proper softlist name to use in the command for any of the consoles/computes.  So the filename is the closest thing I have to go off of.  If the hash file name has an underscore ( _ ) in it, the plugin removes that and everything beyond it.  And "generally", it works.  So what's happening in your example is you imported the "Commodore Amiga ECS disk images" from the hash file "amigaecs_flop.xml".   So the command line becomes "amigaecs -flop1".  Which obviously doesn't work.  

Even in the best of scenarios, there are still caveats.  Example: Apple II GS (apple2gs.xml, apple2gs_flop_clcracked.xml, apple2gs_flop_misc.xml, apple2gs_flop_orig.xml) gets the proper softlist name to use ("apple2gs"), but in the hash file(s) it lists the media flag as "flop1".  Leaving "apple2gs -flop1".  Which doesn't work.  You need to use "apple2gs -flop3".  (-flop2 doesn't work either. In this case, it has to do with 5.25" vs. 3.5" floppies).   Though recently I learned (as a Side Note) in most cases you don't even need the media flag (Thanks @sundogak!!).  So in the case of Apple II GS, the Associated Platform command-line can simply be "apple2gs".

But in the end, you now have x amount of games into y Platform and all games have their proper Title. :) 

Softlists in MAME are a unique animal and can be irksome at times.  No silver platters handed out here. lol  But with some research, discoveries and [a lot of] learning, it's pretty rewarding when you see the actual game finally load up.  And then, if you actually play it more than 2 or 3 times, it may even have all been worth it. :D

Link to comment
Share on other sites

New - version 6.0

  • Requires LaunchBox 13.3 or newer*
  • Slightly different look. Same old features. A lot of (behind the scenes) code improvement.
  • This update has been rewritten in .NET 6.0 to “keep up with the times”. 

*If you’re using LaunchBox version 13.2 or older, download version 4.5 of the plugin.
(For now, at least) v4.5 will still work with LaunchBox 13.3 and newer.

  • Like 1
  • Unusual Gem 1
Link to comment
Share on other sites

As soon as I select the correct shrunk XML it just throws an error at me? I believe I followed all instructions even restarted Launch box a few times and still get it..... I'm on the latest launchbox release and using the appropriate plugin for it! any help would be great thanks in advance

Link to comment
Share on other sites

21 minutes ago, l.strain said:

As soon as I select the correct shrunk XML it just throws an error at me?

The shrunken xml file (after created) should be placed in the plugins folder.  When you start the Importer plugin in LaunchBox, on the 1st screen (if it doesn't find it automatically) it should be pointing to your hash subfolder under MAME.  i.e. D:\Emulators\MAME\hash\   So you don't ever "select" the shrunken xml file.

Where was it that you were selecting the shrunken xml file?  

Can you share a screenshot of the error message and also the most recent log file from \LaunchBox\Plugins\ImportMameSoftwareLists\Logs\.  

Link to comment
Share on other sites

  image.png.5ad21abb6a71663c5bdea2f4a4ec859d.png image.thumb.png.048ae36b661658f5339a8b7a9b90f788.png

I noticed it's saying zinc!? How do I change from this? thanks for getting back to me!

Edited by l.strain
Link to comment
Share on other sites


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...