What makes MESS different from other emulators?/Why yet another emulator?

The main difference is that it supports many different kinds of computers and consoles, not just one like most emulators. MESS is also open source, which means it's free and anyone who knows the C programming language can help with the project. Also, MESS' architecture makes it easy to add lesser known systems that no one would care enough about to emulate and preserve otherwise. The main difference, however, is the goals of the project. Most standalone emulators have the goal of letting you play games for whatever system on your PC. Because their main goal is playability, they often include speed hacks and fudge things so that most games run fast but a few games won't work. MESS' philosophy is to behave exactly like the original hardware, even if it's incredibly slow, so that all software for the original machine will work. This tends to make MESS a fair bit slower than other emulators, but this is not always true.

Isn't MESS the same as MAME?

No. MESS is based on MAME, and uses the same underlying engine, but its goals are different. To put it simply, MAME is for arcade machines, and MESS is for home computers and video game consoles.

What's a BIOS?/What's a ROM?/What's a disk image?

First, it is important to note that in the emulation world, the term ROM is used to refer to two different things:

  1. The ROM chips within a computer system, that usually contain some form of BASIC or the like
  2. The ROM chips within a game cartridge for a console system

For the sake of clarity, the official MESS terminology for #1 is "BIOS", after what they are typically called in Intel PC systems, and the term "ROM" is avoided.  The term "cartridge image" is used to refer to #2, where "image" is a generic term that applies to downloaded images of removable media, whether they be a cartridge, a floppy drive, or a hard disk.

Where do I get BIOSes/ROMs?/How do I use my old software with MESS?

In most cases, old software is physically incompatible with modern computers. No matter how hard you push, an Atari cartridge just plain won't fit in your computer's floppy drive. Folding up old 5 1/4" diskettes so they fit in a 3 1/2" drive will only break your disks. Obviously there's a problem here - how do I get that software into my PC so an emulator can use it?

It's possible to build special cartridge reading devices for console systems and hook up old computers to new ones to transfer floppy disks. These media get transferred into files on the new computer.

Now, originally emulation was just for hobbyists who had all this special equipment, but some of them put these BIOSes and images up on the Internet for people to download, on the honor system that people would only download the BIOSes and images that they owned the original software for. Unfortunately, a lot of people came along who just wanted to download free games and didn't care about preservation, and gave the emulation community a bad name among software companies. There are many BIOSes/images sites on the Internet, using a search engine should turn up the ones you want. But remember: downloading pirated BIOSes/images that you don't own is illegal. Some people say that the copyrights have expired or that you can download it if you delete it after 24 hours, but they are wrong. It's up to you whether you want to ignore the law, as most of the games are not and will not ever be sold again.

Most systems require BIOSes. MESS is very picky about its BIOSes -- they must be exactly the ones it is expecting, otherwise it will complain and probably won't work.

Okay, I got some BIOSes and images, now where do I put them?

BIOSes should go, still zipped, in the BIOS subfolder of wherever you put MESS. Game images should go into the SOFTWARE\[system name] folder. They can still be zipped, but only one image per zip file.

All right, I did all that, now how do I run MESS?

It depends on what version you have. For DOS, type "mess [system] [game] [options]", where system is the system abbreviation, game is the filename of the ROM, and options are command line options listed in the readme.txt and mess.txt files. For UNIX/Linux, do the same thing except the name of the program is xmess. For Windows and Macs, just run the program and click on the systems and games you want to run--it's pretty easy. If it asks you for your soundcard, choose Sound Blaster or Windows Sound System. Most people don't have those other ones.

I did everything just like you said, but it still doesn't work!

There is a messageboard you can go to for help at http://www.mess.org. But first, make sure you read this FAQ and the rest of the documentation. The answers can often be found there. Also check out the MAME FAQ at http://www.mame.net --it's a very good resource for things common to MAME and MESS, such as sound and graphics setup. Also search through the messageboard to see if somebody already had the same problem. And at least put some effort into fixing it yourself. People on messageboards can get very annoyed with people who ask questions that have already been answered elsewhere, especially in readme.txt and mess.txt.

It works, but it's way too slow!

