delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/07/20/09:08:04

Newsgroups: comp.os.msdos.djgpp
Date: Sat, 20 Jul 1996 15:05:42 +0200 (MET DST)
From: Mark Habersack <grendel AT ananke DOT amu DOT edu DOT pl>
cc: djgpp AT delorie DOT com
Subject: XMS entry point
Message-ID: <Pine.NEB.3.93.960720145510.4266A-100000@ananke.amu.edu.pl>
MIME-Version: 1.0

I am writing a set of routines to detect and provide info on various
memory-management services. Among all the others there's one to cope with XMS.
One of the stages in getting XMS info is to collect the real-mode entry-point
address for the XMS services. And here's where problems begin. I succesfuly
retrieve this entry point using 0x4310 int 2F call but when I try to call the
procedure it hangs the machine. Of course I'm not calling the proc directly
but by means of __dpmi_simulate_proc_retf (I don't remember the name right
know - they all too long ;-)))) - but it doesn't work. I was unable to check
what's going on, even with GDB - it hangs also. As far as I could check, the
es:bx pointer returned by 0x4310 2F call is OK. Where lies the problem? Is it
allowed to call the XMS services from 32-bit proggy? I have checked that it is
not a problem of DPMI server - all of them crash without a blink. 
The only sensible message I got from the system comes from EMM386 - it says
about exception in the software (it doesn't say which one) and that the system
has been halted. So it seems that the crash happens AFTER processing the call
by DPMI server. 

Mark 

/*******************************/
/** So here I am once more... **************************************/
/** When you grown up and leave your playground, where you kissed **/
/** your Prince and found your Frog - remember the Jester that    **/
/** showed you tears, a Script for Tears... ************************/
/*********************************************/

- Raw text -


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