From 2ac99146cdf0787cc53db25360b810fd1e7ae953 Mon Sep 17 00:00:00 2001 From: Patrick Mackinlay Date: Fri, 3 Feb 2023 14:28:38 +0700 Subject: [PATCH] mvme180: add cmmu --- src/devices/bus/vme/vme_mvme180.cpp | 9 ++++++--- src/devices/bus/vme/vme_mvme180.h | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/devices/bus/vme/vme_mvme180.cpp b/src/devices/bus/vme/vme_mvme180.cpp index 2967aa61c55..cdb55fb9163 100644 --- a/src/devices/bus/vme/vme_mvme180.cpp +++ b/src/devices/bus/vme/vme_mvme180.cpp @@ -23,7 +23,7 @@ vme_mvme180_device::vme_mvme180_device(machine_config const &mconfig, char const : device_t(mconfig, VME_MVME180, tag, owner, clock) , device_vme_card_interface(mconfig, *this) , m_cpu(*this, "cpu") - //, m_mmu(*this, "mmu%u", 0U) + , m_mmu(*this, "mmu%u", 0U) , m_duart(*this, "duart") , m_serial(*this, "serial%u", 0U) , m_boot(*this, "boot") @@ -67,7 +67,7 @@ void vme_mvme180_device::device_add_mconfig(machine_config &config) { MC88100(config, m_cpu, 40_MHz_XTAL / 2); m_cpu->set_addrmap(AS_PROGRAM, &vme_mvme180_device::cpu_mem); -#if 0 + MC88200(config, m_mmu[0], 40_MHz_XTAL / 2, 0x7e); m_mmu[0]->set_mbus(m_cpu, AS_PROGRAM); m_cpu->set_cmmu_i(m_mmu[0]); @@ -75,9 +75,10 @@ void vme_mvme180_device::device_add_mconfig(machine_config &config) MC88200(config, m_mmu[1], 40_MHz_XTAL / 2, 0x7f); m_mmu[1]->set_mbus(m_cpu, AS_PROGRAM); m_cpu->set_cmmu_d(m_mmu[1]); -#endif + SCN2681(config, m_duart, 3.6864_MHz_XTAL); m_duart->irq_cb().set(FUNC(vme_mvme180_device::irq_w<6>)); + m_duart->outport_cb().set([this](u8 data) { LOG("port 0x%02x\n", data); }); RS232_PORT(config, m_serial[0], default_rs232_devices, "terminal"); RS232_PORT(config, m_serial[1], default_rs232_devices, nullptr); @@ -104,6 +105,8 @@ void vme_mvme180_device::cpu_mem(address_map &map) LOG("imr 0x%08x (%s)\n", data, machine().describe_context()); m_imr = data; + m_boot.select(1); + interrupt(); }, "imr"); // 0xffe3'0000 // clear parity error interrupt? diff --git a/src/devices/bus/vme/vme_mvme180.h b/src/devices/bus/vme/vme_mvme180.h index c6305ffe1c6..046e77f5b89 100644 --- a/src/devices/bus/vme/vme_mvme180.h +++ b/src/devices/bus/vme/vme_mvme180.h @@ -10,7 +10,7 @@ #include "cpu/m88000/m88000.h" #include "machine/mc68681.h" -//#include "machine/mc88200.h" +#include "machine/mc88200.h" #include "bus/rs232/rs232.h" @@ -36,7 +36,7 @@ private: void interrupt(); required_device m_cpu; - //required_device_array m_mmu; + required_device_array m_mmu; required_device m_duart; required_device_array m_serial;