summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes/mmc1_clones.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes/mmc1_clones.h')
-rw-r--r--src/devices/bus/nes/mmc1_clones.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/devices/bus/nes/mmc1_clones.h b/src/devices/bus/nes/mmc1_clones.h
index 2a1b7441cea..7f46ac5ee3a 100644
--- a/src/devices/bus/nes/mmc1_clones.h
+++ b/src/devices/bus/nes/mmc1_clones.h
@@ -34,6 +34,30 @@ private:
};
+// ======================> nes_farid_slrom_device
+
+class nes_farid_slrom_device : public nes_sxrom_device
+{
+public:
+ // construction/destruction
+ nes_farid_slrom_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ virtual void write_m(offs_t offset, u8 data) override;
+
+ virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
+ virtual void set_prg() override { nes_sxrom_device::set_prg((m_outer & 0x70) >> 1, 0x07); }
+ virtual void set_chr() override { nes_sxrom_device::set_chr((m_outer & 0x70) << 1, 0x1f); }
+
+private:
+ u8 m_outer;
+};
+
+
// ======================> nes_ninjaryu_device
class nes_ninjaryu_device : public nes_sxrom_device
@@ -100,6 +124,7 @@ private:
// device type definition
DECLARE_DEVICE_TYPE(NES_BMC_JY820845C, nes_bmc_jy820845c_device)
+DECLARE_DEVICE_TYPE(NES_FARID_SLROM, nes_farid_slrom_device)
DECLARE_DEVICE_TYPE(NES_NINJARYU, nes_ninjaryu_device)
DECLARE_DEVICE_TYPE(NES_RESETSXROM, nes_resetsxrom_device)
DECLARE_DEVICE_TYPE(NES_TXC_22110, nes_txc_22110_device)