Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms.
C++ C Shell R Other
branch: master
Failed to load latest commit information.
bios - recompiled after latest changes
build - updated VC2008 workspace file
bx_debug Fixes for incoming bug report, missed changes in CVS, repository fixu…
cpu Update Makefile.in (dep on vmx.h was missed)
disasm bugfix for x86-64 mode
doc - documentation updates for release
docs-html - removed old stuff
dynamic - remove obsolete makefile
font change Copyright to Bochs Project
fpu Fixed IRET 64-bit mode bug
gui - use default memory parameter tree in textconfig (with some changes …
host/linux/pcidev another whitespace cleanup by Sebastien
instrument Fixed BX_INSTR_OPCODE callback, now its implementation closer to orig…
iodev - next step of documentation updates for release 2.4.6
memory - moved array 'rom_present' to the memory class and initialize it at …
misc cleanups, tab2space and fixes for compilation by MSVCPP
patches new Bochs icons from patches folder
plex86 - some more FSF address updates
.bochsrc - added global "speed" option to be passed with the "optionsX" port p…
.conf.amigaos - enable VBE support by default in configure script
.conf.beos - enable VBE support by default in configure script
.conf.everything - Determine and select max physical address size automatically at
.conf.linux allow to configure CPU features at runtime - implemened on example of…
.conf.macos allow to configure CPU features at runtime - implemened on example of…
.conf.macosx allow to configure CPU features at runtime - implemened on example of…
.conf.nothing added smalles possible confiure script
.conf.sparc allow to configure CPU features at runtime - implemened on example of…
.conf.win32-cygwin cleanups
.conf.win32-vcpp allow to configure CPU features at runtime - implemened on example of…
.cvsignore cvsignore for bxversion.rc
CHANGES - preparing release 2.4.6
COPYING - removed wrong character from FSF address (converted invisible and u…
CVS_to_SVN.txt Bochs development continues on SVN
Makefile.in - fixed xpm-related warnings in 'x' and 'wx'
PARAM_TREE.txt - re-implemented USB port options parameter to assign specific option…
README - preparing release 2.4.6
README-plugins another whitespace cleanup by Sebastien
README-wxWindows another whitespace cleanup by Sebastien
README.rfb - remove GPL'd rfbproto.h
TESTFORM.txt Make XAPIC runtime option as well
TODO CPU features set should be runtime options - could be done for most o…
aclocal.m4 - removed wrong character from FSF address (converted invisible and u…
bochs.h introduce bswap functions, big endian fix for CPUID
bxversion.h.in - I have tried to make the --prefix argument to configure control
bxversion.rc.in Added Bochs version info for Win32 - patch from @SF tracker
config.cc - use default memory parameter tree in textconfig (with some changes …
config.guess Update config.guess/config.sub o latest revision (May 2010)
config.h.in - started separation of sb16 and lowlevel sound module code. The firs…
config.sub Update config.guess/config.sub o latest revision (May 2010)
configure - preparing release 2.4.6
configure.in - preparing release 2.4.6
crc.cc Indent changes
extplugin.h - plugin target changes based on Debian patches
gdbstub.cc Move param_names.h into bochs root folder
install-sh - commit patch.check-platform. For full details, pull up the patch it…
load32bitOShack.cc Move param_names.h into bochs root folder
logio.cc compilation fix for win64
ltdl.c - removed wrong character from FSF address (converted invisible and u…
ltdl.h - removed wrong character from FSF address (converted invisible and u…
ltdlconf.h.in Add plugin support to Bochs by merging all the changes from the
ltmain.sh - removed wrong character from FSF address (converted invisible and u…
main.cc Added option to disable MWAIT using .bochsrc
msrs.def added msrs def example
osdep.cc change copyright to bochs project
osdep.h - fixed handling of modified files if the first cluster has been changed
param_names.h - use default memory parameter tree in textconfig (with some changes …
pc_system.cc Rewritten SMC handling, removed pageWriteStamp, now trace fetch chck …
pc_system.h change copyright to bochs project
plex86-interface.cc cleanup
plex86-interface.h fixed non-printable character
plugin.cc - plugin target changes based on Debian patches
plugin.h - created separate plugin 'soundmod' that contains the lowlevel sound…
win32_enh_dbg.rc - Added graphical Bochs debugger under Win32 host !
win32res.rc Fixed compilation for win64 native
wxbochs.rc - added version info for wxMSW port

README

Bochs - The cross platform IA-32 (x86) emulator
Updated: Tue Feb 22 18:07:00 CET 2011
Version: 2.4.6

WHAT IS BOCHS?

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,
Pentium/PentiumII/PentiumIII/Pentium4 or x86-64 CPU, including optional
MMX, SSEx and 3DNow! instructions.  Bochs is capable of running
most Operating Systems inside the emulation, for example Linux, DOS,
Windows 95/98/NT/2000/XP or Windows Vista.
Bochs was written by Kevin Lawton and is currently maintained by
the Bochs project at "http://bochs.sourceforge.net".

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.  Bochs will allow you to run Windows
applications on a Solaris machine with X11, for example.

Bochs is distributed under the GNU LGPL.  See COPYING for details.

GETTING CURRENT SOURCE CODE

Source code for Bochs is available from the Bochs home page at
http://bochs.sourceforge.net.  You can download the most recent
release, use CVS to get the latest sources, or grab a CVS
snapshot which is updated nightly.  The releases contain the most
stable code, but if you want the very newest features try the
CVS version instead.

WHERE ARE THE DOCS?

The Bochs documentation is written in Docbook.  Docbook is a text
format that can be rendered to many popular browser formats such
as HTML, PDF, and Postscript.  Each binary release contains the
HTML rendering of the documentation.  Also, you can view the
latest documentation on the web at
  http://bochs.sf.net/doc/docbook/index.html

Some information has not yet been transferred from the older
HTML docs.  These can be found at http://bochs.sf.net/docs-html

WHERE CAN I GET MORE INFORMATION?  HOW DO I REPORT PROBLEMS?

Both the documentation and the Bochs website have instructions on how
to join the bochs-developers mailing list, which is the primary
forum for discussion of Bochs.  The main page of the website also
has links to bug reports and feature requests.  You can browse and
add to the content in these areas even if you do not have a (free)
SourceForge account.  We need your feedback so that we know what
parts of Bochs to improve.

There is a patches section on the web site too, if you have made
some changes to Bochs that you want to share.

HOW CAN I HELP?

If you would like contribute to the Bochs project, a good first step
is to join the bochs-developers mailing list, and read the archive
of recent messages to see what's going on.

If you are a technical person (can follow hardware specs, can write
C/C++) take a look at the list of open bug reports and feature
requests to see if you are interested in working on any of the
problems that are mentioned in them.  If you check out the CVS
sources, make some changes, and create a patch, one of the
developers will be very happy to apply it for you.  Developers who
frequently submit patches, or who embark on major changes in the
source can get write access to CVS.  Be sure to communicate with the
bochs-developers list to avoid several people working on the same
thing without realizing it.

If you are a Bochs user, not a hardware/C++ guru, there are still
many ways you could help out.  For example:
  - write instructions on how to install a particular operating system
  - writing/cleaning up documentation
  - testing out Bochs on every imaginable operating system and
    reporting how it goes.
Something went wrong with that request. Please try again.