6551 ACIA ========= The 6551 ACIA is used in CUBE, Archimedes, BenEater systems +--------+-----------------------------+-----------------------------+ | | Write | Read | +========+=============================+=============================+ | base+0 | Transmit Data Register | Receive Data Register | +--------+-----------------------------+-----------------------------+ | base+1 | Reset ACIA | Status | | | | b7: 1=Interupt Request | | | | b6: 1=DSR Off, 1=DSR On | | | | b5: 1=DCD Off, 1=DCD On | | | | b4: 1=Transmit Reg Empty | | | | b3: 1=Receive Register Full | | | | b2: 1=Receive data overrun | | | | b1: 1=Framing Error | | | | b0: 1=Receive Parity error | | | | Note: Hardware error causes | | | | b4=1 always, CTS=Off | | | | corrupts TxData | +--------+-----------------------------+-----------------------------+ | base+2 | Command Register | | | b7-6: 00=odd parity, 01=even parity, | | | 10=mark parity, 11=space parity | | | b5: 0=parity disabled, 1=parity enabled | | | b4: 0=no echo, 1=echo | | | b3-2: Transmit Control: 00: TxIRQ=Off, RTS=Off | | | 01: TxIRQ=On, RTS=On | | | 10: TxIRQ=Off, RTS=On | | | 11: TxIRQ=Off, RTS=On, Tx=BREAK | | | b1: 0:RxIRQ=On, 1:RxIRQ=Off If RxIRQ=On then DSR/DCD | | | b0: 0:DTR=Off, 1:DTR=On changes causes IRQ | | | Note: Hardware error requires Parity=Off and TxIRQ=Off | +--------+-----------------------------+-----------------------------+ | base+3 | Control Register | | | b7: 0=1 stop bit, 1=2 stop bits | | | b6-5: 00=8bit, 01=7bit, 10=6bit, 11=5bit | | | b4: 0=external receive clock, 1=internal baud generator | | | b3-b0: baud rate: | | | 0000 : 115,200 (16x clock) 1000 : 1200 | | | 0001 : 50 1001 : 1800 | | | 0010 : 75 1010 : 2400 | | | 0011 : 110 1011 : 3600 | | | 0100 : 134.5 1100 : 4800 | | | 0101 : 150 1101 : 7200 | | | 0110 : 300 1110 : 9600 | | | 0111 : 600 1111 : 19,200 | +--------+-----------------------------+-----------------------------+ Base Device ---------------------------------------------- FE10 CUBE Internal serial port 5000 BenEater serial port