Originally Posted by FrenchShark
Right, the PRECOMP is tricky in the write support.
GCR is not really used (maybe on some write protected games ? and if you want to read C64 disks ?).
For the DMA, I have a 3-word FIFO and the famous DMAL one-wire protocol between Paula and Agnus.
There is also the early read cycle for DMA Disk write and Blitter destination.
I guess you were refferring to that part ? The Minimig totally missed this point with its one-clock DMA cycle.
You are missing part of the data seperator, specifically for handling timings outside of the normal 2us/4us bitcell size. That code does not handle weakbit or strongbit protections correctly. You need GCR for handling Mac formatted disks, loading some copy protected Amiga disks, and also for analyzing copy protected MFM disks (this is a neat way to scan a MFM disk and see patterns). You must be able to turn on/off/on the DMA randomly, and also change the DMA length counter on the fly without affecting the incoming data. There are a few other little things as well. Paula is far more complicated than most people realize, and it took me a long time to be able to understand how the disk portion really works and come up with the tricks that I did with my copy and converter programs. I learned quite a bit when I changed the speed of Paula via SYBIL.