Re: Question about UNTALK

From: Spiro Trikaliotis <ml-cbmhackers_at_trikaliotis.net>
Date: Thu, 30 Aug 2012 21:36:16 +0200
Message-ID: <20120830193616.GJ7442@trikaliotis.net>
Hello Ruud,

* On Thu, Aug 30, 2012 at 08:02:58AM +0200 Baltissen, GJPAA (Ruud) wrote:
> But if there won't be a byte in the queue, why checking for it? Skipping
> it would save some time but it would be peanuts compared to the whole
> proces.

Notice how UNLISTEN and UNTALK are intertwined.  UNTALK "falls through"
into UNLISTEN. Thus, it actually saves some bytes to let UNTALK do this
test for a byte to send, even if there is none.

> Looking at the source code my first idea was: it saves some
> bytes.

It does.

> But then: why setting ATN (L) at $EDF3 if it will be done at
> $ED2E anyway? 
> 
> Another question: please have a look at the code starting from $ED21.
> Why is the CLK set (H) when an UNLISTEN is going on but not for UNTALK? 

To both questions: I do not know. Perhaps a leftover from other protocol
implementation tries?

In fact, for the second question, I just checked OpenCBM: We do exactly
the same in both cases, only the code send is different ($3F vs. $5F).


Perhaps, this difference was first introduced to undo the effect of the
"talk-attention turnaround", but the protocol was changed so this was
not necessary anymore?

Or I am overlooking something now. (It is some years since I analysed
the protocol in detail, so my memory may be weak.) In this case, OpenCBM
might have an implementation error. ;)

Regards,
Spiro.

-- 
Spiro R. Trikaliotis
http://www.trikaliotis.net/

       Message was sent through the cbm-hackers mailing list
Received on 2012-08-30 20:00:31

Archive generated by hypermail 2.2.0.