mkmamedb —
create database for use by ckmame
mkmamedb |
[-huV]
[-C
hashtypes]
[-F
outputformat]
[-o
dbfile]
[-x
pat]
[--detector
file]
[--exclude
pat]
[--hash-types
types]
[--help]
[--no-directory-cache]
[--only-files
pattern]
[--output
dbfile]
[--prog-description
description]
[--prog-name
name]
[--prog-version
version]
[--roms-unzipped]
[--skip-files
pattern]
[--version]
[rominfo-file
...] |
mkmamedb converts ROM set descriptions from one
format to another.
The ROM set description is read from the specified files (or directories) or the
standard input if no files are specified. The default output file is
mame.db. You can override it with the
-o option or the
MAMEDB
environment variable.
Supported input formats are:
- CMPro dat file
- MAME XML file
- MESS Softlist XML file
- Romcenter dat file
- ckmame(1)
database format
- directory of zip archives
- directory with subdirectories (with
-u); each sub-directory is taken as a
game
Supported output formats are:
The CMPro file format is described at
http://www.logiqx.com/FAQs/CMPro.shtml, the DTD
for MAME xml can be found in
PREFIX/share/doc/ckmame/.
mkmamedb supports the following options:
-
-
- -C
types,
--hash-types
types
- A comma separated list of hash types to compute when
creating a ROM set description from a directory of zip archives. Supported
hash types are: crc, md5, sha1. Default are all.
-
-
- -F
outputformat,
- -format
outputformat
- Specify output format. Supported formats are
cm (clrmamepro dat file),
dat (XML datfile),
db
(ckmame(1) database), and
mtree
(mtree(8) file). The
default is cm.
-
-
- --detector
file
- Use CMPro XML header skip detector description from
file. This overrides any detectors given
in the file itself. mkmamedb looks for the
detector in the input file (if it is a zip file) or the directory of the
input file.
-
-
- -h,
--help
- Display a short help message.
-
-
- -o
dbfile,
--output
dbfile
- Write to database dbfile
instead of the default
“mame.db”.
-
-
- --no-directory-cache
- When mkmamedb is used to
create a database from an input directory, it will by default write a
.ckmame.db database file to it, caching the
directory contents' hashes in it so that consecutive re-runs are faster.
When mkmamedb finds such a database, it only
computes the hashes for the files that have changed since the last
run.
-
-
- --only-files
pattern
- When reading files from the file system as input, only
accept files matching the shell glob
pattern.
-
-
- --prog-description
description
- Set description for the program the ROM info is from.
-
-
- --prog-name
name
- Set name of the program the ROM info is from.
-
-
- --prog-version
version
- Set version of the program the ROM info is from.
-
-
- --skip-files
pattern
- When reading files from the file system as input, skip
files matching the shell glob
-
-
- -u,
--roms-unzipped
- ROMs are files on the disk. Each game is represented by a
directory instead of a ZIP archive. Only relevant when creating a database
based on file system contents.
-
-
- -V,
--version
- Display program name and version number.
-
-
- -x
pat,
--exclude
pat
- Exclude games with names matching
pat from the created database.
-
-
MAMEDB
- Location for the database file. Can be overridden with the
-o option. Defaults to
“mame.db”.
Get an input file for
mkmamedb(1) from MAME and
convert it to the internal database format:
# mame -listxml | mkmamedb
ckmame(1),
dumpgame(1)
mkmamedb was written by
Dieter Baron ⟨dillo@nih.at⟩
and
Thomas Klausner
<
tk@giga.or.at>.