Skip to content

firewave/mame_regtest

Repository files navigation

mame_regtest

(c) Copyright 2005-2020 by Oliver Stöneberg

mame_regtest is a tool designed to mass-test drivers of MAME-based applications like MAME, MESS and PinMAME.

The latest stable version is 0.74 which includes the new XML-based configuration instead of command-line parameters to make the usage easier and XPath support to select drivers for testing as well as the optional XML output with all the information about a driver run.

Note on XPath: You have to complete the /mame/game or /mess/machine expression with one, that returns a valid list of game or machine nodes. You have to use the placeholder DRIVER_ROOT for the application-specific beginning. See some examples for the removed options in the sample mame_regtest.xml. A tutorial on XPath can be found at http://www.zvon.org/xxl/XPathTutorial/General/examples.html

Note on multiple configurations: You have to add a new element to the configuration with the options you want to override and specify the name as command-line parameter. I added a sample mess configuration to the default mame_regtest.xml.

Note on 0.113 cycle:

  • 0.113u2: Won't work at all, because -str doesn't skips the disclaimer screens in this version.

Note on big-endian systems: >ou have to comment the LITTLE_ENDIAN and uncomment the BIG_ENDIAN define

Building mame_regtest: As of version 0.75 mame_regtest is utilizing CMake and conan. libxml2 and zlib are required to compile.

How to use devices: You have to create a file with the following syntax:

mrt_<drivername>.xml

It has to contain a list of filenames specified with the full path and you have to put it in the same directory as the mame_regtest binary.

<images>
    <image cart="/path/to/superchargercart.rom" cassette="/path/to/superchargergame.cas"/>
    <image cart="/path/to/superchargercart1.rom" cassette="/path/to/superchargergame1.cas"/>
    <image cart="/path/to/cart2.rom"/>
</images>

Example

Here is a sample mess section for the mame_regtest.xml which tests the a2600 set:

<mess>
    <option name='executable' value='/path/to/messd'/>
    <option name='rompath' value='/path/to/biosroms'/>
    <option name='xpath_expr' value='DRIVER_ROOT[@sourcefile="a2600.c"]'/>
    <option name='str' value='3'/>
    <option name='use_debug' value='0'/>
</mess>

MAME/MESS returncodes

1 - terminated / unknown error 2 - missing roms 3 - assertion / fatalerror 4 - no image specified (MESS-only) 5 - no such game 6 - invalid config 128 - ???
100 - exception -1073741819 - exception (SDLMAME/SDLMESS)

mame_regtest returncodes

0 - OK 1 - error

pngcmp:

  • is built as part of the MAME/MESS "tools" target - please copy it from an existing installation to the mame_regtest folder
  • retruncodes: 0 - images are identical - no diff written 1 - images are identical - diff written -1 - an error occured

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published