Date: Sun, 11 Jun 2000 09:15:37 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Prashant TR cc: djgpp AT delorie DOT com Subject: Re: far pointers In-Reply-To: <200006100947.PAA15509@bgl2.vsnl.net.in> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sat, 10 Jun 2000, Prashant TR wrote: > > V86 was invented because it allowed to use more than 640KB of memory, > > by remapping some of the extended memory into the unused addresses > > between 640K and 1MB. > > I don't understand what V86 has to do with remapping of memory. It turns on the MMU, without which this remapping is impossible. > It's related to the MMU and V86 has nothing to do with the MMU. Then please explain why remapping extended memory into the region between 640K and 1MB is impossible in plain real mode. > > However, this has nothing to do with PM programs and DOS coexisting > > together. PM programs still cannot run in V86 mode without the kind > > of trickery that DJGPP does when it calls DOS. > > What trickery is this? I thought the DPMI just needs to use the VCPI > interface or use the existing DPMI (in case of an already existing > DPMI). The fact that part of the code which switches to PM is inside the memory manager doesn't make it less tricky. And some of the bookeeping (LDT etc.) is AFAIK still done by CWSDPMI. Compare this with CWSDPMI that runs on top of HIMEM.SYS. You do not have V86 there, but HIMEM is still used to switch into PM. In other words, having V86 doesn't make the PM and DOS coexistence any simpler, at least not by a large margin.