Subject: Re: Floppy driver
To: None <amiga-dev@sun-lamp.cs.berkeley.edu>
From: David Jones <dej@eecg.toronto.edu>
List: amiga-dev
Date: 02/28/1994 16:19:00
> No you can't treat an MS-DOS disk as you would an ADOS disk. If my memory
> serves correct - and forgive me if it doesn't - we're going back at least 3
> years :-) What I remember having to do was to turn on DMA on a sector by
> sector basis. And I think that the WD chip writes a magic MFM word (DSKSYN
> byte) before each sector. And I think that ADOS writes out even and odd
> bits to separate memory chunks (after you read in a track) but the WD chip
> does not -
> hence your blitter MFM encode/decode are radically different. I also remember
> that I had to determine wheter the DMA to be started was indeed for the
> sector I wanted. It would obviously help to get a DOS formatted floppy and
> examine it.
Paula has a signal called DSKSYNC. When this is set, Paula will wait for
the 0x4489 sync word (common to MS-DOS and Amiga floppies) before starting
DMA. Both Amiga and MS-DOS formats start each sector with a sync word.
In both cases, it is best to enable DSKSYNC and do DMA for a full track
(actually, a little more). Then use software-based functions to pick the
data apart. For writing MS-DOS floppies, I'd take the trackdisk approach:
buffer a whole track and rewrite all sectors at once. Block-level writing
is too CPU-intensive on the Amiga.
--
David Jones, M.A.Sc student, Electronics Group (VLSI), University of Toronto
email: dej@eecg.utoronto.ca, finger for more info/PGP public key
------------------------------------------------------------------------------