diff options
Diffstat (limited to 'src/devices/bus/sbus/sbus.h')
-rw-r--r-- | src/devices/bus/sbus/sbus.h | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/devices/bus/sbus/sbus.h b/src/devices/bus/sbus/sbus.h index c6ad513f4ca..8f395afa253 100644 --- a/src/devices/bus/sbus/sbus.h +++ b/src/devices/bus/sbus/sbus.h @@ -38,7 +38,7 @@ public: protected: sbus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides + // device_t implementation virtual void device_validity_check(validity_checker &valid) const override; virtual void device_resolve_objects() override; virtual void device_start() override; @@ -58,20 +58,18 @@ class sbus_device : public device_t, public: // construction/destruction template <typename T, typename U> - sbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&cpu_tag, U &&space_tag) + sbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&cpu_tag, U &&space_tag, int space_num) : sbus_device(mconfig, tag, owner, clock) { - set_cpu_tag(std::forward<T>(cpu_tag)); - set_space_tag(std::forward<U>(space_tag)); + set_cpu(std::forward<T>(cpu_tag)); + set_type1space(std::forward<U>(space_tag), space_num); } sbus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // inline configuration - template <typename T> void set_cpu_tag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); } - template <typename T> void set_space_tag(T &&tag) { m_type1space.set_tag(std::forward<T>(tag)); } - - // devcb3 + template <typename T> void set_cpu(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); } + template <typename T> void set_type1space(T &&tag, int num) { m_type1space.set_tag(std::forward<T>(tag), num); } template <unsigned Line> auto irq() { return m_irq_cb[Line].bind(); } auto buserr() { return m_buserr.bind(); } @@ -95,13 +93,12 @@ public: protected: sbus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_resolve_objects() override; + // device_t implementation virtual void device_start() override; // internal state required_device<sparc_base_device> m_maincpu; - required_device<address_map_bank_device> m_type1space; + required_address_space m_type1space; address_space *m_space; devcb_write_line::array<7> m_irq_cb; |