Mail Archives: djgpp/1996/05/05/14:59:44
> 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?
Anything which references a global data variable which is expected to be
initialized will have problems. Many of the __dpmi functions will work, but
__dpmi_int won't since it does some complications with ds_alias. You can
either avoid these routines (better) or initialize the variables to the
appropriate values in a firsttime section of code.
> (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)
Footprint. The DXE load code is only a couple hundred bytes. This is important
since it's included in EVERY V2 image (to load the emu387 if needed). It was
also simple, easy to write/debug, and met all the needs at the time. It
was never intended to be a full DLL sort of package (I anticipated one would
be generally available by now).
- Raw text -