1 // license:BSD-3-Clause 2 // copyright-holders:Mark McDougall, R. Belmont 3 /*************************************************************************** 4 5 namcond1.h 6 7 Common functions & declarations for the Namco ND-1 driver 8 9 ***************************************************************************/ 10 11 #include "video/ygv608.h" 12 #include "machine/nvram.h" 13 14 class namcond1_state : public driver_device 15 { 16 public: namcond1_state(const machine_config & mconfig,device_type type,const char * tag)17 namcond1_state(const machine_config &mconfig, device_type type, const char *tag) 18 : driver_device(mconfig, type, tag), 19 m_maincpu(*this, "maincpu"), 20 m_mcu(*this, "mcu"), 21 m_ygv608(*this, "ygv608"), 22 m_zpr1(*this, "zpr1"), 23 m_zpr2(*this, "zpr2"), 24 m_shared_ram(*this, "shared_ram") { } 25 26 void abcheck(machine_config &config); 27 void namcond1(machine_config &config); 28 29 private: 30 required_device<cpu_device> m_maincpu; 31 required_device<cpu_device> m_mcu; 32 required_device<ygv608_device> m_ygv608; 33 optional_device<nvram_device> m_zpr1, m_zpr2; 34 35 required_shared_ptr<uint16_t> m_shared_ram; 36 37 uint8_t m_h8_irq5_enabled; 38 int m_p8; 39 40 uint16_t mcu_p7_read(); 41 uint16_t mcu_pa_read(); 42 void mcu_pa_write(uint16_t data); 43 uint16_t cuskey_r(offs_t offset); 44 void cuskey_w(offs_t offset, uint16_t data); 45 uint16_t printer_r(); 46 47 virtual void machine_start() override; 48 virtual void machine_reset() override; 49 50 DECLARE_WRITE_LINE_MEMBER( vblank_irq_w ); 51 DECLARE_WRITE_LINE_MEMBER( raster_irq_w ); 52 INTERRUPT_GEN_MEMBER(mcu_interrupt); 53 void abcheck_map(address_map &map); 54 void namcond1_map(address_map &map); 55 void nd1h8iomap(address_map &map); 56 void nd1h8rwmap(address_map &map); 57 }; 58