Date: Fri, 28 Sep 2001 01:16:18 +0200 (CEST) From: Kovacs Viktor Peter To: Eli Zaretskii cc: Subject: Re: Run djgpp program in real dos got SIGSEGV signal ? In-Reply-To: <9003-Thu27Sep2001100438+0300-eliz@is.elta.co.il> 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 Thu, 27 Sep 2001, Eli Zaretskii wrote:] > > Date: Thu, 27 Sep 2001 02:46:11 +0200 (CEST) > > From: Kovacs Viktor Peter > > > Not true: near pointers are _not_ required to have data segments > > > larger than the installed physical RAM. > > As long as you don't touch any memory, that is on an expansion card. > If you mean memory-mapped devices, then accessing them requires to map > them into your address space first. How to do that is described in > the FAQ, but it doesn't require near pointers, either. Under dpmi, there is no way to map anything. (the support is optional) It seems to me, that you don't understand the workings of dpmi extenders. You _have_to_ set segment limits to 4Gb before access to any non program memory. (low mem, video mem, etc.) The error described in the previous mails is the exact sign of a wrong segment limit. When you turn off segmentation as windows does (by setting every segment to have a 4Gb limit), you CAN NOT get this error. And you have to do this to be able to use other memory areas from a flat compiler. Viktor ps: Please read the documentation before attacking anyone... (intel x86 developer docs, win4.x kerel docs, pmode and cwsdpmi source)