[Coco] MAME FDC Issue that can cause corruption

Ciaran Anscomb cocomalt at 6809.org.uk
Wed Aug 2 04:31:54 EDT 2017


Run out of time looking into this this morning, but the difference
between this and XRoar seems to be:

When MAME switches drives (motor still on), the new disk is not "ready".
RSDOS doesn't check for this before submitting the read sector command,
so when it does so an NMI is triggered (in XRoar, the new drive is
immediately reflected as "ready" if it is indeed ready).

The NMI is, I guess, taken as successful completion of command, so
as no new bytes were read, the old contents of the buffer remain: ie,
the granule map (which I believe is read to a specific address), and
the first sector of the directory (which is probably going to be read
to the same buffer).

So what's the behaviour of real drives?  Is there really a delay before
the ready signal is updated on switching drives?

..ciaran


More information about the Coco mailing list