www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/05/07/23:34:15

Xref: news2.mv.net comp.os.msdos.djgpp:3543
From: malcolm AT manawatu DOT gen DOT nz (Malcolm Taylor)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: dxegen questions
Date: Wed, 08 May 1996 01:02:20 GMT
Organization: Grafik Software
Lines: 32
Message-ID: <4movfi$gf8@news.manawatu.gen.nz>
References: <318872e1 DOT 110404129 AT news DOT webstar DOT net> <318b9699 DOT sandmann AT clio DOT rice DOT edu> <4mhk1g$8c3 AT groa DOT uct DOT ac DOT za>
Reply-To: malcolm AT manawatu DOT gen DOT nz
NNTP-Posting-Host: malcolm.manawatu.gen.nz
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

fnunez AT cs DOT uct DOT ac DOT za (Fabian Nunez) wrote:

>In <318b9699 DOT sandmann AT clio DOT rice DOT edu> Charles Sandmann <sandmann AT clio DOT rice DOT edu> writes:

>>src/dxe/dxegen.doc is the only thing I ever wrote about it - and I
>>never enhanced the docs or put them into the info format, sorry.
>>I really wrote it for loadable graphics device drivers and emu387
>>support, neither which needed I/O, with a goal to have the tiniest
>>footprint possible.

>I tried to write a loadable VESA 2 module using a DXE and all I got was
>segmentation violations.  The code worked fine if statically linked, so
>my guess is that DXE's have problems talking to the __dpmi and _go32_dpmi
>functions, same as with printf, etc. Any ideas for a workaround, or have I
>found a bug? (BTW, I looked at the old '94 version of DLL's for DJGPP V1,
>and it allowed for sharing variables and functions with the main executable -
>why was this removed from DXE's? it seems like a good idea to me)

Charles answered this above. The code for loading DXE's is always
linked into every v2 executable, so there was a priority on getting
the size small.
One of the easiest ways to make a DXE work is to not use any library
functions. If you do use some functions that won't work then pass them
as pointers to your DXE when it loads. A very general approach is to
setup an array of function pointers that you pass to an initialisation
function in the DXE.
DLL support is a hard subject. My personal opinion is that it should
wait for someone to write Win32(s) support, hence much more standard
DLLs.

Malcolm

- Raw text -


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