I’ve been more active on the project than the posts have illustrated. I’ve been working on a few different things :
Been trying different PLL solutions, examining how Paula does it, and actually analyzing my read data with Matlab to get a graphical view of the “problem.” Most of my solutions, while they technically work (ie they have the desired behavior), they don’t actually solve the problem at hand. I have to get a better hand on what “bad data” looks like, and then try to invent solutions that address the specific problems I’ve seen. I’m also using Paula as one metric of “goodness.” In my mind, my controller should be better — should read disks that the amiga is not able to.
I don’t think I fully understand the problem. I know what the SYMPTOMS are — flux transitions are read sometimes as being “in the middle.”, 5us between pulses where 4us=’10’ and 6us=’100′. What the heck does 5us mean? How do we bias this towards the right direction? Many of the controllers use some sort of PLL — but I see values one after another that span the acceptable range of values. You can’t track something that doesn’t trend!
I also want to get a better handle on how Paula works. I’ve got it hooked back up to the logic analyzer, and been trading messages on English Amiga Board about disk DMA and the like. I’d like to do automatic comparisons between the output of Paula and my project and see when Paula gets it right, but I get it wrong!