| 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 |