QEMU, the free software PC emulator available, has a Win32 port (and another CygWin port) pending commit (screenshot). The port is “only” for the emulation of a complete x86 PC (QEMU supports two other modes too), and that is initially also the only mode considered. It hasn’t (yet) got neither host sound output, nor access to the hosts network card. As such, it should probably be compared to Bochs without the same devices but is much faster – it’s a plain user-mode program with no need for device drivers or anything.
how is this different from bochs?
How about reading the “read more” part before posting?
The reference documentation on the QEMU website describes how it compares to bochs:
“Like bochs [3], QEMU emulates an x86 CPU. But QEMU is much faster than bochs as it uses dynamic compilation and because it uses the host MMU to simulate the x86 MMU. The downside is that currently the emulation is not as accurate as bochs (for example, you cannot currently run Windows inside QEMU).”
Bochs and QEMU take quite different approaches towards emulation.
Bochs is basically an x86 intepreter, executing the equivalent emulator function for every encountered machine code instruction. This allows for near ICE-like precision in its emulation, but also takes quite a bit of CPU. IIRC, you can expect around 1:500 performance when running on x86.
QEMU takes another approach, making it behave much more like a binary translator and/or JIT. It looks at (potentially many consecutive) instructions, convert them to an intermediate virtual machine code format for which it already has a resonably efficient host native representation. It then concatenates together those function blocks into a single buffer, and executes it. It also provides other optimizations, such as defer assignment or evaluation of flags.
On Win32 the host MMU mode of QEMU is not supported, it only runs in the softmmu mode. Despite this, the performance is quite impressive. I haven’t done any measurements, but I’d be surprised if its slower than 1:5 of the host CPU.
Does anybody how it performs compared to other available x86 emulators on the powerpc platform?
Anyway this sounds really interessting.
http://fabrice.bellard.free.fr/qemu/qemu-win3_11.png 3.11 that is
Is the Windows port of Qemu downloadable yet?
http://www.h7.dion.ne.jp/~qemu-win/
Download QEMU 0.5.2 from the official site, and apply the patch above. With MinGW/MSYS (Cygwin is *not* needed) and SDL, it compiles and runs.
It will be soon in the official 0.5.3 release.