Subject: Re: MacBSD opinion requested...
To: Dan Bell <dbell@rhombus.cs.jhu.edu>
From: Bill Studenmund <wrstuden@loki.stanford.edu>
List: port-mac68k
Date: 09/20/1996 17:37:44
> 
> On Fri, 20 Sep 1996, Bill Studenmund wrote:
> 
> > > This machine runs really well at its top speed, 42 MHz, as long as you
> > > don't try to use the serial ports.  The machine won't hang, but it'll
> > > just return junk characters if it's trying to talk to the modem. 
> > > Everything else works great.  The machine has a fan glued to the
> > > heatsink ( it'll freeze if you don't put one on after about 20 minutes
> > > ).  and it tests out to have faster video, CPU, and FPU functions than
> > > a Quadra 840AV.   It'll be a great machine if I ever get it up and
> > > running properly under NetBSD.
> 
> I'm sorry, I did not see your original post, so I may be proceeding from 
> several false assumptions. If I am correct, this is an upclocked machine 
> we are talking about. One of the classic problems with upclocking these 
> toys is that the serial ports break. The trick is usually to switch to an 
> oscillator SLIGHTLY slower than the one that nails the serial ports (but 
> obviously not so slow as to negate its value as an upgrade). This may be 
> totally inapplicable to your particular problem, but it's at least worth 
> thinking about.

Hmmm. I'm not familiar with this problem (of serial ports pooping out
as you raise the clock). My IIsi gave me bizzar video when I tried to
chirp its rate.

So how do they poop out? As you raise the rate, they keep working fine
until one point where they just stop?

I ask as there are two clocks involved w/ the serial ports, the baud
rate clock, and an access clock. Also, some early 1.1 kernels had
a bug s.t. selecting 9600 gave you something really different, that
didn't work.

The way to tell the difference is to take a printer cable and hook one
port to the other. Send data out one and see if it comes in the other
correctly. This might be easier w/ a MacOS terminal program.

If, while sped up, MacOS works and NetBSD doesn't, then the kernel's
broken. We can fix that.

If the serial ports worked hooked to each other, but not to another device
(like a modem), then the baud rate's shifting. If so, you can only go
5% faster than normal as that's about where you get a 1/2 bit error in
an asynchronous character. You loose. :-(

If the serial ports don't work at all, then you're in luck. :-)

The serial port chip needs a certain amount of time between accesses.
Apple has built a delay into hardware on all the MacII's and everything
we run on. But I bet this delay is timed as a # of master clock cycles.
So you speed up, the delay gets shorter. So you end up accessing the chip
too fast, probably messing everything up.

But we can fix this. We have a version of the MI z8530 driver. So does
the sun3 (infact it was developed for the sun3). The sun3 does NOT have
protection in hardware, so all the access routines that touch the chip
have a provision for adding a delay to give the chip a chance to recover.

I can send you EMail on how to add this delay into a 1.2 kernel. I realize
you can't really compile a kernel on the 650, but it's a start.

Take care,

Bill