summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes/pirate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes/pirate.h')
-rw-r--r--src/devices/bus/nes/pirate.h146
1 files changed, 90 insertions, 56 deletions
diff --git a/src/devices/bus/nes/pirate.h b/src/devices/bus/nes/pirate.h
index b17ce1ada9d..91424d32e25 100644
--- a/src/devices/bus/nes/pirate.h
+++ b/src/devices/bus/nes/pirate.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_PIR_H
-#define __NES_PIR_H
+#ifndef MAME_BUS_NES_PIRATE_H
+#define MAME_BUS_NES_PIRATE_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_agci_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,11 +34,13 @@ public:
// construction/destruction
nes_dreamtech_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_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -46,8 +52,6 @@ public:
// construction/destruction
nes_fukutake_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_l) override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
@@ -55,6 +59,10 @@ public:
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
uint8_t m_ram[0xb00];
@@ -69,13 +77,15 @@ public:
// construction/destruction
nes_futuremedia_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 hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count, m_irq_count_latch;
uint8_t m_irq_clear;
@@ -91,11 +101,13 @@ public:
// construction/destruction
nes_magseries_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;
};
@@ -107,12 +119,14 @@ public:
// construction/destruction
nes_daou306_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;
+
private:
uint8_t m_reg[16];
};
@@ -126,11 +140,13 @@ public:
// construction/destruction
nes_cc21_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;
};
@@ -142,11 +158,13 @@ public:
// construction/destruction
nes_xiaozy_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_l) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -158,14 +176,16 @@ public:
// construction/destruction
nes_edu2k_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_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_latch;
};
@@ -179,13 +199,15 @@ public:
// construction/destruction
nes_t230_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 hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count, m_irq_count_latch;
uint8_t m_irq_mode;
@@ -203,13 +225,15 @@ public:
// construction/destruction
nes_mk2_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 hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint16_t m_irq_count, m_irq_count_latch;
uint8_t m_irq_clear;
@@ -225,13 +249,15 @@ public:
// construction/destruction
nes_whero_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 hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_reg;
uint8_t m_mmc_vrom_bank[8];
@@ -250,13 +276,15 @@ public:
// construction/destruction
nes_43272_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:
uint16_t m_latch;
};
@@ -270,13 +298,15 @@ public:
// construction/destruction
nes_tf1201_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 hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_prg();
uint8_t m_prg, m_swap;
@@ -295,20 +325,24 @@ public:
// construction/destruction
nes_cityfight_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(write_h) 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:
+ static constexpr device_timer_id TIMER_IRQ = 0;
+
void update_prg();
+
uint8_t m_prg_reg, m_prg_mode;
uint16_t m_irq_count;
int m_irq_enable;
- static const device_timer_id TIMER_IRQ = 0;
emu_timer *irq_timer;
uint8_t m_mmc_vrom_bank[8];
@@ -325,13 +359,15 @@ public:
// construction/destruction
nes_fujiya_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(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -339,23 +375,21 @@ private:
// device type definition
-extern const device_type NES_AGCI_50282;
-extern const device_type NES_DREAMTECH01;
-extern const device_type NES_FUKUTAKE;
-extern const device_type NES_FUTUREMEDIA;
-extern const device_type NES_MAGSERIES;
-extern const device_type NES_DAOU306;
-extern const device_type NES_SUBOR0;
-extern const device_type NES_SUBOR1;
-extern const device_type NES_CC21;
-extern const device_type NES_XIAOZY;
-extern const device_type NES_EDU2K;
-extern const device_type NES_T230;
-extern const device_type NES_MK2;
-extern const device_type NES_WHERO;
-extern const device_type NES_43272;
-extern const device_type NES_TF1201;
-extern const device_type NES_CITYFIGHT;
-extern const device_type NES_FUJIYA;
-
-#endif
+DECLARE_DEVICE_TYPE(NES_AGCI_50282, nes_agci_device)
+DECLARE_DEVICE_TYPE(NES_DREAMTECH01, nes_dreamtech_device)
+DECLARE_DEVICE_TYPE(NES_FUKUTAKE, nes_fukutake_device)
+DECLARE_DEVICE_TYPE(NES_FUTUREMEDIA, nes_futuremedia_device)
+DECLARE_DEVICE_TYPE(NES_MAGSERIES, nes_magseries_device)
+DECLARE_DEVICE_TYPE(NES_DAOU306, nes_daou306_device)
+DECLARE_DEVICE_TYPE(NES_CC21, nes_cc21_device)
+DECLARE_DEVICE_TYPE(NES_XIAOZY, nes_xiaozy_device)
+DECLARE_DEVICE_TYPE(NES_EDU2K, nes_edu2k_device)
+DECLARE_DEVICE_TYPE(NES_T230, nes_t230_device)
+DECLARE_DEVICE_TYPE(NES_MK2, nes_mk2_device)
+DECLARE_DEVICE_TYPE(NES_WHERO, nes_whero_device)
+DECLARE_DEVICE_TYPE(NES_43272, nes_43272_device)
+DECLARE_DEVICE_TYPE(NES_TF1201, nes_tf1201_device)
+DECLARE_DEVICE_TYPE(NES_CITYFIGHT, nes_cityfight_device)
+//DECLARE_DEVICE_TYPE(NES_FUJIYA, nes_fujiya_device)
+
+#endif // MAME_BUS_NES_PIRATE_H