Category:Emulators

Note: This category is not intended to catalog every emulator in existence, only those emulators which stand out and which people wish to write about and support on StrategyWiki. For the links to known emulators and headlines about new emulators, please visit Emulation 9. (Please be aware that while Emulation 9 is a Japanese page, it is entirely navigatable by an English speaker.)

Definition
From the point of view of games, an emulator is a piece of software that makes it possible for a game (or other program) to run on a different platform than the the one for which it was written. The emulator aims to make the program behave in exactly the same way on the new platform as it would have on the original one. Two main types of emulator are relevant to games: processor emulators and operating system emulators.

A processor emulator aims to work round the fact that different processors, especially if they are of different generations, have different machine languages and therefore a program produced for one processor is unintelligible to another. The processor emulator reads the instructions that were produced for processor A and translates them into processor B's machine language "on the fly". It also has to do some translation in the other direction, for example by translating processor B's interrupts (event signals) and presenting them to the program in the format used by processor A.

The most prominent processor emulator among emulation fans is MAME, which allows you to play on your personal computer many programs that were written specifically for arcade machines. Besides arcade games, emulators have been written for a variety of home console systems (such as the NES, Super Nintendo, and Sega Genesis), and a great number of earlier home computer systems (such as the Atari 800, C64, and Sinclair ZX Spectrum.)

An operating system emulator aims to work round the fact that that different operating systems have different APIs (application programming interfaces, i.e. conventions for requesting services from the operating system, such as allocating memory, drawing on the screen and detecting keyboard, mouse and joystick actions), incompatibilities that would otherwise be crippling even though the processor can handle the program's machine language. One of the best-known operating system emulators is DOSBox, which makes it possible to run most MS-DOS games on 32-bit Windows systems and on Mac OS and Linux.

Both types of emulation use much more processor power and memory than the games would have required on their original platforms, but they perform well enough because modern computers are vastly more powerful than those for which the games were written.

The word "emulator" has other computer-related meanings outside the context of games, but they are in fact very similar. Large computers sometimes have the ability to mimic the functioning of other computers, either to facilitate upgrades from one range to a successor produced by the same manufacturer or to entice another manufacturer's customers to switch. In fact these days computer power is so cheap that the controllers built into peripherals sometimes have emulation facilities, for example many printers are designed to emulate Hewlett-Packard LaserJet printers so their users can take advantage of the large amount of software written for HP printers.