From c35aa629e35879c9475f05ed5a8f7d203b6f47f9 Mon Sep 17 00:00:00 2001 From: Ville Linde Date: Wed, 3 Feb 2016 02:04:05 +0200 Subject: [PATCH] nwk-tr: fix network ram test (nw) --- src/mame/drivers/nwk-tr.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/mame/drivers/nwk-tr.cpp b/src/mame/drivers/nwk-tr.cpp index 9ec6ba6f9c4..a64c10fd96a 100644 --- a/src/mame/drivers/nwk-tr.cpp +++ b/src/mame/drivers/nwk-tr.cpp @@ -304,6 +304,7 @@ public: int m_fpga_uploaded; int m_lanc2_ram_r; int m_lanc2_ram_w; + UINT8 m_lanc2_reg[3]; std::unique_ptr m_lanc2_ram; std::unique_ptr m_sharc_dataram; DECLARE_WRITE32_MEMBER(paletteram32_w); @@ -521,6 +522,7 @@ WRITE32_MEMBER(nwktr_state::lanc2_w) ((value << 7) & 0x80); m_fpga_uploaded = 1; + m_lanc2_reg[0] = (UINT8)(data >> 24); //printf("lanc2_fpga_w: %02X at %08X\n", value, space.device().safe_pc()); } @@ -528,11 +530,16 @@ WRITE32_MEMBER(nwktr_state::lanc2_w) { m_lanc2_ram_r = 0; m_lanc2_ram_w = 0; + m_lanc2_reg[1] = (UINT8)(data >> 8); } else if (ACCESSING_BITS_16_23) { - m_lanc2_ram[2] = (data >> 20) & 0xf; - m_lanc2_ram[3] = 0; + if (m_lanc2_reg[0] != 0) + { + m_lanc2_ram[2] = (data >> 20) & 0xf; + m_lanc2_ram[3] = 0; + } + m_lanc2_reg[2] = (UINT8)(data >> 16); } else if (ACCESSING_BITS_0_7) {