Emulators on macOS

From Emulation General Wiki
Jump to navigation Jump to search
macOS
Apple Computer (1998).jpg
Developer Apple
Type Operating systems
Release date 2001
Latest release macOS 14 Sonoma
For emulators that run on Classic Mac OS, see Emulators on Legacy systems#Classic Mac OS.
For software that emulates macOS on other hardware, see MacOS.
This page is about emulators that run on macOS (previously Mac OS X).

The Mac has changed considerably over the years, both in terms of hardware and software. It is important to understand these changes so you can choose the best emulators for your Mac.

Operating System - Classic Mac OS | macOS

The Mac has had two main operating systems over its history: The "Classic" Mac OS versions 1 through 9, and Mac OS X (Ten, not Ex) which is now referred to simply as macOS. Classic was a closed-source proprietary OS, whereas macOS is based on an open-source Unix variant called Darwin. This Unix base helps with Linux compatibility.

The first several releases of macOS up to 10.4 Tiger contained support for Classic applications, but this was later dropped.

CPU Architecture - PowerPC | x86 | x64 | Arm64

macOS has supported three major cpu architecture changes: IBM PowerPC (PPC), Intel x86/x64 and most recently Apple Silicon (Arm64). There have also been minor architectural changes such as moving from 32-bit PPC processors to the 64-bit PPC G5, or from Intel's 32-bit x86 to 64-bit x64. Each time there was a hardware transition, Apple provided ways to continue to support older software on the new systems.

Rosetta was a software emulation layer that helped PPC applications to run on x86/x64 Macs. It was built into 10.4.4 Tiger, but was an optional install in macOS 10.6 Snow Leopard and not available at all for 10.7 Lion. Rosetta 2 currently facilitates x64 software to run on Arm Macs. While Rosetta performs very respectably for most software, it adds extra overhead which can reduce performance on demanding games and emulators.

Apple also introduced Universal Binaries that bundle software for different architectures into a single app bundle. For example, Universal 2 app bundles contain x64 and Arm versions of software in one app. This is very useful for portability, or for people who don't know or care about their Mac's specs. If you know what CPU your Mac has, the advantage of getting the specific version for your CPU is that it will have a smaller file size than the universal binary. However the size difference is usually tiny, so just using the universal binary is usually the way to go.

Graphical Backend - OpenGL | MoltenVK | Metal

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. It doesn't receive any support or bug fixes 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 only for Apple's platforms. 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.

Using one of these backends is not mandatory, of course. Some emulators may use a different backend or handle graphics themselves.

Before diving in;
  • Remember that emulators can have different levels of completion or compatibility. If a game you are trying to run does not work properly with a recommended emulator, try a different one. All this means that to find an emulator that works well for your Mac you should understand its specs first. Choose an emulator that supports your CPU architecture natively where possible. The emulators shown here will indicate the processor architecture it supports. 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. This list shows the latest versions of the emulator software. If you have an older CPU and the latest version does not support it, some emulators will keep archives of older versions that might, check out their website.
  • See each Wiki Category Consoles, Computers and Arcade for individual dedicated system pages to see more detailed comparisons and information about software emulators. Dedicated system pages provide more up-to-date listings and in-depth information on specific aspects like hardware features, peripheral support, and compatibility etc.
  • Some games have native Source Ports on macOS, which can be better than playing through an emulator. Also see Game engine recreations and source ports page for a list for all platforms.

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 the time of writing.

Game-Specific Emulators

Some emulators target specific games rather than emulating whole systems, with ScummVM alone supporting over 300 games from various systems and more being added all the time.

Other projects are more considered source ports rather than emulators. See here for a list of source ports that work on macOS.

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Games List Recommended
ScummVM 2.8.1 List
DREAMM 2.1.2 List

Arcade

Most Arcade Cabinets

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
MAME 0.264 ? ~ [N 1]

Sega Atomiswave

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Flycast 2.3
MAME 0.264 ? ~ [N 1]

Sega Model 3

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Supermodel 0.3a ~ ~ [N 2]
MAME 0.264 ? ~ [N 1]

Sega NAOMI/NAOMI 2

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Flycast 2.3
MAME 0.264 ? ~ [N 1]

SNK Neo Geo MVS

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
FinalBurn Neo 1.0.0.2 ? NC ~
MAME 0.264 ? ~ [N 1]

Arcade LaserDisc

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
MAME 0.264 ? ~ [N 1]
Hypseus Singe 2.11.2

Nintendo

NES/Famicom

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
Nes-emu-iOS git
SwiftNES git [N 3]
Nin git ? ~ ~
Mesen 2.0.0 (preview) ~ ~ [N 3]
MetalNES git ~ [N 3]
Nestopia 1.52.1 ? [N 3]

