summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/bml3/bml3bus.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/bml3/bml3bus.h')
-rw-r--r--src/devices/bus/bml3/bml3bus.h30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/devices/bus/bml3/bml3bus.h b/src/devices/bus/bml3/bml3bus.h
index 6e17408aca3..3663c4d3b61 100644
--- a/src/devices/bus/bml3/bml3bus.h
+++ b/src/devices/bus/bml3/bml3bus.h
@@ -75,16 +75,18 @@ public:
bml3bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
- template <class Object> void set_space(Object &&tag, int spacenum) { m_space.set_tag(std::forward<Object>(tag), spacenum); }
auto nmi_callback() { return m_out_nmi_cb.bind(); }
auto irq_callback() { return m_out_irq_cb.bind(); }
auto firq_callback() { return m_out_firq_cb.bind(); }
device_bml3bus_card_interface *get_bml3bus_card(int slot);
- DECLARE_WRITE_LINE_MEMBER( nmi_w );
- DECLARE_WRITE_LINE_MEMBER( irq_w );
- DECLARE_WRITE_LINE_MEMBER( firq_w );
+ void map_exrom(address_space_installer &space);
+ void map_io(address_space_installer &space);
+
+ void nmi_w(int state);
+ void irq_w(int state);
+ void firq_w(int state);
protected:
bml3bus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -95,15 +97,11 @@ protected:
void add_bml3bus_card(int slot, device_bml3bus_card_interface &card);
- address_space &space() const { return *m_space; }
-
void set_nmi_line(int state);
void set_irq_line(int state);
void set_firq_line(int state);
- // internal state
- required_address_space m_space;
-
+ // line callbacks
devcb_write_line m_out_nmi_cb;
devcb_write_line m_out_irq_cb;
devcb_write_line m_out_firq_cb;
@@ -131,14 +129,18 @@ public:
protected:
virtual void interface_pre_start() override;
- address_space &space() { return m_bml3bus->space(); }
+ virtual void map_exrom(address_space_installer &space) { }
+ virtual void map_io(address_space_installer &space) { }
- void raise_slot_nmi() { m_bml3bus->set_nmi_line(ASSERT_LINE); }
- void lower_slot_nmi() { m_bml3bus->set_nmi_line(CLEAR_LINE); }
- void raise_slot_irq() { m_bml3bus->set_irq_line(ASSERT_LINE); }
- void lower_slot_irq() { m_bml3bus->set_irq_line(CLEAR_LINE); }
+ void raise_slot_nmi() { m_bml3bus->set_nmi_line(ASSERT_LINE); }
+ void lower_slot_nmi() { m_bml3bus->set_nmi_line(CLEAR_LINE); }
+ void raise_slot_irq() { m_bml3bus->set_irq_line(ASSERT_LINE); }
+ void lower_slot_irq() { m_bml3bus->set_irq_line(CLEAR_LINE); }
void raise_slot_firq() { m_bml3bus->set_firq_line(ASSERT_LINE); }
void lower_slot_firq() { m_bml3bus->set_firq_line(CLEAR_LINE); }
+ void nmi_w(int state) { m_bml3bus->set_nmi_line(state); }
+ void irq_w(int state) { m_bml3bus->set_irq_line(state); }
+ void firq_w(int state) { m_bml3bus->set_firq_line(state); }
device_bml3bus_card_interface(const machine_config &mconfig, device_t &device);