delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/07/09/16:19:43

From: Eric Lange <ericl AT emu DOT com>
Newsgroups: comp.os.msdos.djgpp,comp.lang.asm.x86
Subject: Getting the V86 mode TSS
Date: Tue, 08 Jul 1997 09:38:15 -0700
Organization: E-mu Systems, Inc.
Lines: 24
Message-ID: <33C26CF7.5B7@emu.com>
Reply-To: ericl AT emu DOT com
NNTP-Posting-Host: 192.136.8.26
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

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