8279 Keyboard/Display Controller ================================ +--------+---------------------------------+-------------------------------+ | | Write | Read | +========+=================================+===============================+ | base+0 | Transmit Data Register | Receive Data Register | | | | Keyscan data: | | | | b7: Control | | | | b6: Shift | | | | b5-b3: Scan Row | | | | b2-b0: Scan Column | +--------+---------------------------------+-------------------------------+ | base+1 | Control Register | Status Register | | | b7-b5: Command | b7: Display unavailable | | | b4-b0: Data | b6: Error: Multiple keys | | | Commands: | b5: Error: Overrun | | | 000DSKKE Keyboard/Display mode | b4: Error: Underrun | | | D - direction left/right | b3: FIF0 full | | | S - size 8/16 characters | b2-b0: Num. of chars in FIFO | | | E - Enc/Decoded keyboard | | | | 00 - 2-key lockout | | | | 01 - n-key rollover | | | | 10 - Scan sensor matrix | | | | 11 - Strobed input | | | | | | | | 001ppppp - Program clock | | | | 010IxAAA - Read FIFO/Sensor RAM | | | | 011IAAAA - Read display RAM | | | | 100IAAAA - Write display RAM | | | | I=AutoInc, AAAA=address | | | | 101xWWBB - Display inhibit/blank| | | | 110CCCCC - Clear | | | | 111Exxxx - End interupt/error | | +--------+---------------------------------+-------------------------------+