From: jjed AT hotmail DOT com Newsgroups: comp.os.msdos.djgpp Subject: Re: VDS Date: Wed, 02 Dec 1998 15:08:18 GMT Organization: Deja News - The Leader in Internet Discussion Lines: 27 Message-ID: <743l4v$nsm$1@nnrp1.dejanews.com> References: <73q651$ebj$1 AT idy05 DOT tfh-berlin DOT de> <3660720f DOT sandmann AT clio DOT rice DOT edu> <73smp7$ena$1 AT idy05 DOT tfh-berlin DOT de> NNTP-Posting-Host: 212.216.209.156 X-Article-Creation-Date: Wed Dec 02 15:08:18 1998 GMT X-Http-User-Agent: Mozilla/3.0 (compatible; Opera/3.0; Windows 95/NT4) 3.2 X-Http-Proxy: 1.0 mail2:3128 (Squid/1.1.20), 1.0 x12.dejanews.com:80 (Squid/1.1.22) for client 192.168.0.2, 212.216.209.156 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com In article <73smp7$ena$1 AT idy05 DOT tfh-berlin DOT de>, "Peter Remmers" wrote: Peter, I've been trying to fix the same problem for a month now, and so far I got the same results (VDS doesn't quite work etc). My idea now is to do this: 1. Allocate a heap buffer with XMS and lock it (with XMS) to get the physical address. 2. Map this physical memory to the linear memory and enable FAT DS. 3. Reuse some malloc code to make a custom malloc (i.e. phys_malloc) that will allocate memory from this block. 4. Write some virtual_to_physical and physical_to_virtual macros to convert between linear and physical addresses (by simply adding/subtracring the __dpgpp_conventional_base constant). I had limited success with 1Mb buffers and HIMEM.SYS + EMM386.EXE under plain dos. 2Mb was impossible to "lock" (and I have 128Mb on my machine!). Hope this helps, James. -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own