delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1997/09/30/08:27:32

Date: Tue, 30 Sep 1997 15:27:20 +0300 (EET DST)
From: Esa A E Peuha <peuha AT cc DOT helsinki DOT fi>
Reply-To: Esa DOT Peuha AT Helsinki DOT FI
To: djgpp-workers AT delorie DOT com
Subject: 32-bit DPMI host
Message-ID: <Pine.SOL.3.96.970930143254.16365A-100000@kruuna.Helsinki.FI>
MIME-Version: 1.0

After some consideration, I've decided to do what I can to turn CWSDPMI
into a 32-bit program. I won't be able to do that all by myself, but it's
better than nothing :-)

I think it would be best to load the 32-bit CWSDPMI just like any other
djgpp-compiled program. Of course, that will require a stub that can load
and execute a COFF image even in the absence of a DPMI host, and possibly
check to see that this image doesn't rely on DPMI either, if that's easy
to do. Since this stub must detect the kind of environment (DPMI, VCPI,
XMS, or none), it should also pass this information to the image it
starts.

Likewise, we need a replacement for crt0.s that will work without DPMI. In
addition to the usual functions, this should provide a function to
terminate-and-stay-resident, because CWSDPMI will mostly exit through
this. Perhaps a replacement for `__dpmi_int' should also go there, and
general mode-switching functions, if they are needed anywhere. The startup
code should check whether the stub provides the environment information,
and if not, just assume DPMI services are available.

I won't be able to write these pieces of code, because I don't know the
necessary details. But if some one else does that, I will probably be able
to rewrite most of the CWSDPMI code (at least, after asking some questions
here).

Esa Peuha
student of mathematics at the University of Helsinki
http://www.helsinki.fi/~peuha/

- Raw text -


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