On Fri, 28 Dec 2001 16:34:33 +0100, Bas Mevissen wrote: >Only feasable if Bochs is actively maintained. > >| Now the bochs code uses "plugins" from bochs. Maybe it is also possible to >| make plex86 a plugin into bochs. Just like a >| written-in-assembler-and-optimized-for-this-single-host-processor code >| interpreter could be a plugin into bochs. > >I think we better opt for using from Bochs what we need and go on with what >we have from Plex86. To be honest, I want to get rid of any Bochs reference. >It is a great source, but this project is Plex86 and in my opinion, we >should not do anything because it is done in Bochs that way.
This is just a quick update as to the current status of Bochs, from a lurker on both lists (so take everything with a grain of salt): Bochs is adding hardware support at a decent clip of late. NE2000 support has been expanded to multiple host OS's (Windows and Linux being the big ones), ability to mount CD's directly into Bochs, SoundBlaster support, etc. etc. is expanding as well. Bochs is becoming actually friendly. Bochs can be configured with minimal config file tinkering. There is a text UI for on-the-fly configuration changes. The debugger is being expanded as well. If you'll recall, Plex86 started as an offshoot of Kevin's research into how to make Bochs faster. Eventually, you (probably) get to the realization that virtualization is superior (of course, assuming you have an x86 processor) than emulation. (I say probably because I've read that Connectix's VirtualPC uses emulation *even* on x86, and it's fast.) But virtualization really only helps you with raw CPU code that does not touch the hardware one iota. Beyond that, it gets *really* diecy. If you've played with VMWare you'll notice that a lot of hardware is either emulated to a greater or lesser degree (it sure seems like greater in many cases), or that there are guest-OS-specific drivers to circumvent this. This is the exact same case as Bochs. Looking at Plex86 as a CPU-"emulation"-plugin to Bochs may be the best way to leverage the development efforts of both camps. The sticking point is the definition of the interface between the CPU core code and the periphial emulation code. In fact, there was a discussion underway at the Bochs list last week about this exact topic: the sharing of code and interfaces between Plex86 and Bochs. Of course, if it were just that easy, Kevin (the author of Bochs, for crying out loud) probably wouldn't have abandoned Bochs for Plex86. Again, take all of this with a grain of salt. I believe that Bryce (the head maintainer of Bochs) is subscribed out here, too: I'm sure he will correct my mistaken assumptions. But with the recent drop in work on Plex86 and the recent flurry of work on Bochs, it sure seems to make sense to try to share work *wherever* possible... Back to lurking. Tim Massey