From 19bfe8d2a22ae1eea8e4fcc9d9012afb184ee5ba Mon Sep 17 00:00:00 2001 From: AJR Date: Thu, 4 Apr 2019 21:55:56 -0400 Subject: adp.cpp, stellafr.cpp: Interrupt modernization (nw) --- src/mame/drivers/adp.cpp | 8 ++++---- src/mame/drivers/stellafr.cpp | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/mame/drivers/adp.cpp b/src/mame/drivers/adp.cpp index 50200fc0a47..1500a648734 100644 --- a/src/mame/drivers/adp.cpp +++ b/src/mame/drivers/adp.cpp @@ -209,11 +209,11 @@ private: DECLARE_MACHINE_RESET(skattv); void adp_palette(palette_device &device) const; void fstation_palette(palette_device &device) const; - IRQ_CALLBACK_MEMBER(duart_iack_handler); //INTERRUPT_GEN_MEMBER(adp_int); void skattva_nvram_init(nvram_device &nvram, void *base, size_t size); void adp_hd63484_map(address_map &map); + void fc7_map(address_map &map); void fashiong_hd63484_map(address_map &map); void fstation_hd63484_map(address_map &map); void fstation_mem(address_map &map); @@ -248,9 +248,9 @@ void adp_state::skattva_nvram_init(nvram_device &nvram, void *base, size_t size) ***************************************************************************/ -IRQ_CALLBACK_MEMBER(adp_state::duart_iack_handler) +void adp_state::fc7_map(address_map &map) { - return m_duart->get_irq_vector(); + map(0xfffff9, 0xfffff9).r(m_duart, FUNC(mc68681_device::get_irq_vector)); } MACHINE_START_MEMBER(adp_state,skattv) @@ -544,7 +544,7 @@ void adp_state::quickjac(machine_config &config) { M68000(config, m_maincpu, 8000000); m_maincpu->set_addrmap(AS_PROGRAM, &adp_state::quickjac_mem); - m_maincpu->set_irq_acknowledge_callback(FUNC(adp_state::duart_iack_handler)); + m_maincpu->set_addrmap(m68000_device::AS_CPU_SPACE, &adp_state::fc7_map); MCFG_MACHINE_START_OVERRIDE(adp_state,skattv) MCFG_MACHINE_RESET_OVERRIDE(adp_state,skattv) 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 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); // ? -- cgit v1.2.3