Emulators

Emulators

Robbert Haarman

2010-12-11


Introduction

My interest in low-level programming has lead me to take an interest in system emulators, so I can experiment with various architectures without actually owning all the hardware. On this page, I collect links to emulators and, where possible, boot firmware for these emulators. I also have the idea to set up a speed contest for system emulators, but this is not done yet.


Basilisk II

Basilisk II emulates 68k Macintoshes. It can run the classic Mac OS, which can be dowloaded for free from Apple. You will need a Macintosh boot ROM, though. I am not aware of any freely available ROM images. It runs at native speed on real 68k hardware, and there is a version with a JIT compiler that provides good performance on x86. On other systems, the emulation will be slow. Fortunately, the classic Mac OS needs little resources.


Bochs

Bochs emulates IA32 (x86) and x86-64 systems. It also provides MMX, 3DNow, SSE, and SSE2 support. It can run pretty much any x86 OS. It has various interface backends, and compiles and runs on pretty much any platform. A BIOS image is provided with the distribution.


QEMU

QEMU is a fast CPU and system emulator. It emulates x86, PowerPC, ARM and SPARC CPUs, and x86 and (experimentally) PowerPC systems. CPU emulation allows you to run binaries that were compiled for a different architecture, whereas system emulation allows you to boot an operating system written for the emulated kind of machine. QEMU achieves good performance through dynamic translation. Unfortunately, it seems to only compile on GNU systems.


Sheepshaver

Sheepshaver is a PowerMac (PowerPC-based Macintosh) emulator by the same author (and largely based on) Basilisk II. It can run the releases of the classic Mac OS for PowerMacs, but not Mac OS X. You need a ROM image from a PowerMac. Perhaps you can also boot the emulator using OpenBIOS. The emulated system is probably quite slow.