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(device).m_start_address = start; } + virtual void device_start(); virtual DECLARE_READ8_MEMBER(read); @@ -20,6 +27,8 @@ private: dynamic_array m_ram; }; + extern const device_type MSX_SLOT_RAM; + #endif