diff options
Diffstat (limited to 'src/devices/bus/nes/jaleco.h')
-rw-r--r-- | src/devices/bus/nes/jaleco.h | 98 |
1 files changed, 57 insertions, 41 deletions
diff --git a/src/devices/bus/nes/jaleco.h b/src/devices/bus/nes/jaleco.h index 5ad09a78cba..5fe977bba04 100644 --- a/src/devices/bus/nes/jaleco.h +++ b/src/devices/bus/nes/jaleco.h @@ -1,7 +1,9 @@ // license:BSD-3-Clause // copyright-holders:Fabio Priuli -#ifndef __NES_JALECO_H -#define __NES_JALECO_H +#ifndef MAME_BUS_NES_JALECO_H +#define MAME_BUS_NES_JALECO_H + +#pragma once #include "nxrom.h" #include "sound/samples.h" @@ -15,11 +17,13 @@ public: // construction/destruction nes_jf11_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 void pcb_reset() override; + +protected: + // device-level overrides + virtual void device_start() override; }; @@ -31,13 +35,15 @@ public: // construction/destruction nes_jf13_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides - virtual void device_start() override; virtual machine_config_constructor device_mconfig_additions() const override; virtual DECLARE_WRITE8_MEMBER(write_m) override; virtual void pcb_reset() override; +protected: + // device-level overrides + virtual void device_start() override; + private: required_device<samples_device> m_samples; }; @@ -51,11 +57,13 @@ public: // construction/destruction nes_jf16_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; }; @@ -65,16 +73,18 @@ class nes_jf17_device : public nes_nrom_device { public: // construction/destruction - nes_jf17_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_jf17_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: + nes_jf17_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; + uint8_t m_latch; }; @@ -101,14 +111,17 @@ class nes_jf19_device : public nes_nrom_device { public: // construction/destruction - nes_jf19_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_jf19_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: + nes_jf19_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; }; @@ -134,18 +147,20 @@ class nes_ss88006_device : public nes_nrom_device { public: // construction/destruction - nes_ss88006_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_ss88006_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_WRITE8_MEMBER(ss88006_write); virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_write(space, offset, data, mem_mask); } virtual void pcb_reset() override; protected: + nes_ss88006_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; + uint16_t m_irq_count, m_irq_count_latch; uint8_t m_irq_mode; int m_irq_enable; @@ -164,11 +179,10 @@ protected: class nes_ss88006_adpcm_device : public nes_ss88006_device { -public: +protected: // construction/destruction - nes_ss88006_adpcm_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_ss88006_adpcm_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides void ss88006_adpcm_write(address_space &space, offs_t offset, uint8_t data, samples_device *dev); }; @@ -184,8 +198,9 @@ public: virtual machine_config_constructor device_mconfig_additions() const override; private: - required_device<samples_device> m_samples; virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); } + + required_device<samples_device> m_samples; }; @@ -200,8 +215,9 @@ public: virtual machine_config_constructor device_mconfig_additions() const override; private: - required_device<samples_device> m_samples; virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); } + + required_device<samples_device> m_samples; }; @@ -216,8 +232,9 @@ public: virtual machine_config_constructor device_mconfig_additions() const override; private: - required_device<samples_device> m_samples; virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); } + + required_device<samples_device> m_samples; }; @@ -232,25 +249,24 @@ public: virtual machine_config_constructor device_mconfig_additions() const override; private: - required_device<samples_device> m_samples; virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); } -}; - + required_device<samples_device> m_samples; +}; // device type definition -extern const device_type NES_JF11; -extern const device_type NES_JF13; -extern const device_type NES_JF16; -extern const device_type NES_JF17; -extern const device_type NES_JF17_ADPCM; -extern const device_type NES_JF19; -extern const device_type NES_JF19_ADPCM; -extern const device_type NES_SS88006; -extern const device_type NES_JF23; -extern const device_type NES_JF24; -extern const device_type NES_JF29; -extern const device_type NES_JF33; - -#endif +DECLARE_DEVICE_TYPE(NES_JF11, nes_jf11_device) +DECLARE_DEVICE_TYPE(NES_JF13, nes_jf13_device) +DECLARE_DEVICE_TYPE(NES_JF16, nes_jf16_device) +DECLARE_DEVICE_TYPE(NES_JF17, nes_jf17_device) +DECLARE_DEVICE_TYPE(NES_JF17_ADPCM, nes_jf17_adpcm_device) +DECLARE_DEVICE_TYPE(NES_JF19, nes_jf19_device) +DECLARE_DEVICE_TYPE(NES_JF19_ADPCM, nes_jf19_adpcm_device) +DECLARE_DEVICE_TYPE(NES_SS88006, nes_ss88006_device) +DECLARE_DEVICE_TYPE(NES_JF23, nes_jf23_device) +DECLARE_DEVICE_TYPE(NES_JF24, nes_jf24_device) +DECLARE_DEVICE_TYPE(NES_JF29, nes_jf29_device) +DECLARE_DEVICE_TYPE(NES_JF33, nes_jf33_device) + +#endif // MAME_BUS_NES_JALECO_H |