MESS is the acronym and common name for the Multiple Emulator Super System, an emulator of many different computer systems and video-game consoles. The source code of MESS is a reference to the hardware of these systems.
MESS uses MAME as a base. While MAME emulates some arcade boards, MESS uses parts of MAME to emulate some other systems. MESS is for Microsoft Windows; but Mac and Unix users can try SDLMESS, a port that closely follows MESS.
Source code Edit
You please edit this section to add links for systems that interest you.
These are links to specific parts of the source code of MESS. If you can read C language, then you can use these links as a reference to the hardware.
- src/mame/includes/snes.h - definitions; addresses of hardware registers
- src/mame/machine/snes.c - hardware registers; memory map; HDMA
- src/mess/machine/snescart.c - SNES ROM layout
- src/emu/cpu/g65816 - 65816 processor
- src/emu/cpu/spc700 - SPC-700 processor
- src/mame/audio/snes.c - audio
- src/mame/video/snes.c - video
We are free to download MESS, share MESS, use MESS for noncommercial ROM-hacking, and modify MESS, if we obey the license. We are free to share the modifications if we provide the source code.
MESS is not free software, because we are not free to use MESS commercially; the MAME Distribution License requires, "Redistributions may not be sold, nor may they be used in a commercial product or activity." MESS is also not open source, because this requirement contradicts section 6, "No Discrimination Against Fields of Endeavor", of the Open Source Definition. We can use MESS because the license is not against our field of endeavor, noncommercial ROM-hacking.
One problem is the license of the files for 6502 emulation in src/emu/cpu/m6502. The license states, "The author of this copywritten work reserves the right to change the terms of its usage and license at any time, including retroactively". This means that the author can revoke the permission to use these files in MESS, and require everyone to stop using MESS. Perhaps the author does not intend to do so, but the problem is that the license allows the author to do so.