summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes/jaleco.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes/jaleco.h')
-rw-r--r--src/devices/bus/nes/jaleco.h98
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