mcs51: add rxb8 to uart reset

This commit is contained in:
hap 2023-06-03 12:02:00 +02:00
parent c072c4c674
commit 2e0cacd3ad
2 changed files with 5 additions and 4 deletions

View File

@ -1015,7 +1015,7 @@ void mcs51_cpu_device::do_sub_flags(uint8_t a, uint8_t data, uint8_t c)
SET_OV((result1 < -128 || result1 > 127));
}
void mcs51_cpu_device::transmit(bool state)
void mcs51_cpu_device::transmit(int state)
{
if (BIT(SFR_A(ADDR_P3), 1) != state)
{
@ -1143,7 +1143,7 @@ void mcs51_cpu_device::transmit_receive(int source)
if (GET_REN)
{
// directly read RXD input
bool const data = BIT(m_port_in_cb[3](), 0);
int const data = BIT(m_port_in_cb[3](), 0);
switch (m_uart.rxbit)
{
@ -2464,6 +2464,7 @@ void mcs51_cpu_device::device_reset()
m_uart.tx_clk = 0;
m_uart.txbit = SIO_IDLE;
m_uart.rxbit = SIO_IDLE;
m_uart.rxb8 = 0;
m_uart.smod_div = 0;
m_recalc_parity = 0;

View File

@ -132,7 +132,7 @@ protected:
uint8_t data_in;
uint8_t txbit;
uint8_t rxbit;
bool rxb8;
uint8_t rxb8;
int smod_div; /* signal divided by 2^SMOD */
int rx_clk; /* rx clock */
@ -147,7 +147,7 @@ protected:
virtual void sfr_write(size_t offset, uint8_t data);
virtual uint8_t sfr_read(size_t offset);
void transmit(bool state);
void transmit(int state);
/* Memory spaces */
memory_access<16, 0, 0, ENDIANNESS_LITTLE>::cache m_program;