summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bus/vectrex/rom.h
diff options
context:
space:
mode:
author Fabio Priuli <etabeta78@users.noreply.github.com>2014-10-10 15:28:46 +0000
committer Fabio Priuli <etabeta78@users.noreply.github.com>2014-10-10 15:28:46 +0000
commitf0fad04eb68b545e6075f3b65d6d4db8c03e4025 (patch)
treee1a52b526fd0a7e306fd5cfe9adac62976555823 /src/emu/bus/vectrex/rom.h
parent4de494250b26fc201171ac3b2b3c24f25ac08aab (diff)
(MESS) converted vectrex and crvision to use slot devices for
their carts. nw. (with these, we are done for the moment with new slot devices for carts...)
Diffstat (limited to 'src/emu/bus/vectrex/rom.h')
-rw-r--r--src/emu/bus/vectrex/rom.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/emu/bus/vectrex/rom.h b/src/emu/bus/vectrex/rom.h
new file mode 100644
index 00000000000..c1cfbe866c8
--- /dev/null
+++ b/src/emu/bus/vectrex/rom.h
@@ -0,0 +1,65 @@
+#ifndef __VECTREX_ROM_H
+#define __VECTREX_ROM_H
+
+#include "slot.h"
+
+
+// ======================> vectrex_rom_device
+
+class vectrex_rom_device : public device_t,
+ public device_vectrex_cart_interface
+{
+public:
+ // construction/destruction
+ vectrex_rom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
+ vectrex_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ // device-level overrides
+ virtual void device_start() {}
+ virtual void device_reset() {}
+
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_rom);
+};
+
+// ======================> vectrex_rom64k_device
+
+class vectrex_rom64k_device : public vectrex_rom_device
+{
+public:
+ // construction/destruction
+ vectrex_rom64k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ // device-level overrides
+ virtual void device_start();
+ virtual void device_reset();
+
+ // reading and writing
+ virtual DECLARE_READ8_MEMBER(read_rom);
+ virtual DECLARE_WRITE8_MEMBER(write_bank);
+
+private:
+ int m_bank;
+};
+
+// ======================> vectrex_sram_device
+
+class vectrex_sram_device : public vectrex_rom_device
+{
+public:
+ // construction/destruction
+ vectrex_sram_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ // reading and writing
+ virtual DECLARE_WRITE8_MEMBER(write_ram);
+};
+
+
+
+// device type definition
+extern const device_type VECTREX_ROM_STD;
+extern const device_type VECTREX_ROM_64K;
+extern const device_type VECTREX_ROM_SRAM;
+
+
+#endif