v1.5


Sections

Introduction


Out of all of the tutorial that I have written, this must be the most useful. Strangely enough it is also the first that doesn't deal with an emulator.

CLRMame Pro is one of the most useful utilities available to the emulation scene. I started using it about November 2000 and now I swear by it. Once I had it sorted I saved myself about 300MB of hard disk space and was completely surprised just how mucked up my rom files were.

Nearly all emulators use rom files to store their games. What CLRMame Pro does is to check all of the individual rom files against a data file to make sure that they have the right information in them. Data files are available for nearly all arcade emulators and also some console games too.

A word of warning though, because this program moves, adds, deletes and renames files it is best to have a backup of any files that you check because the author of CLRMame and myself take no responsibility for any lost files.

Update! This tutorial has now been updated to only deal with version 3 or above of this great utility.

Top

Downloading CLRMame


You can get CLRMame Pro from its homepage.

Top

Installing CLRMame


If you haven't done so already you need to get yourself a copy of Winzip. Just click the link to download it!

Once you've installed Winzip, right click over the CMPro zip file and select "extract to ...". In the dialog box that appears use the directory "C:\CMPro" and then press the "Extract" button.

If you want to make life a little easier you can download the "EXE" version which when clicked will automatically install itself. This way uses an installer which you can specify a path for you files. You will need to remember this path in order to install downloaded data files. Also you can access CLRMame from your start menu.

You can also create a shortcut on your desktop by simply right clicking over the CMPro icon and selecting Send To and then desktop in the menu that appears.

Top

Using The Profiler


Firstly open the CMPro icon and you will see that immediately the profiler window opens. Profiles are the most important part of CLRMame as they allow you to have several different datafiles for emulators on you system each with their own settings. Heres the first thing you see..

Profiler Screen

This tutorial will cover two possible setups in CLRMame, one that uses a data file to generate a rom list and one that uses an executable file to generate a rom list.


Setting up a "DATFILE"

A data file (or datfile) contains all of the information of the roms required by an emulator. In the rom files that you download from the net there will be several rom images which need to have the correct name, size, and CRC (a CRC is a check to make sure a file is complete). Any problems in these criteria can cause a game to fail to run. You can download datfiles from www.logiqx.com or from the CLRMame homepage.

Once you have the datfile you want extract the zip to the C:\CMPro\datfiles directory. If the datfile information doesn't appear in the profiler screen then press the refresh list button.

If you are using v2.5 or up then you'll see a folder icon appear which says New Dat File. Press the + next to the folder and you'll see you dat file. Select it and press Load/Update and this window will appear...

Pressing Update will let you use information that you've already set up for another dat file. This can be useful if you are just updating to a newer version of the dat file.

Default will let you create new information for the dat file in the settings section of the main menu. See below for details.

Default.cmp will load settings from this file which you can have a standard set of settings in.


Setting up an "EXE" file

This is a little harder than a datfile. Before you can do this you need to have one of the command line versions of Mame, Raine, Pinmame or Mess as these are the only executables supported.

What CLRMame does is use the listing options of these emulators to build its own datfile. This can be useful if you have the latest version of one of the three emulators and if no datfile is availble.

In the bottom of the profiler screen ther is a section that says "Use and emulator binary to create a datfile" this is where all the action takes place.

The first thing to do is to select the executable you want to use to create the datfile. For arguments sake lets set up the best emulator around Mame! Press the little folder button next to the filename box and a small file window will open. Find the Mame "exe" file (normally in the C:\Mame\ directory), highlight it and press OK.

In the next line you can type in a name for you new profile. Type Mame for now.

The bottom line lets you set the parser engine that CLRMame will use to create the datfile. As I've said above there are four supported types and you need to use Mame on this occasion.

The last thing to do is press the Add button and you will see that next to the profile name there is a small picture of a computer this is used to differentiate this profile from one generated from a datfile. You should see a screen like this...

The last thing to do is press the Load/Update button and you will see the following window as CLRMame sets up the datfile...

Receiving Data

Once CLRMame has finished extracting the data it will ask you some questions regarding the data and some of the games its found. Press yes to all questions and finally you will see the CLRMame main menu.

Main Menu


Setting up your new profile

Press the settings button as you need to tell CLRMame where the roms are that it needs to check. You will now see this window...

