UME (Universal Machine Emulator) combines the features of MAME and MESS into a single multi-purpose emulator. The project represents a natural course of development for the emulators which already share large amounts of code and is part of an ongoing effort to unify development efforts and provide a single emulation platform for users and developers alike.
As of 0.146 the UME target is officially provided in the MESS development tree, however the teams have opted at this time to not supply binaries of the build on the official site(s) so instead Iím supplying them here and dealing with support for them.
The builds here are produced using unmodified code from the MESS SVN repository which contains the latest code for both the MAME and MESS projects. As part of the unification the teams will be moving to a single shared SVN in the near future, although the projects will still maintain their separate identities and distributions, including this one, the UME build.
For the end-user UME allows a user to unleash the full potential of both the MAME and MESS projects from within a single convenient environment, using common configurations. It is designed to demonstrate how close the projects already are while providing an introduction to MESS and how some more advanced features of the project which MAME doesnít utilize directly are used.
Why Should I Use UME instead of a regular MAME/MESS build?
No functionality from regular builds has been removed, so even if you donít make use of any of the additional functionality youíre not losing out by using UME instead of a single project. Beyond that you have access to a whole new sub-set of platforms. For example you can quickly launch either the standard NES version of Super Mario Bros. the Playchoice 10 version, or the VS. System version using the same application which youíve already set up and configured. The main added factor is convenience.
From a development perspective you have instant access to the components which exist in both projects without having to move code around if youíre simply interested in doing some quick tests. You also have access to a more flexible range of software and test cases for common components within a single project as well as a greater level of awareness over component reuse between the projects. This should allow for greater testing of code and hopefully reduce the chances of accidental duplication.