====== How to create MAME sets with RomVault ====== RomVault will allow you to build, repair, or upgrade a MAME collection in a few easy steps: - Set up RomVault for the first time - Add MAME DATs - Configure directory settings - Scan your ROM sets - Fix your ROM sets - Keep your ROM sets up-to-date \\ ===== Set up RomVault for the first time ===== If you do not have RomVault installed yet, then the first step is to set it up and assign your DatRoot, RomRoot, and ToSort directories. Review the wiki page for [[install_and_setup|Windows]] or [[linux_setup|Linux]] setup instructions to get started. \\ ===== Add MAME Arcade DATs ===== Once you have RomVault initially set up its time to add MAME DATs. You can either provide your own or download them directly from DatVault, which is RomVault's built in DAT downloader and updater. If you are interested in supporting RomVault development, Patreon supporters can access hundreds of DATs with [[what_is_datvault|DatVault]]. MAME DATs are available for everyone. - Open DatVault by right clicking the **Update DATs** button or selecting **Update DATs > DATVault Update** from the top menu - Enable the **Show Available** and **Show Got** status filters in the left panel - Expand the **Emulators** group - Select **MAME** if you want DATs for the latest stable build or **MAME-Daily** for the latest development build - Decide which MAME Arcade DATs you want to use for ROMs and CHDs. For this guide we will use **MAME ROMs (listxml)** since it provides flexibility to change merge settings and allows ROMs and CHDs to be stored together which is the prevailing MAME recommendation. Refer to the table below for additional information and use cases for each DAT. ^ DAT ^ ROMs ^ CHDs ^ Description ^ | MAME CHDs (merged) | | X | Contains only CHDs in merged format. Use if you prefer to keep CHDs in a separate directory from ROMs. | | MAME ROMs (listxml) | X | X | Contains ROMs and CHDs. Use if you prefer to keep CHDs in the same directory as ROMs. You can choose your merge settings later with a directory rule. This DAT is exported directly from the MAME executable. | | MAME ROMs (merged) | X | | Contains only ROMs in merged format | | MAME ROMs (non-merged) | X | | Contains only ROMs in non-merged format | | MAME ROMs (split) | X | | Contains only ROMs in split format | - Select the checkbox in the row for the **MAME ROMs (listxml)** DAT - Click the **Add Selected** button \\ {{:screens:mame:mame-datvault-download.png?nolink&800:|}} - Choose a location in your DatRoot to store the DAT. You can use DatVault's default directories or choose your own. - Review the DAT path in the preview box, and once it looks good click the **OK** button \\ {{:screens:mame:mame-datvault-add.png?nolink&500:|}} - The DAT should download and the row will be highlighted green. If you deselected the automatic download option when choosing a DAT location, then click the **Update Selected** button to download. - Close the DatVault window and RomVault will automatically refresh your DATs \\ ===== Configure directory settings ===== Once you have the MAME DAT downloaded and loaded into RomVault it will appear in the tree panel. The next step is to review and update directory settings for the MAME DAT. In this example we will assume that you want to store MAME in **//merged//** mode. RomVault's directory settings are inherited from parent directories, and its likely your RomRoot is configured to use **//nothing//** as the merge type. This means we will need to create a directory rule for MAME: - Right click the MAME directory in the tree - Select **Set Dir Settings** from the context menu - Choose a directory location for your MAME sets if you plan to store them in a location outside of everything else. For example, assume you have your RomRoot assigned to ''X:\Games'' but you want MAME games to be next to the MAME exe located at ''C:\Emulators\MAME\roms''. In this case you would want to update the Directory Location accordingly for the MAME sets. - Choose the following DAT Rule Settings * Archive Type: **Zip** (Its best to store MAME sets in .zip format) * Merge Type: **Merged** (See the dedicated documentation for more details about [[merge_types|merge types]]) * ROM/CHD Filter: **Roms & CHDs** (This ensures both ROMs and CHDs from the DAT are included) * Header Type: **Optional** (Not relevant for MAME, so just leave this as Optional) - Click the **Apply** button to save the rule - Close the directory rule window and the DAT will be reprocessed automatically {{:screens:mame:mame-dirsetting.png?nolink&750:|}} \\ ===== Scan your ROM sets ===== Now that you have your MAME DAT setup correctly, its time to scan and fix your MAME sets. - Select **MAME** in the tree - Select your **ToSort** directory in the tree to consider additional files for fixing MAME sets. For example, you could place a pack of MAME update ROMs in your ToSort directory - Click the **Scan ROMs** button. RomVault will decompress and hash all archives to ensure they are good and match the DAT contents. This may take awhile, but initial hashing is a one-time process. RomVault remembers file modified timestamps and skips over any files that have not been modified. This means future scans will be very fast. \\ {{:screens:mame:mame-scan.png?nolink&800:|}} \\ ===== Fix your ROM sets ===== After the scanning process is complete, its time to fix your MAME ROM sets. - Click the **Find Fixes** button. RomVault will compare the information in the DAT with the files you have scanned. Only directories that are selected in the tree are considered in this process. - Review the fixes RomVault determined are necessary. Refer to the [[color_key|color key]] to learn more about each ROM status and fix action. \\ {{:screens:mame:mame-find-fixes.png?nolink&800:|}} - Click the **Fix ROMs** button. RomVault will start performing fixes by moving files, repacking archives, and removing unnecessary files. - When the process is complete, click the **Close** button in the status log window. \\ {{:screens:mame:mame-fix-roms.png?nolink&800:|}} Congratulations! You should now have a clean MAME Arcade set that matches the DAT. RomVault's fixing process does NOT delete any unique files. All unnecessary files are moved to your primary ToSort directory. You can keep these files in case they are needed for fixing other sets. Alternately, if you choose to delete the unneeded files manually, be sure to rescan your ToSort directory so RomVault knows what files you actually have. \\ ===== Keep your ROM sets up-to-date ===== Chances are you will periodically update your MAME ROM set whenever there is a new version available. You can do this in a few simple steps: - Open DATVault and click **Update Selected** to download the new MAME DAT - Close DATVault and the DAT will automatically be updated and processed - Add an update pack of ROMs and CHDs to your ToSort directory - Select only the ToSort directory in the tree. Since our old MAME set is already scanned there is no reason to scan it again. - Click the **Scan ROMs** button and the new files in your ToSort directory will be hashed - When scanning is complete, keep the ToSort directory selected, and also select the MAME directory - Click the **Find Fixes** button - After fixes are found and reviewed, click the **Fix ROMs** button That's it! You just successfully upgraded your MAME ROM set.