Path: utzoo!utgpu!attcan!uunet!super!udel!gatech!cwjcc!tut.cis.ohio-state.edu!mailrus!umix!metavax!oxtrap!teemc!rolls!mtuxo!mtgzz!drutx!druhi!dlm
From: dlm@druhi.ATT.COM (Dan Moore)
Newsgroups: comp.sys.atari.st
Subject: Re: Networking, ST's and Spectre 128
Message-ID: <3602@druhi.ATT.COM>
Date: 23 Sep 88 21:44:26 GMT
References: 
Sender: uucp@super.ORG
Organization: AT&T, Denver, CO
Lines: 61


in article , bw0i+@andrew.cmu.edu (Bryan Wu) says:
> Note: I hoped to send this to David Small, but couldn't e-mail to him..

	You can reach Dave on the Well.  Try hplabs!well!dsmall.
 
> I don't know if it is even possible, but since you are making a new cartridge
> for the 128k ROMs, will you also be putting in AppleTalk network port in?
> Perhaps by putting in the Zilog chip onto the cart itself (since the chip can
> be bought by anyone) you would be able to get networking into the Atari series
> via AppleTalk.

	It isn't very hard to place a Zilog SCC on a cartridge for the
ST.  It can even be made to function as an AppleTalk interface.  But
there are some large problems with using it, expecially at higher speeds.

	The STs cartridge port was designed only to support ROMs.  There
is no write line or interrupt lines on the connector.  With a little
fiddling it is possible to write data to the port, basicly you use the
address lines as data lines.  As far as I know there is no simple way to
get interrupts from the port without hardware modifications.

	AppleTalk runs at about 230Kbps which is about 28K bytes per
second.  On the Mac the SCC is setup to interrupt the CPU every time a
data byte has arrived and it also interrupts the CPU when it needs
another byte for transmission.  So in the worst case the CPU could be
interrupted 56K times per second, assuming you are transmitting and
receiving data at the same time (something that is never true as far as
I know).  The majority of the time the link is idle so the CPU is not
being interrupted.  So on the Mac when you use AppleTalk you use up a lot
of the CPU servicing the port.  Users don't notice this since most of
the time they aren't using AppleTalk, and when they are they aren't
doing anything else (I'm ignoring Multi-Finder for now).

	If you have an SCC connected to the STs cartridge port it can
not be interrupt driven, it must be polled by the CPU on a regular
basis so that it can detect incoming data.  So you need to setup one of
the hardware timers to interrupt the CPU 28K times per second (actually
it needs to be at least 50% faster than that in order to be sure no
data is lost) so it can check if a data byte has arrived and if it needs
to feed the transmitter another byte.  This would occur *ALL* of the
time, whether or not the AppleTalk link is active.  This would slow down
the Spectre 128 a lot, maybe even make it unusable.

	Unfortunately this means the cartridge port isn't a reasonable
method of connecting a high speed (230Kbps) device to the ST.  The only
reasonable alternatives are the DMA port and the parallel port and the
Mega ST expansion port.  The DMA and parallel ports have some problems 
which may or may not be fixable.  The best alternative is the Mega
expansion port, but that won't help most ST owners.

	I'm not saying that you can't hook an ST to AppleTalk.  I'm just
saying that no one has come up with a reasonable and affordable method. 
Yet.

 ------------------------------------------------------------------------------
				Dan Moore
				AT&T Bell Labs
				Denver
				dlm@druhi.ATT.COM
 ------------------------------------------------------------------------------