Super Nintendo

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
bsnes
(Official)
v115
bsnes-hd
(forked bsnes)
beta 10.6 ~
Mesen 2.0.0 (preview) ~ ~ [N 3]
Mednafen 1.32.1 ~ [N 1]
Snes9x 1.62.3 NC ~

N64

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137 [N 4]
Mupen64Plus 2.5.9 ~ [N 5]
Rokuyon Releases
simple64 v2021.5.30 ?

GameCube

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Dolphin 5.0

Wii

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Dolphin 5.0

Wii U

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Cemu 2.0-78

Switch

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Ryujinx (龍神X) Releases ~ [N 6]
Suyu ~ [N 7]
Yuzu (柚子) ~ * [N 8]

Game Boy/Color

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Game Link Support Gamepad Support FLOSS Active Recommended
SameBoy 0.16.3
SkyEmu v3 ? ? ?
ares v137
mGBA 0.10.3
KiGB 2.09 ? ~ ~ ~ [N 9]
Gearboy 3.5.0 ? ? ? ~ [N 10]
Mesen 2.0.0 (preview) ? ~ ~ [N 3]
VisualBoy Advance-M (VBA-M) 2.1.9
Nightlies
~
Swift-plays-Pokemon git [N 11]
Gambatte r571 ? ? ? ?

Game Boy Advance

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Game Link Support Gamepad Support FLOSS Active Recommended
SkyEmu v3 ? ? ?
ares v137
NanoBoyAdvance 1.7.1
Hades 1.0.0 ? ? ?
mGBA 0.10.3
Boycott Advance 0.4.4 ? ~ ~ ~ [N 9]
Gearboy 3.5.0 ? ? ? ? ~ [N 10]
VisualBoy Advance-M (VBA-M) 2.1.9
Nightlies
~

DS

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
DeSmuME 0.9.13
MelonDS 0.9.5
NooDS Releases ? ~
Medusa Beta ~ [N 12] ~

3DS

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Citra Fork
Panda3DS 0.8

Sega

SG-1000

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
RetroVM Website
GearSystem 3.5.0 ?

Master System

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
CLK 2024-01-22
RetroVM Website ~
GearSystem 3.5.0 ?

Mega Drive/Genesis

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
Generator 0.4.8 ~ ~ [N 9]
Genesis Plus 1.3.5 ~ ~ [N 9]

Mega CD

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137

32X

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137

Saturn

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Mednafen 1.32.1 ~ [N 1]
Yabause 0.9.15

Dreamcast

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Flycast 2.3
Redream 1.5 ~ [N 9]

Game Gear

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
GearSystem 3.5.0 ?

Sony

PlayStation

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
DuckStation git
ares v137 ~
PCSX-R git
PPC 1.6.0
Intel 1.9.93
PCSX-Redux git ~
Mednafen 1.32.1 ~ [N 1]

PlayStation 2

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
PCSX2 Nightly ~ [N 13]
AetherSX2 1.5-3939 ~ [N 14] [N 15]
Play! 0.63

PlayStation 3

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
RPCS3 0.0.31 Alpha ~ [N 16]

PlayStation 4

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Obliteration github [N 17]

PlayStation Portable

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
PPSSPP 1.17.1

PlayStation Vita

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Vita3K 0.2.0 ~

Microsoft

MSX/MSX2

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
CLK 2024-01-22
CocoaMSX git ~ [N 2] ~ ~
fMSX 6.0 ~ ~ [N 9]
RetroVM Website

Xbox

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Xemu 0.7.120

Commodore

Vic-20

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
CLK 2024-01-22
Power20 4.9.5 ~ [N 18]

C64

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
VirtualC64 4.7
Denise 2.2.1
Frodo 4.4.4 ~ ~ [N 9]
VICE 3.8
Power64 4.9.5 ~ [N 18]

Amiga

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
vAmiga 2.5
FS-UAE 3.1.66
Denise 2.2.1
Amiberry 6.2.0 Preview ? ~
CLK 2024-01-22

Atari

Atari 8-bit family

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Rainbow 1.6.1 ~ ~ [N 9]

Atari 2600

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
CLK 2024-01-22

Atari 5200

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Jum52 1.1.4 ~ ~ [N 9]

Atari ST

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Hatari 2.4.1
CLK 2024-01-22

Atari Lynx

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Mednafen 1.32.1 ~ [N 1]
Handy 0.9.11 ~ ~ [N 9]

SNK

