Bochs (pronounced "box") is a portable IA-32 and x86-64 IBM PC compatible emulator and debugger mostly written in C++ and distributed as free software under the GNU Lesser General Public License. It supports emulation of the processor(s) (including protected mode), memory, disks, display, Ethernet, BIOS and common hardware peripherals of PCs.

Many guest operating systems can be run using the emulator including DOS, several versions of Linux, Xenix, Microsoft Windows, BSDs and Rhapsody OS (precursor of Mac OS X Public Beta). Bochs runs on many host operating systems, including Android OS, Linux, macOS, PlayStation 2, Windows, and Windows CE along with its derivatives.

Bochs is mostly used for operating system development (when an emulated operating system crashes, it does not crash the host operating system, so the emulated OS can be debugged) and to run other guest operating systems inside already running host operating systems. It can also be used to run older software — such as PC games — which will not run on non-compatible, or too fast computers.

History

Bochs started as a program with a commercial license, at the price of US$25, for use as-is. If a user needed to link it to other software, that user would have to negotiate a special license. That changed on 22 March 2000, when Mandrakesoft (later Mandriva) bought Bochs from lead developer Kevin Lawton and released it for Linux under the GNU Lesser General Public License.

Emulated hardware

{| class="wikitable"

|-

! Class !! Device

|-

| rowspan=3 | Video card || Cirrus Logic CL-GD5430 ISA

|-

| Cirrus Logic CL-GD5446 PCI

|-

| 3dfx Interactive Voodoo Banshee / Voodoo3

|-

| Sound card || Sound Blaster 16 (ISA, no Plug & Play), ES1370 (PCI), Basic Sound Device

|-

| || NE2000 (ISA/PCI) Ethernet or Intel(R) 82540EM Gigabit Ethernet adapter (PCI)<!-- support for 82540EM announced somewhere between 2012-05-31 .. 2013-03-29 -->

|-

| Chipset || Intel 430FX PCI, Intel 440FX PCI and Intel 440BX AGP northbridge. PIIX3 and PIIX4 southbridge. For PCI cards there are 5 PCI slots.

|-

| USB || Root hub and the devices mouse (optional), tablet, keypad (default), disk.

|-

| SMP || Can simulate up to 8 CPUs.

|-

| Enhanced BIOS or SeaBIOS || ElTorito, EDD, APM, PCIBIOS, PCI interrupt routing table, PnP, ACPI, SMM, MPS and VBE.

|}

References