Features

The following table shows the features of Bochs and which platforms they currently work with.

Table 1. Bochs Features

FeatureSupported?Description
configure scriptYesBochs uses GNU autoconf to configure Makefiles and headers. Autoconf helps Bochs to compile on a wide variety of platforms.
386,486,Pentium EmulationYesBochs can be configured to emulate one of several families of Intel hardware. Some Pentium features are incomplete, such as SMM (System Management Mode).
P6 and later CPU EmulationYesBochs can be configured to emulate any P6 family processor including optional MMX and SSE instructions.
Pentium 4 EmulationIncompleteA few Pentium 4 features are incomplete, such as an on-chip APIC extensions (XAPIC) for SMP simulation.
x86-64 Extensions EmulationYesBochs can be configured to emulate x86-64 with many recent Intel or AMD extensions.
Command Line DebuggerYesPowerful command line debugger (optional) that lets you stop execution and examine registers and memory, set breakpoints, etc.
GUI DebuggerYesChourdakis Michael and Bruce Ewing contributed very powerful GUI frontend for Bochs internal debugger. GUI debugger frontend is supported for Win32 and GTK hosts.
Floating PointYesUses software floating point engine based on SoftFloat floating point emulation library.
Enhanced BIOSYesImplements ElTorito, EDD v3.0, basic APM feature, PCIBIOS features and the PCI interrupt routing table. The latest version of the Bochs BIOS has a 32-bit init for ACPI, SMM and SMP.
VGAYesVGA color graphics emulation in a window.
VBE (VESA) SupportYesCurrently resolutions up to 2560x1600x32bpp are supported. You must compile Bochs with VBE enabled and use the LGPL'd VGABIOS. For more information see the Section called Notes about VESA usage in the Chapter called Tips and Techniques.
Cirrus Logic video cardYesCirrus Logic CL-GD5430 ISA or CL-GD5446 PCI video card support. For more information see the Section called Notes about Cirrus SVGA usage in the Chapter called Tips and Techniques.
Floppy diskYesSupports floppy disk images on all platforms: 2.88M 3.5", 1.44M 3.5", 1.2M 5.25", 720K 3.5" and 360K 5.25". On Unix and Windows 9x/NT/2000/XP, Bochs can access the physical floppy drive.
Multiple ATA channelsYesEmulates up to 4 ATA channels. Up to 8 ATA/ATAPI emulated devices can be attached, two per ATA channel. So you can have eight hard disks or seven hard disks and a CD-ROM or four hard disks and four CD-ROMs, or one hard disk and seven CD-ROMs, etc...
Hard diskYesEmulates ATA-6/IDE hard drives via image files. Physical hard disk access is supported on some architecture, but NOT recommended, primarily for safety reasons. Hard disks up to 127GB are supported, on any platform that support large files access.
CD-ROMYesEmulates ATAPI-4/IDE CD-ROM. The CD-ROMs can read from an ISO disk image on any platform. On Windows (9x/ME/NT/2000/XP), Linux, SunOS, FreeBSD, NetBSD, OpenBSD, Amiga/MorphOS, MacOSX and BeOS, Bochs can read from the physical CD-ROM drive. Starting with version 1.4, Bochs is even able to boot from a bootable CD or bootable ISO image.
KeyboardYesEmulates a PS/2 keyboard with North American key mappings. Optional keyboard layout remapping files are provided to support localized keyboard in X11 (Belgian, Danish, French, German, Italian, Russian, Slovenian, Spanish, Swedish, U.K.).
MouseYesEmulates a serial, PS/2 or USB mouse with 3 buttons + optional mouse wheel support.
Sound BlasterYesEmulates a Sound Blaster 16 card (ISA, no plug&play). On Windows, Linux, FreeBSD, MacOS 9 and MacOSX, the output can be sent to the host computer's sound system, see the Section called Sound Blaster 16 Emulation in the Chapter called Setup for details.
Network cardYesEmulates an NE2000 compatible network card. On Windows NT/2000, Linux, FreeBSD, and NetBSD, Bochs will forward packets to and from the operating system so that the guest OS can talk on the physical network. Unfortunately, on some platforms the guest OS can talk to any machine on the network BUT NOT the host machine. On Windows and on systems that allow the TAP or TUN/TAP interface, there is no such limitation. Often the host machine may be configured so the guest OS has access to the internet. On MacOSX, you may download the TUN driver from: http://chrisp.de/en/projects/tunnel.html
Parallel PortYesParallel port emulation was added by Volker Ruppert for Bochs 1.3. Data that is sent to the parallel port by the guest OS can be saved into a file or sent directly into the parallel port device (Unix only).
Serial PortYesThe serial port (16550A UART emulation) is usable, on GNU/Linux, NetBSD, OpenBSD, FreeBSD and MacOSX as host and guest. On other OSes the emulation is present, but the connection to hard- or software of the host is not implemented yet. Up to 4 ports are available.
GameportYesEmulates a standard PC gameport. The connection to a real joystick is currently supported on Linux and win32 only.
PCIYesEmulates most of the i440FX PCI chipset. The Host-to-PCI bridge (PMC/DBX), the PCI-to-ISA bridge and the PCI IDE controller (PIIX3) are available. For PCI cards there are 5 PCI slots supported.
USBincompleteTwo types of host controllers (UHCI and OHCI) and the devices 'mouse', 'tablet', 'keypad', 'disk', 'cdrom' and 'hub' are available. Plugging in and removing devices at runtime is possible. Access to real hardware is not implemented yet.
PluginsYesCompiling gui and devices as plugins is supported on Linux, MacOS X, Solaris, Cygwin and MinGW/MSYS.
PICYesMaster and slave programmable interrupt controller.
CMOS functionsYesReal time clock (RTC) and CMOS RAM are available
Dynamic Translation/VirtualizationNoBecause Bochs is designed to be portable, it does not attempt to do any dynamic code translation or virtualization. See the Section called What is Bochs? for details.
Simulate a MultiprocessorYesBochs can be configured to simulate up to 8 processors. This feature is still experimental, but it can boot several Linux or Windows guests with SMP support. Please note that this does NOT mean that Bochs can run faster on a physical SMP machine.
Take advantage of your SMP boxNoAt present, Bochs does not use threads or parallel processing, so it will not run any faster on multiprocessor hardware.
Copy and PasteYesDepending on the host platform, the text-mode screen text can be exported to the clipboard. Text in the clipboard can also be pasted, through Bochs, to the guest OS, as simulated keystrokes.