Jump to content
LaunchBox Community Forums

MAME Software Lists Import Tool - plugin 3.0

   (1 review)

1 Screenshot

About This File

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

Features:- Choose to import clones as Additional Apps, separately or not at all
- Skip Prototypes (filter option)
- Skip Non Supported games (filter option)
- Import the selected (filtered) Console/Computer games into LaunchBox
- Adds the appropriate command to each imported games' Command Line (ex. a2600 -cart)
- Copy the filtered selection of roms to a separate folder (optional)
    (After copying files, they will automatically be imported)
- If a newly imported game is tagged as not supported by MAME, it will be marked as "Broken".
    Will also check existing games in the Platform being imported to (in case MAME updated its' status)

*New v3.0
- New Audit Feature.  Compare your existing softlist 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:
- (2) dll files included in the zip file Starting with v2.0, only need the (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 LaunchBoxs' built-in Tool)

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

*New in v1.31
- Start LaunchBox. Click on "Tools" and select "Import MAME Software Lists".1723405112_ToolsMenu.jpg.dbfef5293d63859660999a083c73f7b6.jpg
Note:
- The "Destination Folder" is required even if you don't plan to copy the files.  It's needed to set up the Application Folder for the games when Importing.

 

See what's new in Change Log.

 

* MESS xml *

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.pngThis file needs to be located in the same folder as the plugin (..\LaunchBox\Plugins\ImportMameSoftwareLists\) and can be download from: http://www.progettosnaps.net/mess/ 

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.  (April-2020 V2.0 is available. Reduces file size even more.)  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\mess215.xml  (a 'shrunken' mess215.xml is included with v1.30)

image.png.c2144eb50f6677c1fa3b40d15ef8b609.pngThe Import Mame Software Lists plugin will search for "mess*.xml".  So as you update, just replace the old xml file (mess215.xml) with the new one (mess216.xml).

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

v1.32 includes mess219.xml (shrunken, of course)
 

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 3.0   See changelog

Released

3.0

- Improvement: Will store your MAME emulator selection.
- Improvement: Several changes to accommodate updating softlists.  
        (When Copying files, must use a Full set as the Source files. Using just Update Packs may cause issues.)  
        - When updating a softlist Platform, will check for new or renamed Titles and roms.
        - Will not remove existing Titles from your Platform that are not listed in the hash.xml.
        - You will need to rename (or re-download) media for Titles that have been renamed (i.e. "Launch Box" ---fixed--> "LaunchBox").
- New Feature: Audit.  Compares your existing softlist 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).

2.01

- Improvement: Last used rom Source and Destination parent folder locations are now stored. (creates a new file)
- Improvement: Added PgUp, PgDn, Home and End when navigating through console/computer list.
- Bug Fixed: "Select a Computer/Console to Import" screen. Fixed error when pressing a key and not inside the files list.
- Fixed: Error if xml file contains no game info  (i.e. c64_flop_clcracked.xml)
- Bug Attended to: (Again.) When executing "Import Only", would sometimes not work the 1st time.

 

2.0

- Brand New Look (sorta):  Changed the Import Wizard to make use of existing LaunchBox resources.
     This eliminates the need for an extra dll file and helps maintain consistency with LaunchBox's UI.
- Fixed: When importing Clones as Separate Apps, progress bar now shows accurate progress.
- House Keeping: Some code cleanup and improvements to (hopefully) catch any errors and be more efficient.

To upgrade to version 2.0, delete the 2 existing dll files from your ..\Plugins\ImportMameSoftwareLists\  folder and and place the new one from the zip file in their place.

Required Files:

** Versions up though v1.32 **
../LaunchBox/Plugins/ImportMameSoftwareLists/ImportMameSoftwareLists.dll
../LaunchBox/Plugins/ImportMameSoftwareLists/AdvancedWizard.dll

** Versions starting from v2.0 **
../LaunchBox/Plugins/ImportMameSoftwareLists/ImportMameSoftwareLists2.dll

 

1.32

- Clarification: When copying files, existing files with the same name will be overwritten.
    (useful when updating Software Lists)
- Fixed: Tools menu icon.
- Fixed: Will no longer Import games that already exist.
- Fixed: If Platform already exists as an 'Additional Platform' for the MAME emulator, it won't add it again.
- New Feature: If a newly imported game is tagged as not supported by MAME, it will be marked as "Broken".
    Will also check existing games in the Platform being imported to (in case MAME updated its' status)
    (Not applicable to clones when imported as additional apps)
- Changed:  Made changes and reduced the dll file size by about 75%

 

1.31.1

- Fixed error:  not showing up in the "Tools" menu.

1.31

- Moved to Tools menu.  Select "Tools"  -  "Import MAME Software Lists"
- Improvement: Added real-time progress bars for Copy and Import
- Improvement: Attempts to find your hash-files folder location automatically
- Improvement: When adding New Platform, will automatically fill in the selected Console (can be edited)
- Improvement: When running "Copy and Import", tasks run simultaneously to reduce completion time

 

1.30
- Fixed: When Importing into LaunchBox, progress bar indicates "Importing" instead of "Copying".
- Fixed: Removed plugin from BigBox
- Fixed: Miscellaneous Import issues
- New Feature: When importing CDROM media, the Application Path can be set to point the rom_name folder or to the roms file_name.chd for use with emulators other that MAME.  (See "MAME and CDROMS")
- New Feature: Will show MAME's emulation 'status' for the selected consoles/computers [Preliminary/Good/Imperfect].  **Requires additional file.  (File not required for the plugin to function. But the status will not appear.)


**To see the status, you will need to have the messxxx.xml (where 'xxx' is the MAME version: mess215.xml) file in the same folder as the plugin. (See "MESS xml")
 

 

V1.20

* Fixed 'Copy and Import' and 'Import' when creating a new Platform.  (For real this time)
* Added refresh LaunchBox after plugin closes to show newly created Platform.  Shouldn't need to press F5 after exiting plugin.

V1.10

* Added rom file compression format option (.zip [Default], .7z) [used for copying and command lines only]
* Changed Command-Line to remove "_xxxx".  i.e. "spectrum_cass" becomes "scpetrum" (required for MAME command line)
* Added 'add platform to emulator' as Associated Platform
  - Moved Command-Line from game "Custom Command-Line" to Emulator: Associated-Platform, Custom Command-Line
* Fixed 'Copy and Import' (would sometimes copy then not import)

Notes:
- Software Lists consoles use the default command-line:  console_name -media_switch ["path_to\gamename.zip"]
i.e. a2600 -cart     (This is automatically added when importing games)
LaunchBox adds ["path_to\gamename.zip"]

- Unlike with Arcade machines, mame.ini does NOT need to have Software List rom folders added to "rompath".
(The exception is any necessary bios files which are not included in the Copy process)
This assumes the MAME emulator does NOT have "Don't use quotes" and "Use filename only" checked. (Both boxes unchecked)

TODO:
Add driver status ("good", "imperfect", "preliminary") for console listings

  • Like 5
  • Thanks 5
  • Unusual Gem 1



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.

Share this comment


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].   :) 

Share this comment


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.

Share this comment


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])

 

Share this comment


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

Share this comment


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.

Share this comment


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.  

Share this comment


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. :)

Share this comment


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?

Share this comment


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.

Share this comment


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

Share this comment


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
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...