summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/msx_slot/slot.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/msx_slot/slot.h')
-rw-r--r--src/devices/bus/msx_slot/slot.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/devices/bus/msx_slot/slot.h b/src/devices/bus/msx_slot/slot.h
index 6a2c7f093d9..ad51f0c4f9d 100644
--- a/src/devices/bus/msx_slot/slot.h
+++ b/src/devices/bus/msx_slot/slot.h
@@ -17,8 +17,8 @@ pages; and multiple pieces of rom/ram/components can occur in a single slot.
#define MCFG_MSX_INTERNAL_SLOT_ADD(_tag, _type, _startpage, _numpages) \
MCFG_DEVICE_ADD(_tag, _type, 0) \
- msx_internal_slot_interface::set_start_address(*device, _startpage * 0x4000); \
- msx_internal_slot_interface::set_size(*device, _numpages * 0x4000);
+ dynamic_cast<msx_internal_slot_interface &>(*device).set_start_address(_startpage * 0x4000); \
+ dynamic_cast<msx_internal_slot_interface &>(*device).set_size(_numpages * 0x4000);
class msx_internal_slot_interface
{
@@ -26,9 +26,9 @@ public:
msx_internal_slot_interface();
virtual ~msx_internal_slot_interface() { }
- // static configuration helpers
- static void set_start_address(device_t &device, uint32_t start_address);
- static void set_size(device_t &device, uint32_t size);
+ // configuration helpers
+ void set_start_address(uint32_t start_address) { m_start_address = start_address; m_end_address = m_start_address + m_size; }
+ void set_size(uint32_t size) { m_size = size; m_end_address = m_start_address + m_size; }
virtual DECLARE_READ8_MEMBER(read) { return 0xFF; }
virtual DECLARE_WRITE8_MEMBER(write) { }