[Coco] DMA in (Nitr)OS-9 LII?

Joel Ewy jcewy at swbell.net
Sun Jul 23 20:42:47 EDT 2006


I'm not sure about the Sardis, but the Disto SCII has an on-board SRAM  and an 8-bit counter.  The counter provides the address for the  SRAM and is clocked by the disk controller whenever data is  ready.  An entire 256-byte sector is buffered in the SRAM, and  then an IRQ is sent to the 6809E.  Then an interrupt service  routine copies the contents of the SRAM into the driver's buffer area.
  
  In essence, it is a simple DMA design, but instead of Directly  Accessing the compouter's main Memory, it is accessing an auxiliary  cache, which the CPU can then access on its own time frame.  And  this would be one way to use a DMAC like the 6844 in a CoCo -- put it  between the CPU and some peripherals, and have it fill up a static RAM  that the CPU could plunder at its leisure.  You wouldn't get quite  the efficiency of traditional DMA, but you would reduce interrupts and  eliminate the need for the processor to wait for slow I/O devices,  giving more time back to the 6809 to run user processes, and keep the  clock from losing time.
  
  One implication of Disto's design is that you can't use the SCII to  access PC disks in no-halt mode, because the sector buffer is only 256  bytes.  I always had to load up a halt-mode floppy driver when I  wanted to run the PCDOS util.
  
  JCE

James Jones <jamesjones01 at mchsi.com> wrote:  Hmmm. Question: how did the Sardis Tech or other floppy controllers that 
didn't make the CPU grab a byte at a time work?

 James

-- 
Coco mailing list
Coco at maltedmedia.com
http://five.pairlist.net/mailman/listinfo/coco




More information about the Coco mailing list