diff options
Diffstat (limited to 'src/devices/bus/a1bus/a1bus.h')
-rw-r--r-- | src/devices/bus/a1bus/a1bus.h | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/src/devices/bus/a1bus/a1bus.h b/src/devices/bus/a1bus/a1bus.h index 484cba5b70f..7970f150719 100644 --- a/src/devices/bus/a1bus/a1bus.h +++ b/src/devices/bus/a1bus/a1bus.h @@ -13,19 +13,6 @@ //************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_A1BUS_CPU(_cputag) \ - downcast<a1bus_device &>(*device).set_cputag(_cputag); - -#define MCFG_A1BUS_OUT_IRQ_CB(_devcb) \ - downcast<a1bus_device &>(*device).set_out_irq_callback(DEVCB_##_devcb); - -#define MCFG_A1BUS_OUT_NMI_CB(_devcb) \ - downcast<a1bus_device &>(*device).set_out_nmi_callback(DEVCB_##_devcb); - -//************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -72,9 +59,9 @@ public: a1bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // inline configuration - template <typename T> void set_cputag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); } - template <class Object> devcb_base &set_out_irq_callback(Object &&cb) { return m_out_irq_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_out_nmi_callback(Object &&cb) { return m_out_nmi_cb.set_callback(std::forward<Object>(cb)); } + template <typename T> void set_space(T &&tag, int spacenum) { m_space.set_tag(std::forward<T>(tag), spacenum); } + auto out_irq_callback() { return m_out_irq_cb.bind(); } + auto out_nmi_callback() { return m_out_nmi_cb.bind(); } void add_a1bus_card(device_a1bus_card_interface *card); device_a1bus_card_interface *get_a1bus_card(); @@ -97,7 +84,7 @@ protected: virtual void device_reset() override; // internal state - required_device<cpu_device> m_maincpu; + required_address_space m_space; devcb_write_line m_out_irq_cb; devcb_write_line m_out_nmi_cb; |