Emulators

There are many different types of emulators, each designed to mimic a specific platform or system. Some of the most common types of emulators include:

  • Console emulators: The most popular emulators, that mimic the behavior of video game consoles, such as the NES/Famicom, Game Boy, PlayStation, and many others. They allow you to play games designed for those consoles on your computer.
  • Arcade emulators: These emulators mimic the behavior of arcade machines, allowing you to play classic arcade games on your computer.
  • Computer emulators: These emulators mimic the behavior of older computer systems, such as the Commodore 64 or Amiga, allowing you to run software and games designed for those systems on your modern computer.

Here is a table comparing emulators for different platforms:

Recommended
Stable
Unstable
Unsupported
Show Libretro cores
EmulatorWindowsmacOSLinuxAndroidiOS
NES / Famicom
RetroArch
Mesen
FCEUX
SNES / Super Famicom
RetroArch
Mesen
snes9x
bsnes
Game Boy
RetroArch
Mesen
SkyEmu
Gearboy
SameBoy
mGBA
VBA-M
Game Boy Color
RetroArch
Mesen
SkyEmu
Gearboy
SameBoy
mGBA
VBA-M
Game Boy Advance
RetroArch
Mesen
SkyEmu
mGBA
VBA-M
Nintendo 64
RetroArch
Mupen64Plus
GameCube
RetroArch
Dolphin
Nintendo DS
RetroArch
SkyEmu
melonDS
melonDS-android
DeSmuME
Nintendo 3DS
RetroArch
Azahar
AzaharPlus
Wii
RetroArch
Dolphin
Wii U
Cemu
Cemu (Android)
Switch
Eden
SG-1000
RetroArch
Gearsystem
Master System
RetroArch
Mesen
Gearsystem
Mega Drive / Genesis
RetroArch
ClownMDEmu
Game Gear
RetroArch
Mesen
Gearsystem
Mega-CD
RetroArch
Saturn
RetroArch
Dreamcast
RetroArch
Flycast
PlayStation
RetroArch
DuckStation
PlayStation 2
PCSX2
NetherSX2-patch
PlayStation 3
RPCS3
aps3e
PlayStation 4
shadPS4
PlayStation 5
PSP
RetroArch
PPSSPP
PS Vita
Vita3K
Xbox
xemu
Xbox 360
Xenia
Xbox One
Xbox Series

About RetroArch

RetroArch is a special case, as it is a multi-platform emulator that supports a wide range of systems through the libretro API, which is a standardized interface for emulation cores.

RetroArch itself is not an emulator, but rather a frontend that allows you to run various emulation cores, which are the actual emulators for different platforms.

This is possible either because the emulator authors have created a libretro core for their emulator, or because the libretro team has ported the emulator as a core themselves.

You can see the list of cores supported by RetroArch on libretro's website: https://docs.libretro.com/guides/core-list/

Cores can be displayed in the table above, via the "Show Libretro cores" option.