Subject: Re: Darwin SWIM3 Floppy Driver v0.95
To: David A. Gatwood <dgatwood@gatwood.net>
From: Michael R. Zucca <mrz5149@acm.org>
List: port-mac68k
Date: 06/06/2002 08:27:51
At 10:34 PM -0400 6/5/02, David A. Gatwood wrote:
>On Thu, 6 Jun 2002 nigel@ind.tansu.com.au wrote:
>
>> 	With sufficient documentation of the interface,
>> it may indeed be unnecessary, but:
>>
>> 1) If we ever get native bootloading going, the MacOS will
>>    never have run, which means those 6502 will be empty
>
>Since Mac OS boots from devices that are IOP-controlled, I strongly
>suspect those 6502s are loaded with the IOP kernel before you'd get
>loaded.  I certainly don't know for sure, but the odds are in favor of it.

I think this is the case. Eventually, it might be nice to write our own IOP
code for the case where we boot directly since the IOP code that comes from
the ROMs might have bugs.

However, for those that don't know, the protocol to speak to the IOPs is
well understood. There's a working driver in Linux and Allen tried to make
a port of the code to NetBSD. The last I heard the NetBSD port didn't quite
work yet but perhaps with a little TLC I'm sure it can be massaged into
working properly. Check out the NetBSD kernel sources, you'll see
preliminary IOP communication code there.

>> 2) What happens if something somehow resets the 6502?
>>    I would imagine that the loaded program goes away.
>
>No idea if that's even possible.  Dunno.

I don't think the 6502's get reset on NetBSD boot, but I'll bet there's a
way to reset them so they load a new "kernel". Looking at the MacOS System
file you can see resources called "iopc" which contain 6502 assembly.
Somebody with good 6502 knowlege should be able to disassemble these and
figure out how they work.

----------------------------------------------
 Michael Zucca - mrz5149@acm.org
----------------------------------------------
 "I'm too old to use Emacs." -- Rod MacDonald
----------------------------------------------