Date: Mon, 21 Dec 1998 13:09:34 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Mauro Da Ros cc: djgpp AT delorie DOT com Subject: Re: **HELP** direct memory access... In-Reply-To: <75kv6g$n92$1@news.IT.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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.