From 544a914f7b2e7da894001a791766a71bc1907457 Mon Sep 17 00:00:00 2001 From: mahlemiut Date: Fri, 25 Apr 2014 04:03:57 +0000 Subject: [PATCH] z80dart: quick fix to get CP/M (CPC) to detect the presence of the serial interface. (no whatsnew) --- src/emu/machine/z80dart.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/emu/machine/z80dart.c b/src/emu/machine/z80dart.c index 7f9664e1d0a..672ffd0c1cc 100644 --- a/src/emu/machine/z80dart.c +++ b/src/emu/machine/z80dart.c @@ -926,8 +926,12 @@ void z80dart_channel::control_write(UINT8 data) case 2: // interrupt vector if (m_index == z80dart_device::CHANNEL_B) - m_rr[2] = ( m_rr[2] & 0x0e ) | ( m_wr[2] & 0xF1);; - + { + if(m_wr[1] & z80dart_channel::WR1_STATUS_VECTOR) + m_rr[2] = ( m_rr[2] & 0x0e ) | ( m_wr[2] & 0xF1); + else + m_rr[2] = m_wr[2]; + } m_uart->check_interrupts(); LOG(("Z80DART \"%s\" Channel %c : Interrupt Vector %02x\n", m_owner->tag(), 'A' + m_index, data)); break;