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).