This is an old revision of the document!
Table of Contents
Emulators
Usually, if you want to run software made for a different operating system on your computer, you will be using a virtual machine. However, there are many cases where a VM will not be enough. Lots of operating systems (such as those made for embedded systems, legacy computer hardware, and video game consoles) are designed for specific chipsets that are wildly different from the chipsets that your computer or server shipped with. In these cases you will need to set up an emulator, which simulates the hardware of another device on your own device, allowing you to run software that you wouldn't be able to in a normal virtual machine.
There are many types of emulators for all sorts of devices and operating systems. This article will mainly focus on emulators that you can run on your computer or smartphone.
Operating System Emulators
This section needs expansion. You can help by adding to it.
Android
This section needs expansion. You can help by adding to it.
Linux
This section needs expansion. You can help by adding to it.
Windows
This section needs expansion. You can help by adding to it.
Retro Computing Emulators
Back in the 80s/90s, before the market standardized on the Windows/MacOS/*nix ecosystem we know today, there were many more operating systems to choose from. Some of them were designed for hobbyists. Others were professional enterprise machines. Emulating these platforms is a little more complicated than the ones above, as they may require emulation of unique or archaic chipsets. Here's what we know:
Amiga
This section needs expansion. You can help by adding to it.
Commodore 64
This section needs expansion. You can help by adding to it.
MacOS Classic
This section needs expansion. You can help by adding to it.
Video Game Emulators
Emulators for video game platforms are a bit more complex than your average OS emulator. Since game consoles typically use far different CPU's than home computers, these emulators emulate the entire underlying chipset.
Despite that, these are probably the simplest emulators on this page to use: Simply open the emulator, configure your controller or keyboard, and tell it which ROM file (game) to open.
Some of these emulators require a second ROM to run: That of the console's firmware/BIOS. Most of them do not, but some do, so make sure to read the documentation that comes with the software.
Emulating video game consoles allows you to play discontinued games that are now rare or hard-to-find. Foreign titles that were not released in your region can be found this way too, oftentimes patched with fan translations. And if you travel a lot, using an emulator on your phone or laptop will help you save a lot of space in your luggage.
Finding ROM Files
Downloading ROMs is considered a form of piracy in many regions, and distributing ROMs can open one up to all sorts of legal headaches. Because of this, we cannot give you ROM files for any of these emulators.
However, we have heard rumors about packages known as “GoodMerge” and “No-Intro” sets, which compile every known game for each gaming platform into massive archives. These can probably be found on P2P networks and Bittorrent. Archive.org also has many ROM sets available, presumably for, uh, scientific and historic archival purposes.
Multi-Platform Emulators
Back in the day, each console had its own emulator. Nowadays however, multi-platform emulators are an increasingly viable solution, where one emulator will cover a range of consoles. Some popular ones include:
Nintendo 64
Cross-platform N64 emulation options include Mupen64Plus (additional info for Debian version) and its robust fork Simple64.
Windows users also have the option of the popular Project64, which is very easy to set up and supports most N64 ROMs.
Nintendo DS
For Linux, Windows and MacOS, TASEmulators/desmume.
Nintendo GameCube & Wii
For Linux, Windows and MacOS, use Dolphin. There is also an Android port.
Nintendo Game Boy, Game Boy Color & Game Boy Advance
Visual Boy Advance has been the gold standard for Game Boy emulation for a very long time. It'll boot ROMs from the whole Game Boy Family. You can get it on pretty much every major platform, with the visualboyadvance-m/visualboyadvance-m fork being the most popular and up-to-date version. Just download the appropriate copy for your operating system, and you're good to go.
For Linux users, one of these versions may already be in your distro's package manager. If not (or if it is hella outdated) you can grab it from Flatpak with flatpak install visualboyadvance-m
.
Nintendo Famicom (NES)
For NES emulation, you want FCEUX. It is the most popular successor project to the infamous (and now abandoned) FCE and FCE Ultra emulators. It enjoys regular updates and has been ported to all the major operating systems. You can find an appropriate binary for your OS on their releases page, or you can visit the project on Github at TASEmulators/fceux.
For Debian/Ubuntu users, it is already in the stock repos. Just grab it with apt install fceux
and you're good to go.
Popular cross-platform alternatives include punesemu/puNES (which also doubles as a player for NSF music files) and iNES.
Nintendo Super Famicom (SNES)
The most popular SNES emulator these days is BSNES, which is also the only one that is being updated for modern machines. You can get it for all major platforms at its official website or from bsnes-emu/bsnes.
Traditionally the SNES emulation sphere has been dominated by two other emulators, neither of which are still under active development but both of which still work just as well as they did back in the day. One is the legendary cross-platform Snes9x, which now comes in AppImage format for Linux users, and even has an Android port. The other is the venerable ZSNES, written in Assembly for x86 Windows/Linux, making it absurdly fast on older/slower machines.
Sega Genesis/Mega Drive, Mega-CD & 32X
For the Genesis and it's various add-ons, you will be best off with Gens, Gens/GS or Kega Fusion.
Sega Master System & Game Gear
The Master System and the Game Gear both used nearly identical chipsets, so emulators for these platforms generally support both systems. Your best bets are MasterGear and Kega Fusion.
For Android, check out Nostalgia.GG.
Sega Saturn
Sony PlayStation
Use ePSXe, available for Linux, Windows & MacOS. (Android port)
Alternatively, use DuckStation, also available for Linux, Windows & MacOS. (Android port)
Sony PlayStation 2
Linux, Windows & MacOS, use PCSX2.
More Emulators
As mentioned earlier, there are emulators for all sorts of devices and operating systems. We won't go into them here, but if you are so inclined to see how deep the rabbit hole goes, you should check out Zophar's Domain. There they have info on emulators that you can run on systems such as Java, graphing calculators and even other video game consoles.
Find this page online at: https://bestpoint.institute/tools/emulators