The Basic Idea
An emulator is a program that makes one kind of computer behave like another. Run an emulator of a 1980s home computer on a modern laptop, and software written for the old machine can often run unchanged, because the emulator supplies everything the program expects to find: the processor, the memory, the display, the sound hardware and the disk drives.
This works because computers are, at heart, general-purpose machines. Any computer that can carry out calculations can in principle imitate another, given enough speed and memory. That principle was understood by early theorists such as Alan Turing, and it explains why a modern phone can imitate a machine built decades ago. The practical difficulty lies in the detail.
How an Emulator Works
A typical emulator has several parts, each copying a piece of the original.
The processor. The emulator reads the old machine’s instructions and carries out their effects, step by step. The old processor’s registers, flags and instruction set are represented in the emulator’s own data.
Memory and storage. The program sets aside a block of memory laid out like the original’s, including any special areas for the screen or for built-in code. Disk and tape drives are represented by image files, which are exact copies of the original media’s contents.
Other hardware. Video chips, sound chips, keyboards, joysticks and timers each need their own piece of code. These are often the hardest parts, because many programs exploit quirks of the specific chips.
The firmware. Many old computers had code stored on chips inside, such as the BASIC language interpreter or the basic start-up routines. Emulators need a copy of this code to behave like the real machine.
Emulation is different from simulation in a technical sense. An emulator aims to reproduce how a system behaves from the point of view of the software that runs on it. A simulation might model the machine more broadly, for example to study the electronics. In everyday talk, the two words are sometimes used loosely.
What Emulation Does Well
It preserves access when hardware is gone. Original machines wear out, and spare parts are scarce. Software can be copied indefinitely and moved to new computers as they appear, so a well-maintained emulator can keep a platform usable long after its hardware has failed.
It is convenient. Anyone with a modern computer can try old software, which allows researchers, students and curious readers to explore without owning a vintage machine. It also protects original equipment from wear, which is useful for museums.
It can help study software. Emulators often include tools that pause a program, inspect memory or step through instructions, which is not possible on real hardware. This is helpful for understanding early software and for checking how historic programs were put together.
It protects against format problems. Together with media migration, emulation lets people open disk and tape images in an environment that matches the original, rather than converting files into a newer format that may lose detail.
Where Emulation Falls Short
Accuracy varies. Writing a faithful emulator requires detailed knowledge of the original design. Where documentation is incomplete, authors infer behavior by experiments, and mistakes can cause programs to run wrongly or crash. Some emulators aim at exact reproduction, while others favor speed and convenience and accept small differences. A program that seems to work may still behave differently in rare situations.
The physical experience is missing. The feel of a keyboard, the sound of a disk drive, the glow and flicker of a cathode ray tube display and the smell of warm electronics are not reproduced by software. Visual output on a flat modern screen can look noticeably different from the original, even when filters attempt to imitate the old look. How a CRT looked is part of the original experience for games and graphics in particular.
Special hardware is hard to capture. Programs that talk to unusual peripherals, such as lab instruments, custom controllers or copy-protection devices, may not run unless those devices are also imitated.
It needs the software and firmware. An emulator without the programs to run is of little use. Gathering those programs, and the system code that goes with them, is a separate task, and it raises copyright questions that vary between countries. Emulators themselves are generally treated as legitimate software, but the legal status of the firmware and software that people run on them can be more complicated. This is a subject on which specialists give detailed advice, and readers should check the rules that apply where they live.
Emulators age too. An emulator written for one operating system may need updates to run on the next. Preservationists sometimes emulate the emulator, running an older emulator inside another one, which shows how layers can build up.
Emulation in Practice
Emulators are used across many areas of computing history. Hobbyists have long built emulators for home computers and game consoles. Researchers have used them to run business programs and databases from early mainframe computers. Libraries and archives sometimes offer emulation services so that visitors can open old documents in the software that created them. Some projects run emulators in a web browser, so that no installation is needed.
One Tool Among Several
Emulation is best seen as part of a wider strategy rather than a replacement for collecting machines. Original hardware provides ground truth: it is the reference against which an emulator’s accuracy can be tested. Emulators, in turn, widen access and offer a way to keep software alive when the machines can no longer be repaired. Preservationists generally want both, along with good documentation, so that future generations can make sense of how the old systems worked and not just how they looked on a screen.