summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/tmaster.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/tmaster.cpp')
-rw-r--r--src/mame/drivers/tmaster.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mame/drivers/tmaster.cpp b/src/mame/drivers/tmaster.cpp
index 1fbe7c9326b..5fe5883c9fe 100644
--- a/src/mame/drivers/tmaster.cpp
+++ b/src/mame/drivers/tmaster.cpp
@@ -144,6 +144,7 @@ private:
DECLARE_WRITE16_MEMBER(rtc_w);
void tmaster_map(address_map &map);
+ void cpu_space_map(address_map &map);
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
@@ -208,9 +209,15 @@ WRITE_LINE_MEMBER(tmaster_state::write_oki_bank1)
***************************************************************************/
+void tmaster_state::cpu_space_map(address_map &map)
+{
+ map(0xfffff0, 0xffffff).m(m_maincpu, FUNC(m68000_base_device::autovectors_map));
+ map(0xfffff8, 0xfffff9).lr16("irq 2", [this]() -> u16 { return m_duart->get_irq_vector(); });
+}
+
WRITE_LINE_MEMBER(tmaster_state::duart_irq_handler)
{
- m_maincpu->set_input_line_and_vector(4, state, m_duart->get_irq_vector());
+ m_maincpu->set_input_line(4, state);
}
/***************************************************************************
@@ -370,6 +377,7 @@ void tmaster_state::tm(machine_config &config)
{
M68000(config, m_maincpu, XTAL(24'000'000) / 2); /* 12MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &tmaster_state::tmaster_map);
+ m_maincpu->set_addrmap(m68000_base_device::AS_CPU_SPACE, &tmaster_state::cpu_space_map);
TIMER(config, "scantimer").configure_scanline(FUNC(tmaster_state::scanline_interrupt), "screen", 0, 1);