MAME XML

MAME supports displaying data via the command line interface (CLI). The output can be redirected to a text file.

Detailed properties
Use the command below to create an XML file with a list of all the games and its detailed properties:

mame.exe -listxml > games_detailed.xml

The XML generated has information of ROMs, CHDs and samples.

The generated file  is very large (about 254 megabytes) and can be opened with a text editor such as Notepad++.

It's possible to use the generated file with a ROM Manager such as clrmamepro.

Short and full names
The command below only lists short and full names:

mame.exe -listfull > games_names.txt

A sample of the result is below:

D:\mame>mame.exe -listfull Name:            Description: 005              "005" 100lions          "100 Lions (10219211, NSW/ACT)" 10yard           "10-Yard Fight (World, set 1)" 10yard85         "10-Yard Fight '85 (US, Taito license)" 10yardj          "10-Yard Fight (Japan)" 110dance         "Retro Dance Mat (110 song Super StepMania + 9-in-1 games) (PAL)" 11beat           "Eleven Beat" 1292apvs         "1292 Advanced Programmable Video System" 1392apvs         "1392 Advanced Programmable Video System" 15lions          "15 Lions (10166211, Queensland)" 18w              "18 Wheeler (set 1)" 18w2             "18 Wheeler (set 2)" 18wheelr         "18 Wheeler (deluxe, Rev A)" 18wheelro        "18 Wheeler (deluxe)" 18wheelrt        "18 Wheeler (deluxe, Rev T)" 18wheels         "18 Wheeler (standard)" 18wheelu         "18 Wheeler (upright)" 1941             "1941: Counter Attack (World 900227)" 1941j            "1941: Counter Attack (Japan)" 1941r1           "1941: Counter Attack (World)" 1941u            "1941: Counter Attack (USA 900227)" 1942             "1942 (Revision B)" 1942a            "1942 (Revision A)" 1942abl          "1942 (Revision A, bootleg)" ...

All commands
There is a command to list all commands:

mame.exe -showusage

The list of listing commands is below:

-listxml            all available info on driver in XML format -listfull           short name, full name -listsource         driver sourcefile -listclones         show clones -listbrothers       show "brothers", or other drivers from same sourcefile -listcrc            CRC-32s -listroms           list required ROMs for a driver -listsamples        list optional samples for a driver -verifyroms         report romsets that have problems -verifysamples      report samplesets that have problems -romident           compare files with known MAME ROMs -listdevices        list available devices -listslots          list available slots and slot devices -listmedia          list available media for the system -listsoftware       list known software for the system -verifysoftware     verify known software for the system -getsoftlist        retrieve software list by name -verifysoftlist     verify software list by name -version            get MAME version
 * 1) FRONTEND COMMANDS
 * 1) FRONTEND COMMANDS

Alternative
Below is an alternative to generating XMLs from MAME's binary:
 * progetto-SNAPS MAME DATs Repository

Reference

 * mamedev.org - MAME Documentation - Universal Commandline Options