Mail Archives: djgpp/1998/12/02/10:21:35
In article <73smp7$ena$1 AT idy05 DOT tfh-berlin DOT de>,
"Peter Remmers" <pitti AT tfh-berlin DOT de> 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
- Raw text -