summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/msx_slot/bunsetsu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/msx_slot/bunsetsu.cpp')
-rw-r--r--src/devices/bus/msx_slot/bunsetsu.cpp28
1 files changed, 2 insertions, 26 deletions
diff --git a/src/devices/bus/msx_slot/bunsetsu.cpp b/src/devices/bus/msx_slot/bunsetsu.cpp
index 1289a84704b..e7cc47e4c2a 100644
--- a/src/devices/bus/msx_slot/bunsetsu.cpp
+++ b/src/devices/bus/msx_slot/bunsetsu.cpp
@@ -13,36 +13,12 @@ const device_type MSX_SLOT_BUNSETSU = &device_creator<msx_slot_bunsetsu_device>;
msx_slot_bunsetsu_device::msx_slot_bunsetsu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: msx_slot_rom_device(mconfig, MSX_SLOT_BUNSETSU, "MSX Internal BUNSETSU", tag, owner, clock, "msx_slot_bunsetsu", __FILE__)
- , m_bunsetsu_region(nullptr)
- , m_bunsetsu_region_tag(nullptr)
+ , m_bunsetsu_region(*this, 0x20000)
, m_bunsetsu_address(0)
{
}
-void msx_slot_bunsetsu_device::device_start()
-{
- msx_slot_rom_device::device_start();
-
- if (m_bunsetsu_region_tag == nullptr)
- {
- fatalerror("msx_slot_bunsetsu_device: no bunsetsu region tag specified\n");
- }
-
- m_bunsetsu_region = owner()->memregion(m_bunsetsu_region_tag);
-
- if (m_bunsetsu_region == nullptr)
- {
- fatalerror("msx_slot_bunsetsu_device: Unable to find region with tag '%s'\n", m_bunsetsu_region_tag);
- }
-
- if (m_bunsetsu_region->bytes() != 0x20000)
- {
- fatalerror("msx_slot_bunsetsu_device: Bunsetsu region must be 0x20000 bytes.\n");
- }
-}
-
-
void msx_slot_bunsetsu_device::device_reset()
{
m_bunsetsu_address = 0;
@@ -53,7 +29,7 @@ READ8_MEMBER(msx_slot_bunsetsu_device::read)
{
if (offset == 0xbfff)
{
- return m_bunsetsu_region->u8(m_bunsetsu_address++ & 0x1ffff);
+ return m_bunsetsu_region[m_bunsetsu_address++ & 0x1ffff];
}
return msx_slot_rom_device::read(space, offset);
}