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
What's New
Version 2.5.1:
CPU / CPUDB:
Added Athlon64 (Venice) configuration to the CPUDB
BMI: fixed EFLAGS after BMI instructions
MSR: access to AMD extended MSR space was impossible due to a bug in RDMSR/WRMSR
VMX: fixed VMFUNC instruction behavior to align with Intel SDM revision 041
Related Links
A binary executable version for Mac OS X 10.2 or later, Bochs 2.1.1, is available here. Bochs 2.1.1 version for Classic Mac OS 9 or later is available here.
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).
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.
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:
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.
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.
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.
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.
"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.
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?
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..?
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.
[Version 2.3pre2]
Anonymousreviewed on 09 Jul 2005
The instructions that come with the binary version are no good - "cannot find image file".
[Version 2.2.1]
+3
Anonymousreviewed on 08 Jul 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.
[Version 2.2.1]
4 Replies
Anonymouscommented on 09 Jul 2005
I agree.I hate when people write bad reviews on something because they cant figure out how to use it.
+1
Anonymouscommented on 11 Jul 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.
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?
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.
+1
Anonymousreviewed on 02 Jun 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.
[Version 2.2]
+1
Anonymousreviewed on 30 May 2005
Can't get it to build on my machine.. brand new iMac G5 too..
[Version 2.2]
4 Replies
+1
Anonymouscommented on 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?
Anonymouscommented on 22 Jul 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.
Anonymouscommented on 22 Jul 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.
+1
Anonymouscommented on 09 Aug 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):
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.
Please login or create a new MacUpdate Member account to use this feature
Watch Lists are available to MacUpdate Desktop Members Upgrade Now
Download and auto-install
using MacUpdate Desktop. Save
time moving folders and cleaning-up.
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.
-2
+9
JCH2 reviewed on 07 Jan 2012
+2
+3
Hence Bochs is PPC software, designed to emulate x86 and Virtual Box is intel software, designed to virtualise x86.
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.
+8
+29
+5
+20
+1
+322
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.
+1
+20
-2
+322
"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.
+20
+6
+29
-4
+169
+2
+30
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?
+3
-20
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..?
+67
Tomis reviewed on 17 Jul 2006
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.
Anonymous reviewed on 09 Jul 2005
+3
Anonymous reviewed on 08 Jul 2005
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.
+1
http://kberg.ch/q/
+1
+7
Ease of use is important. That's why Macs exist.
+1
Anonymous reviewed on 02 Jun 2005
I am all about open source but the difficulty level to get this stuff to work is ridiculous.
+1
Anonymous reviewed on 30 May 2005
+1
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?
#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.
The include was dev/disk.h that needs to be changed to sys/disk.h.
+1
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
Anonymous reviewed on 30 May 2005
OSX 10.3.9
-2
Anonymous reviewed on 26 May 2005
-2
+23
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.
+3
Phaseangle rated on 07 Jan 2012
+15
Jack75 rated on 28 Nov 2011