summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/a1bus/a1bus.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/a1bus/a1bus.h')
-rw-r--r--src/devices/bus/a1bus/a1bus.h21
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;