[Coco] format memory (was) Gotek floppy emulator

Steven Hirsch snhirsch at gmail.com
Tue Feb 16 18:06:47 EST 2016


On Tue, 16 Feb 2016, Darren A wrote:

> On Tue, Feb 16, 2016 at 3:45 PM, Steven Hirsch wrote:
>
>> On Tue, 16 Feb 2016, William Astle wrote:
>>
>> For floppies, you have to issue a "write track" command to the controller.
>>> (This includes anything that pretends to be a standard floppy
>>> drive/controller combination.) That command *does* need the whole track
>>> data in one lump, and the total size of that is larger than the data size
>>> of 18 sectors. Depending on the specific implementation of the floppy
>>> driver, this might require a system memory buffer the size of the raw track
>>> data.
>>>
>>
>> I've never seen a floppy disk controller that didn't require writing an
>> entire track during format, but perhaps they exist.
>>
>> The Coco CPU is not fast enough to piece together the proper byte sequence
>> for a format-track command on the fly, so there's really no choice but to
>> stage the entire image in memory.
>>
>>

> The design of the CoCo floppy controllers (using HALT and NMI) does make it
> possible to construct the track data on the fly.  I have a modified version
> of the Disk Basic ROM which implements DSKINI without allocating a track
> buffer.  It needs only 19 bytes to hold a zero-terminated array of the
> sector numbers in the desired interleave order.

Now THAT is cool.  The obvious answer to the memory use problem is to 
implement something like that in an OS9 driver.


-- 


More information about the Coco mailing list