1 // license:BSD-3-Clause 2 // copyright-holders:Yochizo 3 #ifndef MAME_INCLUDES_EXZIUS_H 4 #define MAME_INCLUDES_EXZIUS_H 5 6 #pragma once 7 8 #include "emupal.h" 9 10 class exzisus_state : public driver_device 11 { 12 public: exzisus_state(const machine_config & mconfig,device_type type,const char * tag)13 exzisus_state(const machine_config &mconfig, device_type type, const char *tag) : 14 driver_device(mconfig, type, tag), 15 m_cpuc(*this, "cpuc"), 16 m_gfxdecode(*this, "gfxdecode"), 17 m_palette(*this, "palette"), 18 m_objectram1(*this, "objectram1"), 19 m_videoram1(*this, "videoram1"), 20 m_sharedram_ac(*this, "sharedram_ac"), 21 m_sharedram_ab(*this, "sharedram_ab"), 22 m_objectram0(*this, "objectram0"), 23 m_videoram0(*this, "videoram0") 24 { } 25 26 void exzisus(machine_config &config); 27 28 private: 29 required_device<cpu_device> m_cpuc; 30 required_device<gfxdecode_device> m_gfxdecode; 31 required_device<palette_device> m_palette; 32 33 required_shared_ptr<uint8_t> m_objectram1; 34 required_shared_ptr<uint8_t> m_videoram1; 35 required_shared_ptr<uint8_t> m_sharedram_ac; 36 required_shared_ptr<uint8_t> m_sharedram_ab; 37 required_shared_ptr<uint8_t> m_objectram0; 38 required_shared_ptr<uint8_t> m_videoram0; 39 40 void cpua_bankswitch_w(uint8_t data); 41 void cpub_bankswitch_w(uint8_t data); 42 void coincounter_w(uint8_t data); 43 void cpub_reset_w(uint8_t data); 44 45 virtual void machine_start() override; 46 47 uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 48 void cpua_map(address_map &map); 49 void cpub_map(address_map &map); 50 void cpuc_map(address_map &map); 51 void sound_map(address_map &map); 52 }; 53 54 #endif // MAME_INCLUDES_EXZIUS_H 55