diff options
Diffstat (limited to 'src/devices/bus/nes/waixing.h')
-rw-r--r-- | src/devices/bus/nes/waixing.h | 97 |
1 files changed, 30 insertions, 67 deletions
diff --git a/src/devices/bus/nes/waixing.h b/src/devices/bus/nes/waixing.h index bb6fcaf831a..78a979f4b0b 100644 --- a/src/devices/bus/nes/waixing.h +++ b/src/devices/bus/nes/waixing.h @@ -56,7 +56,6 @@ public: // construction/destruction nes_waixing_b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides virtual void chr_cb(int start, int bank, int source) override; }; @@ -69,7 +68,6 @@ public: // construction/destruction nes_waixing_c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides virtual void chr_cb(int start, int bank, int source) override; }; @@ -82,7 +80,6 @@ public: // construction/destruction nes_waixing_d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides virtual void chr_cb(int start, int bank, int source) override; }; @@ -95,28 +92,37 @@ public: // construction/destruction nes_waixing_e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides virtual void chr_cb(int start, int bank, int source) override; }; // ======================> nes_waixing_f_device -class nes_waixing_f_device : public nes_waixing_a_device +class nes_waixing_f_device : public nes_txrom_device { public: // construction/destruction - nes_waixing_f_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nes_waixing_f_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - // device-level overrides - virtual void write_h(offs_t offset, uint8_t data) override; - virtual void prg_cb(int start, int bank) override; - virtual void chr_cb(int start, int bank, int source) override; + virtual u8 read_l(offs_t offset) override; + virtual void write_l(offs_t offset, u8 data) override; - virtual void pcb_reset() override; +protected: + // construction/destruction + nes_waixing_f_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); +}; -private: - virtual void set_prg(int prg_base, int prg_mask) override; + +// ======================> nes_waixing_f1_device + +class nes_waixing_f1_device : public nes_waixing_f_device +{ +public: + // construction/destruction + nes_waixing_f1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + +protected: + virtual void set_chr(uint8_t chr, int chr_base, int chr_mask) override; }; @@ -128,7 +134,6 @@ public: // construction/destruction nes_waixing_g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides virtual void write_h(offs_t offset, uint8_t data) override; virtual void chr_cb(int start, int bank, int source) override; @@ -147,15 +152,13 @@ public: // construction/destruction nes_waixing_h_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + virtual void write_h(offs_t offset, uint8_t data) override; virtual void chr_cb(int start, int bank, int source) override; // This PCB does not have 1K of internal RAM, so it's not derived from nes_waixing_a_device!! protected: nes_waixing_h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - - // device-level overrides - virtual void write_h(offs_t offset, uint8_t data) override; }; @@ -167,7 +170,6 @@ public: // construction/destruction nes_waixing_h1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides virtual void write_h(offs_t offset, uint8_t data) override; // This variant does not ignore the wram protect! @@ -213,17 +215,20 @@ class nes_waixing_sh2_device : public nes_txrom_device { public: // construction/destruction - nes_waixing_sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nes_waixing_sh2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - // device-level overrides - virtual void device_start() override; - virtual uint8_t chr_r(offs_t offset) override; - virtual void chr_cb(int start, int bank, int source) override; + virtual u8 chr_r(offs_t offset) override; virtual void pcb_reset() override; protected: - uint8_t m_reg[2]; + // device-level overrides + virtual void device_start() override; + + virtual void set_chr(u8 chr, int chr_base, int chr_mask) override; + +private: + u8 m_reg[2]; }; @@ -249,30 +254,6 @@ protected: }; -// ======================> nes_waixing_sgz_device - -class nes_waixing_sgz_device : public nes_nrom_device -{ -public: - // construction/destruction - nes_waixing_sgz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - virtual void write_h(offs_t offset, uint8_t data) 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; - - uint16_t m_irq_count, m_irq_count_latch; - int m_irq_enable, m_irq_enable_latch; - - uint8_t m_mmc_vrom_bank[8]; -}; - - // ======================> nes_waixing_sgzlz_device class nes_waixing_sgzlz_device : public nes_nrom_device @@ -322,12 +303,6 @@ public: nes_waixing_wxzs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void write_h(offs_t offset, uint8_t data) override; - - virtual void pcb_reset() override; - -protected: - // device-level overrides - virtual void device_start() override; }; @@ -340,12 +315,6 @@ public: nes_waixing_dq8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void write_h(offs_t offset, uint8_t data) override; - - virtual void pcb_reset() override; - -protected: - // device-level overrides - virtual void device_start() override; }; @@ -358,12 +327,6 @@ public: nes_waixing_wxzs2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void write_h(offs_t offset, uint8_t data) override; - - virtual void pcb_reset() override; - -protected: - // device-level overrides - virtual void device_start() override; }; @@ -395,6 +358,7 @@ DECLARE_DEVICE_TYPE(NES_WAIXING_C, nes_waixing_c_device) DECLARE_DEVICE_TYPE(NES_WAIXING_D, nes_waixing_d_device) DECLARE_DEVICE_TYPE(NES_WAIXING_E, nes_waixing_e_device) DECLARE_DEVICE_TYPE(NES_WAIXING_F, nes_waixing_f_device) +DECLARE_DEVICE_TYPE(NES_WAIXING_F1, nes_waixing_f1_device) DECLARE_DEVICE_TYPE(NES_WAIXING_G, nes_waixing_g_device) DECLARE_DEVICE_TYPE(NES_WAIXING_H, nes_waixing_h_device) DECLARE_DEVICE_TYPE(NES_WAIXING_H1, nes_waixing_h1_device) @@ -402,7 +366,6 @@ DECLARE_DEVICE_TYPE(NES_WAIXING_I, nes_waixing_i_device) DECLARE_DEVICE_TYPE(NES_WAIXING_J, nes_waixing_j_device) DECLARE_DEVICE_TYPE(NES_WAIXING_SH2, nes_waixing_sh2_device) DECLARE_DEVICE_TYPE(NES_WAIXING_SEC, nes_waixing_sec_device) -DECLARE_DEVICE_TYPE(NES_WAIXING_SGZ, nes_waixing_sgz_device) DECLARE_DEVICE_TYPE(NES_WAIXING_SGZLZ, nes_waixing_sgzlz_device) DECLARE_DEVICE_TYPE(NES_WAIXING_FFV, nes_waixing_ffv_device) DECLARE_DEVICE_TYPE(NES_WAIXING_WXZS, nes_waixing_wxzs_device) |