Because of MESS' goal of compatibility over speed, this is often the case. You might think that your computer should be able to emulate such old machines at full speed, but keep in mind that MESS is not performing any shortcuts in the emulation. Many other emulators perform shortcuts that sacrifice compatibility in favor of performance, which is a valid tradeoff given a different set of design goals. With MESS, your CPU is doing the jobs of the CPU(s), graphics chip(s), sound chip(s), as well as any other special hardware present in the original machine, so it can be bogged down fairly easily, especially by the relatively unoptimized MESS core. MESS is written almost entirely in C, not assembly, for compatibility reasons. Additionally, there is a level of overhead required to get the level of modularity that it takes to have the myriad components in the emulation be usable across a broad set of drivers. There are some tweaks you can do to speed up the performance a bit (see the MAME FAQ), but if you need a big boost, there's not much you can do except buy a faster computer, wait for an update (not likely), or use another emulator.

Why don't MESS and MAME merge?

Although the people involved in developing new versions of both programs are enthusiasts working out of love for the systems involved, the systems are essentially different. Arcade games, which MAME specializes in, are usually unique, in that the hardware for any particular game was a one-time solution arrived at in order to get the game to market. Some game companies, such as SNK, Nintendo and others, did develop systems that could be changed over to play other games relatively easily, but this wasn't the rule in the arcades. To emulate an arcade game, the programmer develops a driver file which mimics hardware surrounding the arcade game's CPU or CPUs. Both MAME and MESS contain the same cores to emulate the same CPUs. MESS' focus is accurate emulation of the hardware of computer and gaming consoles, hardware which doesn't change depending on which game or program is being run. Fundamentally, MAME  and MESS are being created by and are targeted for slightly different segments of the emulation community: gamers and vintage computer enthusiasts. Those two communities do often times overlap, and a merger of the two programs is theoretically possible at some point in the future.

Why doesn't MESS split into two versions, one for consoles and one for computers?

Why isn't there a program called MASS to mimic mainframes? So far it hasn't seemed necessary to split MESS into two programs. The core program inherited on a regular basis from new updates of MAME can accommodate a large number of systems. If you think of each arcade game in MAME as a separate computer or console, the latest version has over 3,000 different machines available, compared to MESS' hundreds of systems listed under its All Systems menu. The border dividing gaming consoles from computers tends to blur the further back you go in time. Is Nippon Electric Company's PC Engine a game or a computer? Coleco orignally marketed its Adam computer as an add-on to the Colecovision gaming system. Nintendo also had big plans to turn its NES and later SNES into full-fledged computers delivering information and services to users over an early version of the internet. The APF Imagination Machine was also built around a game console core. Atari's line of computers grew out from its original gaming console, and were probably used more for gaming in their day than any serious computing projects. The simple answer is there's still a lot of room for MESS to include new gaming consoles and computers. The complicated answer is that it's hard to tell the difference.

I fail to understand your emphasis on "pure" hardware emulation; what does that mean?  Does this mean that you will or will not implement feature XXXXX?

Obviously, this depends on what XXXXX is.  Both MAME and MESS go by an idea that the emulation should be "pure".  Pure can be taken in any number of ways; in one sense, a truly pure emulation would be a gate level simulator that tried to track the state of every gate in the system.  We don't go for that because that would be impractical.  When we say "pure", we mean that we emulate all CPU(s) instruction by instruction and clock cycle by clock cycle and try to make the hardware look "authentic" from the perspective of the CPU(s).  As long as that condition is satisfied, we are generally willing to implement anything.  Features like anything external to the emulation itself, such as image file formats and UI fall in that category.  This approach constasts with the High Level Emulation (HLE) approach taken by Basilisk II and UltraHLE, where BIOS and/or OS routines are patched and the actual hardware is bypassed for either speed or convenience reasons.

Why don't you support a feature that allows the user to remap their keyboard to the emulated system's, eliminating the need to adjust to the system's keyboard layout?

We are working on this feature; the paste feature in MESS  0.62 laid the foundation for this feature. Sit tight

Your file manager is an abomination in the eyes of God/Allah/Jehovah/Budda/Zoroaster/anyone with an ounce of sense!

We hear your cries. We hate the thing too. For the moment we are stuck with it, but we are trying to phase it out.

My English isn't good, I don't understand you!

If you ask for help on the message board, post it in both English and your native language. Many people there speak more than one language and may be able to help you in your native language. Also, visit http://babelfish.altavista.com. They have a translation program that can translate between English and most European languages as well as a number of other languages. Also look at the MAME FAQ at http://www.mame.net. It is in many different languages, including Greek, Serbian, Romanian, Norwegian, Danish, Hebrew, Czech, Dutch, French, Italian, Korean, Japanese, Chinese, German, Portuguese, Spanish and Finnish.