Date: Fri, 28 Sep 2001 10:04:57 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: vps AT winnie DOT obuda DOT kando DOT hu Message-Id: <9003-Fri28Sep2001100457+0300-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9 CC: djgpp AT delorie DOT com In-reply-to: (message from Kovacs Viktor Peter on Fri, 28 Sep 2001 01:16:18 +0200 (CEST)) Subject: Re: Run djgpp program in real dos got SIGSEGV signal ? References: 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 > Date: Fri, 28 Sep 2001 01:16:18 +0200 (CEST) > From: Kovacs Viktor Peter > > [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) I don't understand the sentence in the parens, but what the FAQ describes and the code it shows was proven to work several times. > 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.) Then please explain these facts: - the code in section 18.7 of the FAQ does work, without setting the segment limit to 4GB; - the DJGPP startup code sets up a segment descriptor for accessing low memory, and that descriptor's limit is set to 0x10ffff, which is 1MB + 64KB, a far cry from 4GB; and accessing conventional memory works with this segment; - the FAQ describes in section 18.4 how to set up a segment that spans only 32KB of the video RAM; that code also works. None of this code sets huge segment limits, and yet it works. Perhaps you mean something else, and there's a misunderstanding here. > Please read the documentation before attacking anyone... > (intel x86 developer docs, win4.x kerel docs, pmode and cwsdpmi source) Yes, I'm familiar with most of these docs. And I didn't try to attack anyone, sorry if my message sounded like I were.