Settings Screen

To do this make sure that "ROM Paths" is selected and then you need to press the "Add" button in the paths section. A small file window will open where you can select the roms directory you need.

The other paths you can set up are samples (Needed by Mame), additional files , unneeded (lets you filter out file types using their extensions like *.txt) and sets.

If you are using a dat file for non rom files such as flyers or cabinet pictures for Mame you must follow a few pointers. Firstly it's best to leave the files in a single zip file e.g. flyers.zip or cabinets.zip. You will also need to set up the path for the zipped file under the ROM Paths tab.

This next part gives you an example of how to set up the paths for you profile. I'll use Mame as its one of the hardest to set up.

First you need to tell CLRMame where to find the Mame roms and samples (as Mame needs samples for certain games and they need to be checked also). In the ROM paths section press add and find your mame\roms directory. Now You will now need to change where it say "ROM Paths" to "Sample Paths", press add and find your Mame\Samples directory. Make sure both directories that you have set up have ticks next to them and now you can finally press OK.

You can also see there is a section called misc. options.

Zip Settings

This will open thi window...

The zip compe. level the amount of compression used by CLRMame when it compresses rom files (The higher the number, the better the compression but the slower it is).

The Cache option specifies the amount of workspace that can be use during compression (The higher the number, the quicker the compression).

The Additional Zip Flush option help stop problems during zipping files.

Export Datfile
Exports you new DATfile for use in Romcenter which is a similr program.
Set Default
Sets up the paths using you default.cmp file
Save as Def.
Uses your current setiings for the default.cmp file
Preserve Archive Date/Time
Keeps the original Date / Time information of the scanned files if they are changed.
Preserve File Date/Time
Keeps the original Date / Time information of the scanned files and the roms in the files if they are changed.
Make Backups To Folder
Allows CLRMame to backup any roms that it deletes or changes. If you use this option set the directory to C:\CMPro\Backup\.
Thread priority
Sets how much CPU time CLRMame can use, the higher the priority the faster CLRMame works.
Datfile Errors
Shows any problems in the list of roms as CLRMame generates it.

Press OK when you're done and you should go back to the start window.

Top

The Scanner


This is probably the most useful part of CLRMame as this is the section that actually checks your rom files to make sure they're OK.

This part of the tutorial will deal with Mame and will therefore require you to set up a Mame executable file or Mame datfile in the settings. Once set up click the scanner button and this window should appear...

Scanner Screen

As you can see from above there are alot of options to click. Here is a description of the options.

You want to scan
Sets
Groups of rom files that share files from a parent rom file.
Roms
An individual rom file that contains all the necessary roms it needs to run.
Samples
Sound samples used in certain games
You're Prefering
Non Merged Sets
Every rom file has all the roms it needs to run including sets.
Split Sets
All rom files are split into clones that share the roms from a parent rom file.
Merged Sets
All roms from sets are contained in one file.
Bad Dump Handling
Create Missing Creates "dummy" files with a CRC of 0 for missing bad rom dumps.
Hide Missing Hides missing 0 CRC roms
Show Missing Shows missing CRC roms
Show All
Shows 0 CRC roms whether they're missing or not.
Check / Fix
Missing
Checks for missing rom files or missing individual roms in a file.
Case
Check that the roms names are the right case.
Unneeded
Checks for unneeded rom files or unneeded files in a rom file.
Name
Checks that all of the roms and rom files are named correctly.
Size
Checks that all the roms in a file are the right size.
Checksums

Opens this window...

Selecting any of these buttons will let CLRMame check that all of the roms have the correct checksum. This verifies that they are 100% accurate for what you emulator expects.

Options
Ask Before Fixing
All this does is bring up a dialog box to ask whteher you want to fix a rom file.
Add/Show Statistics
Adds the statistics to the log file CLRMame generates on every scan.
Buttons
Scan
Does a complete scan of all selected files.
Fastscan
Only scans the incorrect files generated from a full scan.
Have List
Does a fast scan and outputs a file containing all of your rom sets.
Miss List
Does a fast scan but outputs a file containing all your missing rom sets.
Advanced

Opens this window...

