diff options
Diffstat (limited to 'src/devices/bus/nes/kaiser.h')
-rw-r--r-- | src/devices/bus/nes/kaiser.h | 78 |
1 files changed, 55 insertions, 23 deletions
diff --git a/src/devices/bus/nes/kaiser.h b/src/devices/bus/nes/kaiser.h index 0b71e59cb51..5dfe730ae91 100644 --- a/src/devices/bus/nes/kaiser.h +++ b/src/devices/bus/nes/kaiser.h @@ -96,6 +96,40 @@ public: }; +// ======================> nes_ks7016_device + +class nes_ks7016_device : public nes_nrom_device +{ +public: + // construction/destruction + nes_ks7016_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + virtual u8 read_m(offs_t offset) override; + virtual void write_h(offs_t offset, u8 data) override; + + virtual void pcb_reset() override; + +protected: + nes_ks7016_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 mask); + + // device-level overrides + virtual void device_start() override; + +private: + u8 m_latch, m_mask; +}; + + +// ======================> nes_ks7016b_device + +class nes_ks7016b_device : public nes_ks7016_device +{ +public: + // construction/destruction + nes_ks7016b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); +}; + + // ======================> nes_ks7017_device class nes_ks7017_device : public nes_nrom_device @@ -127,6 +161,24 @@ private: }; +// ======================> nes_ks7021a_device + +class nes_ks7021a_device : public nes_nrom_device +{ +public: + // construction/destruction + nes_ks7021a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + virtual void write_h(offs_t offset, u8 data) override; + + virtual void pcb_reset() override; + +protected: + // device-level overrides + virtual void device_start() override; +}; + + // ======================> nes_ks7010_device class nes_ks7010_device : public nes_nrom_device @@ -233,28 +285,6 @@ private: }; -// ======================> nes_ks7016_device - -class nes_ks7016_device : public nes_nrom_device -{ -public: - // construction/destruction - nes_ks7016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - virtual uint8_t read_m(offs_t offset) override; - virtual void write_h(offs_t offset, uint8_t data) override; - - virtual void pcb_reset() override; - -protected: - // device-level overrides - virtual void device_start() override; - -private: - uint8_t m_reg; -}; - - // ======================> nes_ks7037_device class nes_ks7037_device : public nes_nrom_device @@ -308,9 +338,11 @@ private: DECLARE_DEVICE_TYPE(NES_KS202, nes_ks202_device) DECLARE_DEVICE_TYPE(NES_KS7010, nes_ks7010_device) DECLARE_DEVICE_TYPE(NES_KS7012, nes_ks7012_device) +DECLARE_DEVICE_TYPE(NES_KS7013B, nes_ks7013b_device) DECLARE_DEVICE_TYPE(NES_KS7016, nes_ks7016_device) +DECLARE_DEVICE_TYPE(NES_KS7016B, nes_ks7016b_device) DECLARE_DEVICE_TYPE(NES_KS7017, nes_ks7017_device) -DECLARE_DEVICE_TYPE(NES_KS7013B, nes_ks7013b_device) +DECLARE_DEVICE_TYPE(NES_KS7021A, nes_ks7021a_device) DECLARE_DEVICE_TYPE(NES_KS7022, nes_ks7022_device) DECLARE_DEVICE_TYPE(NES_KS7030, nes_ks7030_device) DECLARE_DEVICE_TYPE(NES_KS7031, nes_ks7031_device) |