Mail Archives: djgpp/2001/07/26/09:30:28
Charles Sandmann <sandmann AT clio DOT rice DOT edu> wrote:
: In raw memory management, the size of the memory is obtained from Int 15,
: and the A20 state is set by changing port registers. So there is not a
: good clean way to coordinate between PM programs. In addition, the
: "standard" way of doing this is to hook Int 15 and decrease the amount
: of memory reported and do top down allocation. CWSDPMI doesn't do this
: for a long list of reasons (DMA buffers must be in first 16Mb for ISA
: cards, multiple Int 15 calls to get memory size, exit stability, etc).
: So, in a raw environment an application may see all the extended memory
: free and trash the DPMI memory. If there is extra memory available,
: and they use top down, it works if you are lucky. In an ideal world
: CWSDPMI might hook the Int 15 interrupt and return all the known memory
: size API calls as zero and then the application would always fail as
: it does under XMS. But it seems no one has complained about it yet,
: but there are other things people want...
Which functions of INT15 are you talking about? Is AH=0x88 enough or
must we watch AX=0xe801 and AX=0xe820 as well. And any other one?
Another couple of questions:
How hard would it be to make CWSDPMI support 16-bit DPMI as well?
How hard would it be to make CWSDPMI active from start and map in some
pages at 0xc0000 - 0xdffff (an EMM386 UMB replacement)?
Right,
MartinS
- Raw text -