HomePage | Recent changes | View source | Discuss this page | Page history | Log in |

Printable version | Disclaimers | Privacy policy

An emulator is program that enables other software to run on a platform (hardware architecture and/or operating system) that it was not written for.

Most emulators just emulate a hardware architecture — if a specific operating system is required for the desired software, it has to be provided as well. Both the OS and the software will then, rather then being run by real hardware, be interpreted by the emulator. Apart from this interpreter for the emulated machine's language, some other hardware (for input/output, etc.) has to be provided in virtual form as well: if writing to a specific memory location should influence the screen, for example, this will have to be emulated in a way.

Emulating an operating system environment is also possible, and faster than interpreting the original OS. Some emulators provide only a compatible environment, not emulating hardware at all. These only run software for the same architecture but different operating systems.

A popular use of emulators is to revive software (mostly games) written for hardware that is no longer sold (for example Commodore 64). Emulating these on one's modern desktop computer is usually less cumbersome than relying on the original machine (which may be broken, has no harddisk, etc.)

Developers of software for embedded systems or video game computers often design their software on especially accurate emulator called a simulator before trying it on the real hardware. This is so that software can be produced and tested before the final hardware exists in large quantities.

Free Emulators

(sorted by emulated platform)

Emulatorruns onemulates
UAEUnix/X Window SystemAmiga
WinUAEMicrosoft Windows
STonXUnix/X Window SystemAtari ST
Vicemany platformsCommodore 64
MAMEMicrosoft Windowsa number of arcade platforms
XMAMEUnix/X Window System
WineUnix/X Window System on IBM PCMicrosoft Windows

See also: Console emulator