diff options
Diffstat (limited to 'src/mame/includes/sderby.h')
-rw-r--r-- | src/mame/includes/sderby.h | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/src/mame/includes/sderby.h b/src/mame/includes/sderby.h index 4fbe0a49258..2f59f662640 100644 --- a/src/mame/includes/sderby.h +++ b/src/mame/includes/sderby.h @@ -3,26 +3,18 @@ class sderby_state : public driver_device { public: - sderby_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + sderby_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_videoram(*this, "videoram"), m_md_videoram(*this, "md_videoram"), m_fg_videoram(*this, "fg_videoram"), m_spriteram(*this, "spriteram"), m_maincpu(*this, "maincpu"), m_gfxdecode(*this, "gfxdecode"), - m_palette(*this, "palette") { } + m_palette(*this, "palette"), + m_lamp(*this, "lamp%u", 0U) + { } - required_shared_ptr<uint16_t> m_videoram; - required_shared_ptr<uint16_t> m_md_videoram; - required_shared_ptr<uint16_t> m_fg_videoram; - required_shared_ptr<uint16_t> m_spriteram; - - tilemap_t *m_tilemap; - tilemap_t *m_md_tilemap; - tilemap_t *m_fg_tilemap; - - uint16_t m_scroll[6]; DECLARE_READ16_MEMBER(sderby_input_r); DECLARE_READ16_MEMBER(sderbya_input_r); DECLARE_READ16_MEMBER(roulette_input_r); @@ -38,13 +30,9 @@ public: TILE_GET_INFO_MEMBER(get_sderby_tile_info); TILE_GET_INFO_MEMBER(get_sderby_md_tile_info); TILE_GET_INFO_MEMBER(get_sderby_fg_tile_info); - virtual void video_start() override; uint32_t screen_update_sderby(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_pmroulet(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,int codeshift); - required_device<cpu_device> m_maincpu; - required_device<gfxdecode_device> m_gfxdecode; - required_device<palette_device> m_palette; void spacewin(machine_config &config); void sderbya(machine_config &config); void pmroulet(machine_config &config); @@ -57,4 +45,23 @@ public: void sderbya_map(address_map &map); void shinygld_map(address_map &map); void spacewin_map(address_map &map); + +protected: + virtual void machine_start() override { m_lamp.resolve(); } + virtual void video_start() override; + + required_shared_ptr<uint16_t> m_videoram; + required_shared_ptr<uint16_t> m_md_videoram; + required_shared_ptr<uint16_t> m_fg_videoram; + required_shared_ptr<uint16_t> m_spriteram; + + tilemap_t *m_tilemap; + tilemap_t *m_md_tilemap; + tilemap_t *m_fg_tilemap; + + uint16_t m_scroll[6]; + required_device<cpu_device> m_maincpu; + required_device<gfxdecode_device> m_gfxdecode; + required_device<palette_device> m_palette; + output_finder<8> m_lamp; }; |