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