Jump to content
LaunchBox Community Forums

ROM Import & Management Guide: Retrofrogg Method (v2 - updated simpler method)


Recommended Posts

                        image.thumb.png.f04ddc78659f81139393eafd0b98c404.png

Version 2: October 2024; updated and simpler method

Introduction

This guide outlines what I think is the best way to import ROMs into Launchbox, from start to finish. This is version 2 of this guide; I have left version 1 in place here:

https://forums.launchbox-app.com/topic/70754-the-best-method-for-importing-roms-retrofrogg-method-a-guide/

A lot of the focus on version 1 of this guide was around making sure each region's release of a game had the correct artwork, with no exceptions. That took a bit of work, one reason being that you have to account for roms that have dual region (e.g. "USA, Japan"). Those roms effectively had to be imported twice under separate platforms for each region - otherwise you couldn't have the correct artwork showing for both the USA and Japan regions. So any given platform would tend to be split into 3 platforms for USA, Japan and Europe regions.

I would still recommend version 1 of this guide if that's what you want. What I have found however is that it's a lot of extra work for a relatively small number of roms. There are a few small changes in version 2 of this guide, one being that we will sacrifice having the correct artwork for both regions of a dual-region rom. This makes a number of things a bit easier, is a lot less work all round and makes things much easier to keep up to date.

Having said that, the 7 guiding principles followed in this guide remain similar:

  • To have a full ROM set (based on a DAT) for the platform with all ROMs present and correctly named
  • To have the game count shown for a platform in Launchbox be the same as the ROM count for the platform in the ROM manager
  • To have a consistent method and system across platforms for importing and organising ROMs
  • To have the regions separated out in Launchbox and, as far as possible, to have the correct metadata, artwork and manuals for each region
  • To minimise the amount of time required to setup and maintain the collection
  • To be able to update the rom sets/platforms easily
  • To use auto-playlists as a rule, so that playlists will update automatically                                                                      

STEP 1 - obtain the up-to-date DAT file for the platform being added, and load it into a ROM manager

Rationale: How do we know if we have a full set of games for any given platform? That all games are the correct and most up-to-date versions, fully working and correctly named?

The answer is to use a DAT file and a ROM manager. Before we even download any rom sets for a given platform, we need an official list of games to compare it to. These lists come in the form of DAT files.

DAT files tend to contain all released games for a platform, for all regions. They also tend to contain unlicensed games, beta versions, pirate releases and the like. Aftermarket games (games made after the life cycle of the platform) are also included, though these tend to be listed in a separate DAT (for No-Intro DATs at least).

There are 2 main groups that work to create and update these DAT files: No-Intro for cartridge-based platforms, and Redump for CD-based platforms. There is also MAME for arcade games, and TOSEC for older computers. 

A ROM manager will read the DAT, display the contents and allow you to compare that with your collection of rom files on your hard drive. If you have many DATs it can keep them organised. It will show you how many games you are missing and any fixes that are required.  

Method: Various ROM managers are available; I've found RomVault the best. It remains in active development and has a Discord channel where there's good support and dev input. 

In addition, it has a component called DatVault, which can automatically scrape the above DAT file sources, import to RomVault the ones you want, and update any that have been updated. You can instead manage the DATs manually, but this is a much easier option (though you have to be a Patron for this).

image.thumb.png.b90dc7bc2710d869d20f14ef14ae2841.png

STEP 2 - obtain the full rom set for the platform being added

Rationale: If you're going to do something, you may as well do it right. Obtaining the full ROM set ensures that you have all of the games for that platform (unless any are MIA) - generally including released games, unlicensed games, prototype and many other kinds of ROMs. If you're the collector type then this is the way to go. Note that hacks are not included; if you want to add these, you can do so separately at the end.

Method: I won't list ROM sources here, but ensure that you obtain the most up-to-date full ROM set for the platform and according to the DAT file you're using. It's worth noting that there are alternatives to using a DAT file which may on occasion be superior. One notable example is for the DOS platform, where the eXoDOS curated collection is in my opinion the way to go as it's pretty complete, contains lots of media and extras and has all game pre-configured to work properly. It has a shaders option too. The Gamebase collections are worth looking into also, but they're set up to run in the Gamebase app and not Launchbox.

Anyway, once you have the ROM set and have placed it in the folder where it is going to live, leave it there rather than moving ROMs into any sub-folders. The ROM manager will need to have the ROM set all in the same folder, and Launchbox won't work if you move ROMs around after importing them.

STEP 3 - scan the ROM directory in the ROM manager using the DAT

