acia
if (acia.mid_ctrl & ACIA_IRQ)
acia_stat = acia.key_ctrl;
if (!((acia_stat | acia.mid_ctrl) & ACIA_IRQ))
scancode = acia.key_data;
scancode = acia.key_data; /* get it or reset the ACIA, I'll get it! */
acia_stat = acia.key_ctrl;
acia.key_data = *str++;
acia.key_ctrl = ACIA_RESET |
(void)acia.key_ctrl;
(void)acia.key_data;
acia.mid_ctrl = ACIA_RESET |
(void)acia.mid_ctrl;
(void)acia.mid_data;
acia.key_ctrl = (ACIA_DIV64|ACIA_D8N1S|ACIA_RIE) |
acia.mid_ctrl = ACIA_DIV16 | ACIA_D8N1S |
acia.key_ctrl = ACIA_DIV64 | ACIA_D8N1S | ACIA_RHTID;
acia.mid_ctrl = ACIA_DIV16 | ACIA_D8N1S | ACIA_RHTID;
acia.key_ctrl = ACIA_RESET;
acia.mid_ctrl = ACIA_RESET;
while (!(acia.mid_ctrl & ACIA_RDRF)) /* wait for rx buf filled */
return acia.mid_data;
acia.mid_ctrl = div | csize | parity |
while (!(acia.mid_ctrl & ACIA_TDRE)) /* wait for tx buf empty */
acia.mid_data = c;
acia.key_ctrl = ACIA_DIV64 | ACIA_D8N1S | ACIA_RHTID | ACIA_RIE;
acia.mid_ctrl = ACIA_DIV16 | ACIA_D8N1S | ACIA_RHTID;