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