BigDumbDinosaur wrote:
The main thing about the 6850 I always found annoying was the absence of an on-chip bit rate generator...
On the other hand, the 6850’s behavior vis a vis CTS and DCD is more intelligent than that of the 6551...
Yes, having "grown up" with the 6850, I'm so used to things like CTS propagating into TxRDY, so you don't have to test for CTS yourself, you just have to test for TxRDY. I can see how people get spoiled with UARTs that have their own baud generator though.
I'm only researching 6551 coding to add it to the options available for some of my code after discovering it via the BenEater system. From this and discussion here I've so far written up
6551poll.asm and made a start on IRQ-driver sample code.
(I've discovered somebody using a 6532 for serial I/O, so I've pencilled in looking at that later.)
With the BenEater also having a 6522 it's possible to use that to finagle a TxRDY signal. My first thought was programming it to provide a centisecond counter (which is usually a basic feature of my systems) and using that to trigger a countdown. Then a quick bit of scribbling showed that each tick would be 10,000 cycles apart when only 520 cycles is needed for 19200 at 1MHz!
Edit:
Quote:
It also tells of the data corruption matter you mention regarding making CTS go false during the transmission of an already-started frame
It slipped my mind while typing, but the other (more major?) issue is that with TxEmpty always forced ON there's no way of testing if the other end is saying "WOAH!", so the work-around of monitoring CTS directly by connecting it to another pin that is testable.