diff options
Diffstat (limited to 'src/devices/machine/spg110.h')
-rw-r--r-- | src/devices/machine/spg110.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/devices/machine/spg110.h b/src/devices/machine/spg110.h index 541052d1f51..df32eea96e0 100644 --- a/src/devices/machine/spg110.h +++ b/src/devices/machine/spg110.h @@ -13,23 +13,19 @@ #include "spg110_video.h" #include "spg2xx_audio.h" -class spg110_device : public device_t, public device_mixer_interface +class spg110_device : public unsp_device, public device_mixer_interface { public: - spg110_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); spg110_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template <typename T, typename U> - spg110_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&cpu_tag, U &&screen_tag) + template <typename T> + spg110_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&screen_tag) : spg110_device(mconfig, tag, owner, clock) { - m_cpu.set_tag(std::forward<T>(cpu_tag)); - m_screen.set_tag(std::forward<U>(screen_tag)); + m_screen.set_tag(std::forward<T>(screen_tag)); } - void map(address_map &map); - auto porta_out() { return m_porta_out.bind(); } auto portb_out() { return m_portb_out.bind(); } auto portc_out() { return m_portc_out.bind(); } @@ -45,14 +41,16 @@ public: DECLARE_WRITE_LINE_MEMBER(vblank) { m_spg_video->vblank(state); } protected: + spg110_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal); + + void internal_map(address_map &map); + virtual void device_start() override; virtual void device_reset() override; virtual void device_add_mconfig(machine_config &config) override; private: - - required_device<unsp_device> m_cpu; required_device<screen_device> m_screen; required_device<spg2xx_io_device> m_spg_io; |