delorie.com/archives/browse.cgi | search |
From: | "Peter Remmers" <pitti AT tfh-berlin DOT de> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Using Vitual DMA Services...help ! |
Date: | Mon, 1 Feb 1999 19:54:14 +0100 |
Organization: | TFH-Berlin (Berlin, Germany) |
Lines: | 37 |
Message-ID: | <794tbi$a0d$1@idy05.tfh-berlin.de> |
References: | <01be4dfb$0d10fde0$f2cfea81 AT secom144 DOT dur DOT ac DOT uk> |
NNTP-Posting-Host: | ip099167.tfh-berlin.de |
X-Newsreader: | Microsoft Outlook Express 4.72.3110.1 |
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 |
James Deuchar schrieb in Nachricht <01be4dfb$0d10fde0$f2cfea81 AT secom144 DOT dur DOT ac DOT uk>... >Help.....! I'm still trying to get my DMA to work so I need to get the >actual phy mem address. The VDS method is preferable to copying data into a >buffer below the 1M mark and dmaing that because speed is a factor. What's >wrong with my code (or right with it)........I always get some sort of >error code back...often in reserved registers...please help! I had the same problem. I couldn't get VDS to return the physical address of a malloc'd buffer (not coninuous or so), allocating one with VDS didn't work either, I needed a buffer of about 2MB which was too big for VDS. Then the problem was that it worked under plain DOS but not in a W95 DOS box. Then someone told me I should use XMS, which solved my problems. Allocate your buffer with XMS use the XMS lock handle function to get the physical address. Then you can either build a selector for that physical address or use the XMS moving functions to access that buffer. > //check for VDS at bit 5 of mem 0x0040:007b ---- HOW CAN I CHECK THIS >BIT???? That would be something like _farpeekb(__dos_ds, 0x4007) & 0x20 good luck! Peter Remmers
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |