From 7c2220e8caea1e770b37834718b907bdf200034f Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 1 Jan 2018 03:13:17 -0500 Subject: [PATCH] la120: Fix remaining problems with ER1400 accesses (nw) --- src/mame/drivers/decwritr.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/mame/drivers/decwritr.cpp b/src/mame/drivers/decwritr.cpp index 848ad58f6ed..f37c91eab14 100644 --- a/src/mame/drivers/decwritr.cpp +++ b/src/mame/drivers/decwritr.cpp @@ -137,11 +137,19 @@ WRITE8_MEMBER( decwriter_state::la120_LED_w ) */ READ8_MEMBER( decwriter_state::la120_NVR_r ) { + // one wait state inserted + if (!machine().side_effect_disabled()) + m_maincpu->adjust_icount(-1); + return (m_nvm->data_r() << 7) | 0x7e; } WRITE8_MEMBER( decwriter_state::la120_NVR_w ) { + // one wait state inserted + if (!machine().side_effect_disabled()) + m_maincpu->adjust_icount(-1); + // ER1400 has negative logic, but 7406 inverters are used m_nvm->c3_w(BIT(offset, 10)); m_nvm->c2_w(BIT(offset, 9)); @@ -150,7 +158,7 @@ WRITE8_MEMBER( decwriter_state::la120_NVR_w ) // C2 is used to disable pullup on data line m_nvm->data_w(!BIT(offset, 9) ? 0 : !BIT(data, 7)); - m_nvm->clock_w(BIT(offset, 0)); + m_nvm->clock_w(!BIT(offset, 0)); } /* todo: fully reverse engineer DC305 ASIC */