Useful Notes / Emulation

"With the development of emulator programs for minicomputers such as the PDP-11/70 and mainframes such as the IBM 370, and the release of older software on a free-use for non-commercial purposes, one can run old programs from these systems in software emulation on today's PCs at speeds as much as 100 times as fast as the original machine ran."
—Introduction to the Hercules IBM mainframe emulator

Emulation is using a computer program to simulate the function of another computer. Such a program is called an emulator.

This can be done for a wide variety of computers—any computer, theoretically, can be emulated. However, you're probably here for the definition that involves games. Yes, emulators that run on standard home/office computers have been developed for most consoles, as well as for older computers, for running games which originated on those platforms, allowing a user to play a game a non-native platform.

Not surprisingly, emulation does take more processing power than the original, varying wildly depending on how similar the original platform and the one running the emulator are. For example, 80x86 emulators like DOSBox run at nearly native speed on typical 80x86 PCs, while exotic MIPS emulators like PCSX2 will drag all but the mightiest multicore 80x86 rig to its knees.

The most popular computers to emulate are Arcade Games and games consoles, although emulators for other systems do exist. Most emulators are written by fans/enthusiasts, as a technical challenge, as a way of storing computing history (MAME and MESS have this as their primary goal), or as a way to run games on something other than what they were written for in the first place. A few emulators are written by the official manufacturers, such as Nintendo's acNES for GBA (used for the eReader, GBA extras in Animal Crossing, and Classic NES Series) and the emulators used for Virtual Console titles.

In order to play games, emulators require the game software as well. These usually come in the form of ROMs (for cartridge-based games) and various disc image formats (for disc-based games). Publicly distributing ROM dumps (pirating copyrighted games) without permission is generally considered illegal, with possible, nebulous, and debatable exceptions for “fair use” in some cases. The veracity (and legal validity) of these beliefs have yet to be formally ruled on in either direction; and thus, talk about emulation (especially talk about ROMs themselves) is generally a very dangerous subject on Internet fora, such as the GameFAQs fora and others, which may auto-delete posts that direct other users towards emulation sites, possibly even if they don't link to games themselves, partly due to legal reasons. Morality issues are even grayer, so it's probably best not talk about it, lest you start up rampant Flame Wars, or worse yet, philosophy students bandying about terms such as "utilitarianism" or the dreaded "Kant's Categorical Imperative." There's really no reason to share such information anyway, since most web searches can provide it handily.

Nevertheless, the lure of classic games is too much for many gamers to resist, especially for games that are long out of print, were never sold in one's part of the world, were never (or were poorly) translated, or do not exist in a portable format. In addition, emulators tend to add lots of comfort features such as state freezing, upscaling, control remapping, cheats, etc., and also allow gamers to study, modify, and find interesting things to do with these games.

Emulation services such as Nintendo's Virtual Console and Time-Warner's GameTap are an attempt to replace illegal emulation by offering something similar legally: Cheap versions of classic games that you can download directly to your system. Nintendo has even called the Virtual Console “iTunes for video games,” referring to Apple's attempts to reduce Internet music piracy with the use of a similarly functioning but legal substitute. On the fans' side, ZX Spectrum fans at the World Of Spectrum has gone all out to ask the original producers of the games for permission to distribute them freely (Abandonware), and permission which has been granted in the majority of cases, the exceptions mostly being games published by companies that still exist who fear that they compromise the integrity of their current catalogues by allowing free download of something that ceased to be profitable to them in 1993.

Emulators are also a popular way to make a port or Updated Re-release on sufficiently powerful hardware. This can be done officially, or sometimes unofficially in the case of ROM hacks that expand a game beyond the original size of its cartridge, for example.

Despite the legal issues with this, some games have been given the blessing of their creators to be spread via ROMs once it becomes apparent they will fade to obscurity or never get released in a certain region. MOTHER 3 is an example of this; Shigesato Itoi supported the effort to get the game translated for English-speaking gamers.

In terms of accuracy or faithfulness to the system being emulated, emulators can generally be classified into two major types:
  • High-level emulation basically approximates the system's reaction to software instructions, e.g. intercept instructions by the game, and respond to it using APIs by the operating system, as opposed to simulating the hardware in a granular and more detailed manner. Made infamous by UltraHLE, a Nintendo 64 emulator which made headlines for running (major) Nintendo 64 titles at a playable framerate on hardware of the time, and is used by post-SNES era emulators due to increasing computational demands.
  • Low-level emulation seeks to simulate the original hardware more faithfully, as instead of merely reacting to an instruction by the game or software, they simulate the inner workings of the console or computer, sometimes even gate-by-gate. Higan, formerly known as bsnes, is one such example of an LLE, where author byuu took the herculean effort of reverse-engineering every single enhancement chip used on SNES games.

The choice between high or low-level emulation has led to some arguments from casual players and purists, the former arguing that as long as popular titles such as Super Mario Bros. can be played, HLE is enough, while the latter campaign for preservation and conservation of what can now be seen as a cultural legacy - as HLE emulators don't provide an accurate reference on the inner workings of a device, it therefore is unsuitable for purposes of recreating vintage hardware.

Emulators with pages on TV Tropes: