delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/05/26/13:53:33

From: Charles Sandmann <sandmann AT praline DOT no DOT NeoSoft DOT com>
Subject: Re: Compiling gdb, dpmi DS:VRAM hack.
To: elio AT pvax DOT ICO DOT Olivetti DOT Com (Elio Tondo)
Date: Fri, 26 May 1995 11:35:48 -0500 (CDT)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu (DJGPP Mailing List)

> A second stress test has been done by adding a system() call at each
> iteration; this time the DS linear base address changed after a couple of
> iterations, after disk swapping started (by the way, I was somewhat surprised
> to see that when running in a Windows DOS box a djgpp swap file is still
> created (but only when doing malloc() and system() calls one after the other);
> I was thinking that the DPMI provider virtual memory was used).

Yes, the system() in V1.x will sometimes break the VRAM hack, since the
memory is completely deallocated and written to the swap file.  Since we 
moved to COFF images in V1.11 this really hasn't been needed, and goes away
in V2 (which expects the DPMI provider to page if necessary).

> As a related issue, does anyone know if there are ways to implement a "true"
> mmap() functionality when using a DPMI 0.9 host? Some way to manipulate the
> page tables to get the desired mapping, or similar methods.

You can do this with a DPMI 1.0 host but not with a DPMI 0.9 host.  
Unfortunately DPMI 0.9 is here to stay - even Win 95 only provides DPMI 0.9.

- Raw text -


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