Mail Archives: djgpp/2001/09/28/04:08:58
> Date: Fri, 28 Sep 2001 01:16:18 +0200 (CEST)
> From: Kovacs Viktor Peter <vps AT winnie DOT obuda DOT kando DOT hu>
>
> [On Thu, 27 Sep 2001, Eli Zaretskii wrote:]
> > > Date: Thu, 27 Sep 2001 02:46:11 +0200 (CEST)
> > > From: Kovacs Viktor Peter <vps AT winnie DOT obuda DOT kando DOT hu>
> > > > 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.
- Raw text -