summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bus/msx_slot
diff options
context:
space:
mode:
author Wilbert Pol <wilbert@jdg.info>2014-09-13 18:39:42 +0000
committer Wilbert Pol <wilbert@jdg.info>2014-09-13 18:39:42 +0000
commitf77740b23e714df1c33ff6deb2020b67148ab6ea (patch)
treeed46435420784d494a4af8d6e8c30116a50b34f7 /src/emu/bus/msx_slot
parentc709f7f5f6f022a22b56a47de2a90af9f57a2dfb (diff)
(MESS) msx.c: Added a small workaround to support systems with 8KB RAM.
Diffstat (limited to 'src/emu/bus/msx_slot')
-rw-r--r--src/emu/bus/msx_slot/ram.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/emu/bus/msx_slot/ram.h b/src/emu/bus/msx_slot/ram.h
index 3a2b0a936f9..a861d0697b6 100644
--- a/src/emu/bus/msx_slot/ram.h
+++ b/src/emu/bus/msx_slot/ram.h
@@ -5,12 +5,19 @@
#define MCFG_MSX_SLOT_RAM_ADD(_tag, _startpage, _numpages) \
MCFG_MSX_INTERNAL_SLOT_ADD(_tag, MSX_SLOT_RAM, _startpage, _numpages)
+
+#define MCFG_MSX_SLOT_RAM_8KB \
+ msx_slot_ram_device::force_start_address(*device, 0xe000);
+
+
class msx_slot_ram_device : public device_t,
public msx_internal_slot_interface
{
public:
msx_slot_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ static void force_start_address(device_t &device, UINT16 start) { downcast<msx_slot_ram_device &>(device).m_start_address = start; }
+
virtual void device_start();
virtual DECLARE_READ8_MEMBER(read);
@@ -20,6 +27,8 @@ private:
dynamic_array<UINT8> m_ram;
};
+
extern const device_type MSX_SLOT_RAM;
+
#endif