- verify MAME ROM sets
is a program to check ROM sets for MAME, the Multiple Arcade
Machine Emulator (see
or other emulators that provide ROM set information in a compatible
way (e.g., Raine, Impact, or other emulators).
This is the same format as clrmamepro dat files.
tells you which ROM files are missing or have a wrong checksum,
can delete unknown and unused files from the ROM sets, and rename
or move files.
MAME is an emulator for numerous arcade machines (video games, ranging
from the 1970s to today).
Since MAME is emulating the games, it uses the original images from
the arcade machines' original ROM chips.
MAME's internal database contains extensive information on the
ROMs, including the sizes and checksums of the used ROMs.
Since some arcade games are variants of others and share some of the
same ROMs, there are also internal dependencies between these so
To save space, ROMs can be archived in zip files and
dynamically unzipped by MAME when you play a game.
does only support ROM sets stored as zip files.
tries to create a
``split ROM set''
from your current collection.
This means that all files needed by the parent are kept in the
parent's zip file, and only the files needed by the clone (or child)
that are different from the parent's are kept in the child's zip file.
For identifying the ROMs ckmame uses the sizes and checksums; names are
only used for verification, since the MAME team often renames ROMs.
uses MAME's ROM database, it must be converted into a more
efficient format before use.
will check the games named on the command line, or all games if none
Shell wildcards are allowed.
You can use command line options to select which type of errors to report.
- -b, -nobroken
Don't report unfixable errors.
Remove files already in ROM set from extra directories.
- -c, -correct
Report correct sets.
Normally they are not mentioned.
- -D dbfile -,-db dbfile
as database file.
- -d, -nonogooddumps
Don't report ROMs with no known good dumps.
Delete files present in old ROM database (default). See also
- -e dir -,-search dir
Look for missing files in directory
and its subdirectories.
Recommended for use with update sets.
- -F, -fix
Fix ROM sets; do as much as possible, such as renaming and moving
- -f, -nofixable
Don't report fixable errors.
- -h, -help
Display a short help message.
Ignore unknown files when fixing.
They will still be reported.
- -i, -integrity
Check integrity of zip archives and disk images
by computing checksums and comparing them with the
internally saved ones.
- -j, -delete-found
delete files that are copied to the ROM set.
Keep files present in old ROM database. See also
do not remove files that are copied to the ROM set (default).
- -K, -move-unknown
Move unknown files when fixing (default).
They are moved into a zip file with the same name under
- -k, -delete-unknown
Delete unknown files when fixing.
- -L, -move-long
Move too long files when fixing (default).
- -l, -delete-long
Delete long files when fixing.
- -n, -dryrun
Don't actually fix anything, just report what would be done.
- -S, -samples
Check samples instead of ROMs.
- -O dbfile -,-old-db dbfile
Assume that files listed in
Only check for superfluous files in ROM sets.
- -s, -nosuperfluous
Don't report superfluous (unneeded) files.
- -T file -,-games-from file
Read list of games to check from
Create TorrentZip ROM archives.
This way, the archives can be more easily shared via BitTorrent.
Using this flags loses information from the archive: time stamps,
file and archive comments, and file order in the archive are not
Only useful in combination with the
- -V, -version
Display program name and version number.
- -v, -verbose
Print fixes made.
- -w, -nowarnings
Print only unfixable error, like missing or completely incorrect ROMs.
- -X, -ignore-extra
Do not mention extra files that are in the ROMs or samples dirs
Most of the time these are ROM sets whose names have changed.
directory (see also
which you will also be warned about.
Location for the database file.
Can be overridden with the
Location for the database file of files that exist elsewhere.
Can be overridden with the
Location for the ROM zip files.
Unknown files are moved to the sub-directory
Files that will be needed by other games in the ROM set are moved
Print a report about the current state of your ROM sets in the
subdir of the current dir:
Fix all sets and only report unfixable errors, omitting those
ROMs where no good dump exists:
Fix all sets using the files found in
removing files from there that are copied to the ROM set:
ckmame -Fj -e updatedir
Most messages should be straightforward.
Two need special explanations:
If a file is marked as
it means that the computed checksum is not the same
as the checksum stored in the zip archive,
usually because there has been a decompression error.
If a ROM or disk is marked with
the primary checksum matches, but one of the other checksums
The primary checksum for ROMs is CRC32, for disks MD5.
was written by