diff options
Diffstat (limited to 'src/devices/bus/nes/kaiser.h')
-rw-r--r-- | src/devices/bus/nes/kaiser.h | 92 |
1 files changed, 55 insertions, 37 deletions
diff --git a/src/devices/bus/nes/kaiser.h b/src/devices/bus/nes/kaiser.h index c6d094d4390..8c544059aa9 100644 --- a/src/devices/bus/nes/kaiser.h +++ b/src/devices/bus/nes/kaiser.h @@ -1,7 +1,9 @@ // license:BSD-3-Clause // copyright-holders:Fabio Priuli -#ifndef __NES_KAISER_H -#define __NES_KAISER_H +#ifndef MAME_BUS_NES_KAISER_H +#define MAME_BUS_NES_KAISER_H + +#pragma once #include "nxrom.h" @@ -14,11 +16,13 @@ public: // construction/destruction nes_ks7058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual void pcb_reset() override; + +protected: + // device-level overrides + virtual void device_start() override; }; @@ -30,13 +34,15 @@ public: // construction/destruction nes_ks7022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; virtual DECLARE_READ8_MEMBER(read_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual void pcb_reset() override; +protected: + // device-level overrides + virtual void device_start() override; + private: uint8_t m_latch; }; @@ -48,12 +54,8 @@ class nes_ks7032_device : public nes_nrom_device { public: // construction/destruction - nes_ks7032_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source); nes_ks7032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual DECLARE_READ8_MEMBER(read_m) override; virtual DECLARE_WRITE8_MEMBER(ks7032_write); virtual DECLARE_WRITE8_MEMBER(write_h) override { ks7032_write(space, offset, data, mem_mask); } @@ -61,6 +63,12 @@ public: virtual void pcb_reset() override; protected: + nes_ks7032_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + // device-level overrides + virtual void device_start() override; + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + void prg_update(); uint8_t m_latch; @@ -96,15 +104,17 @@ public: // construction/destruction nes_ks7017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual DECLARE_READ8_MEMBER(read_ex) override; virtual DECLARE_WRITE8_MEMBER(write_ex) override; virtual DECLARE_WRITE8_MEMBER(write_l) override; virtual void pcb_reset() override; +protected: + // device-level overrides + virtual void device_start() override; + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + private: uint8_t m_latch; @@ -125,11 +135,13 @@ public: // construction/destruction nes_ks7012_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual void pcb_reset() override; + +protected: + // device-level overrides + virtual void device_start() override; }; // ======================> nes_ks7013b_device @@ -140,12 +152,14 @@ public: // construction/destruction nes_ks7013b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; virtual DECLARE_WRITE8_MEMBER(write_m) override; virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual void pcb_reset() override; + +protected: + // device-level overrides + virtual void device_start() override; }; @@ -157,14 +171,16 @@ public: // construction/destruction nes_ks7031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; virtual DECLARE_READ8_MEMBER(read_m) override; virtual DECLARE_READ8_MEMBER(read_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual void pcb_reset() override; +protected: + // device-level overrides + virtual void device_start() override; + private: uint8_t m_reg[4]; }; @@ -178,13 +194,15 @@ public: // construction/destruction nes_ks7016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; virtual DECLARE_READ8_MEMBER(read_m) override; virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual void pcb_reset() override; +protected: + // device-level overrides + virtual void device_start() override; + private: uint8_t m_reg; }; @@ -197,8 +215,6 @@ public: // construction/destruction nes_ks7037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; virtual DECLARE_READ8_MEMBER(read_m) override; virtual DECLARE_READ8_MEMBER(read_h) override; virtual DECLARE_WRITE8_MEMBER(write_m) override; @@ -206,6 +222,10 @@ public: virtual void pcb_reset() override; +protected: + // device-level overrides + virtual void device_start() override; + private: void update_prg(); uint8_t m_latch; @@ -213,18 +233,16 @@ private: }; - - // device type definition -extern const device_type NES_KS7058; -extern const device_type NES_KS7022; -extern const device_type NES_KS7032; -extern const device_type NES_KS202; -extern const device_type NES_KS7017; -extern const device_type NES_KS7012; -extern const device_type NES_KS7013B; -extern const device_type NES_KS7031; -extern const device_type NES_KS7016; -extern const device_type NES_KS7037; - -#endif +DECLARE_DEVICE_TYPE(NES_KS7058, nes_ks7058_device) +DECLARE_DEVICE_TYPE(NES_KS7022, nes_ks7022_device) +DECLARE_DEVICE_TYPE(NES_KS7032, nes_ks7032_device) +DECLARE_DEVICE_TYPE(NES_KS202, nes_ks202_device) +DECLARE_DEVICE_TYPE(NES_KS7017, nes_ks7017_device) +DECLARE_DEVICE_TYPE(NES_KS7012, nes_ks7012_device) +DECLARE_DEVICE_TYPE(NES_KS7013B, nes_ks7013b_device) +DECLARE_DEVICE_TYPE(NES_KS7031, nes_ks7031_device) +DECLARE_DEVICE_TYPE(NES_KS7016, nes_ks7016_device) +DECLARE_DEVICE_TYPE(NES_KS7037, nes_ks7037_device) + +#endif // MAME_BUS_NES_KAISER_H |