Rom Scanning Tool for Windows

RetroArch Playlist Generator

Settings Menu:

What it does: Scan rom directories Match roms automatically by CRC, exact filename, partial filename or user input Download thumbs automatically from Retroarch repo if matching rom was found in database (if thumbnail directory is specified) Rename Files to proper names Scans hack files

Additional Options Auto-Fill Menu Items based on Rom Filenames (not finished, works with a handful of rom criteria) Recursive Folder Scanning Extension Filtering Remove Country Info from final playlist names Save Title Art as Box Art if Box Art is missing (useful for collections without box art)

Requests/To Do List: Find alternate way of pulling thumbnails for databases that do not yet have a matching thumbnail database (MAME, etc.)

Changelog: 8/19/16 - Added more game systems 6/22/16 - Minor bugfixes 6/21/16 - Remembers directory selections, option to prompt before overwriting thumbnails, added option to generate Advanced Launcher xml for Kodi, fixed some minor bugs (menu items, file renames). 6/3/16 - Fixed the MD5 and name search algorithm, added new options for scanning hacked roms, renaming files 5/31/16 - Better search algorithms, cleaned up gui, new options 5/27/16 - Added partial name searches, scanning methods, better checking algorithms 5/23/16 - Recursive Scan option, MD5 hash matching

Link: REMOVED LINK NOTE: If you’ve used earlier versions of this tool, please delete the settings.ini file before running.

Notice: This tool is growing increasingly complex. There will be bugs, and things will be broken. I’m not responsible for any problems that may occur, or lost data.

5/26/17 - Removed link, as the dat files my program referenced have been removed from the online database location https://github.com/libretro/libretro-database/tree/master/dat/[SYSTEMNAME].dat, and doesn’t look like they’re coming back.

1 Like

That’s great that it will hit the database and try to match up with the CRC. The other tools/scripts I know of totally bypass the databases, which cuts out thumbnails/boxarts/etc

That’s the reason I wrote my own. Currently the file name must match the names in the database for the Info/Thumbs to generate, but I may add a search/file renaming function for only partial matches.

Seems pretty good so far, just used it to add some romhacks to my nes playlist. I did have to change some filenames though to get boxart when I didn’t need to do that before, so being able to match it just from the CRC and not the filename, like Retroarch’s scanning can, would make it pretty much perfect.

I added hash checking, so only if the hashes do not match, will the tool fall back to checking filenames.

This needs to be added to the project. Not adding a ROM because it doesn’t match some database is insane, unless there’s a torrent somewhere to all the ROMs in that database. There also seems to be a discrepancy between Retroarch and Lakka, as when I attempt to add ROMs in Retroarch it doesn’t, but adding the exact same ROMs in Lakka works fine. Maybe your script was added to Lakka but not Retroarch.

[edit] I think the reason the ROMs were added in my arcade cabinet is because it wasn’t online and couldn’t access the “database”, but testing it on my workstation failed because it could access it. The irony. :slight_smile:

So I tried using it to scan my arcade roms, and when I moved over to the newly created playlist in Retroarch it crashed immediately. Other than this though, it’s been working great and pretty much fixes the few issues I had with Retroarch’s built-in scanning. I do have one feature suggestion though, and it’s that if a ROM’s hashes or name doesn’t match the database, to bring up a list of suggestions to rename the file to if a partial name match can be found.

Thank you very much for all the work you’ve been putting into this

[QUOTE=kevinfishburne;39715]This needs to be added to the project. Not adding a ROM because it doesn’t match some database is insane, unless there’s a torrent somewhere to all the ROMs in that database. There also seems to be a discrepancy between Retroarch and Lakka, as when I attempt to add ROMs in Retroarch it doesn’t, but adding the exact same ROMs in Lakka works fine. Maybe your script was added to Lakka but not Retroarch.

[edit] I think the reason the ROMs were added in my arcade cabinet is because it wasn’t online and couldn’t access the “database”, but testing it on my workstation failed because it could access it. The irony. :)[/QUOTE]

the rom database checking is something really important, not only for retroarch, but for all the emulation scene, dude. try finding some basic tutorials over the internet on how to use no-intro dats, romulus, clrmamepro and etc. there’s an ocean of garbage (bad dumps, infinite hacks, alternate patches etc) floating around the rom scene. these databases are a good compass to sail through it.

what’s insane is having emulator that DOESN’T include no-intro database funcionality to their codes/GUI;

