ckmame
—
ckmame |
[-CcFhjoVv ] [-D
dbfile] [-e
dir] [-O
dbfile] [-R
dir] [-T
file]
[- -all-sets ]
[- -complete-list
file]
[- -complete-games-only ]
[- -config
file]
[- -copy-from-extra ]
[- -create-fixdat ]
[- -delete-unknown-pattern
pattern]
[- -extra-directory
dir]
[- -fix ]
[- -fixdat-directory
dir]
[- -game-list
file]
[- -help ]
[- -keep-old-duplicate ]
[- -list-sets ]
[- -missing-list
file]
[- -move-from-extra ]
[- -no-complete-games-only ]
[- -no-create-fixdat ]
[- -no-report-changes ]
[- -no-report-correct ]
[- -no-report-detailed ]
[- -no-report-fixable ]
[- -no-report-missing ]
[- -no-report-no-good-dump ]
[- -no-report-summary ]
[- -old-db
dbfile]
[- -only-if-database-updated ]
[- -report-changes ]
[- -report-correct ]
[- -report-detailed ]
[- -report-fixable ]
[- -report-missing ]
[- -report-no-good-dump ]
[- -report-summary ]
[- -rom-db
dbfile]
[- -rom-directory
dir]
[- -roms-unzipped ]
[- -save-directory
dir]
[- -set
pattern]
[- -unknown-directory
dir]
[- -update-database ]
[- -use-torrentzip ]
[- -verbose ]
[- -version ]
[game ...] |
ckmame
is a program to check ROM sets for MAME, the
Multiple Arcade Machine Emulator (see
https://www.mamedev.org/), or other emulators that
provide ROM set information in a compatible way. 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 or unpacked, collected in directories per game.
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.
-
-all-sets
-C
,
-
-complete-games-only
-c
,
-
-report-correct
-
-config
file-
-complete-list
file-
-copy-from-extra
-
-create-fixdat
-D
,
-
-rom-db
dbfile-
-delete-unknown-pattern
pattern-e
,
-
-extra-directory
dir-F
,
-
-fix
-
-fixdat-directory
dir-
-create-fixdat
) in
dir instead of the current directory.-h
,
-
-help
-j
,
-
-move-from-extra
-
-copy-from-extra
.-
-keep-old-duplicate
-
-list-sets
-
-missing-list
file-
-no-complete-games-only
-
-no-create-fixdat
-
-no-report-changes
-
-no-report-correct
-
-no-report-detailed
-
-no-report-fixable
-
-no-report-missing
-
-no-report-no-good-dump
-
-no-report-summary
-O
,
-
-old-db
dbfile-o
,
-
-only-if-database-updated
ckmame
if the database was updated
(implies
-
-update-database
).-R
,
-
-rom-directory
dir-
-report-changes
-
-report-detailed
-
-report-fixable
-
-report-missing
-
-report-no-good-dump
-
-report-correct
or
-
-report-missing
.-
-report-summary
-
-save-directory
dir-
-set
pattern-T
,
-
-game-list
file-
-roms-unzipped
-
-unknown-directory
dir-
-update-database
-
-use-torrentzip
-V
,
-
-version
-v
,
-
-verbose
MAMEDB
-
-dbfile
option. Defaults
to “mame.db”.MAMEDB_OLD
-
-old-db
option. Defaults
to “old.db”.The database file to read from defaults to mame.db and the roms are expected in the roms directory.
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 saved directory.
ckmame
creates
.ckmame.db files in the rom directory as well as the
directories given with -e
. These files are databases
containing file names, sizes, and their hashes. The database information
used when the file hasn't changed since the last run (i.e. same size and
modification time).
ckmame
Fix all ROMs:
ckmame
-Fd
Fix all ROMs using the files found in updatedir, removing files from there that are copied to the ROM set:
ckmame -Fj -e
updatedir
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.
ckmame
was written by Dieter
Baron <dillo@nih.at>
and Thomas Klausner
<tk@giga.or.at>.