On Sun, May 28, 2023 at 4:36 PM Chuck Guzis via cctalk
<cctalk(a)classiccmp.org> wrote:
All of these flux-transition gizmos, whether or not
they're the
Applesauce, Greaseweazle, Catweasel, Fluxengine, Deviceside.... work
exactly the same way. A counter free-runs, and every time there's
change in direction of magnetization on a disk, the value of the counter
is sampled. The samples can be stored in memory, or send down a wire to
a host computer. The index pulse is usually included in the sample.
Sure, I understand that. But as I have no experience with such
microcontrollers I am happy to let somebody else write the code.
As for 'all working the same way, that does not mean I don't need
documentation. The commands to the controlling software could be just
about anything.
Microcontrollers are the natural choice for this, but
you could
implement the same in SSI TTL if push came to shove, provided that your
design had the high-frequency headroom.
It's not actually all that fast, at least not compared to some things
I've worked with. Pulse rates around 1MHz or so. Yes you need to
sample faster than that, but it's not a ridiculous rate. I guess
that's why a simple microcontroller can do it in software.
Writing the data back is essentially an exercise in PWM. Again, a good
fit for most microcontrollers.
All the rest, as they say, is software.
This is not the way a conventional floppy controller operates, since
they hail from the bad old days of slower-speed logic. Much of the way
they operate is encoded as a state machine in the form of specialized
microcode.
In my much younger days I disassembled and commented the microcode in
the RX02. And later the microcode in the HP11305 hard disk controller
(which is similar in concept). They are elegantly written bits of
tight code (as they have to be) but not that hard to understand (a lot
harder to write!)
-tony