From 105c61a0259f35e7754d8f486b6b6777030ebe8a Mon Sep 17 00:00:00 2001 From: Patrick Mackinlay Date: Mon, 11 Mar 2024 13:05:36 +0700 Subject: [PATCH] ns32082: fix level two page table validity bug --- src/devices/machine/ns32082.cpp | 5 ++++- src/devices/machine/ns32382.cpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/devices/machine/ns32082.cpp b/src/devices/machine/ns32082.cpp index 4fb26bf5219..ffe2f645274 100644 --- a/src/devices/machine/ns32082.cpp +++ b/src/devices/machine/ns32082.cpp @@ -165,6 +165,9 @@ void ns32082_device::device_reset() void ns32082_device::state_add(device_state_interface &parent, int &index) { parent.state_add(index++, "MSR", m_msr).formatstr("%08X"); + parent.state_add(index++, "PTB0", m_ptb[0]).formatstr("%08X"); + parent.state_add(index++, "PTB1", m_ptb[1]).formatstr("%08X"); + parent.state_add(index++, "EIA", m_eia).formatstr("%08X"); } u16 ns32082_device::slow_status(int *icount) @@ -468,7 +471,7 @@ ns32082_device::translate_result ns32082_device::translate(address_space &space, if (m_state == RDVAL || m_state == WRVAL) { m_state = STATUS; - if (pte1 & PTE_V) + if (pte2 & PTE_V) m_status |= SLAVE_F; return CANCEL; diff --git a/src/devices/machine/ns32382.cpp b/src/devices/machine/ns32382.cpp index 105bc55b1a2..d801342a102 100644 --- a/src/devices/machine/ns32382.cpp +++ b/src/devices/machine/ns32382.cpp @@ -406,7 +406,7 @@ ns32382_device::translate_result ns32382_device::translate(address_space &space, if (m_state == RDVAL || m_state == WRVAL) { m_state = STATUS; - if (pte1 & PTE_V) + if (pte2 & PTE_V) m_status |= SLAVE_F; return CANCEL;