delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/12/06/14:29:57

Message-ID: <19991206154415.3773.qmail@hotmail.com>
X-Originating-IP: [204.221.98.220]
From: "Gareth Williams" <ghw2002tii AT hotmail DOT com>
To: eliz AT is DOT elta DOT co DOT il
Cc: prashant_news AT yahoo DOT com, djgpp AT delorie DOT com
Subject: Re: Setting a variable's selector? - Clarification - I hope.
Date: Mon, 06 Dec 1999 09:44:15 CST
Mime-Version: 1.0
Reply-To: djgpp AT delorie DOT com

>On Thu, 2 Dec 1999, Gareth Williams wrote:
>
> > All Plug and Play BIOS Services which are accessible at runtime support 
>a
> > bi-modal interface.  The two modes supported are 16-bit REal Mode and 
>16-bit
> > Protected MOde.
>
>This probably means that you should use the real-mode interface, since
>mixing 16-bit code with 32-bit code in the DPMI environment is tricky,
>if not impossible.
>
>So I think you need to forget about 16-bit PM selectors, and instead
>work via the real-mode interface, using the transfer buffer,
>__dpmi_int, and the other functions that allow to invoke real-mode
>procedures.  If you have problems with doing that, please post
>specific questions.

I had come to the same conclusion that the 16-bit real mode interface would 
be easier.  But I have a couple questions regarding the 16-bit real mode...

I am guessing (going to try) the 
__dpmi_simulate_real_mode_procedure_retf_stack function is the only way to 
get a stack to my real mode function, and again to get it back.  Then can I 
use _go32_dpmi_allocate_dos_memory to allocate the array needed for the 
pnpbios to return data in?  (I pass a pointer to the structure/array it 
returns the data there.)

Thanks for all of your commments and help.

Gareth.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

- Raw text -


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