[Coco] format memory (was) Gotek floppy emulator
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
>> 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