Neo Geo AES/CD

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
FinalBurn Neo 1.0.0.2 ? NC ~
MAME 0.264 ? ~ [N 1]

Neo Geo Pocket/Color

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
Mednafen 1.32.1 ~ [N 1]
Neopocott 0.5.5 ~ ~ [N 9]

Coleco

ColecoVision

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
CLK 2024-01-22
Mugrat 0.5.0 ~ ~ [N 9]
Gearcoleco 1.1.0 ?

Bandai

WonderSwan/Color

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
Mednafen 1.32.1 ~ [N 1]
Oswan 0.8.6 ~ ~ [N 9]

Apple

Apple I + II + III

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
CLK 2024-01-22
OpenEmulator 1.1.1 ~
KEGS 1.34 ?
Sara 0.5.1 ?
GSplus 0.14 ?
GSport 0.31 ?
MAME 0.264 ?

Apple Lisa

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
LisaEm 1.2.7 ?

Macintosh 68k

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
CLK 2024-01-22
Basilisk II Download
git
?
Mini vMac 36.04 ?

Macintosh PPC

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
UTM site
git
~
SheepShaver 29-12-2023 (Mac OS X)
git
?

NEC

PC-98

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
SL9821 Website ~
Neko Project II (猫Project II) Website

PC-Engine/TurboGrafx/SuperGrafx

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
ares v137
Mednafen 1.32.1 ~ [N 1]
Mesen 2.0.0 (preview) ~ ~ [N 3]
TGEmu 0.3.8 ? ? ~ ~ [N 9]

Fujitsu

FM Towns

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal Gamepad Support FLOSS Active Recommended
Tsugaru (津軽) Releases ?

Sinclair

ZX Spectrum

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
ares v137
CLK 2024-01-22
ZEsarUX 11 Beta1 ?
RetroVM Website ?
Fuzzbug 0.0.5 ? [N 9]
Fuse Releases ?

Tandy

TRS-80

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
TRS80GP Website
SDLTRS2 git ?

Dragon Data

Dragon 32/64

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
XRoar git ?

Oric

Oric 1 / Atmos

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
CLK 2024-01-22

Amstrad

Amstrad CPC

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
CLK 2024-01-22
Retro Virtual Machine 2.1.11 ?
ACE-DL 20240412 ? ? ?

Acorn

Electron

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
CLK 2024-01-22

BBC Micro

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
Horizon 2.1.1 ? ~ [N 9]

RISC PC

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
RPCEmu Releases ~

Thompson

MO5

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
MO5 2.6.7 ? ~ [N 9]

TO7

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
Thom 1.6.5 ? ~ [N 9]

TO8

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
TEO 1.8.7 ? ~ [N 9]

Commander X16

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
X16 Emulator r46 ~ [N 2] ~ ~ [N 19]

IBM PC Compatible / MSDOS

Name Latest Version PPC x86 x64 ARM OpenGL MoltenVK Metal FLOSS Active Recommended
Boxer Website
Fork
[N 20] [N 20] ? ~
86Box 4.1.1
DOSBox Staging Releases
DOSBox-X 2024.03.01
DOSBox 0.74-3
SVN
? ~
Dapplegrey Website ? ?
PCem git ~

References

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 Command line application. Best played using OpenEmu.
  2. 2.0 2.1 2.2 No official Arm build. Needs to be built from source
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Must compile from source.
  4. Uses MoltenVK for hardware acceleration, but still uses OpenGL to display frames.
  5. Only available as a core. Best played using OpenEmu.
  6. Some games may work with an x64 Intel Mac, but performance will be sub-par.
  7. Suyu was a Yuzu fork. It has been discontinued.
  8. Yuzu has been discontinued. Various forks are available.
  9. 9.00 9.01 9.02 9.03 9.04 9.05 9.06 9.07 9.08 9.09 9.10 9.11 9.12 9.13 9.14 9.15 9.16 9.17 9.18 Requires paid version to access extra emulation features
  10. 10.0 10.1 v3.5.0 builds are broken.
  11. No Audio. Must compile from source and run from command line.
  12. Not open sourced yet, but will likely be opened later in development
  13. Unofficial 32-bit builds available here.
  14. Based on PCSX2, so it is partially FLOSS. The ARM parts are currently closed source.
  15. Recommended on Apple Silicon except for where there are game-specific bugs that are fixed in PCSX2.
  16. Compatibility varies depending on the title
  17. Very early in development. There is currently no graphics backend.
  18. 18.0 18.1 Shareware. Requires license to unlock full version.
  19. Command-line only application. No app bundle provided.
  20. 20.0 20.1 There is a fork of Boxer that supports x64 and Arm