From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: Mapping DOS base memory under 1 meg Date: Thu, 31 Jul 2003 23:26:08 CDT Organization: Rice University, Houston, TX Lines: 18 Message-ID: <3f29ebe0.sandmann@clio.rice.edu> References: <84e4e2a9 DOT 0307311826 DOT 6a107b0c AT posting DOT google DOT com> NNTP-Posting-Host: clio.rice.edu X-Trace: joe.rice.edu 1059713052 27066 128.42.105.3 (1 Aug 2003 04:44:12 GMT) X-Complaints-To: abuse AT rice DOT edu NNTP-Posting-Date: Fri, 1 Aug 2003 04:44:12 +0000 (UTC) X-NewsEditor: ED-1.5.9 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > I'm writting some SVGA code which uses banked modes if a linear mode > is not availible. Now, I had an idea of, when using _farpokeb instead > of adding segment << 4 to the offset, which is usually A0000 + offset, > I would make a selector for the A000 - AFFF graphics memory buffer. SNIP. No need to map items in first megabyte. > So, is there a reliable way to make a base memory selector other than > just using the __djgpp_nearptr_enable() ? First allocate an ldt descriptor (__dpmi_allocate_ldt_descriptors(1)) Set the size to be 64K. Set the base to be A0000 You can now access it directly - no need to map the memory in 1st MB. Alternately, you can call __dpmi_segment_to_descriptor which is easier.