From: Martin Str|mberg Newsgroups: comp.os.msdos.djgpp Subject: Re: Pharlap 286 Date: Thu, 26 Jul 2001 13:20:36 +0000 (UTC) Organization: University of Lulea, Sweden Lines: 29 Message-ID: <996153636.755884@queeg.ludd.luth.se> References: <68C4CF842BD2D411AC1600902740B6DA02CDC45D AT mcoexc02 DOT mlm DOT maxtor DOT com> <3b5df3e1 DOT sandmann AT clio DOT rice DOT edu> <996052472 DOT 673367 AT queeg DOT ludd DOT luth DOT se> <3b5edd8f DOT sandmann AT clio DOT rice DOT edu> X-Trace: news.luth.se 996153636 11720 130.240.16.109 (26 Jul 2001 13:20:36 GMT) X-Complaints-To: abuse AT luth DOT se User-Agent: tin/pre-1.4-981225 ("Volcane") (UNIX) (SunOS/4.1.4 (sun4m)) Cache-Post-Path: queeg.ludd.luth.se!unknown AT father DOT ludd DOT luth DOT se X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Charles Sandmann 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