diff options
Diffstat (limited to 'src/devices/bus/nes/camerica.h')
-rw-r--r-- | src/devices/bus/nes/camerica.h | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/src/devices/bus/nes/camerica.h b/src/devices/bus/nes/camerica.h index 7688249a64c..0c2c2487361 100644 --- a/src/devices/bus/nes/camerica.h +++ b/src/devices/bus/nes/camerica.h @@ -14,15 +14,11 @@ class nes_bf9093_device : public nes_nrom_device { public: // construction/destruction - nes_bf9093_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nes_bf9093_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - virtual void write_h(offs_t offset, uint8_t data) override; + virtual void write_h(offs_t offset, u8 data) override; virtual void pcb_reset() override; - -protected: - // device-level overrides - virtual void device_start() override; }; @@ -32,19 +28,31 @@ class nes_bf9096_device : public nes_nrom_device { public: // construction/destruction - nes_bf9096_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nes_bf9096_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - virtual void write_h(offs_t offset, uint8_t data) override; - virtual void write_m(offs_t offset, uint8_t data) override { write_h(offset, data); } + virtual void write_h(offs_t offset, u8 data) override; virtual void pcb_reset() override; protected: + nes_bf9096_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, bool page_swap); + // device-level overrides virtual void device_start() override; private: - uint8_t m_bank_base, m_latch; + u8 m_reg; + const bool m_page_swap; +}; + + +// ======================> nes_bf9096a_device + +class nes_bf9096a_device : public nes_bf9096_device +{ +public: + // construction/destruction + nes_bf9096a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); }; @@ -54,9 +62,9 @@ class nes_golden5_device : public nes_nrom_device { public: // construction/destruction - nes_golden5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nes_golden5_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - virtual void write_h(offs_t offset, uint8_t data) override; + virtual void write_h(offs_t offset, u8 data) override; virtual void pcb_reset() override; @@ -65,13 +73,14 @@ protected: virtual void device_start() override; private: - uint8_t m_bank_base, m_latch; + u8 m_lock, m_reg; }; // device type definition DECLARE_DEVICE_TYPE(NES_BF9093, nes_bf9093_device) DECLARE_DEVICE_TYPE(NES_BF9096, nes_bf9096_device) +DECLARE_DEVICE_TYPE(NES_BF9096A, nes_bf9096a_device) DECLARE_DEVICE_TYPE(NES_GOLDEN5, nes_golden5_device) #endif // MAME_BUS_NES_CAMERICA_H |