1 // license:BSD-3-Clause 2 // copyright-holders:David Haywood 3 /************************************************************************* 4 5 Gumbo - Miss Bingo - Miss Puzzle 6 7 *************************************************************************/ 8 #ifndef MAME_INCLUDES_GUMBO_H 9 #define MAME_INCLUDES_GUMBO_H 10 11 #pragma once 12 13 #include "tilemap.h" 14 15 class gumbo_state : public driver_device 16 { 17 public: gumbo_state(const machine_config & mconfig,device_type type,const char * tag)18 gumbo_state(const machine_config &mconfig, device_type type, const char *tag) : 19 driver_device(mconfig, type, tag), 20 m_bg_videoram(*this, "bg_videoram"), 21 m_fg_videoram(*this, "fg_videoram"), 22 m_maincpu(*this, "maincpu"), 23 m_gfxdecode(*this, "gfxdecode") 24 { } 25 26 void mspuzzle(machine_config &config); 27 void dblpoint(machine_config &config); 28 void gumbo(machine_config &config); 29 30 protected: 31 virtual void video_start() override; 32 33 private: 34 /* memory pointers */ 35 required_shared_ptr<uint16_t> m_bg_videoram; 36 required_shared_ptr<uint16_t> m_fg_videoram; 37 38 /* video-related */ 39 tilemap_t *m_bg_tilemap; 40 tilemap_t *m_fg_tilemap; 41 42 required_device<cpu_device> m_maincpu; 43 required_device<gfxdecode_device> m_gfxdecode; 44 45 void gumbo_bg_videoram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); 46 void gumbo_fg_videoram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); 47 TILE_GET_INFO_MEMBER(get_gumbo_bg_tile_info); 48 TILE_GET_INFO_MEMBER(get_gumbo_fg_tile_info); 49 uint32_t screen_update_gumbo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 50 51 void dblpoint_map(address_map &map); 52 void gumbo_map(address_map &map); 53 void mspuzzle_map(address_map &map); 54 }; 55 56 #endif // MAME_INCLUDES_GUMBO_H 57