A real IBM PC.

About PC emulation

edit

PC emulation is a general topic, and can essentially be split into two specialties.

IBM Compatible and DOS

edit
 
DOSBox emulating a PC.

Much of the focus of hobbyist PC emulation lies in emulating the original IBM PC and compatibles. These systems sported a standard architecture, and typically had limited auxiliary capabilities, making their sound, graphical, and other capabilities simple. The IBM compatible library of software is mind-boggling and massive, ranging from the work of bedroom coders to multinational corporations and covering essentially every software genre that was around in the 1980's.

Emulation of DOS may also be desirable for running serious applications. Many obsolete machines and older systems rely on legacy software which will only run under DOS. These machines and systems are often still functional, but require a DOS based computer. DOS emulation may thus be desirable as a way to help bridge a transition to a more sustainable and contemporary system.

Contemporary PC hardware

edit
 
QEMU running another operating system.

As the 1990's progressed, operating systems, PC hardware, and other factors lead to much more complex home computer systems. At the same time, this is perhaps one of the most commercially relevant fields of emulation. As devices based on ARM and RISC-V can not natively run programs which are specifically designed for x86 platforms, emulation of x86 PCs has become a desired feature.

Common PC emulators

edit
  • QEMU - For emulating contemporary hardware.
  • DOSBOX - For emulating IBM compatible PCs specifically.

Alternatives to Emulation

edit

Techniques with lower overhead are often preferable to full hardware emulation. This is especially true in cases where high performance is required.

  • Virtual Machines can be used instead of full hardware emulation in many cases. This typically requires that the host system shares an architecture with the virtual machine.
  • Compatibility layers like Wine and its fork Proton can often allow applications to run under unsupported operating systems.

Read More

edit

There is a Wikibook on QEMU.