Viewing 18 posts - 1 through 18 (of 18 total)
  • Author
    Posts
  • cacophony555
    Participant
    Post count: 126

    I wrote a script to generate the Emulation Station xml for MAME, and thought others might be interested. The only alternative I’ve found is ES-scraper, which can take multiple days to run if you have thousands of roms. The big advantage of my script is that it runs entirely offline within a couple seconds.

    From the readme:
    mameGenXml.pl is a perl script that will create the xml for Emulation Station, attempting to populate real game names in place of the often cryptic mame filenames. It will also add references to image files if it finds them in the rom directory.

    It’s available here with instructions if anybody would like to try it:
    http://webspace.lenscritic.com/mame/

    trimmtrabb
    Participant
    Post count: 480

    great, this will save a lot of time and effort thanks!

    cacophony555
    Participant
    Post count: 126

    FYI, I’ve updated this script to support FBA and consoles as well. See the readme for more info.

    nolageek
    Participant
    Post count: 34

    I used this and it it worked beautifully to build the gameslist.xml – but ES doesn’t seem to be using it. I have copied the file to both ~/Retropie/roms/mame/gameslist.xml and in ~/.emulationstation/gameslist/mame/gameslist.xml and still, no data in emulation station.

    Anything I’m missing?

    cacophony555
    Participant
    Post count: 126

    [quote=84356]I used this and it it worked beautifully to build the gameslist.xml – but ES doesn’t seem to be using it. I have copied the file to both ~/Retropie/roms/mame/gameslist.xml and in ~/.emulationstation/gameslist/mame/gameslist.xml and still, no data in emulation station.

    Anything I’m missing?
    [/quote]

    Did you make sure to quit emulation station before moving the gamelist.xml?
    You need to move it to the directory that contains the ROMs and it has to match your configuration in es_systems.cfg. Can you put the relevant lines of your ~/.emulationstation/es_systems.cfg here so I can see it?

    nolageek
    Participant
    Post count: 34

    I was coming back here to report the issue – it was totally my fault – I had it saved as gameslist.xml and not gamelist.xml

    renamed the file in the /roms/mame/ directory and it worked just fine.

    Facepalm

    cacophony555
    Participant
    Post count: 126

    Ah yes, good catch! Glad to hear it’s working now!

    nolageek
    Participant
    Post count: 34

    thank you so much! I downloaded a massive list of 28000 images from http://www.progettosnaps.net/snapshots/ and used some cli fu to just copy over the ones that matched my 3400 MAME roms and about 3/4 of them matched up.

    I wish it wasn’t such a pain to clean up ROMS (not as easy as deleting files I don’t recognize!). It seems like whenever I try to I end up breaking half of the ones I want.

    nolageek
    Participant
    Post count: 34

    One more question – any idea why some roms don’t get added? Off the bat I see 720 and 3COUNTB, but not 1942 or 1943, etc…

    cacophony555
    Participant
    Post count: 126

    [quote=84363]One more question – any idea why some roms don’t get added? Off the bat I see 720 and 3COUNTB, but not 1942 or 1943, etc…[/quote]

    You mean certain games don’t get added to the gamelist.xml file? As long as they’re in the same directory and have the same extension (eg “.zip”) they should definitely be added.

    maouu
    Participant
    Post count: 4

    Hello,

    Thanks for this script !!! How can I match my Snes folder roms with my image Snes folder to generate an XML file ?!!

    Because when I execute the command :

    perl mameGenXml.pl -rompath /home/pi/RetroPie/roms/snes -mode console -extension smc > gamelist.xml

    The result is the XML file create, but not image path, there is no <image>…</image>

    I put the .png file with the rom file in the same folder and I launch the script, but I don’t have images path in the XML file !!

    Do you have an idea ?!

    Thanks you :)

    Floob
    Member
    Post count: 1629

    This video may help you, but if you are scraping SNES you may want the second video because it will populate the other metadata as well.

    maouu
    Participant
    Post count: 4

    Thanks you, but when I scrap the rom folder, I get out the XML file but I do not have all my games, I’ve only games that have been scraped (by GameDB I think) but the unknow games for source are not added on XML files, I lost a lot of games :(

    Is there a way to have the descriptions, with release dates, editors …. etc. and even if the scrap can not have the description, editors..etc for some games, they are anyway listed in the XML file ?!! with tags <desc> <releasedate> empty for example.

    Otherwise I have to do everything manually :(

    Thanks you

    cacophony555
    Participant
    Post count: 126

    [quote=84672]Hello,

    Thanks for this script !!! How can I match my Snes folder roms with my image Snes folder to generate an XML file ?!!

    Because when I execute the command :

    perl mameGenXml.pl -rompath /home/pi/RetroPie/roms/snes -mode console -extension smc > gamelist.xml

    The result is the XML file create, but not image path, there is no <image>…</image>

    I put the .png file with the rom file in the same folder and I launch the script, but I don’t have images path in the XML file !!

    Do you have an idea ?!

    Thanks you :)
    [/quote]

    Do the images have the exact same names as the roms and have extensions that are one of these: png, jpg, jpeg, bmp ?

    In other words if your rom is called “mygame.smc” the image must be called one of “mygame.png”, “mygame.jpg”, etc

    You sure you’re looking at the right xml file ?

    If you’re still having problems it might help if you provided some example rom and image file names and the relevant part of the ouput xml file output.

    cacophony555
    Participant
    Post count: 126

    [quote=84717]Thanks you, but when I scrap the rom folder, I get out the XML file but I do not have all my games, I’ve only games that have been scraped (by GameDB I think) …
    [/quote]

    Hard to say without more detail, but it sounds like you might be looking at the wrong xml or something. Based on your command above the script simply looks for all the files in /home/pi/RetroPie/roms/snes directory that have an smc extension and writes an output xml with all those files.

    patrick500
    Participant
    Post count: 20

    For my part, I have tested the 3 following solutions, here is my personal feedback :

    1. Scraper included in EmulationStation
    – Scraper freezes or blockes EmulationStation
    – Medium ration of detection (roms found in the database)
    + When rom is detected, good information provided (#of players, description…)
    + XML creation in automatic way (nothing to do)

    2. Scraper in commandline
    Video by Floob : https://www.youtube.com/watch?v=bg20m5pPjns
    – Medium ratio of roms detected
    – It needs sometimes to run several times the command line to increase the number of found pictures
    – Could take several hours for a result
    – In some cases, delay (4-10secondes) could appear between “the roms is closing” & “come back to EmulationStation” or “when EmulationStation is closing” and “time to come back to the prompt”.
    + not so complex to use – good video tuto :) !

    3. Scraper with Emumovies
    Video by Floob : https://www.youtube.com/watch?feature=player_embedded&v=ijag-o-bHy4
    – No information about game (description, number of players…)
    – Not all emulators are taken into account (just a few of them including Mame, FBA, Neogeo, a few Nintendo, and a few Sega ones…)
    + easy to use (scan of the rom folder from windows session)
    + easy to execute the command line to generate the gamelist.xml file (refer to the readme.txt/html)
    + good video tuto (Thanks to Floob!)
    + very good ration of roms detected (pictures found)

    For my part, I prefer the solution#3.
    I have used it for : Mame, FBA, NEOGEO (with FBA), SNES and Sega Genesis, even if at the end, only pictures are available (no description and no player info).
    But of course, it’s only my feeling regarding my configuration and usage.

    maouu
    Participant
    Post count: 4

    Thanks you very much for details !!!

    I had already watched these videos, it helped me a lot !!
    Actually I renamed my images the same name as my games and I get the pictures listed in the XML, but it lacks information !!! it’s a shame when you want to make a finished product !!

    It’s sad that the integrated EmulationStation scrapper or MameGenXML does not add games to the XML file, even if it does not repatriate all the info, it should nevertheless listed all roms.

    Thank you for all the info, I should be able to get out.

    I have built an Hyperspin Cab !! I know the system because it is quite similar to Retropie, and at that time it was already horrible to manage XML !!!

    Thanks you Patrick500 and Floob for your all amazing videos !! And sorry for my bad english, i’m French !! ;) Happy New Year

    maouu
    Participant
    Post count: 4

    I have a last question !!

    Can I use this kind of XML file for EmulatioStation ?!

    <menu>
    <game name=”3 Ninjas Kick Back”>
    <description>3 Ninjas Kick Back</description>
    <cloneof/>
    <crc>f2ee11f9</crc>
    <manufacturer>Sony Imagesoft</manufacturer>
    <year>1994</year>
    <genre>Fighter</genre>
    </game>
    </menu>

    Do you know if ES know this tags ?! Because maybe I can use my Hyperspin XML file… What do you think ?!

    If you want to compare an XML file to your game folder and finally to have just the games contained in your XML to target roms directory, or create an XML file from a game directory you can use HyperROM2XML (Windows only sorry)

    It’s a simple use software, and awfully good .. !!

    https://www.dropbox.com/s/11xplhf87kyt30h/HyperROM2XML_1.6_bin.zip?dl=0

    Thanks a lot.

Viewing 18 posts - 1 through 18 (of 18 total)
  • You must be logged in to reply to this topic.