Full Zip Integrity Check Checks the zip files for errors whilst scanning (Can be slow!).
Del. Useless ZipSubDir Removes directories from instide zipfiles if found.
Allow not separated BIOS Use this option if you want a copy of the BIOS roms in every one of their relevant zipfiles.
Move not renamed sets... Moves ant romsets that CMPro can't rename to the backup folder.
Add Description to have/miss Adds the rom description when creating the have/miss lists.
Hide scanner window Closes the main scanner window when running a scan.
Keep Scanner Output This will let the scanner show the last set of results when it is re-opened.
Use optimized ROMPath... Improves the scan speed.
CRC check marks inverted as bad This will show roms that have been hacked to make them look right as bad.
Deeper check for fixable files A better but slower scanner for use when you are trying to fix missing roms.
'Fix Missing' Scans all sets This is very slow scan as it will rescan every set each tim it finds a rom is missing just in case.
Use SysDefault paths for fix missing This creates new rom files in a specific directory to after finding missing roms.

 

Logfile
Opens a window so you can create log files whenever you use the scanner.
Systems

Opens this window...

This window lets you select a set of roms to scan dependant on the system that you choose. e.g. If you only want to scan the Neo-Geo games then only select Neo-Geo from the list.

The Auto-Detect SysDefPaths button will scan you rom folder and determine whether you have separated out your roms by system and set up paths for each system for use in the scanner.

Small square button on the bottom right.
Opens/Closes the error reporting window on the bottom of the scanner.

To do a complete scan of Mame roms then heres what you need to do.

Select sets, roms and samples in the "You want to scan" area. Select all of the options in the scan system box. Make sure all of the boxed are checked in the "Check" section but dont check any of the fix boxes yet. You need to decide now what kind of romsets you are using. If you have split sets (most common) then check that option. If you have downloaded merged sets then check that option. If you aren't sure then read the merger section before continuing.

If you happy then press the scan button and you should now see this box...

Scanning Window

As the scanner runs it is more than likely that you will see sets appearing in the results window...

Results

Next to the file name you will see either of two icons. The first one looks like a file with an X on it which signifies a missing rom file. The second one is just a red X which signifies that the rom file exists but there is a problem with it. If you click the small + it will show more details of the problem with file. Wait for the scanner to finish and a statistics window will appear like this...

Statistics Window

This window gives a summary of all the problems that you have with you rom files. As you can see I've nearly got the complete set and some of the roms Ihave aren't all perfect however the first time I ran CLRMame I had to download about 50 sets again because of certain errors, had loads of extra files and was generally a mess. After running fix on all options, merging all my files, splitting all my files and removing all the extra files I saved over 300MB of space. I'll go into merging and splitting later. But enough about me, lets look at some of the problems you might have.

Firstly to fix all of the "fixable" problems select the "case", "unneeded" and "name" fix check boxes and press the fastscan button. This will be quicker than the full scan and will correct alot of problems. Sometimes you might think that theres nothing happening but normally CLRMame is processing a large rom file.

Once done you will only be left with the really problematic rom files. You can find out what is wrong with these files but selecting / deselecting the check boxes in the check / fix section. As you do this the list in the results window will change to reflect your selection. You can also see which individual roms are wrong by pressing the "+" next to is name in the results window.

Realistically the only solution to any of the problems left in the list is to re-download the rom file. The rebuilder may sort out some problems and sometimes if it is a CRC32 problems there are small utlilties available to sort them out. Check out www.sys2064.com for these files.

Now as long as you don't change the profile in the profiler CLRMame will hold all the scanned information in the scanner so you can start downloading rom files and simply press the fastscan button to check / fix any new problems

If your brain hasn't exploded yet lets check out the rebuilder.

Top

The Rebuilder


The rebuilder is an advanced way to re-create rom files and find missing rom files without having to download them. It does it by using the CRC32 checksum which is unique to each rom rather than using the rom name which can be very different from file to file. From the main start window press the rebuilder button and you will see this screen...

Rebuilder Screen

What rebuilder does is take rom files from the source directory, sorts them out and save the new file into the destination directory. It will only do this to the romsets specified in the Rebuild System section (e.g. if NeoGeo is selected, only NeoGeo games will be rebuilt).

Heres a description of the options.

