Welcome to the new immovable homepage for the SDL support in MAME and MESS! Feel free to link this page, as the URL will not change.
There are no longer separate programs called SDLMAME or SDLMESS. Instead, the SDL capability is included in MAME and MESS, and the makefile will auto-detect if you are on a non-Windows system and run accordingly. You now get the source directly from MAMEdev or MESSdev rather than from here.
Need help compiling? Try this thread with specific instructions for many popular Linux distributions and the *BSDs.
Please report SDL-specific issues at the SDLMAME forum. Do NOT post them in the bannister.org Shout Box, and do NOT post them on MAMETesters.org. I do not read that site much and so SDL-related things posted there may never be seen by the responsible people.
Upstream no longer supports this build and better Genesis/Megadrive support based on it exists in current MESS, so you should now use MESS instead for Genesis/Megadrive stuff.
- What are these?
- So what’s it run on?
- Great. How do I build it?
- What’s “compile?” Command-line what?
- Got any compatible front ends for Linux? OS X?
- I have a cabinet or otherwise wish to run SDLMAME/SDLMESS on the Linux framebuffer with no X?
- Where do I get old versions?
- How’s this related to XMAME?
- What about MacMAME?
- MAME OS X?
- Who’s responsible for this stuff?
- Is there a message board?
- Performance is really bad in all modes.
- Performance is OK in soft mode but bad in OpenGL mode
- I want AdvanceMAME features in SDLMAME
SDLMAME is an “embedded port” of the popular MAME™, by which I mean that although Couriersud and I maintain it, it’s included with the main MAME source tree (starting with MAME 0.138). There are a few principles that guide it’s development: 1) run on Linux/Unix, Mac OS X, and other SDL supported operating systems with as few changes as possible to the base Windows code. This means we can track changes faster than larger more conventional ports such as MacMAME, and we also maintain what I call “Firefox compatibilty” where learning a major app only needs to be done once per application, and it then applies across many operating systems. If you use the command-line Windows MAME, you already know how to use SDLMAME on any platform you may encounter it on. 2) MAME developers are important. By keeping quickly up to date, we make it easy for people on non-Windows platforms to make and submit changes to the core MAME code, and we offer native implementations of MAME’s multi-window GUI debugger on both Linux/Unix and Mac OS X.
Officially supported platforms include Linux (any CPU, 32 or 64 bits), FreeBSD (any CPU, 32 or 64 bits), Mac OS X 10.5 or later for both PowerPC (until 0.146 final) and Intel. Win32 and Win64 are also supported, but there’s not much reason to use SDLMAME on that platform, Aaron does a fine job with baseline.
Mac OS X binares can be found at MacSDLMESS (they also have a front end there, but see below for other options with more functionality) and r0ni’s (Universal binaries). Mac OS X Universal binaries can also be found at this new page. Fedora (Linux) RPMs, including u-releases in the “testing” repo, can be found at RPM Fusion, Mandriva and SuSE RPMs are at Rx3 and here for SDLMESS, Arch Linux packages at AUR, Debian packages at Ludomatic, Ubuntu packages here, and Win32 builds can be found at ReDump.
Yup! I know of several that support SDLMAME on Linux: Mame Executor, MAME Plus! GUI (click Download), QMameCat/QMC2, Loemu, WahCade (which also works on OS X), XMAMEGUI (which is in Java and should actually work on all OSes), KXMAME, and GNOME Video Arcade. On the Mac, check out MAME Plus! GUI (click “Download”), MameTunes, EmuLaunch, and MacMAMEInfoX.
They’re all still here, just not linked. Do a wget on http://rbelmont.mameworld.info/sdlmame0xxx.zip. (U versions are also still available!).
XMAME has been dead for several years and SDLMAME is it’s official MAMEdev-approved replacement.
MacMAME is now dead and has not been updated in more than 2 years. If you want a solid MAME for the Mac that’s not command-line based you can try SDLMAME with one of the many fine frontends listed above.
Same deal – after a promising start Dave Dribin ended the project, leaving SDLMAME as the only up to date MAME on the Mac. SDLMAME also doesn’t have the compatibility problems with e.g. ProTools hardware that MAME OS X does.
Olivier Galibert had the original idea and did most of the original port. R. Belmont did parts of the original port and most of the “new” port that you see here for download. Olivier wrote the Linux/GTK+ version of the multiwindow debugger, and Ernesto Corvi wrote the Carbon/Mac OS X version of the multiwindow debugger (which has been replaced with a Cocoa version by Vas Crabb and maintained by Wilbert Pol). Hans de Goede has contributed innumerable cleanups, enhancements, and speedups to the code, and Tim Lindner made the Mac OS X debugger even more pleasant to use. Many great improvements have been contributed by Couriersud and Antoine Mine, and much of the OpenGL code was by Sven Gothel. QA has been provided by MooglyGuy and Firewave, among many others.
Yes. You can talk about SDLMAME and get help here.
Modern MAME has relatively high CPU requirements even for games you might consider to be “simple”. You will experience difficulty getting good framerates even in old “classic” games on systems much below 1 GHz. That said, performance issues with SDLMAME are often video related. Try using -nomaximize -window to draw to a minimum-sized window – if performance there is good your CPU is OK but your video needs work.
ATI’s fglrx drivers sometimes compatibility issues with SDLMAME. You may wish to try the various SDLMAME GL configuration switches to see if turning off usage of OpenGL 2.0 features helps.
SDLMAME is intended primarily for end users of ordinary PCs, just like the baseline Windows version. It can be and has successfully been used in cabinets (see also the question about the Linux framebuffer above), and I do include patches which make specialized builds easier, but at the end of the day all the monitor-banging effects of AdvanceMAME will not happen in SDLMAME. However, there is now a good opening for a version based on SDLMAME which incorporates AdvanceMAME’s features. Someone (not me) could probably have good success maintaining such a build.