Hello. I've been working for a while on a project that, as a prerequisite, required turning MAME into a library that I could link into my application.
I've put the documentation for libmame up along with a patch that can be applied to the official MAME 0.143 sources up here:
http://www.ischo.com/libmame
I intend to spruce things up with some more details, examples, build instructions, etc, but for the moment I thought I'd announce it just to get some feedback on the API from anyone who is interested.
Primarily the goal of libmame is to produce a library that can run the MAME engine with a goal to emulating games and for this reason the library API specifically excludes some MAME functionality, such as configuration files, the MAME internal mechanism for mapping input events to game controller events, etc. It's strictly focused on querying the database of game descriptions, and starting and running games. It leaves the mechanism for managing user configuration and handling input devices up to the code that calls the library instead of managing that stuff internally as MAME does.
I will probably also post a few utility programs that I have written on top of libmame that demonstrate its functionality; for example I wrote a benchmarking program that provides some nice features above and beyond standard MAME benchmarking and is more scriptable.
Comments and feedback are most welcome!
|