From Emulation General Wiki
Jump to navigation Jump to search
Developer(s) Kevin Lawton
Latest version 2.8 [+]
Active Yes
Platform(s) Windows
Emulates x86 CPUs, FM Towns
Programmed in C++
License GNU LGPLv2
Source code SourceForge

Bochs is a free and open-source x86 CPU emulator written in C++ geared around emulating the full x86 architecture. It's designed to emulate every x86 instruction and device, prioritizing accuracy at the cost of speed. Its high accuracy, built-in debugger, support of recent x86-64 systems, and extensibility via plugins make it very useful for developing and testing operating systems and other low-level PC software.


Windows Linux Latest releases
Android Play StoreGitHub
(Android port)

PlayStation 2 2.3.5
PSP 1.0


Compared to QEMU, Bochs focuses on portability and simplicity. Only x86 systems may be emulated. CPU emulation is performed through a generic interpreter, meaning it has been ported to non-x86 hosts. However, the results are very slow, and no virtualization technology is supported.

Unlike PCem which relies on BIOS ROMs to emulate actual machines, Bochs chose to create its own open-source BIOS to simulate a generic PC. Bochs also ships with the open-source SeaBIOS that is used in QEMU. Users may use their own BIOS images from actual machines, although the results are mixed and this is not officially supported.

Bochs cannot correctly emulate the speed or timing of older CPUs. The oldest CPU supported in the default builds is a Pentium (although as old as a 386 is supported by compiling with a custom enable-cpu-level flag), and selecting the oldest CPUs runs the same core as newer CPUs, just with the newer instructions disabled.

If one is interested in operating system development, this emulator is king. However, due to the slow speed, awkward user interface, and lack of gaming-centered features, you are better off using DOSBox for playing games, or a fork of PCem if full system emulation is needed.

Bochs has very rudimentary support for emulation of the FM Towns architecture via a fork, but development was abandoned long time ago so this can be used as an "FM Towns emulator" only for curiosity's sake. There are significantly better FM Towns emulators nowadays.

External links[edit]