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 listReceived on 2012-08-30 20:00:31
Archive generated by hypermail 2.2.0.