1 // license:BSD-3-Clause 2 // copyright-holders:Bryan McPhail 3 4 #include "machine/gen_latch.h" 5 #include "cpu/h6280/h6280.h" 6 #include "sound/msm5205.h" 7 #include "video/huc6260.h" 8 #include "video/huc6270.h" 9 #include "screen.h" 10 11 #define MAIN_CLOCK 21477270 12 13 class battlera_state : public driver_device 14 { 15 public: battlera_state(const machine_config & mconfig,device_type type,const char * tag)16 battlera_state(const machine_config &mconfig, device_type type, const char *tag) 17 : driver_device(mconfig, type, tag) 18 , m_maincpu(*this, "maincpu") 19 , m_audiocpu(*this, "audiocpu") 20 , m_msm(*this, "msm") 21 , m_screen(*this, "screen") 22 , m_huc6260(*this, "huc6260") 23 , m_soundlatch(*this, "soundlatch") 24 { } 25 26 required_device<h6280_device> m_maincpu; 27 required_device<h6280_device> m_audiocpu; 28 required_device<msm5205_device> m_msm; 29 required_device<screen_device> m_screen; 30 required_device<huc6260_device> m_huc6260; 31 required_device<generic_latch_8_device> m_soundlatch; 32 33 int m_control_port_select; 34 int m_msm5205next; 35 int m_toggle; 36 37 void control_data_w(uint8_t data); 38 uint8_t control_data_r(); 39 void adpcm_data_w(uint8_t data); 40 void adpcm_reset_w(uint8_t data); 41 DECLARE_WRITE_LINE_MEMBER(adpcm_int); 42 43 virtual void machine_start() override; 44 virtual void machine_reset() override; 45 46 uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 47 void battlera(machine_config &config); 48 void battlera_map(address_map &map); 49 void battlera_portmap(address_map &map); 50 void sound_map(address_map &map); 51 }; 52