Emulators on macOS
![]() | |
Developer | Apple |
---|---|
Type | Operating systems |
Release date | 1984 |
Latest release | macOS Ventura |
This page lists emulators for macOS.
The Mac has changed considerably over the years, both in terms of hardware and software.
It has gone through four major cpu architecture changes: Motorola 68k, PowerPC (PPC), x86/x64 and most recently Arm. There have also been minor architectural changes such as the PPC G3, G4 and G5 chip designs, and 32-bit x86 to 64-bit x64. It has also changed from the classic Mac OS to the FreeBSD unix-based macOS (previously Mac OS X).
All this means that to find an emulator that works well for your system you should understand its specs first and choose an emulator that natively supports it where possible. The emulators shown here will indicate the processor architecture it supports.
Another aspect to consider is the graphical backend of the emulator. For many years OpenGL was the main cross-platform standard for developing graphical software. However in recent times this has changed. More modern backends such as Vulkan and Metal are superseding it. OpenGL on macOS has now been marked as deprecated, meaning it is stuck on the older OGL 4.1 and will someday be removed from macOS completely. Apple recommends for developers to create native Metal backends for their apps.
One issue with this is that a lot of emulators are cross platform, and Metal is for Macs only. The Vulkan backend for Windows and Linux is similar to Metal, but does not have support on macOS. So many emulators will develop a Vulkan backend and use the MoltenVK translation layer, which will take Vulkan instructions and convert them into their respective Metal equivalent. However not every Vulkan instruction has a Metal version, so either workarounds have to be designed, or some features cannot be supported at all.
Generally you should choose an emulator that supports Metal where available if you are on a modern Mac. MoltenVK should be more performant than OpenGL, although there may be compatibility issues. OpenGL may work, but some emulators need to use a version newer than OGL 4.1 that macOS doesn't support. In cases like this the emulator will be marked as not having OpenGL support.
Contents
Frontends
OpenEmu
Many emulators for macOS can be played very conveniently with OpenEmu which provides an iTunes-like interface for your game collection and uses various different emulator cores to play them, including command line only emulators such as MAME and Mednafen. The systems emulated are listed here. In keeping with their goal of simplicity, some advanced features such as upscaling are generally not available. There is also no Arm build of OpenEmu available at time of writing.
Fightcade
Fightcade is a matchmaking frontend for playing many arcade fighting games online with other players. There is no Arm build at time of writing.
Arcade
Most Arcade Cabinets
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
MAME | 0.266 | ✗ | ✓ | ✓ [N 1] | ? | ✗ | ✗ | ✓ | ✓ | ~ [N 2] |
Atomiswave
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Flycast | Releases | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ |
MAME | 0.266 | ✗ | ✓ | ✓ [N 3] | ? | ✗ | ✗ | ✓ | ✓ | ~ [N 4] |
Naomi/Naomi 2
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Flycast | Releases | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ |
MAME | 0.266 | ✗ | ✓ | ✓ [N 5] | ? | ✗ | ✗ | ✓ | ✓ | ~ [N 6] |
Apple
Apple I + II + III
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
OpenEmulator | 1.1.1 | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ~ | ✓ |
MAME | 0.266 | ✗ | ✓ | ✓ [N 7] | ? | ✗ | ✗ | ✓ | ✓ | ~ [N 8] |
Nintendo
NES/Famicom
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
ares | v139 | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
higan | v110 | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
Nesemu-iOS | git | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
Nin | git | ✗ | ✓ | ✗ | ? | ✗ | ✗ | ✓ | ~ | ~ |
NESMac | 0.3.6a 68k 0.3.6a PPC |
✓ | ✗ | ✗ | ? | ✗ | ✗ | ✗ | ✗ | ✗ [N 9] |
Super Nintendo
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
ares | v139 | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
Snes9x | 1.62.3 git | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ [N 10] | ✓ | ✓ |
bsnes (Official) |
v115 | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
bsnes-hd (forked bsnes) |
beta 10.6 | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
higan | v110 | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
Mednafen (SNES-Faust) | 1.32.1 | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ~ [N 11] |
Silhouette | 1.0 | ✓ | ✗ | ✗ | ? | ✗ | ✗ | ✗ | ✗ | ✗ [N 12] |
N64
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
ares | v139 | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ~ [N 13] |
GameCube
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Dolphin | Releases | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Wii
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Dolphin | Releases | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Wii U
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Cemu | Releases | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ✓ |
Switch
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Ryujinx | Releases | ✗ | ~ [N 14] | ✓ | ✗ | ✓ | ✗ | ✓ | ✓ | ✓ |
Game Boy/Color/Advance
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | Game Link Support | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|---|
SameBoy | 0.16.6 | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ |
SkyEmu | releases | ✗ | ✓ | ✓ | ? | ? | ? | ✗ | ✓ | ✓ | ✓ |
ares | v139 | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ |
mGBA | 0.10.3 | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
KiGB | 2.09 | ✗ | ✓ | ✓ | ? | ✗ | ✗ | ✓ | ✗ | ~ | ~ [N 15] |
Boycott Advance | 0.4.4 | ✗ | ✓ | ✓ | ? | ✗ | ✗ | ✗ | ✗ | ~ | ~ [N 16] |
Gambatte | r571 | ✗ | ✓ | ✗ | ? | ? | ? | ✗ | ✓ | ✗ | ✗ [N 17] |
Gearboy | 3.5.0 | ✗ | ✓ | ✗ | ? | ? | ? | ✗ | ✓ | ~ | ✗ [N 18] |
higan | v110 | ✗ | ✓ | ✗ | ? | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
VisualBoy Advance-M (VBA-M) | 2.1.9 | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ~ |
GBMac | 1.2.6b4 | ✓ | ✗ | ✗ | ? | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ [N 19] |
DS
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
DeSmuME | Releases | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ~ | ✓ |
MelonDS | Releases | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
Medusa | Beta | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ~ [N 20] | ✓ | ✗ |
3DS
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Citra | Releases | ✗ | ✓ | ~ [N 21] | ✓ | ~ [N 22] | ✗ | ✓ | ✓ | ~ |
Sega
Dreamcast
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Flycast | Releases | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ |
Sony
PlayStation
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
DuckStation | git | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ |
ares | v139 | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
PCSX-Redux | git | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | ✗ |
Mednafen | 1.32.1 | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ~ [N 23] |
PCSX-R | git | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ |
Connectix VGS | 1.4.1 | ✓ | ✗ | ✗ | ? | ✗ | ✗ | ✗ | ✗ | ✗ [N 24] |
PlayStation 2
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
PCSX2 | Nightly | ✗ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ |
AetherSX2 | Releases | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ~ [N 25] | ✓ | ✓ |
Play! | 0.65 | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ |
PlayStation 3
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
RPCS3 | 0.0.32 Alpha | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ~ [N 26] |
PlayStation 4
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Obliteration | github | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ [N 27] |
PlayStation Portable
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
PPSSPP | 1.17.1 | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ |
PlayStation Vita
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Vita3K | Releases | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ | ~ |
Microsoft
XBox
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Xemu | Releases | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ |
Commodore
C64
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
VirtualC64 | Releases | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
Amiga
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
vAmiga | Releases | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
Atari
Atari ST
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Hatari | Mac builds | ✗ | ✓ | ✓ | ? | ✗ | ✗ | ✓ | ✓ | ✓ |
NEC
PC-98
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
SL9821 | Website | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ~ | ? |
Neko Project II | Website | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
Tandy
TRS-80
- TRS-80 Emulator for Mac OS - emulates TRS-80 Model I
Sinclair
ZX Spectrum
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
RetroVM | Website | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ? |
Fuse | Releases | ✗ | ✓ | ✗ | ? | ✗ | ✗ | ✓ | ✗ | ✗ |
Mac Spectacle | Mac Spectacle | ✓ | ✗ | ✗ | ? | ✗ | ✗ | ✗ | ✗ | ✗ |
IBM PC Compatible / MSDOS
Name | Latest Version | PPC | Intel | ARM | OpenGL | MoltenVK | Metal | FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|---|---|
Boxer | Website Fork |
✗ | ✓ | ✓ [N 28] | ? | ✗ | ✗ | ✓ | ✓ | ✓ |
86Box | 4.1.1 | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ |
PCem | git | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ~ | ✓ |
DOSBox-X | 2024.03.01 | ✗ | ✓ | ✓ | ? | ✗ | ✗ | ✓ | ✓ | ✓ |
DOSBox | 0.74-3 SVN |
✗ | ✓ | ✓ | ? | ✗ | ✗ | ✓ | ✓ | ~ [N 29] |
MAME | 0.266 | ✗ | ✓ | ✓ [N 30] | ? | ✗ | ✗ | ✓ | ✓ | ~ [N 31] |
Dapplegrey | Website | ✗ | ✓ | ✓ | ? | ✗ | ✗ | ? | ~ | ✗ |
References
- ↑ No official Arm build. Needs to be built from source
- ↑ MAME is run through the command line or through a frontend like OpenEmu.
- ↑ No official Arm build. Needs to be built from source
- ↑ MAME is run through the command line or through a frontend like OpenEmu.
- ↑ No official Arm build. Needs to be built from source
- ↑ MAME is run through the command line or through a frontend like OpenEmu.
- ↑ No official Arm build. Needs to be built from source
- ↑ MAME is run through the command line or through a frontend like OpenEmu.
- ↑ Classic Mac OS only.
- ↑ Due to using a non-commercial license. Source code is still publicly available.
- ↑ Mednafen is run through the command line or through a frontend like OpenEmu.
- ↑ Classic Mac OS only
- ↑ Your mileage may vary depending on the game.
- ↑ Some games may work with an Intel Mac, but performance will be sub-par.
- ↑ Requires paid add-on to access extra features
- ↑ Requires paid add-on to access extra features
- ↑ 32-bit Intel only
- ↑ Does not launch with Rosetta2
- ↑ Classic Mac OS only
- ↑ Not open sourced yet, but will likely be opened later in development
- ↑ There are no official Arm releases yet, but some beta versions support Arm
- ↑ Vulkan/MoltenVK backends are currently in beta
- ↑ Mednafen is run through the command line only.
- ↑ Mac OS 9 only
- ↑ Based on PCSX2, so it is partially FLOSS. The ARM parts are currently closed source.
- ↑ Your mileage may vary depending on the title
- ↑ Very early in development. There is currently no graphics backend.
- ↑ There is a fork of Boxer that supports Arm
- ↑ DOSBox is run through the command line or through a frontend like Boxer or DOSBox-X
- ↑ No official Arm build. Needs to be built from source
- ↑ MAME is run through the command line or through a frontend like OpenEmu.