summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/stellafr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/stellafr.cpp')
-rw-r--r--src/mame/drivers/stellafr.cpp20
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); // ?