[comp.sys.ibm.pc] DMA from memory to an DOS file

DeadHead@cup.portal.com (Bruce M Ong) (02/28/89)

Hi -

	I am working on a pc-interface project which accumulates a lot of
data really fast in a ram buffer (DS:offset to DS:FFFF). I need to write
this buffer to an opened DOS file using DMA. Does anybody know which DOS
software interrupt or system call I should use to accomplish this? I need to
flush this buffer quickly. (the buffer could be as large as 60K). If there
is no such system call via int 21 or software interrupt, what should one do
so that the DMA write operation will not by-pass and screw up the DOS file
system?

	I checked the BIO listing and couldnt figure it out (the fixed disk
bios listing has virtually no comments in it)

	Thanks. Please reply in E-Mail as I do not check this group very
often...

	Bruce

james@bigtex.cactus.org (James Van Artsdalen) (03/03/89)

In <15182@cup.portal.com>, DeadHead@cup.portal.com (Bruce M Ong) wrote:

> 	I am working on a pc-interface project which accumulates a lot of
> data really fast in a ram buffer (DS:offset to DS:FFFF). I need to write
> this buffer to an opened DOS file using DMA.

Most AT disk controllers don't support DMA.  That's because DMA is
slower than programmed I/O on the IBM architecture.  It's faster to
use "rep outsw".
-- 
James R. Van Artsdalen          james@bigtex.cactus.org   "Live Free or Die"
DCC Corporation     9505 Arboretum Blvd Austin TX 78759         512-338-8789