Multi Emulator Super System (MESS) is an emulator for many game consoles and computer systems, based on the MAME core and now a part of MAME. MESS emulates portable and console gaming systems, computer platforms, and calculators. The project strives for accuracy and portability and therefore is not always the fastest emulator for any one particular system. Its accuracy makes it also useful for homebrew game development.
As of April 2015 MESS supported 994 unique systems with 2,106 total system variations. However, not all of the systems in MESS are functional; some are marked as non-working or are in development. MESS was first released in 1998 and has been under constant development since.
MAME and MESS were once separate applications, but were later developed and released together from a single source repository. MAMEDEV member David Haywood maintained and distributed UME (Universal Machine Emulator) which combined much of the functionality of MAME and MESS in a single application. More recently, on May 27, 2015, MESS was formally integrated with MAME and became a part of MAME.
MESS was distributed under the MAME Licence, which allowed for the redistribution of binary files and source code, either modified or unmodified, but disallowed selling MESS or using it commercially. The license is similar to other copyleft licenses in requiring that rights and obligations provided in the license must be remain intact when MESS or derivative works are distributed.
In addition to the MESS Licence, The MESS Team required that: "MESS must be distributed only in the original archives. You are not allowed to distribute a modified version, nor to remove and/or add files to the archive. Adding one text file to advertise your web site is tolerated only if your site contributes original material to the emulation scene." The MAME license required source code be included with versions of MESS that are modified from the original source, while the MESS legal page states that when distributing binary files "you should also distribute the source code. If you can't do that, you must provide a pointer to a place where the source can be obtained."
While MESS was available in both binary and source code forms, the restrictions on commercial exploitation cause it to fall outside of the Free Software Foundation's definition of free software. Similarly MESS was not considered to be open source software if appraised according to the criteria of the Open Source Definition.
Generally the emulation only includes raw hardware logic, such as for the CPU and RAM, and specialized DSPs such as tone generators or video sprites. The MESS emulator does not include any programming code stored in ROM chips from the emulated computer, since this may be copyrighted software.
Obtaining the ROM data by oneself directly from the hardware being emulated can be extremely difficult, technical, and expensive, since it may require desoldering of integrated circuit chips from the circuit board of the device they own. The desoldered IC is placed into a chip reader device connected to a USB or serial port of another computer, with pin sockets on the reader specifically designed to match the chip package shape in question, to perform a memory dump of the ROM to a data file.
Removal of a soldered chip is often far easier than reinstalling it, especially for extremely small surface mount technology chips, and the emulated device in question may be effectively destroyed beyond recovery after the ROM has been removed for reading.
However, if one has a working system, it is far easier to dump the ROM data to tape, disk, etc. and transfer the data file to one's target machine.