[Coco] No HALT floppy IO (was Questions about the 502 controllervs theDisto

Warren Hoslet dermunda at hotmail.com
Sat Jul 29 12:18:15 EDT 2006


>>>     On read, yes, this does work.  It's on write that we can't get it to 
>>>  fully keep up. I believe myself, Robert Gault and Alan Dekok all tried, 
>>>  and we just couldn't quite make it.
>>
>>
>>Well, if anyone still cares about this, I did manage to get no-HALT sector 
>>writing to work on a standard shack FD501 controller. At first I had 
>>difficulty, but after reading the description of the Write Sector command 
>>in the 1773 datasheet, it became clear what the problem was. The FDC sets 
>>the DRQ status bit long before it is actually ready to write your data. 
>>After you respond to the initial DRQ by supplying the first byte, you have 
>>to wait for the FDC to process 36 gap bytes, 1 Data Mark byte, and your 
>>first data byte before it gives you another DRQ. This means you need an 
>>additional loop just to wait for the second DRQ.
>>
>How does this code succeed in no-halt operation other than the technicality 
>of not using the Halt line? The point of "no-halt" operation is that you 
>can type (or otherwise multi-task) while doing disk I/O and no keys are 
>missed.

--

It doesn't. I brought up the same point with another poster, and he 
mentioned that if HALT wasn't used, the 6809 would at least be able to latch 
any masked interrupts so that they could be serviced as soon as the mask is 
cleared.

He claimed that he and others had tried to implement a no-halt write 
routine, but that they couldn't get it to work fast enough to keep up with 
the double-density transfer rate. I simply wrote this to demonstrate that it 
was technically possible, even on a 6809e running at 0.889 mhz.





More information about the Coco mailing list