The RC2014 system traditionally uses a 68B50 or a Z80 SIO which in turn means you are stuck at a fixed baudrate on two ports or also need a separate CTC to do baud rate setting. I wanted a few more ports and configurable board rates without taking up lots of slots.



The board itself uses the XR82C684 which is a quad UART along with two timers and some IO pins (not many in this case as the 44pin part omits most of them). The logic isn't that tricky. A 74HCT688 matches A7-A1 of the address and M1 high, IORQ low. A 74HCT32 generates the needed read/write/iack signals and the spare gate is used to check that A0 is low.



The upper addresses are used to drive the address bits on the UART so that we don't waste precious I/O address space on the Z80, and that's about it other than a single 74HCT00 gate to invert the reset line to feed to the UART.

The board uses the standard RC2014 clock. If you are running at a weird non RC2014 standard clock you will get weird baud rates and need to use the counter mode (and so lose the timers). The QUART IC itself is limited to 8MHz so if you are running at custom high speeds (eg Z180) you'd need to update the design with a clock divider or own crystal.