diff options
Diffstat (limited to 'src/devices/bus/nes/cony.h')
-rw-r--r-- | src/devices/bus/nes/cony.h | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/src/devices/bus/nes/cony.h b/src/devices/bus/nes/cony.h index aa767a88c13..6843689db7f 100644 --- a/src/devices/bus/nes/cony.h +++ b/src/devices/bus/nes/cony.h @@ -14,18 +14,19 @@ class nes_cony_device : public nes_nrom_device { public: // construction/destruction - nes_cony_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nes_cony_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - virtual uint8_t read_l(offs_t offset) override; - virtual void write_l(offs_t offset, uint8_t data) override; - virtual void write_h(offs_t offset, uint8_t data) override; + virtual u8 read_l(offs_t offset) override; + virtual u8 read_m(offs_t offset) override; + virtual void write_l(offs_t offset, u8 data) override; + virtual void write_m(offs_t offset, u8 data) override; + virtual void write_h(offs_t offset, u8 data) override; virtual void pcb_reset() override; protected: - static constexpr device_timer_id TIMER_IRQ = 0; - - nes_cony_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + // construction/destruction + nes_cony_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); // device-level overrides virtual void device_start() override; @@ -34,46 +35,49 @@ protected: virtual void set_prg(); virtual void set_chr(); - uint16_t m_irq_count; + u16 m_irq_count; int m_irq_enable; + static constexpr device_timer_id TIMER_IRQ = 0; emu_timer *irq_timer; - uint8_t m_latch1, m_latch2; - uint8_t m_low_reg[4]; - uint8_t m_reg[10]; - uint8_t m_extra1; + u8 m_mmc_prg_bank[4]; + u8 m_mmc_vrom_bank[8]; + u8 m_extra_ram[4]; + u16 m_extra_addr; + u8 m_mask; + u8 m_mode_reg; + u8 m_outer_reg; }; -// ======================> nes_yoko_device +// ======================> nes_cony1k_device -class nes_yoko_device : public nes_cony_device +class nes_cony1k_device : public nes_cony_device { public: // construction/destruction - nes_yoko_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nes_cony1k_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - virtual uint8_t read_l(offs_t offset) override; - virtual void write_l(offs_t offset, uint8_t data) override; - virtual void write_h(offs_t offset, uint8_t data) override; + virtual void set_chr() override; +}; - virtual void pcb_reset() override; -protected: - // device-level overrides - virtual void device_start() override; +// ======================> nes_yoko_device -private: - virtual void set_prg() override; - virtual void set_chr() override; +class nes_yoko_device : public nes_cony_device +{ +public: + // construction/destruction + nes_yoko_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - uint8_t m_extra2; + virtual void write_h(offs_t offset, u8 data) override; }; // device type definition -DECLARE_DEVICE_TYPE(NES_CONY, nes_cony_device) -DECLARE_DEVICE_TYPE(NES_YOKO, nes_yoko_device) +DECLARE_DEVICE_TYPE(NES_CONY, nes_cony_device) +DECLARE_DEVICE_TYPE(NES_CONY1K, nes_cony1k_device) +DECLARE_DEVICE_TYPE(NES_YOKO, nes_yoko_device) #endif // MAME_BUS_NES_CONY_H |