delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/04/08/12:31:59

From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Subject: Re: uploads to cygnus - dll, farptr, V2.0 src
To: babcock AT cfa DOT harvard DOT edu
Date: Fri, 8 Apr 1994 11:04:27 -0600 (CDT)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu (DJGPP Mailing List)

> I'm confused.  How can a protected mode program interact with things like the
> DOS file system without an extender?  

Look at the libc I wrote.  It uses the _go32_dpmi_simulate_int calls to have
DPMI act as the extender, with the libc code assisting.

> Do you really mean that you have
> written an extender which can be built using only tools which will be
> provided as part of djgpp?  To remove the requirement of BCC or other C
> compiler would seem to require that you provide a DOS linker and assembler or
> C compiler of sufficient power that they can be used to build themselves.

DJ wrote a 16 bit assembler which generates an exe header and binary code
directly (no link step).  This is what the "stub" is written in.  All the
stub does is load the 32 bit code into DPMI memory and transfer control to
it, never returning.  The transfer buffer then overlays what used to be
the sub exe code, so with some DPMI providers you can end up with each 
V2.0 program only requiring about 5K of low memory.

Since the new stub is smaller than the old stub (and effectively replaces
GO32.EXE) each image is now completely standalone (unless it uses the new
DLL features).  It does require DPMI, and I am working (very slowly) on
trying to provide a free DPMI to go with the package.  Right now what I
have has lots of bugs and will support some simple DPMI stuff but not
the V2.0 code yet (much less the entire API).

- Raw text -


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