What is Bochs?

Bochs is a portable x86 PC emulation software package that emulates enough of the x86 CPU, related AT hardware, and BIOS to run DOS, Windows '95, Minix 2.0, and other OS's, all on your workstation.

Though Bochs is commercial software, source code for Bochs is available on the Internet, provided you abide by the license with the source code.

Bochs now compiles/runs on many platforms. See the following list for supported platforms and special notes:



Platforms:

Here is a list of platforms on which Bochs has successfully been compiled and run, starting as of version bochs-971118a. Note that, Bochs will compile/run on many other platforms, but I'm starting the list from scratch again. If you have had success with Bochs, please let me know so that I can add your platform to this list. bochs@world.std.com

Architecture O.S. GUI compiler Bochs version tested with tested by
Sparc Solaris 2.4 X11R6 gcc 2.7.2.1 971118a Win'95 bochs@world.std.com
BeBox PPC BeOS PR2 BeOS PR2 CodeWarrior 971118a Win'95 bochs@world.std.com
x86 PC Linux 2.0.30 X11R6 gcc 2.7.2.1 971118a Win'95 bochs@world.std.com
x86 PC FreeBSD 2.2/3.0 X11R6 gcc 2.7.2.1 971118a DOS msmith@gsoft.com.au
x86 PC Windows '98 Windows '98 MS Visual C++ 5.0 980629 DOS bochs@world.std.com

(many others successes have been reported, but I haven't updated this in a while)


What can you do with Bochs?

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.

Currently, bochs emulates the x86 CPU completely in software, and does not run any instructions natively, even if you are running it on an x86 machine.

Bochs may be of interest to you for other special modes, or uses. To use bochs for these purposes, you must negotiate a special license with me. You may wish to use only the device models included with bochs in combination with your own CPU emulation, use it's CPU emulation with another set of device models, use it's built in non-intrusive debugger, co-emulate the bochs CPU model against another CPU emulator/simulator, or use data compiled from instrumentation facilities to analyze use of the x86 instruction set.

In addition to running x86 software on your workstation, bochs may be of interest to x86 clone projects, x86 device driver development teams, PC hardware development, and many other uses.