candle wrote:
didn't you say you don't have any experience in fdc?
No, not at all. I said it wasn't my area of expertise.
Quote:
i tell you to stop acting as a guru, and thats big diffrence :]
No, I'm being honest. I've always been primarily interested in digital and analog interfacing, particularly sound and video (which is why I might sound like a guru to you in those fields. I apologize if I do; it is not my intention to be condescending. Rather, I wish only to share my experience and to educate). Floppy disks is one thing I haven't personally been involved with too much, and certainly not at the level between the floppy drive itself and its controller. Still, I'm familiar with
why they work, even if I've never actually picked up a soldering iron and built such an interface myself.
I'm also involved with operating system design and implementation.
Quote:
i cannot verify if its possible to do mfm decoding or gcr decoding with blitter, but its primary task ist graphics and this is simple dma controller with boolean operations capability
The trackdisk.device driver uses the blitter to accomplish MFM encoding and decoding. It does this by storing all the even bits in one "bitplane" and all the odd bits in another, and running a few blits over the data. The result is an encoded or decoded image. This information is documented (briefly) in the Amiga ROM Kernel Reference Manuals and the Amiga Hardware Reference Manual.
This is why the PC's FDC cannot read Amiga-formatted disks. Even ignoring the differences in the floppy disk track layout (where the Amiga gets 880KB of useful data on the disk with 80 cylinders, the PC only gets 720KB), the fact that the Amiga writes out all odd-then-even bits is itself enough to cause the PC's FDC to go into epilleptic seizures.
(For the record, while I AM in total support of Amiga-style full-track-buffering, I am NOT in support of its splitting of odd and even MFM encoded bits. It destroys the whole purpose of MFM to begin with, which is to maintain a self-clocking data stream. The fact that the technique worked at all seems dangerous to me; and, at least, that half the disk is thus being wasted, and that they could easily have gotten 1760K on a single double-density disk. For example, to maintain synchronization, the AX.25 amateur radio protocol depends on "bit stuffing," which itself could also be used on floppy disks. This could easily result in 50% to 100% improvement in storage capacity while not losing sync. But, I digress.)
I'm pretty sure it's not really possible (or beneficial) to do GCR decoding with the blitter -- at least, not in any way that would be faster than just having the CPU do it itself.