Jump to content
LaunchBox Community Forums

MAME Software Lists Import Tool - plugin


Recommended Posts

Sweet!  Another thing off the checklist.

When I started this plugin, I wasn't very familiar with Software Lists at all.  So learning as I go.  For example, at 1st I thought you needed to have the rom path added to mame.ini.  Then learned you don't.  And later discovered there's at least one console/computer that does (ti99).  And now, how cdroms and MAME interact.

I anyone notes something that's not working as it should, let me know and I'll see if it's within my means to fix. :)

Undocumented Plugin Feature:

Spoiler

If you place a copy of messxxx.xml (i.e. mess214.xml) in the plugins folder, when you run the plugin it will show the status of the selected console/computer.image.thumb.png.a2496f6c8e350b8280c86494ab4c1a55.pngThe mess xml can be found here: http://www.progettosnaps.net/mess/

 

Edited by JoeViking245
  • Like 1
Link to comment
Share on other sites

Sorry Joe! I tried this with v1.20.1b and the Saturn CHDs on a fresh install of Launchbox 10.6, and my Launchbox just froze up after I completed the import steps for Saturn.

Things that I did:

* Waited 1 hour after running the importer for Launchbox to unfreeze (It didn't)

* Used the same import folder as 'place to put the roms' (I didn't want the rom files copied to LaunchBox)

* Linked from one drive to another (My launchbox is on one drive letter, and my rom files are on another)

* My rom folder has some windows symbolic links (shouldn't affect anything - these are transparent to programs)

* There are some spaces in the path addresses

* I didn't add the CD flag to the MAME launcher (the example only said to use this with Playstation, but you then used 'psu' in the flag? not sure how this works)

* I didn't have Saturn set up as a platform in Launchbox before trying to use the importer

Is there anything I did that could have made it bug out?

Link to comment
Share on other sites

17 minutes ago, slagfart said:

froze up after I completed the import steps for Saturn.

When you clicked "Import" on the last tab, did it have the green progress show for a while and then a little popup window saying your games have have been imported?

Edited by JoeViking245
Link to comment
Share on other sites

general notes:

Saturn has 2223 games (1155 if you take out the clones and prototypes).  So the Import process itself will take a little time.  Here we're only talking about adding game Titles and the path_to_the_ Rom_ file into the Platform you selected.  Not actually looking for or touching any Rom files.  For the path_to_the_ Rom_ file, the plugin basically just does a copy and paste of what's in the text box.  For cdrom based platforms it will also add \rom_name\Full_Game_Title to what was in the text box.

If it's a new Platform or existing makes no difference (using a later release of the plugin).  Note: if you're looking to use the Copy feature for cdroms (chd's), it doesn't work [see release notes].

When Import is complete, click OK and LaunchBox will get refreshed to show the [new] Platform and load the games in it.  If it doesn't (because you were multitasking on the PC during importing), press F5 to refresh.    With 1155 new games and my wonky computer, this takes about 5 seconds+.  Regardless it shouldn't take an hour.  

Link to comment
Share on other sites

I just opened that particular version of LaunchBox again to give it another go and guess what? 1170 Saturn games ready! Looks like the importer worked, but LaunchBox somehow froze up waiting for the import to finish?

No problem! I can go forth with this approach! Thank you gents!! :)

  • Like 1
Link to comment
Share on other sites

2 hours ago, slagfart said:

should we be using the 'Split' or 'Merged' sets for Software List ROMS?

Funny you should ask.  I was just updating my set yesterday and had an epiphany regarding this.  You need to use a Split or Non-Merged set.  A Merged WILL NOT work with a full Import.  However, if you plan to not Import clones, you can use any set (Merged, Non-Merged or Split). 

@slagfart Thanks for bringing that up! I will append the instructions.  

The clones of a Merged set will not work because of how they reside inside the parent rom.  I haven't found a way to launch a clone [from a Merged set] except through the MAME UI.  Seems there has to be a way.  But I haven't found it.  If anyone has some insight on how to do this, I'd love to hear about it!

Link to comment
Share on other sites

@JoeViking245 its me again here to be a PITA I noticed that for some games the hash file has quotes in the game name (at least for PS1) when these games are imported it will do two adverse things in LB 1 when you scan all selected files for media and metadata it will fail and give you an illegal character error and nothing will get imported and 2 if you try to right click a game with the quotes to try to correct it LB will throw an error and after closing the error message the program will close. Is there anyway you could exclude it copying quotes if they are found in the hash files title line? I did fix the issue using the find feature in NP++ but it requires you to get all instances of quotes and go through them individually and edit the line it shows them on which is doable if necessary.

Link to comment
Share on other sites

Poking around a little bit I found this below are the PSX platformxml my folder containing the CHD and the hash file entry for the game in question. Somewhere it isn't lining up correctly and it is using the description in the path instead of the disk name. I don't have a clue how many more games this could be effecting the ones I tested (from the top of the list) all launched but this one is messed up for sure.
 

image.thumb.png.b02c868ca506288d750dad31642b6917.pngimage.thumb.png.6631ede2cf3760984efd1fda8b7008f8.pngimage.thumb.png.ff7259280c495beba10ee0a6408f4a29.png

  • Thanks 1
Link to comment
Share on other sites

Thank you @DOS76.  (That's sincere, not sarcastic :) )

psx has 5 games in which the Description contains a " (double quote) which makes it a non-valid Windows filename.  Hence the error.  Easy fix.  Remove all d-quotes when adding it the file\path.  But, as you enlightened me to...

Unlike hash xml files for -cart and -cass media, -cdrom media hash files contain an [additional] Element "<disk name=...>" which gives the proper chd filename.  v.s. "<description>" which give the proper Title.  When I added chd support, I didn't even look for <disk name> as the other media types didn't have it.  And now I know, and can fix that. ?   At least until I come across 2+ disk sets. Ugh.  I need to figure out how they're dealt with.  i.e. If you load (disc 1) will it know to look for (disc 2)?  Or if all discs need to be accounted for in the command line.  That would be one ugly command line for something like "Riven - The Sequel to Myst (USA)" which has 5 discs.

Spoiler

<software name="riven">
        <!-- Original images (Redump)
        <rom name="Riven - The Sequel to Myst (USA) (Disc 1).cue" size="107" crc="7e9b72e0" sha1="87f451c38fba1eba0c34ecf66caac79d6f4ad125"/>
        <rom name="Riven - The Sequel to Myst (USA) (Disc 1).bin" size="654846192" crc="56d6f522" sha1="1eb7548bb320c41610a491b7aeaa0b01e0781000"/>
        <rom name="Riven - The Sequel to Myst (USA) (Disc 2).cue" size="107" crc="7fc65431" sha1="21c9a44c154d4532e72680372a66d688acc05472"/>
        <rom name="Riven - The Sequel to Myst (USA) (Disc 2).bin" size="731203872" crc="2c67e50f" sha1="7558afb3f446f55afca9954a20020b06c81385b5"/>
        <rom name="Riven - The Sequel to Myst (USA) (Disc 3).cue" size="107" crc="c9ddb441" sha1="a68000a7750c01b3e276cad34a5ea1aadeb199e9"/>
        <rom name="Riven - The Sequel to Myst (USA) (Disc 3).bin" size="676343472" crc="b60dc2d9" sha1="4c32d8fd702a16b211af771383d92c0008a4b9a1"/>
        <rom name="Riven - The Sequel to Myst (USA) (Disc 4).cue" size="107" crc="7d7c1993" sha1="bd09a44e880d37ee0d650077b8dba720f1fe6cb3"/>
        <rom name="Riven - The Sequel to Myst (USA) (Disc 4).bin" size="749624736" crc="b4788d3c" sha1="371dcb06949bc47b354040e3def6b713341119c8"/>
        <rom name="Riven - The Sequel to Myst (USA) (Disc 5).cue" size="107" crc="cb67f9e3" sha1="58abdb40b445e8a61725e95672d70d8bf80c233d"/>
        <rom name="Riven - The Sequel to Myst (USA) (Disc 5).bin" size="749316624" crc="66a92d7f" sha1="18b2f33007c6ce65278b9c7282abc7312811ce79"/>
        -->
        <description>Riven - The Sequel to Myst (USA)</description>
        <year>1997</year>
        <publisher>Acclaim Entertainment</publisher>
        <info name="serial" value="SLUS-00535 / SLUS-00563 / SLUS-00564 / SLUS-00565 / SLUS-00580"/>
        <sharedfeat name="compatibility" value="NTSC-U"/>
        <part name="cdrom1" interface="psx_cdrom">
            <diskarea name="cdrom">
                <disk name="riven - the sequel to myst (usa) (disc 1)" sha1="cfaafe0163f6f48c1941bb3b46f9015e535c9192"/>
            </diskarea>
        </part>
        <part name="cdrom2" interface="psx_cdrom">
            <diskarea name="cdrom">
                <disk name="riven - the sequel to myst (usa) (disc 2)" sha1="7546fb49d12e9f923cdf08aaac1c476090f7ad79"/>
            </diskarea>
        </part>
        <part name="cdrom3" interface="psx_cdrom">
            <diskarea name="cdrom">
                <disk name="riven - the sequel to myst (usa) (disc 3)" sha1="1d66395ab00993a7e2b7b24792fce55f2e57d7f9"/>
            </diskarea>
        </part>
        <part name="cdrom4" interface="psx_cdrom">
            <diskarea name="cdrom">
                <disk name="riven - the sequel to myst (usa) (disc 4)" sha1="4b6dc4e0addd4b1464c34c845a359fe45fba4f5e"/>
            </diskarea>
        </part>
        <part name="cdrom5" interface="psx_cdrom">
            <diskarea name="cdrom">
                <disk name="riven - the sequel to myst (usa) (disc 5)" sha1="fc5947dfa7b8e81b6f5e29281e5d7bcd6bff0c7f"/>
            </diskarea>
        </part>
    </software>

I'll work on fixing this.

Link to comment
Share on other sites

Beautiful work Joe! This thing is awesome. :)

Another feature request from me too please: Parsing the region from the end of the MAME title. What do I mean?

Here is the LaunchBox XML generated by your loader at current for a random saturn game:

  <Game>
    <ApplicationPath>Games\MAME\saturn\mastmons\Master of Monsters - Neo Generations (Jpn).chd</ApplicationPath>
    ... 
    <Platform>Sega Saturn</Platform>
    <Title>Master of Monsters - Neo Generations (Jpn)</Title>
    <Region />
    ...
  </Game>

Whereas if your importer was to parse the region, it would look like:

  <Game>
    <ApplicationPath>Games\MAME\saturn\mastmons\Master of Monsters - Neo Generations (Jpn).chd</ApplicationPath>
    ...
    <Platform>Sega Saturn</Platform>
    <Title>Master of Monsters - Neo Generations</Title>
    <Region>Japan</Region>
    ...
  </Game>

The super-pleasant side-effect of implementing this feature is that it would line up in most cases with the LaunchBox title, allowing for automated metadata imports from the LaunchBox DB for the rest of the metadata lines. Of course, I managed to pick a title where that isn't the case due to the hyphen, but I looked at a few before suggesting this and it would count for most. It would also allow for the use of any already-downloaded images or videos.

It looks like MAME has a few standard region names for CHDs (with their Launchbox equivalents in brackets), which it uses across at least Saturn, Playstation, CD-I, and Sega CD:

  • Jpn (Japan)
  • Euro (Europe)
  • USA (United States)
  • UK (United Kingdom)
  • Fra (France)
  • Ned (Netherlands)
  • Ger (Germany)
  • Spa (Spain)

Thanks again!

Link to comment
Share on other sites

maybe I'm wrong but after you run it through LB and scrape it doesn't it then add the regions? I'm running the media and metadata update now so I'll be able to confirm one way or the other when it finally finishes but PS1 has a pretty large library so it may be a minute

 

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.
Reply to this topic...

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