Subject: Re: Darwin SWIM3 Floppy Driver v0.95
To: Nyef <nyef@softhome.net>
From: David A. Gatwood <dgatwood@gatwood.net>
List: port-mac68k
Date: 06/03/2002 15:20:25
On Mon, 3 Jun 2002, Nyef wrote:
> On Mon, 3 Jun 2002, David A. Gatwood wrote:
>
> > On Mon, 3 Jun 2002, Nyef wrote:
> >
> > > > 1. The two modes of SWIM are IWM and ISM, not IWM and SWIM.
> > >
> > > Okay. I just called it SWIM mode because it was new to the SWIM chip and
> > > none of the documentation I could find even _mentioned_ a mode switch.
> >
> > Heh. Well, the chip isn't exactly documented....
>
> My point exactly. ^_-
>
> What, exactly, does SWIM _really_ stand for, anyway? A quick search with
> Google turns up at least three different possibilities...
Super Woz Integrated Machine. That's documented in one of the Inside
Macintosh volumes, I believe, so there's no reason that there should be
conflicting info there. :-)
> > The SWIM III code documents how to turn off the trans-space machine (MFM
> > encoder) and how to do the GCR decoding and encoding in software. The
> > only thing you'll have to figure out is how to set up the cell clock, and
> > you pretty much have to figure that out anyway, I think.
>
> Let me guess. This is something in parameter memory that depends on the
> current disk tach reading? (I have vague memories of seeing something like
> this in one of the disassemblies I did a while back)
Yeah, pretty much. Don't have the details handy, though. Basically, you
read a value, divide by the value you want, and poke the value back. Or
something like that. Should be easy to find in the asm.
> > > I was thinking that the read/write select was dependant on that address
> > > bit for the SWIM I.
> >
> > Don't know. I thought you could treat it just like the bottom half of a
> > SWIM III, but I may be completely wrong. If the 9 code treats them
> > differently, then trust the 9 code and ignore me. :-)
>
> Umm... "9 code"?
My way of being lazy when referring to all classic Mac OS versions is to
just describe it in terms of the latest version, i.e. the 9 code. The
SWIM driver is quite elegantly-written assembly, IMHO, or at least it is
in 9.
Later,
David
---------------------------------------------------------------------
David A. Gatwood dgatwood@gatwood.net
Developer Docs Writer dgatwood@apple.com
Apple Computer dgatwood@mklinux.org
Check out my weekly web comic:
http://www.techmagazine.org