Subject: Re: Localtalk interface design ideas
To: None <cgd@CS.cmu.edu, tech-net@NetBSD.ORG>
From: Ty Sarna <tsarna@endicor.com>
List: tech-net
Date: 02/13/1997 16:11:56
In article <4315.855866721@ux2.sp.CS.CMU.EDU> you write:
> Why is a line discipline not sufficient?  why do you need special
> interrupt handlers, etc?  I understand that localtalk runs at a high
> speed (though i forget what exactly the speed is 8-), and therefore
> the port needs to be configured specially, but i'd think that the line
> discipline could do the appropriate stuff without relying on special
> handlers to receive and transmit data.

LLAP has a peculiar on-the-wire format.  I'm not sure it can even be
implemented on arbitrary serial chips.  On some chips it may require
some expensive operations in software (like inserting a zero bit after
every 5 one bits, and removing a zero bit after five ones on reception). 
So if the hardware can do anything extra to help out, you'll want to use
it, and I don't think those things are expressed well in the Unix async
tty model. It would seem to me that the least gross way to handle it
would be to think of an AppleTalk-capable serial port as two separate
pieces of hardware that hapen to only be usable in an either/or way...
something like the zstty/zskbd/zsms (or whatever they're called) driver,
but with the ability to switch their use at run-time.

> What kind of support is actually required to use localtalk on a serial
> port?  _could_ it be done with just a line discipline?

I don't think so, from my (limited) understanding. At least, it would be
inneficient and/or not compatible with all tty devices.

[This is based on q uick refresher read of Inside AppleTalk, 2nd Ed. I
don't know how up-to-date that is... anyone?]