1 // license:BSD-3-Clause 2 // copyright-holders:Yochizo 3 /************************************************************************* 4 5 Taito H system 6 7 *************************************************************************/ 8 #ifndef MAME_INCLUDES_TAITO_H_H 9 #define MAME_INCLUDES_TAITO_H_H 10 11 #pragma once 12 13 #include "machine/taitoio.h" 14 #include "video/tc0080vco.h" 15 #include "emupal.h" 16 17 18 class taitoh_state : public driver_device 19 { 20 public: taitoh_state(const machine_config & mconfig,device_type type,const char * tag)21 taitoh_state(const machine_config &mconfig, device_type type, const char *tag) : 22 driver_device(mconfig, type, tag), 23 m_maincpu(*this, "maincpu"), 24 m_audiocpu(*this, "audiocpu"), 25 m_tc0080vco(*this, "tc0080vco"), 26 m_tc0040ioc(*this, "tc0040ioc"), 27 m_palette(*this, "palette"), 28 m_z80bank(*this, "z80bank"), 29 m_io_p1x(*this, "P1X"), 30 m_io_p1y(*this, "P1Y"), 31 m_io_p2x(*this, "P2X"), 32 m_io_p2y(*this, "P2Y") 33 { } 34 35 void recordbr(machine_config &config); 36 void syvalion(machine_config &config); 37 void dleague(machine_config &config); 38 void tetristh(machine_config &config); 39 40 protected: 41 virtual void machine_start() override; 42 virtual void machine_reset() override; 43 44 private: 45 /* devices */ 46 required_device<cpu_device> m_maincpu; 47 required_device<cpu_device> m_audiocpu; 48 required_device<tc0080vco_device> m_tc0080vco; 49 optional_device<tc0040ioc_device> m_tc0040ioc; 50 required_device<palette_device> m_palette; 51 52 required_memory_bank m_z80bank; 53 54 optional_ioport m_io_p1x; 55 optional_ioport m_io_p1y; 56 optional_ioport m_io_p2x; 57 optional_ioport m_io_p2y; 58 59 void coin_control_w(u8 data); 60 u8 syvalion_input_bypass_r(); 61 void sound_bankswitch_w(u8 data); 62 u32 screen_update_syvalion(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 63 u32 screen_update_recordbr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 64 u32 screen_update_dleague(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 65 void syvalion_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); 66 void recordbr_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority); 67 void dleague_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority); 68 void taitoh_log_vram(); 69 void dleague_map(address_map &map); 70 void recordbr_map(address_map &map); 71 void sound_map(address_map &map); 72 void syvalion_map(address_map &map); 73 void tetristh_map(address_map &map); 74 }; 75 76 #endif // MAME_INCLUDES_TAITO_H_H 77