summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/a2bus/a2bus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/a2bus/a2bus.cpp')
-rw-r--r--src/devices/bus/a2bus/a2bus.cpp28
1 files changed, 10 insertions, 18 deletions
diff --git a/src/devices/bus/a2bus/a2bus.cpp b/src/devices/bus/a2bus/a2bus.cpp
index 84df6f73b35..7adcaf368a7 100644
--- a/src/devices/bus/a2bus/a2bus.cpp
+++ b/src/devices/bus/a2bus/a2bus.cpp
@@ -145,8 +145,11 @@ a2bus_device::a2bus_device(const machine_config &mconfig, const char *tag, devic
a2bus_device::a2bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
- , m_maincpu(*this, finder_base::DUMMY_TAG), m_maincpu_space(nullptr)
- , m_out_irq_cb(*this) , m_out_nmi_cb(*this), m_out_inh_cb(*this)
+ , m_maincpu_space(*this, finder_base::DUMMY_TAG, -1)
+ , m_out_irq_cb(*this)
+ , m_out_nmi_cb(*this)
+ , m_out_inh_cb(*this)
+ , m_out_dma_cb(*this)
, m_slot_irq_mask(0), m_slot_nmi_mask(0)
{
}
@@ -157,12 +160,11 @@ a2bus_device::a2bus_device(const machine_config &mconfig, device_type type, cons
void a2bus_device::device_resolve_objects()
{
- m_maincpu_space = &m_maincpu->space(AS_PROGRAM);
-
// resolve callbacks
m_out_irq_cb.resolve_safe();
m_out_nmi_cb.resolve_safe();
m_out_inh_cb.resolve_safe();
+ m_out_dma_cb.resolve_safe();
}
void a2bus_device::device_start()
@@ -239,27 +241,17 @@ void a2bus_device::set_nmi_line(int state, int slot)
}
}
-void a2bus_device::set_maincpu_halt(int state)
+void a2bus_device::set_dma_line(int state)
{
- m_maincpu->set_input_line(INPUT_LINE_HALT, state);
-}
-
-uint8_t a2bus_device::dma_r(address_space &space, uint16_t offset)
-{
- return m_maincpu_space->read_byte(offset);
-}
-
-void a2bus_device::dma_w(address_space &space, uint16_t offset, uint8_t data)
-{
- m_maincpu_space->write_byte(offset, data);
+ m_out_dma_cb(state);
}
-uint8_t a2bus_device::dma_nospace_r(uint16_t offset)
+uint8_t a2bus_device::dma_r(uint16_t offset)
{
return m_maincpu_space->read_byte(offset);
}
-void a2bus_device::dma_nospace_w(uint16_t offset, uint8_t data)
+void a2bus_device::dma_w(uint16_t offset, uint8_t data)
{
m_maincpu_space->write_byte(offset, data);
}