If anyone's insterested, here's something I'm working on: I'm writing a
miniture OS that communicates with a host computer via the
parallel-port. The host computer has the BIOS and CMOS images on it and
then executes the BIOS code, emulating only the CPU, RAM, PIC, RTC/CMOS,
and hard disk. When it encounters any other I/O, it signals the "guest"
computer (via the parallel port) to perform that I/O. Memory references
that are not inside RAM will be be redirected to/from the guest PC. Thus
I should be able to have a guest that I can use like plex86 does, only
I'll be able to use an _actual_ BIOS, complete with all its chipset
references. Even SVGA support would work. The "guest" PC has an SVGA
video card and I've got another monitor connected to it. Isn't that a
cool idea? The purpose of it is, this way I can run things in the
virtualized environment, that will think they have all the chipset
stuff. You'll note that an actual PC BIOS doesn't work in plex86 due to
incomplete emulation of e.g. port 61, all the PCI stuff, ... etc. But
this way it doesn't have to work!
Anyways I digged up an old bi-directional parallel cable. I'm planning
on booting from a 486 SX this way which is the reason why I don't want
the virtualization code running _on_ the guest PC. Too slow.
Anyways the "guest" mini-OS will just be a dummy program that receives
packets and executes them. The packets can contain an OUT instruction.
Thus the BIOS will run on my host PC under virtualization and if it does
some fancy I/O to some chipset thing, that I/O will actually execute on
the guest PC where I copied the BIOS from!
Now if only I had an oscilliscope, I could.... (heh heh)
-WS