delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/07/09/20:21:31

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

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019