Bochs
Bochs
2.6.9

3.0

Bochs free download for Mac

Bochs

2.6.9
09 April 2017

x86 PC emulator.

Overview

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, Pentium Pro or AMD64 CPU, including optional MMX, SSE, SSE2 and 3DNow instructions. Bochs is capable of running most operating systems inside the emulation including Linux, Windows 95, DOS, and 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 OSes 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 Win95 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 Bochs

Version 2.6.9:
- General
  • Added new log action "warn", designed to show a message box on error events
  • Show message box before exit if log action is set to "fatal"
  • Added macro BX_FATAL for all cases when continuing is not recommended, since it can cause an application crash or incorrect simulation behaviour
Configure and compile
  • Added Android host platform support
  • Configure script now prints warnings for features not maintained yet
GUI and display libraries
  • Show the runtime configuration in the Bochs VGA window (gui console) instead f console / xterm (rfb, sdl, sdl2, vncsrv, and X11 guis)
  • SDL2: Added get/set clipboard text support
CPU / CPUDB
  • Bugfixes for CPU emulation correctness (critical bugfix for x86-64 and AVX opcodes emulation, fixed assertion failures in proc_ctrl.cc):
    • VMX: Implemented Page Modification Logging (PML)
    • VMX: Implemented TSC Scaling Extension
    • Paging: Implemented Protection Keys
    • Implemented UMIP: User Mode Instruction Prevention (don't allow execution of SLDT/SIDT/SGDT/STR/SMSW with CPL>0)
    • Implemented RDPID instruction
    • Implemented VPOPCNTD/VPOPCNTQ AVX512 instructions
    • Implemented XSAVES/XRSTORS instructions and IA32_XSS MSR
    • Implemented Translation Cache Extensions (TCE) for AMD CPUID and EFER.TCE control
    • Implemented CLZERO instruction (AMD), enabled in Ryzen CPU model
    • Implemented MONITORX/MWAITX instructions (AMD), enabled in Ryzen CPU model
    • CPUDB: Added AMD Ryzen configuration to CPUDB
I/O Devices
  • Busmouse
    • Added standard bus mouse support in addition to the existing InPort emulation code
  • Hard drive
  • Implemented lock mechanism for hard disk images. An image that is opened in r/w mode cannot be used multiple times (e.g., by another Bochs session)
  • Several fixes in some disk image modes
  • Serial / Parallel ports
    • Added support for changing output file at runtime
  • Networking
  • Added ethernet module 'socket', designed to interconnect Bochs instances with external program 'bxhub' (simulating a multi-port ethernet hub)
  • Now creating separate plugins for each network driver implementation (slirp, win32, etc.)
  • Sound
    • Added PCM output data resampling in a separate thread. The resampler requires either libsamplerate or the SoX resampler library installed
    • SDL: Added audio capture support (requires library version >= 2.0.5)
    • Now creating separate plugins for each sound driver (alsa, win, etc.)
  • USB
    • Added USB EHCI device emulation support (EHCI core ported from Qemu)
    • Added USB floppy (UFI/CBI) support
    • Added asynchronus USB packet completion support (needed by disk/cdrom seek and read/write latency emulation)
    • Implemented USB remote wakeup mechanism
    • Fixed NAK response handling in all USB HCs
    • USB printer: added support for changing output file at runtime
    • Added common USB device option "debug" to turn on BX_DEBUG reporting at connection time
    ROM BIOS
    • Implemented Bochs BIOS option "fastboot" for skipping the boot menu delay

    Join over 500,000 subscribers.

    Subscribe for our newsletter with best Mac offers from MacUpdate.

    18 Bochs Reviews

    See all

    Rate this app:

    mswfujowdffyc
    05 April 2008

    Most helpful

    To all those people who claim that this software is too difficult to use: it's not. If you're too lazy to figure out anything on your own, then this is not for you. Missing a configuration file? It's all explained on the bochs website: http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html You HAVE to create your own configuration file for every virtual machine, as Bochs expects each virtual machine you want will be different. Even if you couldn't find that with Google search, the readme clearly explains that all docs can be found either http://bochs.sf.net/doc/docbook/index.html or http://bochs.sf.net/docs-html Nothing in life is completely free. The reason why VPC, Parallels, VMWare, etc. are so "expensive" is precisely that free alternatives are more difficult to use. However, just because Bochs doesn't have a nice GUI to hold your hand through every step of the way doesn't mean the instructions aren't clear. No CS knowledge is even needed--just copy and paste things from the website. If it doesn't do what you expect, ask someone on the Bochs mailing list. If you're too lazy, then you deserve to lose $60 to Parallels or VMWare to buy their software. BTW, Helmo: If you really want to run C64 or Vic 20 software, there are emulators available on the internet. Bochs has the ability to emulate an entire IA-32 computer including whatever hardware you wish for it to have. It's for testing one OS on another OS, not for playing games, running Windows 95, or whatever you thought it was for. I suggest you find something better to do than trolling on MU, like learning English.
    Like (18)
    Version 2.3.6
    anonymous-dingo-1058
    04 November 2014
    crap
    Like
    Version 2.6.7
    anonymous-dingo-653
    07 January 2012
    Overall, it's fine, but in this day unless a user is on Linux, they aren't interested in this much work. And it really isn't worth it with the latest edition of Virtual Box out there (finally).
    Like (1)
    Version 2.5.1
    1 answer(s)
    Phaseangle
    Phaseangle
    07 January 2012
    The comparison to Virtual Box shows you like others who suggested it and parallels as similar don't understand the difference between emulation (The 'typical' use of Bochs is to provide complete x86 PC emulation) and virtualisation. Hence Bochs is PPC software, designed to emulate x86 and Virtual Box is intel software, designed to virtualise x86.
    Like (8)
    mswfujowdffyc
    05 April 2008
    To all those people who claim that this software is too difficult to use: it's not. If you're too lazy to figure out anything on your own, then this is not for you. Missing a configuration file? It's all explained on the bochs website: http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html You HAVE to create your own configuration file for every virtual machine, as Bochs expects each virtual machine you want will be different. Even if you couldn't find that with Google search, the readme clearly explains that all docs can be found either http://bochs.sf.net/doc/docbook/index.html or http://bochs.sf.net/docs-html Nothing in life is completely free. The reason why VPC, Parallels, VMWare, etc. are so "expensive" is precisely that free alternatives are more difficult to use. However, just because Bochs doesn't have a nice GUI to hold your hand through every step of the way doesn't mean the instructions aren't clear. No CS knowledge is even needed--just copy and paste things from the website. If it doesn't do what you expect, ask someone on the Bochs mailing list. If you're too lazy, then you deserve to lose $60 to Parallels or VMWare to buy their software. BTW, Helmo: If you really want to run C64 or Vic 20 software, there are emulators available on the internet. Bochs has the ability to emulate an entire IA-32 computer including whatever hardware you wish for it to have. It's for testing one OS on another OS, not for playing games, running Windows 95, or whatever you thought it was for. I suggest you find something better to do than trolling on MU, like learning English.
    Like (18)
    Version 2.3.6
    9 answer(s)
    Scottishwildcat
    Scottishwildcat
    04 June 2008
    VirtualBox is free, and it's just as easy to use as VMWare or Parallels.
    Like (11)
    Version 2.3.7
    Dalahast
    Dalahast
    05 June 2008
    I'm perfectly capable of doing all of these things with Terminal and such (I've done it on occasion before), but this is a bit much. Mac users expect working binaries, and source code should be an aside.
    Like (8)
    Version 2.3.7
    MacUpdate-Lon
    MacUpdate-Lon
    05 June 2008
    There hasn't been an OS X binary of Bochs in more than four years. The last one was released on February 2, 2004, version 2.1.1. There may well be some more recent version OS X binaries of Bochs floating around somewhere out there, but they are not available at the official Bochs site. This version 2.3.7 source was posted here at MacUpdate for those who do want to muck around with it. It clearly states at the top of the MacUpdate product page for Bochs that the download is source code. I suppose Bochs should not be posted because some people want an executable binary that does not exist, and thereby leave everyone out in the cold who might want to get geeky with the source and have maybe a little fun? And it's not like there are no alternatives that are executable binaries. VirtualBox comes to mind, and it is free.
    Like (4)
    Version 2.3.7
    Dalahast
    Dalahast
    05 June 2008
    As an extremely geeky person, I understand your point– but I'd like to spend more time doing geek things within the program, rather than within the scope of creating it– but that's my opinion, which is by no means what everyone else thinks.
    Like (1)
    Version 2.3.7
    MacUpdate-Lon
    MacUpdate-Lon
    06 June 2008
    ZangieF, you previously made a blanket statement: "Mac users expect working binaries, and source code should be an aside." You presumed to be speaking for all Mac users, and implied that source code be left aside. But now you say, "...I'd like to spend more time doing geek things within the program, rather than within the scope of creating it but that's my opinion, which is by no means what everyone else thinks." So now you're just speaking for yourself instead of on behalf of all Mac users. Oh well, whatever. 190 downloads (at this point in time) tells me that there are some Mac users that do not want you to speak on their behalf.
    Like (2)
    Version 2.3.7
    Dalahast
    Dalahast
    06 June 2008
    XD I've done that in the past, I think. Logical fallacies are amusing…
    Like
    Version 2.3.7
    Scottishwildcat
    Scottishwildcat
    09 June 2009
    VirtualBox is "completely free", and it's much easier to use.
    Like (7)
    Version 2.4.1
    umaromc
    umaromc
    12 November 2009
    Odd how ignoramuses are comparing this to virtualization software when it's not.
    Like (1)
    Version 2.4.2
    hwgray
    hwgray
    06 November 2011
    I agree with m... If it's something that YOU happen to WANT and you can't understand how to make it work, then that's your problem and not the developer's. Don't punish him for YOUR incompetence! OTOH, if it's something that ALL Mac-users NEED or at least find very handy, then the developer ought to complete the job before releasing it. What grinds MY gears are the developers who come up with a truly useful app, like D[o]S[omething]W[hen] or FruitMenu, then start getting laid, no longer need the money, or whatever and just orphan it. WTF?! Why not open-source it, instead? Let those who care keep it going! Is that too much to ask?
    Like (3)
    Helmo-Hass
    25 December 2007
    Well as far as i can see, no evolution since ages, we're quite close to a total integration for both i386 and ppc hardware compatibility mobos, and they still make an emulator to run win95??? c'mon...... humm why not intruducing another one in which i could run Commodore 64? or better like Vic 20? ok lets say its good and I really like it, where in the hell do you find applications to run on it? Vista is out there, and already most of applications won't even run on XP, and i should spend my time on compiling the source to install a project based on my grand mother 'puter? lol and then..?
    Like (5)
    Version 2.3.6
    Schoschie
    05 June 2007
    Compiling and installing Bochs isn't soo hard. It's described here: http://bochs.sourceforge.net/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=http://bochs.sourceforge.net/doc/docbook/user/index.html You don't even need to read this, though. The steps to compile and install are rather simple. Do this: 1) Get the Developer Tools and install them (if you haven't already). You can get the Dev Tools for free from Apple's Developer website after you have registered as a Developer using the "free plan". 2) Download the bochs source package. Unpack it. 3) Open the Terminal. Change into the bochs directory by typing "cd " and dragging the unpacked bochs directory into the Terminal window. Press the Return key. 4) Enter the following lines, waiting for the operation to finish after each line: configure make sudo make install Each will take a while and you will see hundreds of lines printed out. This is normal. The last command (sudo make install) will ask for your administrator password which is your normal login password if you're a user that is allowed to administer the Mac. You now have a finished MacOSX binary executable inside the bochs directory. You can launch it by double-clicking it like usual. It will complain about not being able to open a hard disk image file and an unknown display extension "vbe". To fix this, follow these detailed instructions to setup bochs. Afterwards, everything will work fine. http://bochs.sourceforge.net/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=http://bochs.sourceforge.net/doc/docbook/user/index.html It does take some time. And it does help to RTFM once in a while.
    Like (1)
    Version 2.3
    New-User
    17 July 2006
    Well that's great that they have source code that can possibly be compiled to hopefully create a usable binary. But we're on a Mac, we want binaries and we want them to "just work." The latest MacOS X binary is version 2.1.1, which might as well be the source code. It just tells me to run a script, which then runs Bochs from the terminal, which asks me to load some configuration file, and there is no information on where to obtain one of these files or how to make one. Yes, I read the read me. Useless. Granted, I understand it takes alot of effort to wrap these things up elegantly in order to make them just work. But, until they have a real GUI front end on this thing, don't bother. Check out Q, or just get VPC or Parallels.
    Like (2)
    Version 2.3pre2
    Anonymous
    09 July 2005
    The instructions that come with the binary version are no good - "cannot find image file".
    Like (1)
    Version 2.2.1
    Anonymous
    09 July 2005
    Unfortunately, many open source projects require some rudamentary "CS" (computer science) knowledge, e.g. How to use a command line, what gcc is, etc. If you do not possess these skills, I recommend looking to see if a "binary" (i.e. pre-compiled) version is available from someone. Many people make them available as a service to the less skilled, or those who dont have the time. Alternatively, look at a commercial solution, e.g. Virtual PC.
    Like (3)
    Version 2.2.1
    4 answer(s)
    Anonymous
    Anonymous
    09 July 2005
    I agree.I hate when people write bad reviews on something because they cant figure out how to use it.
    Like
    Version 2.2.1
    Anonymous
    Anonymous
    11 July 2005
    Then why not give us plebs some useful hints and tips. If you were able to build it under Mac OS X tell us how you did it. The instructions provided simply do not work, e.g. My attempts always result in "no default output file for gcc". OK I could probably work out how to cure this but one wonders if the supplier of the instructions actually bothered to test them before release. Alternatively if you've developed a binary why not put it somewhere useful for others to download.
    Like (1)
    Version 2.2.1
    Haplo
    Haplo
    30 January 2006
    I don't suggest VPC. Back when VPC was run by whoever used to own it, it was good. Now it's just microsoft windows with Microsoft Virtual Computer™. Bochs is not very good regardless, I've heard that QEMU is better, plus QEMU will install more than microsoft products and can emulate more than just x86. Also, some dude with more free time than me made Q. I'm still trying to get a copy of XP Pro, but Q lets you do everything worthwhile that VPC can do (including save states) only it has better drivers and is faster, and has much better CD/DVD support (you can install to Q from a windows/DOS CD or DVD). Also, VPC has no support for other save states, but Q can import guest machines from VPC7. Did I mention Q is free? http://kberg.ch/q/
    Like
    Version 2.2.6
    Mikuro
    Mikuro
    27 August 2006
    This this is a general-population web site, reviews by normal users are legit. If it's too hard for a normal user to use, then it deserves the low rating. Ratings exist to help people decide what's worth trying. Clearly, this is not worth trying for most users. Ease of use is important. That's why Macs exist.
    Like (1)
    Version 2.3
    Anonymous
    03 June 2005
    Can someone please explain how this works? I have no idea how to compile something and the website with "instructions" sucks. I am all about open source but the difficulty level to get this stuff to work is ridiculous.
    Like (2)
    Version 2.2
    Anonymous
    30 May 2005
    Can't get it to build on my machine.. brand new iMac G5 too..
    Like (2)
    Version 2.2
    5 answer(s)
    Anonymous
    Anonymous
    30 May 2005
    Same here. Make error log: cdrom.cc:112:22: error: dev/disk.h: No such file or directory cdrom.cc: In function `kern_return_t FindEjectableCDMedia(io_iterator_t*, mach_port_t*)': cdrom.cc:269: warning: NULL used in arithmetic cdrom.cc: In function `kern_return_t GetDeviceFilePath(io_iterator_t, char*, CFIndex)': cdrom.cc:282: warning: NULL used in arithmetic cdrom.cc: In function `_CDTOC* ReadTOC(const char*)': cdrom.cc:372: warning: NULL used in arithmetic cdrom.cc: In member function `bx_bool cdrom_interface::insert_cdrom(char*)': cdrom.cc:644: warning: converting to non-pointer type 'mach_port_t' from NULL make[1]: *** [cdrom.o] Error 1 make: *** [iodev/libiodev.a] Error 2 Wasn't there a binary distribution for OS X? Is it dead?
    Like (1)
    Version 2.2
    Anonymous
    Anonymous
    22 July 2005
    Try changing #include to #include in the iodev/cdrom.cc file. It worked for me. I also had to change in the top Makefile.in the SETFILE definition from SETFILE=/Developer/Tools/Setfile to SETFILE=/Developer/Tools/SetFile. This might not be necessary unless you have the developer tools installed on a case-sensitive filesystem.
    Like
    Version 2.2.1
    Anonymous
    Anonymous
    22 July 2005
    The site stripped some "html tags" in my post :). The include was dev/disk.h that needs to be changed to sys/disk.h.
    Like
    Version 2.2.1
    VictorToh3426
    VictorToh3426
    31 July 2005
    Thanks Dan! Your suggestion worked and got me past the CDROM error... but I hit another wall that reads like this: g++ -c -I.. -I./.. -I../iodev -I./../iodev -I../instrument/stubs -I./../instrument/stubs -fpascal-strings -fno-common -arch ppc -Wno-four-char-constants -Wno-unknown-pragmas -Dmacintosh -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES carbon.cc -o carbon.o carbon.cc:172: error: non-local variable ' bx_tool_pixmap [16]' uses anonymous type make[1]: *** [carbon.o] Error 1 make: *** [gui/libgui.a] Error 2
    Like
    Version 2.2.1
    Anonymous
    Anonymous
    10 August 2005
    The problem in carbon.cc that Victor Toh can be worked around by naming the anonymous struct defined on line 162. If you don't understand a word of that then run this quick Perl one-liner to fix it for you (no linebreaks): perl -pe 's/^struct {$/struct __carbon_cc_hack_struct__ {/' gui/carbon.cc Make sure you run it from the bochs-2.2.1 directory. Here's another Perl one-liner to fix the cdrom.cc problem: perl -pe 's,dev/disk\.h,sys/disk.h,' iodev/cdrom.cc
    Like (1)
    Version 2.2.1
    Free

    3.0

    App requirements: 
    • Intel 32
    • PPC 32
    • Mac OS X 10.2.8 or later
    Developer Website: 
    Download(5.2 MB)MacUpdateInstall with MacUpdate

    Downloaded & Installed 40,214 times