summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/msx_slot/sony08.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/msx_slot/sony08.cpp')
-rw-r--r--src/devices/bus/msx_slot/sony08.cpp14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/devices/bus/msx_slot/sony08.cpp b/src/devices/bus/msx_slot/sony08.cpp
index 2f48869c291..551f69062a7 100644
--- a/src/devices/bus/msx_slot/sony08.cpp
+++ b/src/devices/bus/msx_slot/sony08.cpp
@@ -17,7 +17,7 @@ msx_slot_sony08_device::msx_slot_sony08_device(const machine_config &mconfig, co
: device_t(mconfig, MSX_SLOT_SONY08, "MSX Internal SONY08", tag, owner, clock, "msx_slot_sony08", __FILE__)
, msx_internal_slot_interface()
, m_nvram(*this, "nvram")
- , m_region(nullptr)
+ , m_rom_region(*this)
, m_region_offset(0)
, m_rom(nullptr)
{
@@ -45,25 +45,17 @@ void msx_slot_sony08_device::set_rom_start(device_t &device, const char *region,
{
msx_slot_sony08_device &dev = downcast<msx_slot_sony08_device &>(device);
- dev.m_region = region;
+ dev.m_rom_region.set_tag(region);
dev.m_region_offset = offset;
}
void msx_slot_sony08_device::device_start()
{
- assert(m_region != nullptr );
-
- memory_region *m_rom_region = owner()->memregion(m_region);
-
// Sanity checks
- if (m_rom_region == nullptr )
- {
- fatalerror("Rom slot '%s': Unable to find memory region '%s'\n", tag(), m_region);
- }
if (m_rom_region->bytes() < m_region_offset + 0x100000)
{
- fatalerror("Memory region '%s' is too small for the SONY08 firmware\n", m_region);
+ fatalerror("Memory region '%s' is too small for the SONY08 firmware\n", m_rom_region.finder_tag());
}
m_rom = m_rom_region->base() + m_region_offset;