summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/ppu2c0x.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/video/ppu2c0x.cpp')
-rw-r--r--src/devices/video/ppu2c0x.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/devices/video/ppu2c0x.cpp b/src/devices/video/ppu2c0x.cpp
index f0b20856c57..4f2c6c587e7 100644
--- a/src/devices/video/ppu2c0x.cpp
+++ b/src/devices/video/ppu2c0x.cpp
@@ -117,10 +117,10 @@ device_memory_interface::space_config_vector ppu2c0x_device::memory_space_config
void ppu2c0x_device::device_config_complete()
{
/* reset the callbacks */
- m_latch = latch_delegate();
- m_scanline_callback_proc = scanline_delegate();
- m_hblank_callback_proc = hblank_delegate();
- m_vidaccess_callback_proc = vidaccess_delegate();
+ m_scanline_callback_proc.set(nullptr);
+ m_hblank_callback_proc.set(nullptr);
+ m_vidaccess_callback_proc.set(nullptr);
+ m_latch.set(nullptr);
}
ppu2c0x_device::ppu2c0x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
@@ -131,6 +131,9 @@ ppu2c0x_device::ppu2c0x_device(const machine_config &mconfig, device_type type,
, m_space_config("videoram", ENDIANNESS_LITTLE, 8, 17, 0, address_map_constructor(FUNC(ppu2c0x_device::ppu2c0x), this))
, m_cpu(*this, finder_base::DUMMY_TAG)
, m_scanline(0) // reset the scanline count
+ , m_scanline_callback_proc(*this)
+ , m_hblank_callback_proc(*this)
+ , m_vidaccess_callback_proc(*this)
, m_int_callback(*this)
, m_refresh_data(0)
, m_refresh_latch(0)
@@ -146,6 +149,7 @@ ppu2c0x_device::ppu2c0x_device(const machine_config &mconfig, device_type type,
, m_scan_scale(1) // set the scan scale (this is for dual monitor vertical setups)
, m_tilecount(0)
, m_draw_phase(0)
+ , m_latch(*this)
, m_use_sprite_write_limitation(true)
{
for (auto & elem : m_regs)