summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/omron/luna_88k.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/omron/luna_88k.cpp')
-rw-r--r--src/mame/omron/luna_88k.cpp30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/mame/omron/luna_88k.cpp b/src/mame/omron/luna_88k.cpp
index 2faa903769e..cc72c591a8e 100644
--- a/src/mame/omron/luna_88k.cpp
+++ b/src/mame/omron/luna_88k.cpp
@@ -85,13 +85,13 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(abort) { irq(0, 7, newval); }
protected:
- virtual void machine_start() override;
- virtual void machine_reset() override;
+ virtual void machine_start() override ATTR_COLD;
+ virtual void machine_reset() override ATTR_COLD;
- virtual void cpu_map(address_map &map);
+ virtual void cpu_map(address_map &map) ATTR_COLD;
- void iop_map_mem(address_map &map);
- void iop_map_pio(address_map &map);
+ void iop_map_mem(address_map &map) ATTR_COLD;
+ void iop_map_pio(address_map &map) ATTR_COLD;
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, rectangle const &cliprect);
@@ -160,7 +160,7 @@ public:
void init();
protected:
- virtual void cpu_map(address_map &map) override;
+ virtual void cpu_map(address_map &map) override ATTR_COLD;
required_device<m48t02_device> m_rtc;
required_device<mb89352_device> m_spc;
@@ -185,8 +185,8 @@ public:
void init();
protected:
- virtual void machine_start() override;
- virtual void cpu_map(address_map &map) override;
+ virtual void machine_start() override ATTR_COLD;
+ virtual void cpu_map(address_map &map) override ATTR_COLD;
required_device<mc146818_device> m_rtc;
required_device_array<mb89352_device, 2> m_spc;
@@ -386,13 +386,11 @@ void luna_88k_state_base::common_config(machine_config &config, XTAL clock)
{
MC88100(config, m_cpu, clock.value());
m_cpu->set_addrmap(AS_PROGRAM, &luna_88k_state_base::cpu_map);
+ m_cpu->set_cmmu_code([this](u32 const address) -> mc88200_device & { return *m_cmmu[0]; });
+ m_cpu->set_cmmu_data([this](u32 const address) -> mc88200_device & { return *m_cmmu[1]; });
- MC88200(config, m_cmmu[0], clock.value(), 0x07); // cpu0 cmmu i0
- m_cmmu[0]->set_mbus(m_cpu, AS_PROGRAM);
- m_cpu->set_cmmu_i(m_cmmu[0]);
- MC88200(config, m_cmmu[1], clock.value(), 0x06); // cpu0 cmmu d0
- m_cmmu[1]->set_mbus(m_cpu, AS_PROGRAM);
- m_cpu->set_cmmu_d(m_cmmu[1]);
+ MC88200(config, m_cmmu[0], clock.value(), 0x07).set_mbus(m_cpu, AS_PROGRAM); // cpu0 cmmu i0
+ MC88200(config, m_cmmu[1], clock.value(), 0x06).set_mbus(m_cpu, AS_PROGRAM); // cpu0 cmmu d0
// 6 SIMMs for RAM arranged as three groups of 2?
RAM(config, m_ram);
@@ -805,7 +803,7 @@ static INPUT_PORTS_START(luna88k)
PORT_DIPSETTING(0x01, DEF_STR(On))
PORT_START("ABORT")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Abort") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHANGED_MEMBER(DEVICE_SELF, luna_88k_state_base, abort, 0)
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Abort") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(luna_88k_state_base::abort), 0)
INPUT_PORTS_END
static INPUT_PORTS_START(luna88k2)
@@ -863,7 +861,7 @@ static INPUT_PORTS_START(luna88k2)
PORT_DIPSETTING(0x01, DEF_STR(On))
PORT_START("ABORT")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Abort") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHANGED_MEMBER(DEVICE_SELF, luna_88k_state_base, abort, 0)
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Abort") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHANGED_MEMBER(DEVICE_SELF, FUNC(luna_88k_state_base::abort), 0)
INPUT_PORTS_END
ROM_START(luna88k)