diff options
Diffstat (limited to 'src/devices/bus/nes/pirate.h')
-rw-r--r-- | src/devices/bus/nes/pirate.h | 146 |
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 |