From f3328f225573849f83bbe1383ee5cec19048a723 Mon Sep 17 00:00:00 2001 From: Nigel Barnes Date: Fri, 20 May 2022 22:25:23 +0100 Subject: bus/mtx/cfx: Do nothing when both READ/WRITE are asserted. --- src/devices/bus/mtx/cfx.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/devices/bus/mtx/cfx.cpp b/src/devices/bus/mtx/cfx.cpp index 0692abb3686..1c5231595ca 100644 --- a/src/devices/bus/mtx/cfx.cpp +++ b/src/devices/bus/mtx/cfx.cpp @@ -126,17 +126,27 @@ void mtx_cfx_device::portc_w(uint8_t data) switch (BIT(data, 3, 2)) { case 0x01: // CS0 - if (BIT(data, 5)) // WRITE + switch (BIT(data, 5, 2)) + { + case 0x01: // WRITE m_ide->cs0_w(data & 0x07, m_ide_data); - if (BIT(data, 6)) // READ + break; + case 0x02: // READ m_ide_data = m_ide->cs0_r(data & 0x07); + break; + } break; case 0x02: // CS1 - if (BIT(data, 5)) // WRITE + switch (BIT(data, 5, 2)) + { + case 0x01: // WRITE m_ide->cs1_w(data & 0x07, m_ide_data); - if (BIT(data, 6)) // READ + break; + case 0x02: // READ m_ide_data = m_ide->cs1_r(data & 0x07); + break; + } break; } } -- cgit v1.2.3