NAME
ckmame
- verify MAME ROM sets
SYNOPSIS
ckmame
[-bcdFfhjKkLlnSsVvw]
[-D dbfile]
[-e dir]
[-O dbfile]
[-T file]
[--cleanup-extra]
[--correct]
[--db dbfile]
[--delete-duplicate]
[--delete-found]
[--delete-long]
[--delete-unknown]
[--dryrun]
[--fix]
[--games-from file]
[--help]
[--ignore-extra]
[--ignore-unknown]
[--integrity]
[--keep-duplicate]
[--keep-found]
[--move-long]
[--move-unknown]
[--nobroken]
[--nofixable]
[--nonogooddumps]
[--nosuperfluous]
[--nowarnings]
[--old-db dbfile]
[--samples]
[--search dir]
[--superfluous]
[--torrentzip]
[--verbose]
[--version]
[game ...]
DESCRIPTION
ckmame
is a program to check ROM sets for MAME, the Multiple Arcade
Machine Emulator (see
http://www.mame.net/),
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.
ckmame
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
called clones.
To save space, ROMs can be archived in zip files and
dynamically unzipped by MAME when you play a game.
ckmame
does only support ROM sets stored as zip files.
ckmame
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.
While
ckmame
uses MAME's ROM database, it must be converted into a more
efficient format before use.
See
mkmamedb(1)
for details.
By default,
ckmame
will check the games named on the command line, or all games if none
are given.
Shell wildcards are allowed.
You can use command line options to select which type of errors to report.
Supported options:
- -b, -nobroken
-
Don't report unfixable errors.
See also
-f
and
-w.
- --cleanup-extra
-
Remove files already in ROM set from extra directories.
- -c, -correct
-
Report correct sets.
Normally they are not mentioned.
- -D dbfile -,-db dbfile
-
Use
dbfile
as database file.
- -d, -nonogooddumps
-
Don't report ROMs with no known good dumps.
- --delete-duplicate
-
Delete files present in old ROM database (default). See also
--keep-duplicate.
- -e dir -,-search dir
-
Look for missing files in directory
dir
and its subdirectories.
Recommended for use with update sets.
See also
-j.
- -F, -fix
-
Fix ROM sets; do as much as possible, such as renaming and moving
files.
- -f, -nofixable
-
Don't report fixable errors.
See also
-b
and
-w.
- -h, -help
-
Display a short help message.
- --ignore-unknown
-
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
-
When using
-e,
delete files that are copied to the ROM set.
See also
--keep-found.
- --keep-duplicate
-
Keep files present in old ROM database. See also
--delete-duplicate.
- --keep-found
-
When using
-e,
do not remove files that are copied to the ROM set (default).
See also
-j.
- -K, -move-unknown
-
Move unknown files when fixing (default).
They are moved into a zip file with the same name under
roms/garbage.
See also
-k.
- -k, -delete-unknown
-
Delete unknown files when fixing.
See also
-K.
- -L, -move-long
-
Move too long files when fixing (default).
See also
-K
and
-l.
- -l, -delete-long
-
Delete long files when fixing.
See also
-L.
- -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
dbfile
exist elsewhere.
- --superfluous
-
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
file.
- --torrentzip
-
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
preserved.
Only useful in combination with the
-F
flag.
- -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.
See also
-b
and
-f.
- -X, -ignore-extra
-
Do not mention extra files that are in the ROMs or samples dirs
respectively.
Most of the time these are ROM sets whose names have changed.
Additionally,
ckmame
creates a
roms/garbage
directory (see also
-K),
which you will also be warned about.
ENVIRONMENT
MAMEDB-
Location for the database file.
Can be overridden with the
-D
option.
Defaults to
``
mame.db''.
MAMEDB_OLD-
Location for the database file of files that exist elsewhere.
Can be overridden with the
-O
option.
Defaults to
``
old.db''.
ROMPATH-
Location for the ROM zip files.
Defaults to
``
.''.
FILES
Unknown files are moved to the sub-directory
unknown.
Files that will be needed by other games in the ROM set are moved
to the
needed
directory.
EXAMPLES
Print a report about the current state of your ROM sets in the
roms
subdir of the current dir:
ckmame
Fix all sets and only report unfixable errors, omitting those
ROMs where no good dump exists:
ckmame -Fwd
Fix all sets using the files found in
updatedir,
removing files from there that are copied to the ROM set:
ckmame -Fj -e updatedir
DIAGNOSTICS
Most messages should be straightforward.
Two need special explanations:
If a file is marked as
``broken'',
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
``checksum mismatch'',
the primary checksum matches, but one of the other checksums
does not.
The primary checksum for ROMs is CRC32, for disks MD5.
SEE ALSO
dumpgame(1),
mkmamedb(1),
xmame(6)
AUTHORS
ckmame
was written by
Dieter Baron
<dillo@giga.or.at>
and
Thomas Klausner
<tk@giga.or.at>.
|