btw, thanks @RandomRAUser, your software is amazing. it’s working really tight. I totally agree: the mighty devs should keep an eye on it

[QUOTE=Harpuia;39718]So I tried using it to scan my arcade roms, and when I moved over to the newly created playlist in Retroarch it crashed immediately. Other than this though, it’s been working great and pretty much fixes the few issues I had with Retroarch’s built-in scanning. I do have one feature suggestion though, and it’s that if a ROM’s hashes or name doesn’t match the database, to bring up a list of suggestions to rename the file to if a partial name match can be found.

Thank you very much for all the work you’ve been putting into this[/QUOTE]

Suggestions on rom titles is something that I know should eventually be programmed, and I’ll try to get to it sometime soon, but it does take some time to implement.

What arcade system/core/and the name of a few rom files are you scanning that crashes retroarch? I know some RA databases don’t use crc’s, so I’ll have to do some testing.

[QUOTE=RandomRAUser;39752]Suggestions on rom titles is something that I know should eventually be programmed, and I’ll try to get to it sometime soon, but it does take some time to implement.

What arcade system/core/and the name of a few rom files are you scanning that crashes retroarch? I know some RA databases don’t use crc’s, so I’ll have to do some testing.[/QUOTE]

I selected “FB Alpha - Arcade Games” for the rom system in the scanning tool, and I have both the older FBA core and the SVN build, as some games work better on one or the other. I’ll name some of the roms in my arcade games folder:

19XX.zip batrider.zip batsugun.zip darius.zip nemesis.zip ket.zip mslug.zip s1945.zip s1945ii.zip sfii3.zip viewpoin.zip guwange.zip

These games and most of the others show up just fine in the normal RA scanning

[QUOTE=Harpuia;39755]I selected “FB Alpha - Arcade Games” for the rom system in the scanning tool, and I have both the older FBA core and the SVN build, as some games work better on one or the other. I’ll name some of the roms in my arcade games folder:

19XX.zip batrider.zip batsugun.zip darius.zip nemesis.zip ket.zip mslug.zip s1945.zip s1945ii.zip sfii3.zip viewpoin.zip guwange.zip

These games and most of the others show up just fine in the normal RA scanning[/QUOTE]

Thanks, I’ve inspected the database and will have to clean up my code and hash checking algorithms to fix this. I should hopefully have a new build up within the next few days.

Actually, sfiii3 does not show up in the RA scanning, I forgot to mention that.

Why does this not have just a regular ‘Nintendo - Nintendo DS’ in the system box?

Because the Retoarch Database does not have one. You probably need to choose Nintendo DS Decrypted.

[QUOTE=Harpuia;39755]I selected “FB Alpha - Arcade Games” for the rom system in the scanning tool, and I have both the older FBA core and the SVN build, as some games work better on one or the other. I’ll name some of the roms in my arcade games folder:

19XX.zip batrider.zip batsugun.zip darius.zip nemesis.zip ket.zip mslug.zip s1945.zip s1945ii.zip sfii3.zip viewpoin.zip guwange.zip

These games and most of the others show up just fine in the normal RA scanning[/QUOTE] I’ve updated my tool, these games should (hopefully) scan correctly now.

Just tried the updated version and it scanned all of my arcade roms without a problem. Great work!

Edit: The name suggestion feature is a really nice addition. However, I think it’d be really handy to be able to enter a name for a game to show up as in the playlist if the hashes or name doesn’t match the database.

Edit #2: The latest version doesn’t seem to be pulling any art for the following arcade games, despite them being matched in the database:

ddonpach.zip bgaregga.zip sfiii3.zip sonicwi2.zip

[QUOTE=Harpuia;39863]Just tried the updated version and it scanned all of my arcade roms without a problem. Great work!

Edit: The name suggestion feature is a really nice addition. However, I think it’d be really handy to be able to enter a name for a game to show up as in the playlist if the hashes or name doesn’t match the database.

Edit #2: The latest version doesn’t seem to be pulling any art for the following arcade games, despite them being matched in the database:

ddonpach.zip bgaregga.zip sfiii3.zip sonicwi2.zip[/QUOTE]

I should have all this fixed within a couple days. Thanks for the feedback :slight_smile:

It’s listing The Legend of Zelda - The Minish Cap as Legends of Wrestling II. lol

I’ll be uploading a new version of my tool in a day or so that should fix the issues. What is the actual filename you are scanning and the database you chose to search?

Legend of Zelda, The - The Minish Cap (USA).gba

Nintendo - Game Boy Advance