summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/diexec.cpp
diff options
context:
space:
mode:
author mooglyguy <therealmogminer@gmail.com>2018-06-01 11:41:52 +0200
committer mooglyguy <therealmogminer@gmail.com>2018-06-01 11:41:52 +0200
commit2cdb153103fa94d13a53dd747985ef56ec723e7a (patch)
treebbb19eca10de61e842c95e84fc823d17a6c68f23 /src/emu/diexec.cpp
parentd96189dfc9b49a6031d24000d31b9479a73c4e9e (diff)
svis_snd cleanups, nw
Diffstat (limited to 'src/emu/diexec.cpp')
-rw-r--r--src/emu/diexec.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/emu/diexec.cpp b/src/emu/diexec.cpp
index f77f58fa83f..972c3ecdf96 100644
--- a/src/emu/diexec.cpp
+++ b/src/emu/diexec.cpp
@@ -46,7 +46,7 @@ device_execute_interface::device_execute_interface(const machine_config &mconfig
: device_interface(device, "execute")
, m_scheduler(nullptr)
, m_disabled(false)
- , m_vblank_interrupt_screen(nullptr)
+ , m_vblank_interrupt_screen(*this, finder_base::DUMMY_TAG)
, m_timed_interrupt_period(attotime::zero)
, m_nextexec(nullptr)
, m_timedint_timer(nullptr)
@@ -350,8 +350,8 @@ void device_execute_interface::interface_validity_check(validity_checker &valid)
screen_device_iterator iter(device().mconfig().root_device());
if (iter.first() == nullptr)
osd_printf_error("VBLANK interrupt specified, but the driver is screenless\n");
- else if (m_vblank_interrupt_screen != nullptr && device().siblingdevice(m_vblank_interrupt_screen) == nullptr)
- osd_printf_error("VBLANK interrupt references a non-existant screen tag '%s'\n", m_vblank_interrupt_screen);
+ else if (m_vblank_interrupt_screen == nullptr)
+ osd_printf_error("VBLANK interrupt references a non-existant screen tag\n");
}
if (!m_timed_interrupt.isnull() && m_timed_interrupt_period == attotime::zero)
@@ -443,13 +443,9 @@ void device_execute_interface::interface_post_reset()
elem.reset();
// reconfingure VBLANK interrupts
- if (m_vblank_interrupt_screen != nullptr)
+ if (m_vblank_interrupt_screen)
{
- // get the screen that will trigger the VBLANK
- screen_device *screen = device().siblingdevice<screen_device>(m_vblank_interrupt_screen);
-
- assert(screen != nullptr);
- screen->register_vblank_callback(vblank_state_delegate(&device_execute_interface::on_vblank, this));
+ m_vblank_interrupt_screen->register_vblank_callback(vblank_state_delegate(&device_execute_interface::on_vblank, this));
}
// reconfigure periodic interrupts