delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/12/21/03:52:01

From: "Mauro Da Ros" <daros AT elettra80 DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: **HELP** direct memory access...
Date: Mon, 21 Dec 1998 08:59:25 +0100
Organization: ITnet S.p.A. is not responsible of the content of this article as posted by one of its customers.
Lines: 37
Message-ID: <75kv6g$n92$1@news.IT.net>
References: <75d67p$d2o$1 AT news DOT IT DOT net>
NNTP-Posting-Host: bori001.pn.itnet.it
Mime-Version: 1.0
X-Trace: news.IT.net 914227216 23842 151.2.144.70 (21 Dec 1998 08:00:16 GMT)
X-Complaints-To: news AT IT DOT net
NNTP-Posting-Date: 21 Dec 1998 08:00:16 GMT
X-Newsreader: Microsoft Outlook Express 4.72.3110.5
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

   Ciao
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...
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". I used following
lines :

void main() {

   union REGS regs;

   // Int 31h , function 0x0600
   // BX:CX starting linear address of memory to lock
   // SI:DI size of region to lock (bytes)

   regs.x.ax = 0x0600;   regs.x.bx = 0xd000;
   regs.x.cx = 0x0000;   regs.x.si = 0x0000;
   regs.x.di =  0x2ff;
   int86(0x31, &regs, &regs);

   ...

}


some idea ???

ciao

    Mauro
    daros AT elettra80 DOT com



- Raw text -


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