From Timothy R. Butler:
Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Currently, bochs can be compiled to emulate a 386, 486 or Pentium CPU. Bochs is capable of running most Operating Systems inside the emulation including Linux, Windows 95, DOS, and recently Windows NT 4. Bochs was written by Kevin Lawton and is currently maintained by this project.
Bochs can be compiled and used in a variety of modes, some which are still in development. The 'typical' use of bochs is to provide complete x86 PC emulation, including the x86 processor, hardware devices, and memory. This allows you to run OS's and software within the emulator on your workstation, much like you have a machine inside of a machine. For instance, let's say your workstation is a Unix/X11 workstation, but you want to run Win'95 applications. Bochs will allow you to run Win 95 and associated software on your Unix/X11 workstation, displaying a window on your workstation, simulating a monitor on a PC.
What's new in this version:
- CPU: implemented new instructions and x86 architecture extensions.
- Bugfixes for CPU emulation correctness.
- Added Android host platform support.
- Added USB EHCI device emulation support.
- Added USB floppy (UFI/CBI) support.
- Added ethernet module 'socket', designed to interconnect Bochs instances.
- Show textconfig at runtime in the Bochs VGA window (gui console).