[Coco] format memory (was) Gotek floppy emulator

Darren A mechacoco at gmail.com
Tue Feb 16 17:57:06 EST 2016

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.

- Darren

More information about the Coco mailing list