Sorry to come in late on this one, and for having got the protocol wrong for replying to topics (shows how long since I contributed!). Couple of suggestions, following a recent project using an '84 talking to a PC (plus doing other stuff). I used the Maxim MAX3110 IC which provides in one 28-pin IC both a SERIAL-access UART and a dual TTL/RS232 transceiver set (available in both SM and through-hole versions). Of the 28 pins you only need to get at 13, the rest being connections to the charge pumps for linking the UART to the transceivers, so the whole thing could have fitted in a 14 pin package. None the less this is a VERY useful device. With the '84 running a 4MHz resonator, the UART handler code has no waits. The UART doesn't have auto-handling of CTS/RTS - they need to be read/set explicitly, but it DOES have a 9-byte FIFO buffer on incoming. It also has an interrupt output, which I didn't use as it wasn't necessary or even appropriate for my application. Sending and collecting bytes by the PIC at maximum PIC speed means that even at 19200 baud there's a fair bit of "spare" time to do other things between reads/writes. So much for the PIC end of things. Yes, I know it's an extra IC, but most of the time there's a MAX232 or equivalent somewhere anyway if RS232 is involved, so the MAX3110 is not increasing component count, only board space. Depending on what else the PIC is doing, you may even save PIC pins, as the SPI-alike 3110 interface uses data in, data out, clock and chip select, so the data and clock lines can be re-used (as in my design) - I was even able to re-use code to an extent by setting up similar protocols to interface with other units in the system. Now for the PC end (in my case, a Pentium Pro with pseudo 16550 embedded somewhere on the motherboard). Dear old Terminal finally failed me, because the transmit buffer just takes far too long to respond to hardware handshaking (even with the 3110's receive buffer). But HyperTerm is fine in that respect, just go into Properties, then Configure (to bring up Port Settings), then Advanced and pull the Transmit Buffer pointer to the left hand end. Having got all the above sorted out, I was still having occasional problems, and couldn't figure out what I was doing wrong (wierd things like intermittent echoing of PC-transmitted characters, bytes with bit 8 set, that sort of nonsense). Finally tracked it down to the trusty breakout box! Duly overhauled and two of the DIP switches replaced!! (But it is almost 20 years old.) Hope this helps, even if it isn't "UARTless", just artless. Tim Forcer, Department of Electronics & Computer Science The University of Southampton, UK. -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics