MKMAMEDB(1)

NAME
mkmamedb - create database for use by ckmame

SYNOPSIS
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 ...]

DESCRIPTION
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:
•   ckmame(1) database format
•   CMPro dat file
•   Logiqx XML dat file
•   mtree(8) file

The CMPro file format is described at http://www.logiqx.com/FAQs/CMPro.shtml, the DTD for MAME xml can be found in /usr/pkg/share/doc/ckmame/.

  OPTIONS
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.

ENVIRONMENT

MAMEDB
    Location for the database file. Can be overridden with the -o option. Defaults to “mame.db”.

EXAMPLES
Get an input file for mkmamedb(1) from MAME and convert it to the internal database format:

    # mame -listxml | mkmamedb

SEE ALSO
ckmame(1), dumpgame(1)

AUTHORS
-nosplit mkmamedb was written by Dieter Baron <dillo@giga.or.at> and Thomas Klausner <tk@giga.or.at>.