Comparison of Byte-Wide Communications Ports, ACIAs, UARTs, etc. ================================================================ Data TxStatus Read/Write RxStatus TxRdy RxRdy RxControl RTS=Stop RTS=Cont ------------------------------------------------------------------------------ 2681 DUART base+3 base+1 &08 &02 base+2 6402 UART base+0 - - - - 6551 ACIA base+0 base+1 &10 &08 base+2 %xxxx00x0 %xxxx10x1 6850 ACIA base+1 base+0 &02 &01 base+0 %x1xxxxxx %x0xxxxxx 6854 ADLC base+2 base+0 &40 &01 base+1 %?xxxxxxx %?xxxxxxx 8251 UART base+0 base+1 &01 &02 base+1 %xx?xxxxx %xx?xxxxx 8279 base+0 base+1 9914 IEEE base+7 base+3 &10 &20 - Tube base+1 base+0 &40 &80 - Write Data Read Data USB base+0 base+1 &40=0 &80=0 - Z80 SIO base+0 base+1 &04 &01 base+1 %xxxxxx?x %xxxxxx?x ASCII KBD base+x base+y &80 VIA PIO ASCII KBD: LDA STATUS AND #&80 BEQ LOOP LDA DATA ASCII KBD via User Port: LOOP: LDA VIA+13 AND #&10 BEQ LOOP LDA VIA+0