X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: RayeR Newsgroups: comp.os.msdos.djgpp Subject: Re: DMA and paging Date: Tue, 25 Sep 2007 12:22:27 -0700 Organization: http://groups.google.com Lines: 19 Message-ID: <1190748147.225689.238520@19g2000hsx.googlegroups.com> References: <46F7F665 DOT 1773 DOT 20651AE9 AT gerritvn DOT gpvno DOT co DOT za> NNTP-Posting-Host: 89.176.103.156 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Trace: posting.google.com 1190748147 19940 127.0.0.1 (25 Sep 2007 19:22:27 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Tue, 25 Sep 2007 19:22:27 +0000 (UTC) In-Reply-To: <46F7F665.1773.20651AE9@gerritvn.gpvno.co.za> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse AT google DOT com Injection-Info: 19g2000hsx.googlegroups.com; posting-host=89.176.103.156; posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp 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 I don't know where is your DMA buffer lying, I can help you only with my example how to handle with VESA LFB which may be similar // Allocate a descriptor in LDT and set it up to span the entire VRAM. vesa_lfb_selector=__dpmi_allocate_ldt_descriptors(1); // allocate 1 descriptor (desribing our new segment) in LDT and return it's selector __dpmi_set_segment_base_address(vesa_lfb_selector,meminfo.address); // set segment base accorning to LFB physical address __dpmi_set_segment_limit(vesa_lfb_selector,meminfo.size-1); // set segment limit accorning to LFB size then you will use movedata function to transfer physical memory to your variables in DS or where you want. Afrer all done don't forget to free descriptor __dpmi_free_ldt_descriptor(vesa_lfb_selector);