Rationale: This will help ensure that all ROMs are present and correct. In RomVault, if all ROMs are present in the folder and correct, then the icon for that platform will be green.

Method: This involves telling the ROM manager where the roms are stored for that platform (via the "Set Dir Mappings" option, and then running a scan.

Below you can see my entry for the NES in the RomVault DAT tree (a No-Intro DAT), showing that I have all 4452 of the correct roms:

image.thumb.png.4f7049c20f137b3daa2e5b1a024b61d9.png

STEP 4 - import the ROM set into Launchbox

Rationale: Now that we have the full ROM set (don't worry if it's not complete, as it can be updated later), we are going to import it into Launchbox. Version 1 of this guide required you to separate the set out into regions first, but this is not necessary now.

MethodIn the Launchbox Tools menu, go to "Import" and then "Rom Files".

Screenshot2024-10-06211219.thumb.png.1d15a83872f3a204fa035faf40c55153.png

Then select the folder where your ROM files live. You then have to choose name of the platform you're importing games for. Use the drop-down list to select it. Note that you can change the name of the platform and type something in yourself, but then you have to select the platform to "scrape as" in the second drop-down that will appear.

On the next screen you choose the emulator that you'd like to use for the platform. I tend to use RetroArch for most console type platforms. On the next screen, be sure to select "use the files in their current location". Then make sure the "search for game information" box is checked, and then choose the image types you want downloaded for the games. This will depend on the platform you're importing, but for console games (for example) I like to have the following set of data:

  • All metadata
  • Game video (scraped via Emumovies)
  • Game manual (scraped via Emumovies, or found elsewhere)
  • All original box art (Box - Front, Box - Back and Box - Spine)
  • A static 3D box image (Box - 3D)
  • The Cart - Front image
  • Clear Logo
  • Fanart - Background (just 1 or 2 of these)
  • About 3 or 4 screenshots, including the Game Title screenshot
  • The game Banner (though I often make my own)

You can set an image download limit per image group. The image groups are listed in the same window. For example, you could set the number of Screenshot - Gameplay images to a maximum of 3.

On the custom options window, make sure it looks like this:

Screenshot2024-10-06212836.thumb.png.2e726df1599757933f131fd7d8cfd458.png

Because we want to import the full ROM set, we tick "force importing duplicate games". Because we want to see each game version separately, in particular the different regions, we do not select "combine ROMs with matching titles into a single game". Finally, on the last window "Ready to Import", we click "Finish". Launchbox will now import all ROMs for that platform and will scan for metadata and any images/videos selected. Once completed, confirm that the number of ROMs for that platform is the same as the number in your ROM manager (it should be). You can have "Show Counts" selected in the "Filters Side Bar" options, which automatically gives totals for every platform, playlist and platform category.

Note that before doing this, it might be worth checking the region priorities for image downloads (though I'm not entirely sure how this works). It's found under Tools/Options/Region priorities.

STEP 5 - organise the ROM set in Launchbox

Rationale: Because some ROM sets can be quite large, it is useful to have some playlists in order to categorise the set, make browsing the games a more pleasant experience and to make editing subsets (e.g. regions) easier. I tend to do this before checking over any artwork etc. 

Method: I will show you my Nintendo Entertainment System layout in Launchbox as an example:

Screenshot2024-10-06215621.thumb.png.15ae7b7a0f00d7476f27d9e5cf3c282f.png

The first thing to mention is that this is using the "Platform Category" view in the left-sided pane. This allows you to group your platforms under manufacturer (i.e. "Nintendo" in the example here, which is a platform category), and going up a further level, "Consoles" which is again a platform category. Note that you can use icons for all categories, platforms and playlists. These can be customised if you want. You can see the game totals on the right. The "4156" seen here is the same as the rom count in my ROM manager.

The items in the rectangular box relate to the Nintendo Entertainment System set we have just imported. The first thing to do is to tell Launchbox to make some auto-playlists. Right-click on the platform and select "Auto-Generate Child Playlists". I tend to create "Favourites" and "Regions", putting the regions onto their own sub-category to keep things tidy.

Next, I like to have a playlist for "All Released Games". You can do this by creating your own auto-playlist and setting the platform as Nintendo Entertainment System, and the release type as "Released". This weeds out all demos, betas, unlicened games etc, and in the example above narrows the game count from 4156 to 2594. Make sure that the "parent" for the playlist is correct.

I then like to have a playlist which I title "Main Collection (USA)", which is the main playlist I would tend to browse when looking for games to play. It further narrows down the game count to include only USA (North America) region games. I then try and remove duplicates as far as possible, though Launchbox is still missing the auto-playlist functionality to do this properly. My playlist rule for "Main Collection" looks like this:

Screenshot2024-10-06215945.thumb.png.22334d82a89c4fb8dc491f37a5b2bc16.png

Platform is again NES and release type is Released. Note that there are 2 entries for region, containing both "North America" and "World", as world region games were released in North America too. I then try and weed out duplicates as far as possible, though you can currently only tell Launchbox to remove 2 keywords from the version field or the application/rom path field. I chose "virtual" (as this removes duplicate copies that were released digitaly) and "collection" (as this removes duplicate copies that were released as part of some collection). 

I then make a few auto-playlists for "Release Type" (options being Beta, Demo, Multi-Cart, Pirate, Program, Prototype, Re-Release, Released, Sample, Unlicensed and Unreleased). These are all based on the "release type" field in Launchbox. I wish Launchbox could auto-create these like it can do for regions. I've added a feature request for this; please vote! I only tend to add release type playlists for larger sets where most of these fields will be populated.

This brings us to one potential issue. On import, Launchbox does not always seem to tag the release type field properly. For a start, sometimes the field is not populated at all. I therefore add a "No Release Type" auto-playlist which picks up all these games ("Release Type"  "Is Empty"). I then view this list in Launchbox's List View, organise by "Version" and bulk edit to add in the correct release types. The incorrectly assigned release types will be picked up on a final check as described below.

Finally, for larger sets I might add a few last auto-playlists for specific collections within the set, grouped under "Collection" as seen above. What these are will depend on that is contained within the set. This step isn't really necessary. I then create just one manual playlist - Launch Titles. This is relatively easy to do as the number is usually small, the roms will unlikely be updated and I find it a nice thing to have.

I used to add auto-playlists for genre and sometimes publisher, but I have come to find that's it's actually much simpler and cleaner to use the filter function to narrow down this way in real time, rather than cluttering with too many auto-playlists which can take time to populate:

Screenshot2024-10-06231315.thumb.png.447d081905558108d01939bee52423dc.png

Looking at the items in the original screenshot above which are outside the rectangular box: first you will see "Nintendo Famicom". As you'll be aware, this is simply what the NES was called in it's home country of Japan, and is essentially the same console though with a different design and some small hardware differences. Here this is just an auto-playlist, set to show all games released in Japan (and of course World). 

It is not entirely necessary to separate it out this way - you could just go into the regions playlist and select Japan. I do however tend to separate out the console this way if there are any significant differences between regions, including in design. I just think the layout is more complete this way and I like to use Viking's platform videos for the different regions.

Below the rectangular box you will see "Nintendo NES (Aftermarket)". As mentioned earlier, aftermarket games are now cleaved out into separate DAT files, and so should be imported into Launchbox as a separte platform (though still scraped as NES). For hacks, I haven't found DATs for these so just download the ROMs manually and add manually as a new platform, before grouping it under NES.

In terms of ordering the platforms (and playlists) in this list, I set the "Sort Title" as the release year for that platform. This means that the platforms (and playlists) are automatically sorted with the oldest at the top and the newest at the bottom. I'd like to see more details in the platform tree (such as the ability to display release year), though this is again a feature request of mine.

STEP 6 - check all metadata and media is present and correct

Now for the slightly more time-consuming "grooming" part.

First, I select the root platform and again view the games in "List View", organising by version. I then quickly scroll through the list, checking that the "Release Type" is correct based on the "Version" field. Here is the very start of the NES set for example:

Screenshot2024-10-06221725.thumb.png.49e9112ab116eef2e02dae0508efe9b8.png

You can see that the release type tagged in the Version field matches Launchbox's Release Type field (e.g. Pirate, Unlicensed, etc). Once this has been completed, you know that the auto-playlists will be correct.

Second, I return to "Images View" and go through each game individually to make sure that the correct media items, manual and video are present (as per the list above in step 4). A quick way to do this is to go to "Options", then "Screenshot Priorities" and select all the image types you want there - they'll then appear in the image carousel in the game details pane:

Screenshot2024-10-06223131.thumb.png.daf96b65ad4aadec7bb09f433a2be103.png

Note that this is using my own custom theme for the game details pane (there are more metadata fields if you scroll down). I have the clear logo showing at the top (the banner shows on a separate stretched LCD marquee monitor which sits on the wall above the main monitor), the video and images in the game carousel, and the manual linked below that (you can also have Launchbox show badges next to the games that have manuals).

If the manual and video aren't present (and you had them selected in the Emumovies section of the import wizard), then they're probably not available on Emumovies and you'd have to find them elsewhere (if you want them). However, it would first be worth doing a bulk edit by going to Tools/Download/Update Metadata and Media for Selected Games, and choosing the manual and video in the Emumovies list, just in case they were somehow missed.

Note also that there are image packs on the Launchbox forums (as well as on other forums) which you can download and then add manually. I tend to find that the best versions are already in the Launchbox Games Database, though it's worth being mindful of this just in case.

The rotatable model 3D box is worth a special mention here. It's a relatively new feature and still has a few glitches to be ironed out and improvements to be made. It is however (if said improvements could be added) the gold standard for video game box artwork; it can literally be the actual box that you can rotate, zoom in on and view from any angle. The main issue at present is that only one spine image is supported, whereas to get a complete box it would need to support all 4 spine images. I'm also getting stuttering when rotating it but that's for a different forum.

STEP 7 - check the metadata and media is correct for the platform

I then check that the metadata and media (as shown in the game details pane) is correct for the platform itself. I like to use the Viking platform video as it's a clear and clutter-free video showing the console, controllers, sometimes an accessory and a TV or monitor running one of the games. I check that the clear logo and banner are present. I like to add a few extras manually such as the original console box (front and back) as well as more images of the console, including the insides (The Vanamo Online Game Museum is cool for this - https://commons.wikimedia.org/wiki/User:Evan-Amos).

STEP 8 - configure the emulator and controls

After the import and organisation process is complete, it's time to set up the emulator and make sure the controls work with your controller. For most supported platforms I use RetroArch, though I use MAME for Arcade. I like to use shaders to make the game look more like it should on the TVs or screens of the time (with RetroArch I'm currently a fan of CRT-Super; CRT-Mathias is interesting also though perhaps a little too heavy on the effects). I used to use the HSM Megabezels, which can add a CRT bezel (and more) around the game screen and show reflections of the game on the bezel in real-time; this is very cool though ultimately I found it a little distracting from the game itself (and it also meant the game screen itself was a little smaller). Setting up the emulators is outwith the scope of this guide.

STEP 9 - keeping your rom sets up to date

You can now relax and enjoy the fruits of your labour. Browse your game collection, get lost in nostalgia, explore the box art, check out the manuals, look at some of the game videos. Marvel at how you've managed to tame a 4100+ rom collection into a logically organised and aesthetically pleasing hierarchy of playlists in Launchbox. Hell, you ould even play (!) some of the games.  

Some people may wish to import everything as per the above, and then leave it. There are however often updates to the DAT files/ROM sets. These might be name changes, changes in categorisation, removal of defunct ROMs and additions of new ones. Given that the update process is relatively easy due to the way we've organised things above, I think it's worth keeping the set complete and up to date.

The first step in this process is updating your DAT in your ROM manager. If you use RomVault as I suggest, you can use the added DATVault feature which will automatically update all DATs you have in the app. Otherwise you can update the DATs manually. ROMVault will then show you which roms you have for the set any whether you are missing any (all nicely colour-coded). You can then get it to show only the ones you're missing, then download those into your folder, and scan the folder again. RomVault should pick up the new ones and once again show a complete set. You may need to run the "fix" function if there are minor changes to existing roms. You can find and download the missing ROMs manually, or you can get RomVault to create a "fixdat" file which is a list of the ones you're missing. Another user can then use your fixdat to quickly create a zip for you with the missing files, saving you time searching and downloading individual files. Alternatively you can just download the entire latest copy of the ROM set again, and replace the old one before running the scan in RomVault.

Once your set in RomVault has been updated (ideally complete with the platform listed in green), return to Launchbox. Select the platform in question, then go to Options/Tools/Scan/For Removed ROMS in Currently Selected Platform. If it finds any, let it remove then. Then go to Options/Tools/Scan/For Added ROMs in Currently Selected Platform. It should pick up any new ones and import then into Launchbox. You can set it to scrape metadata and images as before. All your auto-playlists will automatically update with these new ROMs. How often you go through this process if up to you. Remember, this will only work if you left the entire ROM set in the same folder, as outlined earlier.

 
 
 

I hope this is helpful. The method is a lot simpler and quicker than the method outlined in version 1 of this guide. Once you get used to it, it's easier than it seems.

Ideally Jason and Gordon would get together to combine their powers and integrate rom management functionality into Launchbox. I hear a plugin from Gordon is in the works but progress has been slow.

Let me know of any suggestions for improvement.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Edited by Retrofrogg
  • Like 2
Link to comment
Share on other sites

  • Retrofrogg changed the title to ROM Import & Management Guide: Retrofrogg Method (v2 - updated simpler method)

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