Message-Id: <200006231200.PAA32634@alpha.netvision.net.il> Date: Fri, 23 Jun 2000 15:02:50 +0200 X-Mailer: Emacs 20.6 (via feedmail 8.1.emacs20_6 I) and Blat ver 1.8.5b From: "Eli Zaretskii" To: Yoram Hofman CC: djgpp AT delorie DOT com In-reply-to: <395335FA.682138A0@htsol.com> (message from Yoram Hofman on Fri, 23 Jun 2000 13:03:38 +0300) Subject: Re: dosmemget doesn't work proparly. References: <395335FA DOT 682138A0 AT htsol DOT com> 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, 23 Jun 2000 13:03:38 +0300 > From: Yoram Hofman > > I need really quickly read a big portion of information from frame > memory controller (16 bit interface). I tried dosmemget() and > dosmemgetw(). Both failed. So I use "farptr" functions. But I think > usage of dosmemXXX functions can be more effective. > Anybody can give a tip why these functions fail? They don't fail for me. Since you didn't post even a simple code fragment that hows how did you use them, and didn't tell what does ``both failed'' mean, I can only guess what could have gone wrong. One possibility is that your controller is mapped into the program's address space with a call to __dpmi_physical_address_mapping (see section 18.7 of the FAQ). If that is the case, you cannot use dosmem* functions because they implicitly assume the use of the _dos_ds selector, which doesn't include the memory mapped in by __dpmi_physical_address_mapping. But you still should be able to use movedata, which is also faster than _farpeek* and _farpoke*. If my guess is wrong, please post the missing info.