Moved to GitHub https://github.com/alito/mamele

CCPMAME - A Computer Controlled Interface for MAME

Download: mameacpatch-0.3.3145.tar.gz (works with MAME version 0.145)

What is this useful for?

Here you can find information and source code that can help an agent/program talk to MAME. An agent using the interface gets the current image being displayed, (possibly) the current score, and is meant to send back the state of the buttons when polled for them. This patch was originally designed to be used as a reinforcement learning framework, but it can be used in any case a computer controlled character is desired (eg code your own opponents in a fighting game, write a companion for a two person shooter). A C interface is available, and python bindings to that interface are also provided.

The patch with respect to MAME 0.145 can be downloaded by clicking here (v0.3.3145 - last updated 2012/02/13). All code is released under the BSD license. I will try to keep the patch up-to-date with the latest MAME release, but the patch will most likely apply cleanly, or clean for all practical purposes, against a few versions either side of the intended target since the code only modifies MAME in very few places. MAME can be obtained from http://mamedev.org/release.html The patch makes a negligible impact on running speed when an automatic controller is not enabled so it is usable as your main MAME binary.

Read the README file included to learn more (including patching instructions). Read the HOWTO if you want to know how to use the interface

An alternative to this patch is provided by Bryan Ischo with libmame at http://www.ischo.com/libmame/. The intent is a bit different but it can also be used for controlling a character programmatically.

History

2012-02-13 - v0.3.3145(download)
2012-02-05 - v0.3.2144(download)
2012-01-23 - v0.3.1144(download)
2012-01-22 - v0.3.0144(download)
2010-01-10 - v0.2.3136(download)
2009-09-27 - v0.2.3134(download)
2009-04-11 - v0.2.3130
2009-03-09 - v0.2.3129 (download)
2007-07-22 - v0.2.2
2007-07-16 - v0.2.1
2007-07-15 - v0.2.0
2006-04-23 - v0.1.4
2006-02-28 - v0.1.3
2006-01-28 - v0.1.2
2005-12-29 - v0.1.1
2005-11-08 - v0.1
2005-10-29 - v0.0.3
2005-08-10 - v0.0.2
2005-08-02 - v0.0.1

Mail comments, information, corrections, patches to Alejandro Dubrovsky <alito@organicrobot.com>

For those interested, more information on what MAME is and the design of the interface can be found in this report (last updated July 2005) (Note: StarROMs is no longer in business as of February 2006).

Thanks go to Dr Marcus Gallagher for comments and ideas, and for creating the incentive for the existence of the report.