Mail Archives: djgpp/1997/07/10/19:35:52
Thanks for the reply. Is this the only way? I was hoping to avoid
server-specific mechanisms, as I would like this to work with all VCPI
servers. The only thing I can figure to do is to create my own V86
session and hook all VCPI functions. Ugh.
Does EMS provide any way of getting at this info? I know the TSS is
sitting somewhere below 1MB, but where?!! Aaaarrrrggghhhh!
Eric
George C. Lindauer wrote:
>
> Eric Lange (ericl AT emu DOT com) wrote:
>
> There is a back door to EMM386 that allows you to hook input/output to
> ports. The callback runs in 286 PMODE. if you are lucky enough to be
> in a ring 0 code seg (I don't know if that is the case) you might be
> able to just trigger one of these callbacks and use STR directly.
>
> David
> : I have a situation in which I would like to know the linear address of
> : my DOS V86 session's TSS. Is there a VCPI compliant way that I can find
> : this out?
> :
> : I figure that if I can switch into protected mode, I can simply do:
> :
> : sgdt [gdt_buffer]
> : str [task_register]
> :
> : and the value of task_register will index into gdt_buffer, which will
> : give me the information that I need.
> :
> : However, when a VCPI server is loaded (which is why I'm in V86 mode to
> : begin with), I have to use the VCPI interface to switch to PM. But, it
> : wants me to assign a _new_ GDT and _new_ TR, basically disallowing me
> : from getting the information I want.
> :
> : Is there a way around this? Basically, I want to load a TSR that has
> : access to the TSS of running real mode DOS programs.
> :
> : Any help would be ... well ... helpful.
> :
> : Thanks,
> : Eric Lange
--
---------------------------------------------------------------------
To reply: send to ericl AT emu DOT com, do not simply reply. Thanks.
- Raw text -