[comp.realtime] need help with DMA vs hard disk conflict on ibm pc

annala@neuro.usc.edu (A J Annala) (02/12/90)

I have an eight channel multiplexed analog to digital converter hooked
up to a SONY PCM-F1 digital signal processor (aka digital audio to VCR
video conversion box).  The 16 bit wide * 88.1 KHz data stream can be
retrieved as a 16 bit TTL bus signal plus data ready strobe via 25 pin
RS-232-C shell connector on the back of the box. 

The data stream is currently being read into an IBM PC/AT via a simple
TTL compatible digital input card using channel 6 on the second 8237A
DMA controller.  The problem comes when I try to simultaneously input
the data stream from the digital input card and write the data to hard
disk.  I get many errors from the disk (going through either Turbo C
formatted/unformatted io calls, MSDOS file service calls, MSDOS fixed
disk service calls, or BIOS fixed disk service calls) when I try to do
a write while simultaneously reading data from the DMA chip.  

Perhaps if I were to use a large capacity FIFO chip in the data stream 
I might be able to mask out (disable) channel 6 for long enough to write 
data to the hard disk.  Does anyone have any suggestions here?  Dr. Dobbs
used a 1024 byte FIFO chip (IDT7202 source unknown) to buffer data about
100 KBytes/second.  His code ran in an interrupt service routine (does
this maybe suspend DMA briefly?).  In any case I am open to suggestions
about how to get this data into memory and write it to disk continuously
and without interruption.

Thanks, AJ