Date: Thu, 15 Jul 1999 11:55:44 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Winfried Salomon cc: djgpp AT delorie DOT com Subject: Re: malloc() and CWSDPMI 4.0 In-Reply-To: <378bbab9.22414525@news.uni-wuppertal.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Wed, 14 Jul 1999, Winfried Salomon wrote: > There are 2 problems: First I don't find a function to get the > greatest *physical* coherent memory block See section 15.2 in the DJGPP FAQ list, and check out the functions mentioned there. ``Greatest *physical* coherent memory block'' doesn't make sense in the DPMI environment, since the particulars of the memory allocation are completely hidden inside the DPMI server. If you need to work on the XMS level, you should be able to call XMS functions via __dpmi_int function provided in the DJGPP library. > the second problem: With 96 MB Ram I allocate 128 MB + 4 KB > blocksize! How can this be? DJGPP uses virtual memory by default. If you want to disable it and use physical memory only, use CWSDPR0 as your DPMI server. > I also wonder that I can run malloc() without CWSDPMI, but only with > 64 MB + 4 KB maximum blocksize. I don't understand this. DJGPP programs won't run on plain DOS without CWSDPMI. I guess the 64MB result was gotten when your an your program from a Windows 98 DOS box. If so, see section 15.6 of the FAQ for some remedies.