Re: A86: Interrupt link handler


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

Re: A86: Interrupt link handler




I wrote an interrupt driven link handler back when I made Telnet83, but it
sucked bad.  The 89/92's linkports have an interrupt associated with them,
unlike the other 8x calcs.  This means that for the z80 calcs, you have to
poll the linkport in order to recieve data.  So on the 82,83,85,86, you
really can't have an interrupt link driver.   You can really only have a
interrupt driven routine that checks the port on regular intervals by
hooking with the timer interrupt.  At only 200 times per second though, this
would not be a very good link driver.  Telnet83 runs at 9600bps by checking
the port within the actual program (and not in an interrupt) more often than
an interrupt would have.  This makes the source look really ugly, but hey it
works.  I guess if you only needed around 300bps you could use a timer based
polling interrupt routine (that's about all I could sqeeze out of it).  The
one I used worked fine for slow speeds like that.  It had a send/recv buffer
and everything.  I don't think I have the source to it anymore though..   It
would be very easy to make again.  The key is a good link routine.  For the
83, this would be Vertigo's.  For the 86, I don't know.  Also, no matter
what you do, you always have that darn problem of how you can't send/recv at
the same time.  If you make the game right, then this can be avoided.

The 89/92 have an interrupt associated with the actual linkport which is why
they work so well.  You know how your calc turns on because of an interrupt?
(the [ON] key generates an interrupt).  Try turning off your 89/92 and
insert a calc-to-calc link cable (or Graphlink) and watch as your calc
magically turns on.  Cool eh?  If you wanted to make an autoanswer program
with a modem, your 89/92 would turn on the instant the modem sent RING to
your calc.  YEAH!

-Justin Karneges