From: e-mail DOT address AT end DOT of DOT text (Mike Collins) Newsgroups: comp.os.msdos.djgpp Subject: Re: Any alternative to Direct Memory Access Date: 31 Jul 1997 11:28:43 GMT Organization: Storage Technology Limited Lines: 34 Message-ID: <5rpstb$q84@news.network.com> References: NNTP-Posting-Host: 129.80.172.76 Mime-Version: 1.0 Content-Type: Text/Plain; charset=US-ASCII To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk In article , Georg DOT Kolling AT t-online DOT de says... > >Bill HellGateS schrieb: >> (2)Since Direct Memory Access is almost impossible ( correct me if I'm >> wrong ) ... is there another alternative that can yield the same >> performance as DMA? > On a 386 or better, a tight assembler loop of : load source address load destination address load the length start: move a word bump source address bump destination address count down the length and jump to start if not zero ... is pretty fast. DMA may be better, but I recon this would give it a run for its money. I have done this in real-mode, 16-bit assembler moving one byte at a time, and I was able to move four 512-byte chunks, with overhead of hardware testing etc. during the clock tick. I lost about 10% of performance on a 16-meg, 286 machine, so that may give some indication of how fast it is. I have never attempted this in 32-bit assembler, but I guess the same types of instructions are available. Mike. -- Don't just hit "reply" - my E-mail address is bogus to avoid automatic browsers from sending junk mail. Please use collim'at'anubis'dot'network'dot'com Actually, even this doesn't stop all of them ...