From: gclind01 AT starbase DOT spd DOT louisville DOT edu (George C. Lindauer) Newsgroups: comp.os.msdos.djgpp,comp.lang.asm.x86 Subject: Re: Getting the V86 mode TSS Followup-To: comp.os.msdos.djgpp,comp.lang.asm.x86 Date: 9 Jul 1997 20:20:46 GMT Organization: University of Louisville Lines: 32 Message-ID: <5q0rqu$ns3$1@hermes.louisville.edu> References: <33C26CF7 DOT 5B7 AT emu DOT com> NNTP-Posting-Host: starbase.spd.louisville.edu To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk 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