mirror of
https://github.com/holub/mame
synced 2025-04-26 02:07:14 +03:00
8250 write protect 0x40 in line status register, this bit is used to track whether diserial is running and will call us back. mpz80 writes 0 to this bit and waits for it to be set again, it used to work because loopback was HLE'd. The 8250 datasheet says that transmission in loopback goes through the shift registers, the way the old code worked wouldn't test any send/receive functionality of the chip at all. It's unknown whether clearing this bit would cause the chip to start shifting, the datasheet says you shouldn't write to the register at all & it's reserved for testing the chip in the factory.
This commit is contained in:
parent
19944cb145
commit
56d906f99d
@ -313,7 +313,7 @@ WRITE8_MEMBER( ins8250_uart_device::ins8250_w )
|
||||
bits 5 - 0, you could cause an interrupt if the appropriate IER bit
|
||||
is set.
|
||||
*/
|
||||
m_regs.lsr = data;
|
||||
m_regs.lsr = (m_regs.lsr & 0x40) | (data & ~0x40);
|
||||
|
||||
tmp = 0;
|
||||
tmp |= ( m_regs.lsr & 0x01 ) ? COM_INT_PENDING_RECEIVED_DATA_AVAILABLE : 0;
|
||||
|
Loading…
Reference in New Issue
Block a user