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

Robert Gault robert.gault at worldnet.att.net
Tue Jul 25 20:50:16 EDT 2006


L. Curtis Boyle wrote:
> On Sun, 23 Jul 2006 18:42:47 -0600, Joel Ewy <jcewy at swbell.net> wrote:
> 
>> 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
>>
> 
>     Sardis worked the same way, but with an 8K buffer.
> 

With a small amount of hardware modification, the Disto SCII can extend 
the addressing for the SRAM so that 512 byte sectors can be handled in 
no-halt mode. I have this mod on my SCII and can read PC disks in 
no-halt mode.



More information about the Coco mailing list