www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/12/21/07:39:26

Date: Mon, 21 Dec 1998 13:09:34 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Mauro Da Ros <daros AT elettra80 DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: **HELP** direct memory access...
In-Reply-To: <75kv6g$n92$1@news.IT.net>
Message-ID: <Pine.SUN.3.91.981221130420.6633A-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com

On Mon, 21 Dec 1998, Mauro Da Ros wrote:

> I now think that the problem is about phisical memory:
> in fact 0xD0000 is 832K; the exe-length is 790K so
> I think that the sram-segment is used by program...

If that's a DJGPP program, then the above is incorrect: DJGPP programs 
are loaded entirely above 1MB mark (unless your machine has less than 2MB 
of memory installed).  So the program can never clash with the memory at 
0xD0000.

> I tryed to use int 31h (lock-linear region) from the very
> first line, but I don't know if it's the right way to
> tell djgpp "Hey leave segment 0xD000".

This won't work for two reasons: first, there's no way of telling DJGPP 
to ``leave a segment alone'', because the DJGPP program itself doesn't 
manage memory at all, it leaves that to the DPMI server.

And second, you cannot lock the 0xD000 segment because it is already 
locked (all memory below 1MB mark is locked by default, because DOS lives 
there, and DOS cannot be swapped out of RAM without disastrous 
consequences).

> some idea ???

Sorry, I don't think I saw the beginning of this thread, so I cannot help 
you with your *real* problem.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019