1 // license:BSD-3-Clause 2 // copyright-holders:Luca Elia 3 #ifndef MAME_INCLUDES_CLSHROAD_H 4 #define MAME_INCLUDES_CLSHROAD_H 5 6 #pragma once 7 8 #include "emupal.h" 9 #include "tilemap.h" 10 11 class clshroad_state : public driver_device 12 { 13 public: clshroad_state(const machine_config & mconfig,device_type type,const char * tag)14 clshroad_state(const machine_config &mconfig, device_type type, const char *tag) : 15 driver_device(mconfig, type, tag), 16 m_maincpu(*this, "maincpu"), 17 m_audiocpu(*this, "audiocpu"), 18 m_gfxdecode(*this, "gfxdecode"), 19 m_palette(*this, "palette"), 20 m_spriteram(*this, "spriteram"), 21 m_vram_0(*this, "vram_0"), 22 m_vram_1(*this, "vram_1"), 23 m_vregs(*this, "vregs") 24 { } 25 26 required_device<cpu_device> m_maincpu; 27 required_device<cpu_device> m_audiocpu; 28 required_device<gfxdecode_device> m_gfxdecode; 29 required_device<palette_device> m_palette; 30 31 required_shared_ptr<uint8_t> m_spriteram; 32 required_shared_ptr<uint8_t> m_vram_0; 33 required_shared_ptr<uint8_t> m_vram_1; 34 required_shared_ptr<uint8_t> m_vregs; 35 36 uint8_t m_main_irq_mask; 37 uint8_t m_sound_irq_mask; 38 39 tilemap_t *m_tilemap_0a; 40 tilemap_t *m_tilemap_0b; 41 tilemap_t *m_tilemap_1; 42 43 uint8_t input_r(offs_t offset); 44 DECLARE_WRITE_LINE_MEMBER(main_irq_mask_w); 45 DECLARE_WRITE_LINE_MEMBER(sound_irq_mask_w); 46 DECLARE_WRITE_LINE_MEMBER(flipscreen_w); 47 void vram_0_w(offs_t offset, uint8_t data); 48 void vram_1_w(offs_t offset, uint8_t data); 49 50 TILE_GET_INFO_MEMBER(get_tile_info_0a); 51 TILE_GET_INFO_MEMBER(get_tile_info_0b); 52 TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_extra); 53 TILE_GET_INFO_MEMBER(get_tile_info_fb1); 54 TILE_GET_INFO_MEMBER(get_tile_info_1); 55 56 void init_firebatl(); 57 virtual void machine_reset() override; 58 DECLARE_VIDEO_START(firebatl); 59 void firebatl_palette(palette_device &palette) const; 60 DECLARE_VIDEO_START(clshroad); 61 void clshroad_palette(palette_device &palette) const; 62 uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 63 void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); 64 65 INTERRUPT_GEN_MEMBER(vblank_irq); 66 INTERRUPT_GEN_MEMBER(sound_timer_irq); 67 void firebatl(machine_config &config); 68 void clshroad(machine_config &config); 69 void clshroad_map(address_map &map); 70 void clshroad_sound_map(address_map &map); 71 }; 72 73 #endif // MAME_INCLUDES_CLSHROAD_H 74