Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Announcements

Bochs 2.0 Released 284

Jas Sandys-Lumsdaine writes "Bochs 2.0 has just been released - project lead Bryce Denney writes: "It's been a busy 6 months since our previous release! Bochs is now about twice as fast as version 1.4.1. Also, we can now emulate MMX instructions, SSE/SSE2, and even AMD x86-64 instructions if you turn on the appropriate configure options. The emulation improvements have paid off; several people have been able to install Windows XP recently." Excellent stuff."
This discussion has been archived. No new comments can be posted.

Bochs 2.0 Released

Comments Filter:
  • what a click can do (Score:3, Informative)

    by Slashdotess ( 605550 ) <gchurch @ h o t m a i l .com> on Saturday December 21, 2002 @09:00PM (#4938306)
    from the link inside the article Welcome to the Bochs IA-32 Emulator Project 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. "
  • by Anonymous Coward on Saturday December 21, 2002 @09:01PM (#4938312)
    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.
  • by Hadean ( 32319 ) <hadean.dragon+sl ... g m a i l . c om> on Saturday December 21, 2002 @09:01PM (#4938313)
    I tried using Bochs 1.4.1 to play some old DOS games (since VMware doesn't support SoundBlaster Live! for whatever reason), and it was so slow that my type "md games" took several seconds! With a bit of tweaking, I was able to get it decently working, but games would be horrendously slow... "Jones in the Fast Lane" was so slow, I almost screamed! (Of course, then it froze, but oh well...) My point: anything would be faster than what it was... Anyone have any experience with it yet?

    (My system isn't a super one, but 800mhz/512megs of RAM should be enough to play DOS games)...
  • Do they use JIT? (Score:1, Informative)

    by Anonymous Coward on Saturday December 21, 2002 @09:01PM (#4938316)
    Last time I looked at their code they had a function call for every single x86 op-code - ouch! Even a switch loop would be preferable.
    Is BOCHS smart enough to let the host machine run the non-privledged instructions if the host happens to be an x86 chip?
  • by orbital3 ( 153855 ) on Saturday December 21, 2002 @09:02PM (#4938325)
    If you go to the sourceforge download page, located here [sourceforge.net], it has links to all of the 2.0 final downloads. Have fun killing the servers... I already got my copy. :)
  • website not updated? (Score:1, Informative)

    by Anonymous Coward on Saturday December 21, 2002 @09:04PM (#4938334)
    project website is still showing latest as 1.4. Could it be that slashdot is actually on time/ahead for once!?
  • by Anonymous Coward on Saturday December 21, 2002 @09:04PM (#4938337)
    Should be, but keep in mind BOCHs emulates everything completely in software. The benefit of doing it this way is that BOCHs will run on -any- arch capable of compiling it, whereas VMWare, which uses the existing hardware for 'emulation' will only work on x86 machines. As you've noticed though, speed is the obvious tradeoff, with BOCHs being considerably slower than VMWare.
  • Re:Boch vs. VMWare (Score:4, Informative)

    by damiam ( 409504 ) on Saturday December 21, 2002 @09:07PM (#4938346)
    Bochs emulates the entire x86 instruction set, so it will run on any architecture. VMWare simply creates a virtual machine and passes instructions directly to the processor, so it only runs on x86 machines. VMWare is about a zillion times faster and easier to set up, but it also costs infinitly more than Bochs.
  • by Hadean ( 32319 ) <hadean.dragon+sl ... g m a i l . c om> on Saturday December 21, 2002 @09:07PM (#4938349)
    Er wait, it's still 1.4.1 on their site... 2.0pre4 only. Who said it was released?
  • by Hadean ( 32319 ) <hadean.dragon+sl ... g m a i l . c om> on Saturday December 21, 2002 @09:09PM (#4938358)
    Cause I don't use Linux?
  • Re:Boch vs. VMWare (Score:5, Informative)

    by Mitchell Mebane ( 594797 ) on Saturday December 21, 2002 @09:12PM (#4938369) Homepage Journal
    That's like comparing apples and oranges. VMWare is a virtual machine; it only emulates certain parts of a computer. It's "passes through" most of the work to the host machine. This means that is a lot faster, but it can only run programs designed for the host architecture. Bochs, OTOH, is a full-fledged emulator, which, eventually, will let you run any program on any machine. Since it emulates every, though, it is FAR slower that VMWare. I hope they add some sort of JIT engine sometime.
  • Re:2.0pre4 (Score:3, Informative)

    by kpansky ( 577361 ) on Saturday December 21, 2002 @09:22PM (#4938414)
    Sorry -- you are incorrect. The webpage for the site is not updated as fast as Slashdot can find out about their new releases. Look for a link on the left for "all releases" and download Bochs-2.0... it wasn't that hard.
  • Re:What does it do? (Score:4, Informative)

    by TeknoHog ( 164938 ) on Saturday December 21, 2002 @09:24PM (#4938423) Homepage Journal
    It emulates x86 PC hardware. So you can run e.g. Windows 9x inside any OS+hardware where Bocks runs.
  • by athakur999 ( 44340 ) on Saturday December 21, 2002 @09:34PM (#4938470) Journal
    If you're running NT or 2000 you can try out VDMSound [sourceforge.net]. I've had a fair amount of luck getting some old DOS games to work correctly in a command prompt box under 2000.
  • Be still my heart! (Score:2, Informative)

    by Isbiten ( 597220 ) <isbiten@gmail. c o m> on Saturday December 21, 2002 @09:44PM (#4938511) Homepage
    * Added plugin support for Linux, Solaris, MacOS X , and Cygwin. Plugins allow you to compile Bochs with support for many options and load the pieces that you want at runtime. Be still my heart!!
  • Re:Do they use JIT? (Score:3, Informative)

    by paladin_tom ( 533027 ) on Saturday December 21, 2002 @09:50PM (#4938527) Homepage

    Is BOCHS smart enough to let the host machine run the non-privledged instructions if the host happens to be an x86 chip?

    No, Bochs is a pure interpreter. A less mature project that attempts to do this is Plex86 [nongnu.org], and a commercial alternative is VMWare.

  • here it is: (Score:2, Informative)

    by SHEENmaster ( 581283 ) <travis@utk. e d u> on Saturday December 21, 2002 @09:55PM (#4938540) Homepage Journal
    Bochs/VPC/ZSNES/GnuBoy emulates a machine on any other, so it will run on any architecture from x86(PC) to PPC(macintosh) to ARM(my sharp zaurus) but is slower because it has to recreate all of the target machine's functions.

    Wine just emulates winshit's APIs; it will only run on PC computers. It is a hell of a lot faster, but has more errors due to lack of winshit documentation. Most WINE crashes also occur in windows btw.

    VMWare/MacOnLinux is a middle-ground between the two. It is a PC emulator, but instead of making the virtual processor out of C it is made out of assembly on the same machine it is emulating. The processor knows every command the virtual one needs, making the processes a lot more efficient.

    Other thing such as big endian v. little endian are involved, but the user doesn't need to worry about that.
  • by mabinogi ( 74033 ) on Saturday December 21, 2002 @09:56PM (#4938541) Homepage
    No, it IMPLEMENTS the Win32 API.

    How the hell do you emulate an API?
    Either you provide the functions or you dont

    The difference is, an emulator emulates actual hardware in software, Wine runs directly on the hardware, and just implements win32 so that Windows programs can run.

    Wine -> Implements Win32 API on Linux, all code run directly on hardware - requires x86 machine to run it on. Due to the Win32 API being badly documented, tends to have compatibility problems.

    VMWare -> virualizes the hardware, ie. creates a whole new virtual x86 machine in which code runs directly on the hardware. Some things emulated due to being impossible or difficult to share between the host and guest operating system. Requires x86 machine to run it on, but is generally very compatible, and allows you to install (in theory) any x86 operating system.

    Bochs -> Complete emulation of every aspect of an x86 machine, all code running within a Bochs machine is interpreted by software. Will be very slow, but can run on many different platforms and processors, and should be pretty much as compatible as VMWare. Will allow installing any x86 operating system.

    Flex86 -> An open source VMWare clone, shares some code with Bochs, will have all the advantages of VMWare, and has source too. Still in development though....
  • Re:It must be good! (Score:4, Informative)

    by zulux ( 112259 ) on Saturday December 21, 2002 @10:05PM (#4938575) Homepage Journal

    Yeah, booting off that CD is pretty tough.

    Last time, I had to like... select a computer name and everything! I was exhausted!


    Err.. The myth of 'Windows is Easy to Install' must be crushed.

    Let me illuminate the joys of installing Windows 2000 server.

    Boot of of CD-Rom
    Wait for drivers to load ~ 5 min
    Partition Drive
    Reboot
    Wait for drivers to load ~ 5 min
    Format Drive
    Reboot
    Wait for drivers to load ~ 5 min
    Choose crap
    Wait for Windows to install ~ 10 min
    Reboot
    Copy cryptic crap off of security sticker
    Choose password
    Reboot
    turn off 'helpfull' how to use windoes help thingy
    move home-page off of MSN
    install SP3 ~ 15 min
    reboot
    install ie6 ~ 10 min
    reboot
    move home-page off MSN again.
    install 'critical updates' ~ 10 min
    reboot
    install office ~ 5 min
    install office updates ~ 10 min
    install office critical updates ~5 min
    install antivirus ~ 5 min

    Ugh

  • Why so slow? (Score:3, Informative)

    by smagoun ( 546733 ) on Saturday December 21, 2002 @10:21PM (#4938642) Homepage
    1.5MIPS seems awfully slow to me....like orders of magnitude slower than it should be. VirtualPC - a commerical product that emulates a PC - runs somewhere around the speed of a 233Mhz PII on my crufty old Powermac, which rockets along at 450Mhz. VPC provides full emulation of a PC the way Bochs does, but it's ~200x faster. That's an awfully big difference. What accounts for that difference? Is there any chance that Bochs will close the gap sometime soon? I'd much rather use a free product than VPC, but with a performance gap like that it's tough to justify...
  • by ostiguy ( 63618 ) on Saturday December 21, 2002 @10:49PM (#4938721)
    But 250 isn't just for one system. VMware allows you to run as many vms as your ram permits. If I were doing something where I needed to keep win 98 around, I'd probably use vmware to emulate it rather than keeping a crappy box around

    ostiguy
  • by Elwood P Dowd ( 16933 ) <judgmentalist@gmail.com> on Saturday December 21, 2002 @11:32PM (#4938813) Journal
    Boy, do I disagree.

    If, for example, you've got a laptop, and have needs for both Windows and Linux, a perfect virtual machine environment is absolutely desireable. You can take your laptop anywhere, and simultaneously run apps of different varieties.

    I've got an iBook. I'd never have considered switching to Linux without MacOnLinux [maconlinux.org]. With proper virtual machine design, and a native processor, there's no crippling speed penalty either. Even if I had $1200 for another iBook. I've got both right here.

    Even with desktop machines, if you've spend $1500 on your primary system, WindowsXP on a virtual machine is going to be a hell of a lot faster than a new $250 machine.

    Oh. Wait. You said emulation. In that case, I couldn't agree more strongly. I just don't know of any $250 processor emulation packages. VMWare is just a virtual machine, right?
  • Re:Why so slow? (Score:2, Informative)

    by larry bagina ( 561269 ) on Saturday December 21, 2002 @11:43PM (#4938872) Journal
    PPC was designed with emulation in mind. When you have 32 gp registers, it's easy to alias them to the x86's 8 gp registers. Also, VPC is a commercial product written by people that have *years* of experience writing x86 emulators back when Macintoshes were running on 680x0s at 40mhz or less. The GNU coding standards state that it's ok to assume unlimited core memory, processing power, etc.
  • Re:Boch vs. VMWare (Score:4, Informative)

    by ipsuid ( 568665 ) <ipsuid@yahoo.com> on Saturday December 21, 2002 @11:54PM (#4938926) Journal

    Precisely.

    I've used all three (Bochs, WINE, VMWare) and each are designed for different purposes.

    Bochs is quite slow for normal application usage, but it is absolutely ideal for low level OS development work. Compare crashing your real machine hundreds of times while debugging your bootloader and memory management code to having a "virtual" crash in Bochs. Also, Bochs provides stubs for implementing runtime instrumentation, so you can use powerful debugging techniques that remain 100% insulated from the debugee.

    If you are primarily concerned with running one or two Windows apps under Linux that you just can't live without, then Wine is for you. Sure, there are still some rough edges, but in many cases, your application will actually run faster under Linux then under Windows. However, parts of Wine are still incomplete, so YMMV. The biggest plus with the Wine approach is that interaction between apps is a tad simpler.

    VMWare creates a bit of a middle ground between Wine and Bochs. I've used it for the past two years to keep a copy of Win98 and Win2k on my Linux box. Because being an independent programmer/consultant sometimes requires me to use technologies I don't exactly embrace, the Windows in VMWare option allows me to maintain productivity while not opening myself to network *cough* problems. In addition, I can keep multiple OS's running concurrently so testing and debugging apps is fairly painless. Except for a few operations (installing software, for example) the virtual machine runs almost as fast as if I ran the OS natively. BTW, when Windows inevitably hoses itself, I have it running again in the time it takes to copy a 1G file ;-)


    So in summary, if you are doing some hardcore hacking, get yourself Bochs... it will save you many many reboots.

    If you want to run MS Office and can live with a few glitches, get yourself Wine.

    Looking to simplify cross-OS application debugging, need to have Windows close at hand, doing tech support? Then VMWare is your answer.

    Want to run the latest DirectX 9.0, wet your pants LOD game... yet run Linux as well? Get yourself a second machine.

Old programmers never die, they just hit account block limit.

Working...