summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/astrocde/rom.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/astrocde/rom.h')
-rw-r--r--src/devices/bus/astrocde/rom.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/devices/bus/astrocde/rom.h b/src/devices/bus/astrocde/rom.h
index 0471ada8dd1..efd17b16ded 100644
--- a/src/devices/bus/astrocde/rom.h
+++ b/src/devices/bus/astrocde/rom.h
@@ -6,6 +6,7 @@
#pragma once
#include "slot.h"
+#include "imagedev/cassette.h"
// ======================> astrocade_rom_device
@@ -64,10 +65,30 @@ private:
uint8_t m_base_bank;
};
+// ======================> astrocade_rom_cass_device
+
+class astrocade_rom_cass_device : public astrocade_rom_device
+{
+public:
+ // construction/destruction
+ astrocade_rom_cass_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_rom) override;
+
+private:
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ required_device<cassette_image_device> m_cassette;
+};
+
// device type definition
DECLARE_DEVICE_TYPE(ASTROCADE_ROM_STD, astrocade_rom_device)
DECLARE_DEVICE_TYPE(ASTROCADE_ROM_256K, astrocade_rom_256k_device)
DECLARE_DEVICE_TYPE(ASTROCADE_ROM_512K, astrocade_rom_512k_device)
+DECLARE_DEVICE_TYPE(ASTROCADE_ROM_CASS, astrocade_rom_cass_device)
#endif // MAME_BUS_ASTROCADE_ROM_H