MESS | |
Logo Size: | 180px |
Logo Alt: | MESS icon |
Developer: | Originally MESS Team, now MAME Team |
Discontinued: | yes |
Latest Release Version: | 0.161 |
Operating System: | Cross-platform |
Genre: | Emulator |
License: | Since 2016: GPL-2.0-or-later[1] Until 2016: Custom[2] |
Website: |
Multi Emulator Super System (MESS) was an emulator for various consoles and computer systems, based on the MAME core. It used to be a standalone program (which has since been discontinued), but is now integrated into MAME (which is actively developed).MESS emulated portable and console gaming systems, computer platforms, and calculators. The project strived for accuracy and portability and therefore was not always the fastest emulator for any one particular system. Its accuracy made it also useful for homebrew game development.[3]
As of April 2015 MESS supported 994 unique systems with 2,106 total system variations.[4] MESS was first released in 1998 and was under development up until 2015.
MAME and MESS were once separate applications, but were later developed and released together from a single source repository.[5] 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.[6] On May 27, 2015, MESS was formally integrated with MAME and became a part of MAME.[7]
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.[8] 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."[9] 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.
See main article: ROM image.
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, expensive, and even destructive since it may require decapping or desoldering of integrated circuit chips from the circuit board of the device they own. A 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 will be destroyed beyond recovery after the ROM has been removed for reading.
However, if one has a working system, it may be far easier to dump the ROM data to tape, disk, etc. and transfer the data file to one's target machine.
In 2013 the Internet Archive began to provide select games browser-playable via JSMESS (a JavaScript port of the MESS emulator), for instance, the Atari 2600 game E.T. the Extra-Terrestrial.[10]