Welcome to NonMAME! |
NonMAME documents the best open-source emulator for any given system, with priority given to MAME due to its comprehensive scope. This primarily involves arcade, computer, console and handheld systems. This site represents an enormous undertaking involving tons of research with developers, discussions with the user community, and countless hours of testing. NonMAME seeks to broaden understanding of extant emulation resources in the hope that MAME developers and users alike may find benefit. Bearing in mind that a great deal of information posted here comes from our readers, we strongly encourage any and all comments, questions, suggestions for better emulators etc. You can reach us via email here. |
What's New |
|
Site Information |
Evaulation criteria for the best emulator of a given system is as follows (in order of importance):
MAME driver status documented for each system matches actual MAME nomenclature as follows:
Specifications of the current baseline reference system used in testing is as follows:
|
Driven to Maturity |
The following are non-arcade systems which MAME emulates as good as, if not better than, any other emulator according to our evaluation criteria. Given that there are tens of thousands of systems in MAME, with potentially hundreds of thousands to come, only systems that have known "competition" to MAME will be cited here. This is an experimental section and may be removed if people misunderstand its intent. Please note this does not mean any of these systems are "perfectly emulated" either - emulation is never truly perfect! Please join us in extending thanks to the MAME team for their hard work and dedication to this effort, without which such accurate emulation would not be possible. |
|
Special Notes About RetroArch |
RA is not itself an emulator, but rather an open-source framework composed primarily of multiple emulator "cores" commonly ported from independently-written standalone implementations and sometimes enhanced by the RA development team. RA serves as a reference implementation of "libretro", itself a generic API that allows RA not only to be core-agnostic but to extend beyond emulation purposes as a flexible and powerful instrument of its own right. RA's main benefits include its availability on many host platforms; its support of many "best of breed" emulators under a single framework; its streamlined interface which eschews keyboard/mouse navigation in favor of controllers and other simpler means of input; and its support of cross-platform "shaders" which lend visual authenticity when used properly. That said, RA's primary contribution isn't the preservation of old technology for historical purposes (this site's focus); but rather on broadened awareness and usefulness of such technology to a wide audience across an expanded range of platforms such as personal computers, tablets, and whatever the future may hold. RA could achieve certain preservation goals indirectly however, given the theory that emulation of individual target systems stands a greater chance of being preserved as part of a collective framework than on their own, as history has shown. This is of course similar to MAME in concept, though RA's approach and design differs in several fundamental and obvious ways. While RA may offer its users certain key benefits, we encourage the use of its upstream emulator counterparts wherever possible, given several of RA's negative aspects and limitations:
|
32X [Console] |
MAME Driver Status: Preliminary |
Best Emulator: PicoDrive |
PicoDrive is a solid open-source 32X emulator which has finally surpassed it's closest open-source "competitor", Genesis Plus GX, thanks to heavy development activity. For example, this video clearly shows PicoDrive running Overdrive 2 (one of the most challenging demoscene titles) better than Genesis Plus GX. While this is not specifically a 32X title, the video is a testament to the emulator's overall accuracy. Incidentally, the video also shows "BlastEm" running even better than both of these emulators; however BlastEm lacks many other features such as 32X support. If that ever changes, we'll be the first to let you know. While a reasonably-equivalent RetroArch PicoDrive core exists, we recommend using the upstream emulator instead. Incidentally, this site offers a variety of test ROMs that can be used to test the overall effectiveness of PicoDrive vs. others and includes 32X sample programs written by Sega themselves. Regarding the MAME driver, Kale stated in his blog dated 12/23/2012: "Again, timings are annoyingly strict on this one too, and there might be SH-2 core bugs in a bunch of spots (Sangokushi or Virtua Racing Deluxe, for example). Games on this system are mostly written in pure ASM code, unlike most of the other SH-2 based systems, so there's an higher change of core bugs happening. It's otherwise usable, although it needs a very high end CPU if you want to play anything. A bunch of games (like WWF Raw) does illogical stuff like writing to the ROM region on the copyright screen. Enabling the ROM to be writeable makes the background logo to appear (and I think it should), if it's a joke it's a very good one..."MAME Edge Case Examples:
|
3DO [Console] |
MAME Driver Status: Preliminary |
Best Emulator: RetroArch [Opera Core] |
Over the years, 3DO emulation has been tectonic in pace but steadily evolving. RetroArch's "Opera" core improves upon the upstream but moribund 4DO project, adding a far more accurate Video Display Line Processor (VDLP) among a bevy of other important features with more on the horizon. 4DO itself was based upon FreeDO's codebase though with its own improvements including accuracy and major system features. While 4DO is an excellent standalone emulator, Opera offers an even better overall experience across more platforms, and most if not all 3DO games run well under this core. Incidentally, the core's authors have published this website dedicated to 3DO development, for anyone curious in following along or contributing to the preservation of this historically-significant system. While we do recommend this RetroArch core over its upstream counterpart due to actual emulation improvements, users should nevertheless be aware of its negative aspects and limitations as we've documented here. MAME Edge Case Examples:
|
3DO-Based Hardware [Arcade] |
MAME Driver Status: Preliminary |
Best Emulator: RetroArch [Opera Core] |
Thanks to some nice work by trapexit, the RetroArch Opera core now supports these rare but historically-interesting arcade games powered by 3DO hardware. Note that a few other games known to have existed on the system (Beavis & Butt-head, Die Alien Scum, Mazer, and Way of the Warrior) have not been dumped, so they are not listed below. For further information regarding Opera, see our 3DO section. While we do recommend this RetroArch core over its upstream counterpart due to actual emulation improvements, users should nevertheless be aware of its negative aspects and limitations as we've documented here. Software Not Supported in MAME:
|
Action Max [Console] |
MAME Driver Status: Non-existent |
Best Emulator: Daphne |
The Action Max had the distinction of being the only home console that exclusively used VHS tapes for its games. Only five games were ever released for the console: .38 Ambush Alley, Blue Thunder, Hydrosub: 2021, Sonic Fury and The Rescue Of Pops Ghostly. Daphne only supports this system through its "SINGE" plug-in. Please see the Laserdisc-Based Hardware section for further details on Daphne and SINGE. |
Alto [Series] [Computer] |
MAME Driver Status: Good |
Best Emulator: Salto |
The Xerox PARC-developed Alto was the first computer to feature a Graphical User Interface (GUI); and "inspired" Steve Jobs to develop the Apple Lisa, the precursor to the Apple Macintosh. Needless to say, the Alto ranks among the most historically significant computer systems. Salto attempts to emulate the Alto and Alto II systems; and while error-prone, runs well enough to provide the user with a reasonable facsimile of the Alto's environment and features. Note that you need to launch the emulator with the disk image as a command-line argument or it will do nothing. Once in the Alto Executive (its operating system), pressing "?" (or typing "neptune" - the Alto's file manager) will return the contents of the disk; and to run a program, simply type its name. MAME's Alto drivers don't appear capable of loading any floppy disk-based software due to the lack of a floppy drive device - so for now at least, Salto is the best available alternative. |
Amiga [Series] [Computer] |
MAME Driver Status: Preliminary |
Best Emulator: RetroArch [PUAE Core] |
There's really no need for anyone to consider any other Amiga emulator - the Universal Amiga Emulator (UAE) rocks. It's been in development for many years and has a huge user/fan base worldwide, due in part to the fact that the Amiga computer itself was quite an incredible system far beyond its time. As a downstream port of UAE, the RetroArch PUAE core incorporates most of the features and accuracy improvements made over all those years, with the added benefit of a UI. The standalone cross-platform emulator FS-UAE, with its clean UI and full feature set, is also a fine choice. In fact, it supports some features not currently available in the PUAE core, such as the ability to create Hard Drive Format (HDF) images; and multiple expansion boards for accelerator (Blizzard/Cyberstorm), SCSI, graphics (UAEGFX, Picasso II Zorro etc.), sound (Toccata) and network (A2065) cards. While we do recommend this RetroArch core over its upstream counterpart due to actual emulation improvements, users should nevertheless be aware of its negative aspects and limitations as we've documented here. Thanks's to Kale's impressive work, the MAME driver has seen considerable accuracy and software compatibility improvements, particularly in the 0.242 development cycle. Still, the driver is still in preliminary status with many titles still not working properly, and generally quite far behind the more mature UAE base. MAME Edge Case Examples:
|
Atari 5200 [Console] |
MAME Driver Status: Good |
Best Emulator: Atari800 Emulator |
The confusingly-named "Atari800 Emulator" is the best of many Atari 5200 emulators, due primarily to its accuracy and cross-platform status (though honorable mention goes to kat5200). Other standalone Atari 5200 emulators such as kat5200 and Altirra support analog controls but lack many of the other benefits that the core inherits from the RetroArch framework. While a reasonably-equivalent RetroArch Atari800 core exists, we recommend using the upstream emulator instead. Despite the MAME driver's "green" status, it's far from mature, notwithstanding improvements to graphics accuracy during the 0.249 cycle. MAME Edge Case Examples:
|
Atari ST [Series] [Computer] |
MAME Driver Status: Preliminary |
Best Emulator: Hatari |
There are many mature Atari ST emulators in existence, including it's nearest "competitor" "Steem Engine", but this one is more accurate; supports other systems in the series such as the STE, TT and Falcon; and just feels less "hacky". The MAME driver is far from mature so it will be a while before it comes up to speed. From Kale's blog dated 12/23/2012: "Nothing boots at all (apparently disk format used isn't yet supported) and no input seems to work on OS screen. (screenshot main BIOS screen). EDIT: according to Mike Abson of MESS forum, .ipf format is actually supported and a bunch of games loads fine, still with no inputs however."MAME Edge Case Examples:
|
Commodore 64/128/CBM-II/PET/Plus4/VIC-20 [Computer] |
MAME Driver Status: Good/Imperfect |
Best Emulator: VersatIle Commodore Emulator (VICE) |
The open-source VICE is the best emulator of these Commodore systems to date. While "CCS64" is equally accurate, it isn't free nor open-source, and it doesn't emulate Commodore systems other than the C64. While a reasonably-equivalent RetroArch VICE core exists, we recommend using the upstream emulator instead. Despite the "good" status of the MAME drivers, they are far from mature so it will be a while before they come up to speed. From Kale's blog dated 12/23/2012: Vic-20/Vic-1001: Very slow driver, and inputs are pretty unresponsive most of the time (and no joystick support, so you can't possibly start some games). Some games (like A.E.) also sports offsetted gfxs. Nowhere near as usable, no... EDIT: for the joystick support, it was because you needed to actually type -joy1 joy in the command line. I've changed that to be default behaviour.MAME Edge Case Examples:
|
Discrete Circuitry-Based Hardware: Miscellaneous [Arcade] |
MAME Driver Status: Non-existent-Good |
Best Emulator: DICE |
As is the case with most standalone emulators, this one popped out of nowhere with little fanfare. The Discrete Integrated Circuit Emulator (DICE) is a proof-of-concept for accurate and fast emulation of discrete circuity - a feat which had been under strong doubt prior to its first release. Among other games, DICE supports Pong and Space Race which, for you history buffs, have the distinction of being Atari's first two video games (though the former isn't listed here due to the MAME Pong driver being equally good). DICE also supports Breakout (not listed here due to it running equally well in MAME), famously co-designed by Steve Wozniak, who would go on to co-found Apple Computer. For anyone curious about emulation history, Pong's addition to MAME was actually a "second coming" after having been initially dropped; this was because the original driver represented a highly inaccurate simulation of the game. Here is a more detailed explanation of the initial decision to drop it, courtesy of "Who Wants to Know?": "The driver for 'Pong' was pretty much an ad-hoc attempt at simulating the circuitry of the original machine, and it wasn't following any tracable path from the original circuitry to the driver (in other words, the writer 'played it by ear,' so to speak). The 'pseudo-CPU' used for timing purposes was a kludge, also. Because MAME's mission is accuracy, and since the Pong driver wasn't sufficiently accurate, the driver was dropped. I've been informed that, should one actually attempt to properly simulate the circuitry (like using the video clock as a timebase), then it would be accurate enough for inclusion in MAME. However, simulation of discrete circuitry involves a jump of thinking over regular emulation programming (involving as it does the simulation of electric components normally overlooked in regular emulation--diodes, transistors, etc.--as well as the emulation of any ICs that may still be present.), and we don't know of anyone who has made such a faithful attempt yet."Software Not Supported in MAME:
|
Discrete Circuitry-Based Hardware: Monaco G.P. [Arcade] |
MAME Driver Status: Preliminary |
Best Emulator: HBMAME |
This classic was Sega's final game to rely primarily upon discrete analog circuitry - an oddity for a game made in 1979, some three years after microprocessors were introduced to the market. As this was among the most complex games of its kind, don't bet on seeing it working in MAME anytime soon (though a skeleton driver does exist as of MAME .153). Software Not Supported in MAME:
|
Dreamcast [Console] |
MAME Driver Status: Preliminary |
Best Emulator: Flycast |
Flycast has a relatively long and storied history. The project has roots in nullDC, which was once a solid albeit Windows-only Dreamcast emulator, competing with closed-source Dreamcast emulators at a time when information and knowledge of the underlying platform was kept to a small circle of interested reverse engineers and developers. Eventually nullDC's author forked his own project into Reicast, with the main objective to widen platform availability to smartphones and tablets. While wider availability is generally a good thing, this resulted in cutting accuracy corners from the nullDC codebase to achieve the speed goals necessary to run on these platforms. Advancements in mobile hardware should have led to the removal of such "hacks"; however lack of developer resources and interest led to long delays in Reicast development, and the codebase remained virtually untouched for years before the RetroArch team began working with it as part of a "Reicast core". This core was eventually renamed to "Beetle DC", and eventually to "Flycast" for licensing reasons. Eventually its lead developer, flyinghead, abandoned work on the Flycast RetroArch core to focus exclusively on his standalone emulator. That said, Flycast is by far the best and most promising Dreamcast emulator in existence. Flyinghead dramatically improved Reicast in areas such as graphics, input, system clock, and the Dreamcast VMU. Atomiswave and NAOMI SH-4-based arcade systems have also been added to great fanfare, along with support for MAME's popular CHD format. Even the Dreamcast MMU, which is needed to run WinCE-based games such as "Armada", "Half-Life" and "Sega Rally Championship 2", is supported (anyone following Dreamcast emulation over the years understands what a tough nut this is to crack). Aside from some rare issues such as Armada running too slowly, this is a highly compatible and accurate emulator and a serious blessing to the preservation of such a historically-significant game console. While a reasonably-equivalent RetroArch Flycast core exists, we recommend using the upstream emulator instead. The MAME driver has been coming along nicely, though most games don't boot very far, and those that do run nowhere near the speed of the original system. Still, any MAME progress is great to see. |
Game Boy Color [Handheld] |
MAME Driver Status: Imperfect |
Best Emulator: Gambatte |
Gambatte is the most accurate of the many Game Boy Color emulators in existence. Lately we've also seen some impressive showings from the likes of higan and Mednafen, and Sameboy is always an excellent choice. However, there are a few edge cases where each fall short. These can be revealed when testing against Racketboy's list of GBC edge cases, as well as the excellent TASVideos test suite. higan has problems with 3D Pocket Pool, Alone In The Dark: The New Nightmare, Cannon Fodder, Donkey Kong Country, Dragon's Lair, Perfect Dark, Scooby Doo: Classic Creep Capers, Toki Tori and Tomb Raider. Mednafen has problems with Alone In The Dark: The New Nightmare, Cannon Fodder, Shantae and Wendy: Every Witch Way. Sameboy runs all the titles on Racketboy's list, and even runs Pinball Deluxe (known as a difficult target), with no problems. However, while it scored an impressive 78.7% on the TASVideos tests (even though the results aren't published), it doesn't beat Gambatte's stellar 89.4% score since it fails five audio tests, possibly due to a known issue with the emulator's timing. It's also significantly more CPU intensive, and it's harder to build, given that it forces the user to build the BIOS roms which in turn requies the "Rednex Game Boy Development System". That said, still newer information is starting to surface regarding SameBoy's capabilities based on updated testing. This Game Boy "shootout" test site shows SameBoy performing better than a downstream fork of Gambatte called "GambatteSpeedrun". As we are unfamiliar with this fork, we currently assume it to be more inaccurate than upstream Gambatte based on prior test results noted above. If anyone can prove otherwise, we will declare SameBoy a better Game Boy Color choice, notwithstanding its unique build requirements. While a reasonably-equivalent RetroArch Gambatte core exists, we recommend using the upstream emulator instead. Regarding the MAME driver, Kale stated in his blog dated 12/23/2012: "Not tried too much, but there are a fair deal of gfx/timing bugs on this one (example: Montezuma's Return on THQ logo). It seems otherwise more or less in a working state, just not extensively tested."MAME Edge Case Examples:
|
GameCube [Console] |
MAME Driver Status: Preliminary |
Best Emulator: Dolphin |
Dolphin is by far the best emulator for this system with scant few alternatives. We attribute Dolphin's rapacious progress to its vast open-source development community, which is comprised of many talented programmers and reverse engineers; as well as the accessibility of the code and the loose yet coordinated development model that seems more prevalent than that of any other emulation project we know, with the exception of MAME itself. This is the way emulation projects should be run, especially those involving such modern systems as the GameCube and Wii. As time passes, projects established with the lofty goal of emulating a complex next-generation system will need to employ Dolphin's successful and proven model if any success is to be made. MAME's preliminary GameCube "support" is more of a skeleton driver and placeholder for future development. Currently it merely decrypts the IPL and the CPU executes the first few instructions. |
IBM Mainframes [Computer] |
MAME Driver Status: Non-existent |
Best Emulator: Hercules |
Hercules emulates several IBM Mainframes; namely, System/370, ESA/390, and z/Architecture systems. Hercules has a huge (3000+) user community, as these systems were quite special to many people. Note: A GUI is available for Windows users, and a separate one for Linux users. |
iOS-Based Hardware [Handheld] |
MAME Driver Status: Preliminary |
Best Emulator: touchHLE |
touchHLE emulates devices running 32-bit iOS (specifically version 2.x) such as early models of the Apple iPhone and iPod Touch. While the project does not target modern 64-bit iOS versions, support for early iPads and devices running iOS versions 3.x and 4.x are being considered. As ths name implies, this is a high-level emulator, and as such, it re-implements system frameworks such as OpenAL and OpenGL ES. Note that we have not been able to test this emulator since it does not compile on our Linux test system and the development team behind touchHLE does not officially support Linux for some reason. We will update this section if and when we can produce a working binary. We are also tracking progress of QEMU-iOS thanks to a suggestion from one of our readers. Unlike touchHLE, it cannot launch third-party iOS apps at this time, however it focuses on emulation of the entire iOS environment and takes a more accurate, low-level approach. In contrast, touchHLE reimplements every syscall independently, leading to widespread incompatibilities among apps. |
Jaguar [Console] |
MAME Driver Status: Preliminary |
Best Emulator: Virtual Jaguar |
Virtual Jaguar is a solid, open-source Jaguar emulator with relatively few compatibility issues. Note that it does not run the game "Power Drive Rally" (one of the few decent Jaguar games) properly yet; and while Project Tempest seems to run this game properly, the latter is closed-source and Windows only, and hasn't seen a release in over a decade. While a reasonably-equivalent RetroArch Virtual Jaguar core exists, we recommend using the upstream emulator instead. The MAME driver is far from mature so it will be a while before it comes up to speed. MAME Edge Case Examples:
|
Laserdisc-Based Hardware [Arcade] |
MAME Driver Status: Imperfect/Preliminary |
Best Emulator: Daphne |
Given that MAME doesn't yet emulate many laserdisc-based systems, largely due to indecisions regarding the disc preservation method and format, Daphne is your best bet. Of course, you still need both the chipsets and the laserdiscs (not to mention a supported laserdisc player) to play these games. Alternatively, ROMs and MPEG2 files may be used. Note that while the official Daphne project is no longer being developed, this fork has seen more activity lately. Most noteworthy has been the Linux x64-bit port of the Daphne plug-in "SINGE" to the project. More games are available through SINGE, as noted below, however these can barely be called "emulations" as Singe uses its own custom interpreter to render game assets and gather input from the player, rather than emulate the original system ROMs via CPU. Still, we've chosen to document such titles since the laserdisc footage from the original games are used, thus providing a reasonable enough approximation of the original experience. Interestingly, the RetroArch team has recently added a Daphne core, though it currently only works with Android-based systems and has audio issues. We'll give this further attention as these issues are resolved. Finally, there have been some interesting new developments in laserdisc preservation thanks to Simon Inns' Domesday Project 86, which employs a combination of specialized hardware and open-source software to preserve the discs in a far more faithful manner than ever before. While this project aims to preserve specific non-arcade discs, MAME will almost certainly benefit from its work in the near future. Software Not Supported in MAME:
|
Macintosh [PowerPC] [Computer] |
MAME Driver Status: Preliminary |
Best Emulator: DingusPPC |
DingusPPC is a modern Macintosh PowerPC emulator with a functioning debugger, which currently emulates Power Mac 6100, 7200, and G3 Beige systems better than other models. The emulator is in early stages and is relatively difficult to install and use, primarily as it lacks a UI. However, PowerPC enthusiasts should find it worth the undertaking. |
Model 3-Based Hardware [Arcade] |
MAME Driver Status: Preliminary |
Best Emulator: Supermodel |
This emulator had been moribund for over five years until 2011, when it had about a years' worth of rapid development before slowing down once again. Regardless, anyone who loved the Model 3 age of Sega needs to check this out. Software Not Supported in MAME:
|
Neo Geo Pocket / Neo Geo Pocket Color [Handheld] |
MAME Driver Status: Good |
Best Emulator: Mednafen |
Mednafen's "resurrection" of NeoPop represents a solid, open-source Neo Geo Pocket emulator with relatively few compatibility issues. While a reasonably-equivalent RetroArch Beetle NeoPop core exists, we recommend using the upstream emulator instead. Sadly, this system was removed from the "Driven to Maturity" section recently since it was discovered that the MAME driver doesn't support saving to battery-backed RAM as Mednafen does. This can be seen in games like Metal Slug - 2nd Mission (upon completing any level). MAME Edge Case Examples:
|
Nintendo 64 [Console] |
MAME Driver Status: Preliminary |
Best Emulator: RetroArch [Mupen64Plus-Next Core] |
It's certainly been a long and winding road towards accurate Nintendo 64 emulation. Even today, few emulators outside of the MAME driver are terribly accurate, though some can at least run a wide variety of N64 titles (if you can forgive the high-level emulation employed to do so). The best of the standalone emulators are Project64 and Mupen64Plus. Considering the negligible title compatibility differences between these two, the fact that the latter runs on more platforms including Linux lends greater potential for the target system's preservation than the Windows-only Project64. Its inclusion as a RetroArch core furthers this argument. To improve the situation further, the RetroArch development team added N64 three-point texture filtering and native-resolution rendering to its Mupen64Plus core (currently known as Mupen64Plus-Next), as described here. Next, they added the accuracy-focused "ParaLLEl" Reality Drawing Processor (RDP) and Reality Signal Processor (RSP) plug-ins which support Vulkan. These features permit this core to emulate the N64 at a high level of accuracy that affords running games such as "Star Wars: Rogue Squadron" that are notoriously difficult to emulate, while faithfully preserving the look and feel of an actual Nintendo 64. Plug-in systems such as those employed by RetroArch's Mupen64Plus-Next core allow independent developers to write their own interchangeable video, audio, controller, and RSP modules. However, as the emulation community is becoming more aware in recent years, plug-ins are widely acknowledged as inferior to more modern and accuracy-focused development approaches that emulate the target system as a single platform. Many developers of such projects have realized that it's better to write improvements directly into the emulator's main codebase, to enforce a discipline of everyone looking at the same piece of code to more rapidly improve its accuracy. Hopefully this core's architecture will change in time accordingly. While we do recommend this RetroArch core over its upstream counterpart due to actual emulation improvements, users should nevertheless be aware of its negative aspects and limitations as we've documented here. The MAME driver primarily written by MooglyGuy is more accurate than MupeN64Plus; however it is also unplayably slow and does not run many titles yet. Given time and speed improvements the MAME driver will be a far better alternative of course, but this may be years away - so don't hold your breath. From Kale's blog dated 12/23/2012: "Performance varies greatly on this one according to what happens on screen (it ranges between 20% to 100% and above). Compatibility isn't great, most games either crashes or throws black screens. Former might be due of some silly floating point assert within the gfx system, it's certainly something that's shared (examples: Bangai-O, Fushigi no Dungeon 2, Sin & Punishment, all with the same assert type). Only the BIOS is supported in 64DD, no work has been done for the disk drive emulation." |
Nintendo 3DS [Handheld] |
MAME Driver Status: Non-Existent |
Best Emulator: Lime3DS |
Lime3DS is a fork of the now-defunct Citra, and is therefore an accurate, feature-rich, open-source Nintendo 3DS emulator. MAME does not support this system. |
Nintendo DS [Handheld] |
MAME Driver Status: Preliminary |
Best Emulator: MelonDS |
MelonDS is a solid, open-source Nintendo DS emulator with relatively few compatibility issues. While a reasonably-equivalent RetroArch MelonDS core exists, we recommend using the upstream emulator instead. MAME's preliminary Nintendo DS "support" is more of a skeleton driver and placeholder for future development. |
Nintendo Entertainment System [Console] |
MAME Driver Status: Imperfect |
Best Emulator: Mesen |
Surprised? Man, is competition fierce in the Nintendo department. With so many great emulators to choose from (FCE Ultra, Mednafen, Nestopia, NNNesterJ, puNES, RockNES X and VirtuaNES to name a few) it can make your head spin. What's worse - the NES supports 255 "mappers" within their cartridges and none of these emulators support them all. What's a mapper? Chris Covell's NES Tech FAQ describes it well: "The 6502 CPU has only a 16-bit address bus. That means it can only access up to 65536 bytes of either ROM or RAM at one time. And the NES is designed to access half that much ROM. As programmers want to have more complex games, they need a way to spread a game across more than 32K of ROM. Thus, memory mappers are devices which switch different banks of program code into the 32K window of ROM which the CPU can access.Incidentally a few excellent places to find information on mappers and the games they support are here and here. Overall, Mesen represents the best NES emulation experience available. This is proven on the upstream emulator's own website which lists the mappers Mesen supports (all but one) and the test ROMs it passes (all of them). Incidentally, Sour (Mesen's author) has rightfully called out the TAS NES accuracy tests as being inaccurate in places and in need of an update. His own tests more accurately reflect the NES accuracy status quo. While a reasonably-equivalent RetroArch Mesen core exists, we recommend using the upstream emulator instead. For further information regarding RetroArch, see our RetroArch write-up. MAME's own NES driver is edging closer to Mesen in terms of accuracy and compatibility. etabeta once posted that he's hacked around issues with the MMC-5 mapper (famous for "CastleVania III" and many Koei games), though a PPU rewrite is still necessary to fix this properly and address many of the issues noted below. Kale stated in his blog dated 12/23/2012: "...PPU mid-frame changes doesn't work too well (off by a bunch of scanlines, generally), and sometimes you get garbled gfxs. It can load Famicom disk images too. Needs some serious reg-testing and somebody that is willing to rewrite the whole video system from scratch (according to Etabeta)." MAME Edge Case Examples:
|
Nintendo Switch [Console] |
MAME Driver Status: Non-existent |
Best Emulator: Ryujinx |
MAME does not support this system. Unfortunately this emulator is written in Microsoft C#/.NET and uses the Avalonia software framework rather than more vendor-agnostic solutions. While we would of course prefer C/C++ and Qt as they are stardards among emulation projects, Ryujinx is open-source and available for Linux, so it is documented here. |
PC-FX [Console] |
MAME Driver Status: Preliminary |
Best Emulator: Mednafen |
Mednafen PC-FX represents a solid PC-FX emulator with relatively few compatibility issues. While a reasonably-equivalent RetroArch Beetle PC-FX core exists, we recommend using the upstream emulator instead. Regarding the MAME driver, Kale stated in his blog dated 12/23/2012: "[The MAME driver is] very preliminary, it shows a very basic OS screen with bad colors and nothing more (it uses a complex YUV calculation). There are issues with V810 CPU irqs, they makes the framework to crash if two happens at the same time (it's also a shared issue with Virtual Boy). Not a single line of CD-ROM device code is written at all, but it's a super-set of the one also used by PCE/PC-8801 anyway (so using this system as a base for rewriting it might be a good idea)." |
PCW / PcW16 [Computer] |
MAME Driver Status: Preliminary |
Best Emulator: JOYCE |
JOYCE is the only Amstrad PCW and PcW16 emulator available outside of MAME. |
Personal Computer [Computer] |
MAME Driver Status: Preliminary |
Best Emulator: PCem |
If you want to run your Pentium-era PC games and other software, PCem is absolutely your best bet, as it's highly accurate, fast, and offers a wide selection of CPUs and video cards including the once-mighty 3dfx Voodoo 2. Under PCem you can install, for example, Windows 98 to a virtual hard drive image and then fill the image with your software. Fantastic! DOSbox is its closest "competitor" besides MAME itself, though it's loaded with gross hacks, many of which are intended to pass important I/O functions through to the host platform. Other emulators to watch for are Bochs and QEMU. The MAME driver has made rapid progress lately, especially with respect to 80486-based systems, and is well on its way to matching the efforts above. Kale stated in his blog dated 12/23/2012: "Right now the x86 CPU is very solid, so the PC/AT can run and install every available Windows up tomewith a i486 and several *nix distros. As for the video/sound, some ISA cards are emulated, but there are still a fair share of bugs with them (most known one is the horizontal pel shift bug in VGA that happens in Alien Breed and Sensible World of Soccer. It's basically used for horizontal scrolling, but values doesn't make much sense as per now). Some SWs also behaves weird (for example: Heroes of Might & Magic hangs once that you go in end turn phase). Will see to iron out these issues in the next months..." |
PlayStation [Console] |
MAME Driver Status: Preliminary |
Best Emulator: Mednafen |
PlayStation emulation has been fraught with controversy, from the commercial fiasco/disaster that was Bleem to the unapproved hack/project "PSXeven". Others such as ePSXe, Xebra and pSX have taken turns holding the best-choice mantle for many years; however they are all closed-source. Furthermore, while ePSXe is compatible with a wide range of titles, it's a far less accurate emulator to Mednafen, and focuses on pointless features such as "upscaling" to resolutions far beyond what PlayStation game developers originally used during the system's lifecycle, distorting the visuals and ruining the experience of playing on the actual system. While Mednafen exhibits a few issues (for example, "Monkey Hero" and "Transformers - Beast Wars Transmetals" are apparently unplayable due to timing issues), the emulator is open-source, supports features such as in-game "cd changing" unlike most other alternatives, wisely doesn't use plug-ins, and is by far the most compatible and accurate PlayStation emulator to date. In fact, it came out well beyond others in an exhaustive accuracy test. While a reasonably-equivalent RetroArch Beetle PlayStation core exists, we recommend using the upstream emulator instead. While the MAME driver has shown significant progress lately, further accuracy improvements are needed; and as the driver lacks dual-shock support due to major MAME limitations, it may be a while before the PlayStation will be cited in the "Driven to Maturity" section. |
PlayStation 2 [Console] |
MAME Driver Status: Preliminary |
Best Emulator: PCSX2 |
With over 150 million units shipped and a library of over 4,000 titles, the PlayStation 2 is by far the most popular console ever made. Likewise, PCSX2 is by far the most mature emulator for the system, having started in 2002 with a roster of past and present contributers that daunts most other efforts. While the project has been derided in the past for many reasons including its outdated codebase and UI, and favoring playability over accuracy with its focus on "per-game hacks", this is rapidly changing. Past and present contributers have recently added native x64 support, merged plugins into the core, removed many hacks, and are now modernizing its codebase while transitioning from its 90s-era WxWidgets UI towards a more modern Qt interface. The future looks bright indeed for the project! MAME's preliminary PlayStation 2 "support" is more of a skeleton driver and placeholder for future development. |
PlayStation 3 [Console] |
MAME Driver Status: Non-existent |
Best Emulator: RPCS3 |
MAME does not support this system. |
PlayStation 4 [Console] |
MAME Driver Status: Non-existent |
Best Emulator: shadPS4 |
This is more of a placeholder for a project that aims to emulate PlayStation 4 hardware in the distant future. shadPS4 currently comes closest, as it can run some commercial titles and features a QT-based UI, making it accessible to the average user. RPCSX and Obliteration are decent open-source alternatives. The former holds promise as the developers from RPCS3 are involved, and because they aim to emulate the PlayStation 5 in time as well (hence the project's name). However it has not seen any activity in quite some time and has perhaps been abandoned. MAME does not support this system. |
PlayStation Portable [Handheld] |
MAME Driver Status: Non-existent |
Best Emulator: PPSSPP |
Written by Hrydgard of Dolphin fame, PPSSPP is an excellent open-source emulator. While far from perfect, development seems to be moving along at a steady pace. While a reasonably-equivalent RetroArch PPSSPP core exists, we recommend using the upstream emulator instead. While nowhere near as mature, JPCSP is perhaps worth a look if only for the fact that it's written in the ubquitous Java and seems to do a fairly decent job given the language. |
PlayStation Vita [Handheld] |
MAME Driver Status: Non-existent |
Best Emulator: Vita3K |
MAME does not support this system. |
PokéMon Mini [Handheld] |
MAME Driver Status: Preliminary |
Best Emulator: PokeMini |
PokeMini is the best known emulator for Nintendo's smallest handheld system, even supporting interesting original hardware features such as rumble. On the downside, PokeMini only currently recognizes ROMs in ".min" format which requires extensions to be changed manually from other, more widely-used extensions. While a reasonably-equivalent RetroArch PokeMini core exists, we recommend using the upstream emulator instead. The MAME driver seems close; however there are video problems, and neither sound nor rumble is supported. |
RCA-Based Hardware [Arcade] [Console] |
MAME Driver Status: Good/Imperfect/Non-existent |
Best Emulator: RCA Emulator |
This is Andy Modla's Java-based port of Paul Robson's excellent RCA emulator originally written in C. RCA Emulator emulates many RCA systems including the COSMAC, COSMAC VIP, Studio II, Studio III (monochrome and color) and Studio IV. It also runs the only two RCA-based arcade games known to exist, as noted below. For further information check this forum post. Fun fact: the author was a software developer for RCA when these systems were commercially relevant. The MAME driver supports COSMAC and System II-based RCA hardware though is nowhere near as mature as this emulator. Software Not Supported in MAME:
|
Saturn [Console] |
MAME Driver Status: Preliminary |
Best Emulator: Mednafen |
Though relatively new to the scene, Mednafen's Saturn emulator is more stable and accurate with relatively fewer compatibility issues than its nearest "competitor" Yabause. It's biggest flaw seems to be its lack of support for MAME's CHD format which we'd love to see, especially given its recent rise in popularity. With that said however, Mednafen generally supported nearly all games we tested with only minor issues (a comprehensive list of issues are posted here). We consider this a giant leap forward for open-source (read: non-SSF) Saturn emulation after over a decade of inferior attempts. Kudos to Ryphecha of Mednafen for the hard work and dedication it must have taken to make this happen - and we look forward to future improvements. While a reasonably-equivalent RetroArch Beetle Saturn core exists, we recommend using the upstream emulator instead. The MAME Saturn driver has had its share of improvements as well, and apparently some games are now fully playable. However, a majority of games will not be playable until support for the Saturn CD block is added. Kale stated in his blog dated 12/23/2012: "Current SW compatibility is more or less at the level of the Yabause emulator. The major problem with this system is not that it's too hard to emulate, but rather, the lack of vital information available. For example: there's no info regarding VDP1 opcode timings, that definitely makes a difference on several test cases like Night Striker or Grandia. We also don't emulate the SCU DSP at CPU level, and a bunch of games definitely relies on that by keeping it enabled (so it hangs with the current hook-up, example Magical Hoppers). Some later Sega games like Daytona USA CE or Virtual On also uses some exploit in the system to draw their 3d list, no hell of an idea about this one. Last one that I do recall as a nasty test case at the moment is the Game Basic software: it tries to do an illegal DMA (from BIOS ROM to VDP1), so the (visually appealing) demos won't display any gfx." |
Sega CD [Console] |
MAME Driver Status: Preliminary |
Best Emulator: PicoDrive |
For information on the excellent PicoDrive emulator, please see our 32X section. While a reasonably-equivalent RetroArch PicoDrive core exists, we recommend using the upstream emulator instead. The MAME driver has been making progress but is far from mature. As Kale observes in his blog dated 12/23/2012: "Stock Mega CD (the Japanese one) doesn't load anything for now (it was working before), you need to use megacd2j if you want to play a JP game. Compatibility ratio is otherwise hit or miss, due of the timings that have a huger impact on this than regular MD." |
SH-4-Based Hardware [Arcade] |
MAME Driver Status: Preliminary |
Best Emulator: RetroArch [Flycast Core] |
Hitachi's ubuquitous SH-4 CPU powers not only the Sega Dreamcast, but also a wide variety of early- to mid-00's arcade systems, including Aristocrat MKVI gambling machines, Capcom Medal Hardware, the Galeco games "ATV Track" and "Smashing Drive", Sammy Atomiswave, Sega Hikaru, Sega NAOMI and NAOMI 2, and Sega System SP. While the RetroArch Flycast core currently only supports the Atomiswave, NAOMI and NAOMI 2 systems, this is the first time an open-source SH-4 emulator has properly documented such hardware and in a manner playable on modern systems. These are exciting times for SH-4 arcade hardware preservation indeed. History lesson: The SH-4 section was removed from NonMAME years ago following our purge of closed-source emulators, as the closed-source Demul was the only emulator capable of supporting these systems (though interestingly, the Demul team relied upon Stefano Teso's open-source Hikaru emulator "Valkyrie" to a degree). Note that while we recommend RetroArch's Flycast core given that Flyinghead (its upstream author) directly supports it in his codebase, a standalone implementation exists which is also excellent.
As with the Dreamcast, MAME support has been coming along nicely, though most games don't boot very far, and those that do run nowhere near the speed of the original system. Still, any MAME progress is great to see. Supported NonMAME Software [Atomiswave]:
|
Super Nintendo Entertainment System [Console] |
MAME Driver Status: Imperfect |
Best Emulator: bsnes |
We need to be careful with hyperbole when writing about brilliant emulators - there's so much good stuff out there we imagine it would be easy for you, our readers, to feel jaded by review after glowing review. Having said that, it's impossible for us NOT to rave about bsnes. With so many decent SNES emulators that have been developed over the years there's a lot of competition for sure, yet bsnes easily beats them all, demonstrating that system emulation can improve dramatically even after the target system has received years of attention and scrutiny. bsnes accuracy is VERY close to 100%, with a 65816 CPU core that is - are you sitting down? - accurate to the clock cycle. We're not kidding - bsnes basically IS a SNES in software. Show us any other SNES emulator - heck, show us any other emulator period, that can lay that sort of claim (of course there is a speed cost, but it's really not that noticeable if you are running bsnes on any modern computer system). As if that weren't enough, bsnes features BS Satellaview and SuperFX support, and is frequently updated unlike some of its competition. The only true runner-up to bsnes is SNESGT. While not quite as accurate, this emulator is also highly compatible, and according to bsnes author Near himself, SNESGT actually supports some BS Satellaview games that bsnes doesn't. As bsnes author Near told us at the time, "[SNESGT] uses various game-specific workarounds that [bsnes] cannot to achieve even greater BS-X compatibility [than bsnes]." Sadly, Near (also known as byuu) has passed away. He was a good person, he will be missed tremendously, and his contributions to system preservation can never be overstated. While a reasonably-equivalent RetroArch bsnes core exists, we recommend using the upstream emulator instead. MAME development has been progressing slowly but steadily, and there's even efforts underway towards writing a cycle-accurate 65816 core which could rival bsnes, though the driver lacks BS Satellaview support and has other issues as noted below. That said, the MAME 0.215 release saw major improvements to SuperFX-based games, and popular games such as "Starfox" and "Super Mario World 2: Yoshi's Island" have become fully playable. Kale stated in his blog dated 12/23/2012: "Compatibility ratio is decent as per now, it's not yet at [bsnes] level and some extra chips aren't yet supported (example: SA-1). The major problem with this is still the main-sound timings, we're still cycle stealing too much or too little, depending on the situation. It needs a major rewrite of the CPU emulation (that should also take open bus into account). Also, video emulation isn't too good either, but the whole thing is currently annoying enough to debug, last time I've fixed a very simple bug (Robocop 3 missing sprites, caused by incorrect VRAM wrap-around) it took me about 3/4 hours. Too much."MAME Edge Case Examples:
|
Symbian-Based Hardware [Handheld] |
MAME Driver Status: Non-existent |
Best Emulator: EKA2L1 |
Symbian is an operating system that was designed for and used in ARM-based smartphones, most notably Nokia's "N-Gage". It was popular in most countries throughout the world (though not as much in North America) until iOS and Android changed the game. Its final release was in 2012. EKA2L1 is the only known Symbian emulator but is reasonably accurate and runs most software such as the N-Gage game library with relatively few issues. That said, it can be challenging to configure, largely due to its unintuitive and often confusing UI which is prone to freezing and crashing. Many tutorials exist online to aid the beginner in getting started, however.
|
Triforce-Based Hardware [Arcade] |
MAME Driver Status: Preliminary |
Best Emulator: Dolphin |
While older Dolphin builds run "Virtua Striker 2002" just fine, the latest apparently don't. Also, "Mario Kart Arcade GP 2" currently requires an entirely separate build from the "Triforce Branch" of the source tree. Software Not Supported in MAME:
|
Virtual Boy [Handheld] |
MAME Driver Status: Preliminary |
Best Emulator: Mednafen |
Mednafen VB represents a solid, open-source Virtual Boy emulator with relatively few compatibility issues. While a reasonably-equivalent RetroArch Beetle Virtual Boy core exists, we recommend using the upstream emulator instead. The MAME driver has long lagged behind, though Kale's changes during the 0.254 development cycle have greatly improved the situation. Still, the apparent framebuffer issues result in improper rendering of some titles (see below). MAME Edge Case Examples:
|
Wii [Console] |
MAME Driver Status: Non-existent |
Best Emulator: Dolphin |
While not exactly coming out of the blue, Dolphin's advanced support for the Wii took everyone by surprise. It'll require a little work to dump the BIOS from your Wii for accurate audio support, and your computer will need bluetooth capability to support the Wiimote, but Dolphin makes it possible to play your Wii games at full speed on most modern computers. Perhaps the most exciting thing about Dolphin is the constant improvements that are made almost every day. For futher information regarding Dolphin, see the writeup in the GameCube section. |
Wii U [Console] |
MAME Driver Status: Non-existent |
Best Emulator: Cemu |
MAME does not support this system. Cemu has recently transitioned to open-source with Linux support and works quite well on our test system, with improvements rapidly being made to bring the emulator up to feature parity (and beyond?) with Windows. |
Xbox [Console] |
MAME Driver Status: Preliminary |
Best Emulator: xemu |
While many others have tried and failed in the monumentally difficult task of accurately emulating the original Xbox, xemu seems to hold the most promise. This project began as a fork of XQEMU, which in turn leverages QEMU's proven technology in its attempt to emulate the console's sophisticated hardware. xemu adds a basic UI and controller support among many other recent improvements, and is more actively developed than its parent project. Note that while many titles work, they lack sound and run slower than on other emulators such as CXBX-Reloaded. However, the latter's heavy reliance upon HLE dramatically impacts its accuracy and faithfulness to the original hardware; while its Windows-only status prevents it from being considered as a serious preservation effort. Finally, OpenXBOX holds some promise as an LLE-based emulator in its very early stages.
|
Xbox 360 [Console] |
MAME Driver Status: Non-existent |
Best Emulator: Xenia |
Quite surprisingly, this emulator seems pretty advanced for its young age, and should quiet anyone believing "last-generation" emulation isn't possible on today's hardware. Still, Xenia has a long way to go before documenting the Xbox 360's demanding hardware with any degree of accuracy, and preserving its legacy for future generations. Time will tell how far it gets. We cannot compile this emulator on our test system so it is difficult for us to observe its capabilities first-hand.
|
ZN-Based Hardware: Primal Rage II [Arcade] |
MAME Driver Status: Preliminary |
Best Emulator: HBMAME |
In 2017, an emulator author released MAME4RAGE2 which emulates the arcade game "Primal Rage II" by adding timing hacks to MAME's official ZN1 (Sony PlayStation) code. Unfortunately, we could not compile the MAME4RAGE code as it is based on MAME 0.168 and therefore requires dependencies that are deprecated and no longer installed on our test workstation. However, HBMAME supports this game and will compile against the latest MAME codebase. The MAME development team has stated they do not plan to support this hack officially, offering the reason that hacks are discouraged. This is somewhat of a surprising stance given that there are already plenty of hacks in MAME that were created to bring systems to a working state. With that said, hopefully the MAMEdev team will support the game without hacks in the future. Software Not Supported in MAME:
|