[net.micro.apple] Interrupts on the Apple IIe

rbt@sftig.UUCP (R.Thomas) (02/03/85)

Subject: Re: IIe Termcap;. Really about interrupts
References: <287@boulder.UUCP> <828@pucc-i> <7817@brl-tgr.ARPA>

> > ... most communications cards do not adhere to the
> > Apple standards for interrupt handling, which were established rather
> > late in the game.
> 
> All that is needed is usually a jumper between two of the fingers
> on the card's edge connector.

Not quite.  This is true if the card in question does not need to ever
send an interrupt of its own.  Then all it has to do is jumper the
daisy chain to pass the 'interrupt is allowed' on to the next lower
numbered card.  However, if the card wishes to present an interrupt of
its own, it must have sufficient smarts to provide the
jumper-equivalent when it is not presenting an interrupt, and to open
the jumper when it presents an interrupt and reclose it when the
interrupt is acknowledged by the CPU (usually a soft switch to reclose
the jumper)  In this way, if all cards that present interrupts follow
the protocol, then there is full protection against lost interrupts
because of race conditions.  This is all described in the Apple IIe
reference manual (pages 131 and 170-171).  There is one further
requirement, all slots must be filled (at least with a dummy card that
has the jumpers on it) above the lowest numbered card that wishes to
be able to present an interrupt.

The catch to all this is not the jumpers (that is fairly easy to do).
The catch is that the Super Serial Card, while it has a switch to
enable interrupts from the ACIA, does not follow the daisy chain
protocol.  It presents its interrupt when it has one, regardless of
the state of the incoming daisy chain and does not open the jumper 
for the benefit of lower numbered cards.  There is some consolation in
the fact that at least it does have the jumper in place, so as long as
you leave the 'interrupt enable' switch off, you can use it with other
cards that do follow the protocol.

The upshot of all this is that, if you want to use the interrupt
capability of the SSC, you will not be able to use the interrupt
capability of any other card you may have.

Does anybody know of any simple mods to the SSC that fix this bug?
Does Apple intend to fix it in later rev of the SSC?  It would be real
nice to be able to use the SSC under Prodos with interrupts enabled 
and a good interrupting clock card at the same time.

Rick Thomas
inhp4!attunix!rbt
(201)-522-6062