summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/megadrive/rom.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/megadrive/rom.h')
-rw-r--r--src/devices/bus/megadrive/rom.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/devices/bus/megadrive/rom.h b/src/devices/bus/megadrive/rom.h
index 7422ae58bdf..0acf73061ee 100644
--- a/src/devices/bus/megadrive/rom.h
+++ b/src/devices/bus/megadrive/rom.h
@@ -39,12 +39,27 @@ public:
// construction/destruction
md_rom_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+protected:
+ md_rom_sram_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+public:
// reading and writing
virtual uint16_t read(offs_t offset) override;
virtual void write(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override;
virtual void write_a13(offs_t offset, uint16_t data) override;
};
+// ======================> md_rom_sram_arg96_device
+
+class md_rom_sram_arg96_device : public md_rom_sram_device
+{
+public:
+ md_rom_sram_arg96_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ virtual uint16_t read(offs_t offset) override;
+ virtual void write(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override;
+};
+
// ======================> md_rom_fram_device
class md_rom_fram_device : public md_std_rom_device
@@ -468,6 +483,28 @@ private:
uint16_t m_latch;
};
+// ======================> md_rom_tc2000_device
+
+class md_rom_tc2000_device : public md_std_rom_device
+{
+public:
+ // construction/destruction
+ md_rom_tc2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // reading and writing
+ virtual uint16_t read(offs_t offset) override;
+ virtual void write(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+private:
+ uint16_t m_retvalue;
+};
+
+
// ======================> md_rom_tekkensp_device
class md_rom_tekkensp_device : public md_std_rom_device
@@ -631,6 +668,8 @@ DECLARE_DEVICE_TYPE(MD_ROM_POKESTAD, md_rom_pokestad_device)
DECLARE_DEVICE_TYPE(MD_ROM_REALTEC, md_rom_realtec_device)
DECLARE_DEVICE_TYPE(MD_ROM_REDCL, md_rom_redcl_device)
DECLARE_DEVICE_TYPE(MD_ROM_SQUIR, md_rom_squir_device)
+DECLARE_DEVICE_TYPE(MD_ROM_SRAM_ARG96, md_rom_sram_arg96_device)
+DECLARE_DEVICE_TYPE(MD_ROM_TC2000, md_rom_tc2000_device)
DECLARE_DEVICE_TYPE(MD_ROM_TEKKENSP, md_rom_tekkensp_device)
DECLARE_DEVICE_TYPE(MD_ROM_TOPF, md_rom_topf_device)
DECLARE_DEVICE_TYPE(MD_ROM_RADICA, md_rom_radica_device)