I pulled that info out of my assembly language text. I doubt that it is
wrong. Either that or you forgot that MMIO space IS regular memory (and
thus can be part of user space). In any case, the MMIO part that writes to
b800:0000(0xb80000h, not 0xb800h)....etc is IO using mov and therefore is
caught by Kevin's prescan (I think that was mentioned recently). In any
case, this will need to be handled somehow, because we can't just have the
guest writing all over the real host screen.
Remember, if the code says "write to b80000" (not xxxx:b800 which would be
within the current segment) and it hasn't been prescanned, redirected or
errored out somehow then it _will_ write to b80000!! It doesn't matter if
we _want_ it to write to b80000+plex86_memory_space_offset--so long as the
assembler says b80000, that is where it will try to write to (unless
something stops it first).
Colin, do you know what windows does when it redirects this (read/write
from/to b80000)in "DOS" sessions?
Drew Northup, N1XIM
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf
> Of Bart Oldeman
> Sent: Monday, December 18, 2000 5:52 PM
> To: plex86
> Subject: RE: [plex86] Performance enhancement: elminiating mode and
> context
>
>
> On Mon, 18 Dec 2000, Drew Northup wrote:
>
> > I'd have to agree here--for the most part. A good example of
> this is how
> > old DOS programs did curses-style GUI in DOS-MODE (no windows
> yet--XTREEPRO
> > for instance I think does this). Many people here know about the IAPx
> > screen character buffer. This is MMIO by most definitions--although it
> > isn't handled directly (the IO part is done by hardware), but
> it is still IO
> > that plex86 needs to catch and redirect.
>
> Nope: text screen buffers can just be written to directly by the
> guest: the monitor just needs to update the real screen every once in a
> while.
>
> Screen buffer is at 0xb800:0 or 0xb000:0 in guest space, plex86/whatever
> can just read this, and produce characters on a graphics display.
>
> You only have MMIO like buffers for VGA if it's in a planar mode
> incl. 640x480x16 and mode-X, and even then it depends on the values of the
> VGA I/O registers.
>
> Bart
>
>
>
>