Folders
Source This is where you select the souce folder containg your roms
Destination This is where you want to put your roms
Use Add-Paths Lets you select more than one source folder for roms.
Scan Subfolders Scans any sub folders within the folders you select.
Use System Default Paths
Uses additional paths to put roms in such as if you keep your neogeo roms in a separate directory, CLRMame will put all of the rebuilt roms into that path.
Merge Options
No Merging
Any files created will have all of the roms it needs to run
Split sets
Any files created will have the roms it needs as either a parent or clone rom file.
Merge Sets
Any file created will have the parent an clone roms in it.
Options
Zip Files
Compress any new file.
Remove Rebuilt Sourcefiles
Will PERMANENTLY delete any rom files used to create the new files from the source directory.
Rebuild 0-CRCs
Rebuilds any rom files which have CLRMame created roms in it.
Advanced
Recompress Files
Recompresses the zipfile to the value set in the settings screen.
Ignore Filesize
Ignores the filesize of a rom when checking it. Best left NOT enabled
Ignore 'rebuildto'
Ignores the rebuidto command used in some dat files.
Separate BIOS Sets
Makes the default BIOS sets from roms found in game sets.
Create Log File
Creates a log file of all the action rebuilder takes.
System
This is where you select which roms you want to rebuild by which system they belong to e.g. Neo-Geo only

When I was sorting out my files I never used the rebuilder as it can wreck the rom files. You should only use it if you have your files backed up.

Top

The Merger


Because there are several different sources of roms, sometimes you download individual rom files or sometimes you download merged sets. How you store your roms is completely up to you. I choose to keep all my rom files split as it is easier to update however if you merge all of the rom files you can save alot of disk space. Open the merger window from the start window...

Merger Screen

Heres a run down of the options.

You want to create
Not Merged Sets All rom files will have all the necessary roms to run them.
Split Rom Files will be split into parent and clone files.
Merged Sets Parent and clones will be merged into one set.
Options
Clean Set Removes unneeded files from sets
Zip File Compress new file.
Systems Lets you select rom sets by which games system they belong to.
Misc & Placement Options
Keep Original Position Keep file in same directory
(Un-)Merge Parents/Clones To Set a different directory to generate file in.

What I did to sort out my rom sets was to run merger and select "Non Merged Sets" which created a set of roms with all the necessary files they needed to run in them. This used up 3.5GIG of hard disk space. I then ran scanner as if they were split sets and removed all of the unneeded roms. This left me with only split rom files and no merged ones.

Top

DirToDat


This option is not for beginners!

To access this window you need to go to the main menu and press the about buuton. On the new window you will see the Dir2Dat button. what Dir2Dat does is take a folder of roms, extract the rom information such as name, size etc... and create a new datfile. As it scans you can make it zip your roms as well as merge/split them and other things too.


Options
Lowercase Entries Creates the Datfile no capital letters
Scan Subfolders Scans sub folder within the source folder you selected.
Single File Sets Puts any non zip files in its own zip file instead of the foldername it's in.
Add MD5 Add MD5 checksum info to the dat file for better scanning accuracy.
Add Manufacturer Adds Empty Manufacturer details to the rom set data that can be filled using the match option below.
Add BIOS Reference This option will only work with Mame rom sets as Dir2Dat need the Mame option selected in the profiles. What it does is add information for which BIOS a particular rom set uses.
Match Description & Manufacturer Again this option will only work with Mame rom sets as Dir2Dat need the Mame option selected in the profiles. What it does is use the data extracted from Mame to add proper name to romsets and Manufacturer details as well.
Ignore Size Ignores size details when creating datfiles which can be useful when making dats for non rom files.
Header Entries
Name, Description, Version, Author These are the details to be shown in the profiler when you select this datfile.
Force Merging Will make merged/split rom sets depending on how Dir2Dat finds your roms. If for instance you kept a pacman folder and each clone set was a sub folder of th main pacman folder then Dir2Dat will base it's splitting/merging on this info.
Force Zipping This forces Dir2Dat to zip/unzip any file it encounters.
Source Folder & New Datfile
Source Folder The folder your roms are in.
New Datfile The name of you new datfile.

You have to be aware that Dir2Dat makes a pretty scruffy datfile and you will need to get a text editor out to clean it up a bit. The best thing to do is to compare your dat to one from the CLRMame site and you'll get a pretty good idea of what you need to do.

Top