delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/08/28/05:58:30

To: Emmanuel DOT Anne AT univ-caen DOT fr (Emmanuel Anne)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: Unsupported dos functions in djgpp
Date: Sun, 28 Aug 94 10:38:47 +0200
From: eliz AT is DOT elta DOT co DOT il

> Anyway, when I try to call a function not supported by int86x, such
> as the VESA information function 4F on int 10, things are geting worse.
> I use _go32_simulate_dos_int... and sometimes it works (especially when
> the program does only this call and then end.) and sometimes the call is
> made but the data which should be returned is lost !
> (I use the transfer buffer provided by go32 as a transfer area for the
> data, and then I take it with dosmemget).

Did you zero-out the SS and SP fields in the registers structure you
pass to _go32_dpmi_simulate_int()?  If you didn't you could easily get
the strange behavior you describe, because these two are used for the
temporary stack while simulating the interrupt, and they usually point
to random locations.  In DPMI mode this will also GP fault.
1.12 docs for that function mentions the need for zeroing those two.

	Eli Zaretskii

- Raw text -


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