[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Appletalk on IIC




<wshek@ibm.net> wrote:

> In <5k3j5i$grj$1@europa.frii.com>, shack@deimos.frii.com (Randy
> Shackelford) writes:
> >In article <3365065f.0@news1.ibm.net>,  <wshek@ibm.net> wrote:
> >>In <david.862027332@wraith>, david@uow.edu.au (David E A Wilson) writes:
> >
> >>I'm not understanding why you need extra hardware, the mac doesn't use it?
> >>I started AT on my macs using just the extra printer cable I have
> >>joining the serial ports of 2 machines. (works great)
> >>As for processor not being enough.... on a //C it's not doing anything else
> >>anyway and as for memory .... where do you put stuff you load from a disk
> >>drive? The //c serial buffering as implemented should be sufficient.
> >
> >Macs, IIgses, and workstation cards have the Zilog 8530 serial chip and //c's
> >do not. Not to mention the necessary firmware. And workstation cards have a
> >dedicated 65C02 on top of all that. So no dice really.
> 
> Look, the macs and gs are more powerful thus may be doing more
> ie require something to manage the function while possibly busy.
> The //c is basically a single threaded straightline process.

Rubbish.  The IIc has a reasonably powerful interrupt handler which
supports the keyboard, mouse and VBL interrupts.  The IIgs has a faster
processor, but the interrupt handler is similar in design (just a lot
more flexible, with many more interrupt sources and ways of patching
into it).

The IIc and IIgs are therefore quite able to deal with interrupts, which
change the flow of execution; neither can be described as a "single
threaded straightline process".

The IIgs and Mac have no additional hardware support for LocalTalk -
they are simply relying on being able to respond to the interrupts
quickly enough.  This is easier on the Mac, as the 68000 has a
prioritised interrupt system, which means the Z8530 can interrupt other
interrupt handlers.

On the IIgs, only one interrupt handler can be active at a time, and the
interrupt handler has quite a lot of overhead, so it is more likely to
miss received AppleTalk packets.

Given a Z8530 serial chip, faster processor and extra memory, the IIc
would be capable of handling AppleTalk directly.

> It has similar buffer managing chips.

No way.  The Z8530 has a built-in three byte receive buffer (plus shift
register), which makes a huge difference to the response time required
for LocalTalk (about 130 microseconds instead of 60).

The 6551 has a single byte receive buffer, so the IIc would have to
react to interrupts a lot faster than either the IIgs or Mac, ignoring
the minor detail that the 6551 cannot support either the data rate or
format used by LocalTalk.

There are no other "buffer managing chips" in the IIgs or Mac.  All
buffering is handled by software.


For receiving LocalTalk frames, the IIgs and Mac are interrupted when
the frame starts coming in, then remain in the interrupt handler,
buffering all received data, until the end of the frame.  The frame is
then interpreted and passed on to the appropriate protocol handler.

The only time-critical part is the initial response to the first
character of the frame.  If the machine takes more than 130 microseconds
to get to the AppleTalk interrupt handler, the frame will be lost.

-- 
David Empson
dempson@actrix.gen.nz
Snail mail: P.O. Box 27-103, Wellington, New Zealand