1 // license:BSD-3-Clause 2 // copyright-holders:AJR 3 /*************************************************************************** 4 5 Roland MB63H149 gate array 6 7 ***************************************************************************/ 8 9 #ifndef MAME_MACHINE_MB63H149_H 10 #define MAME_MACHINE_MB63H149_H 11 12 #pragma once 13 14 //************************************************************************** 15 // TYPE DEFINITIONS 16 //************************************************************************** 17 18 // ======================> mb63h149_device 19 20 class mb63h149_device : public device_t 21 { 22 public: 23 // device type constructor 24 mb63h149_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); 25 26 // configuration int_callback()27 auto int_callback() { return m_int_callback.bind(); } 28 29 // CPU read/write handlers 30 u8 read(offs_t offset); 31 void write(offs_t offset, u8 data); 32 33 protected: 34 mb63h149_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); 35 36 // device-specific overrides 37 virtual void device_resolve_objects() override; 38 virtual void device_start() override; 39 virtual void device_reset() override; 40 41 private: 42 // callback objects 43 devcb_write_line m_int_callback; 44 }; 45 46 // ======================> mb63h130_device 47 48 class mb63h130_device : public mb63h149_device 49 { 50 public: 51 // device type constructor 52 mb63h130_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); 53 }; 54 55 56 // device type declarations 57 DECLARE_DEVICE_TYPE(MB63H149, mb63h149_device) 58 DECLARE_DEVICE_TYPE(MB63H130, mb63h130_device) 59 60 #endif // MAME_MACHINE_MB63H149_H 61