Graham wrote: ↑Fri Jan 03, 2020 6:42 pm
Is there any documentation that explains about these plugins? I'm interested in what the "console" plugin may do.
The console plugin opens up a Lua console window from where you can manipulate a running MAME instance.
Lua is a scripting language:
http://www.lua.org/
The console lets you interact with the emulation while it's running using scripting commands.
In addition, all the plugins are Lua scripts.
There's some minimal documentation here:
https://docs.mamedev.org/techspecs/luaengine.html
The best documentation on the plugins is their source themselves (they're scripts, they're not compiled), both the ones that come with MAME as well as various third-party projects. They make calls to a "MAME API" which is, as of yet, conventionally undocumented.
Descriptions of this API can be found inside
https://github.com/mamedev/mame/blob/ma ... engine.cpp in the comments.
Here's a 2018 export of the comments (outdated):
https://pastebin.com/hYW4hCmA
For example, here's a Super Mario Brothers machine learning player script for MAME, based on MarI/O:
https://gist.github.com/cracyc/02cbcac7 ... 0ef6c77fa5
And here's a similar neural network script for Street Fighter II:
https://github.com/Jazpy/RYUNATOR
There's lots of possibilities!