diff options
Diffstat (limited to 'src/devices/bus/bml3/bml3bus.h')
-rw-r--r-- | src/devices/bus/bml3/bml3bus.h | 30 |
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); |