diff options
Diffstat (limited to 'src/mame/drivers/stellafr.cpp')
-rw-r--r-- | src/mame/drivers/stellafr.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/mame/drivers/stellafr.cpp b/src/mame/drivers/stellafr.cpp index a70fd63d307..8e52d6f08bb 100644 --- a/src/mame/drivers/stellafr.cpp +++ b/src/mame/drivers/stellafr.cpp @@ -29,14 +29,14 @@ public: void stellafr(machine_config &config); private: - IRQ_CALLBACK_MEMBER(irq_ack); DECLARE_WRITE8_MEMBER(write_8000c1); DECLARE_READ8_MEMBER(read_800101); DECLARE_WRITE8_MEMBER(write_800101); DECLARE_WRITE8_MEMBER(duart_output_w); DECLARE_WRITE8_MEMBER(ay8910_portb_w); - void stellafr_map(address_map &map); + void mem_map(address_map &map); + void fc7_map(address_map &map); // devices required_device<cpu_device> m_maincpu; @@ -44,11 +44,6 @@ private: }; -IRQ_CALLBACK_MEMBER(stellafr_state::irq_ack) -{ - return m_duart->get_irq_vector(); -} - WRITE8_MEMBER(stellafr_state::write_8000c1) { } @@ -72,7 +67,7 @@ WRITE8_MEMBER(stellafr_state::ay8910_portb_w) -void stellafr_state::stellafr_map(address_map &map) +void stellafr_state::mem_map(address_map &map) { map(0x000000, 0x01ffff).rom(); map(0x8000c1, 0x8000c1).w(FUNC(stellafr_state::write_8000c1)); @@ -83,6 +78,11 @@ void stellafr_state::stellafr_map(address_map &map) map(0xff0000, 0xffffff).ram(); } +void stellafr_state::fc7_map(address_map &map) +{ + map(0xfffff5, 0xfffff5).r(m_duart, FUNC(mc68681_device::get_irq_vector)); +} + static INPUT_PORTS_START( stellafr ) PORT_START("INPUTS") @@ -93,8 +93,8 @@ INPUT_PORTS_END void stellafr_state::stellafr(machine_config &config) { M68000(config, m_maincpu, 10000000 ); //? - m_maincpu->set_addrmap(AS_PROGRAM, &stellafr_state::stellafr_map); - m_maincpu->set_irq_acknowledge_callback(FUNC(stellafr_state::irq_ack)); + m_maincpu->set_addrmap(AS_PROGRAM, &stellafr_state::mem_map); + m_maincpu->set_addrmap(m68000_device::AS_CPU_SPACE, &stellafr_state::fc7_map); MC68681(config, m_duart, 3686400); m_duart->irq_cb().set_inputline(m_maincpu, M68K_IRQ_2); // ? |