summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-03-10 01:03:06 -0500
committer AJR <ajrhacker@users.noreply.github.com>2017-03-10 21:35:02 -0500
commitb888b8c4edaeccea889b97e1c2df6f914ae6e303 (patch)
tree15c1ea3af8a5337262c959c56acb31712777ec15
parent006709e725a7afbaacb947e5645996d8101036c7 (diff)
Convert screen_device VBLANK callback to devcb_write_line
- WRITE_LINE callback has same functionality, except that screen is not an argument - Rename screen_eof_xxx to screen_vblank_xxx in many drivers - No changes to externally registered vblank delegates or screen update methods
-rw-r--r--src/devices/video/bufsprite.h4
-rw-r--r--src/emu/screen.cpp20
-rw-r--r--src/emu/screen.h13
-rw-r--r--src/mame/drivers/2mindril.cpp2
-rw-r--r--src/mame/drivers/airbustr.cpp2
-rw-r--r--src/mame/drivers/aleck64.cpp2
-rw-r--r--src/mame/drivers/amazonlf.cpp6
-rw-r--r--src/mame/drivers/amstrad.cpp6
-rw-r--r--src/mame/drivers/armedf.cpp16
-rw-r--r--src/mame/drivers/asuka.cpp14
-rw-r--r--src/mame/drivers/attache.cpp8
-rw-r--r--src/mame/drivers/baraduke.cpp2
-rw-r--r--src/mame/drivers/bbusters.cpp11
-rw-r--r--src/mame/drivers/bionicc.cpp2
-rw-r--r--src/mame/drivers/bking.cpp2
-rw-r--r--src/mame/drivers/blktiger.cpp2
-rw-r--r--src/mame/drivers/carpolo.cpp2
-rw-r--r--src/mame/drivers/cchance.cpp2
-rw-r--r--src/mame/drivers/champbwl.cpp12
-rw-r--r--src/mame/drivers/commando.cpp2
-rw-r--r--src/mame/drivers/cps1.cpp2
-rw-r--r--src/mame/drivers/cps2.cpp2
-rw-r--r--src/mame/drivers/crshrace.cpp3
-rw-r--r--src/mame/drivers/crystal.cpp6
-rw-r--r--src/mame/drivers/ddragon3.cpp4
-rw-r--r--src/mame/drivers/dec8.cpp8
-rw-r--r--src/mame/drivers/deco_mlc.cpp4
-rw-r--r--src/mame/drivers/dfruit.cpp6
-rw-r--r--src/mame/drivers/djboy.cpp2
-rw-r--r--src/mame/drivers/dooyong.cpp14
-rw-r--r--src/mame/drivers/dreamwld.cpp6
-rw-r--r--src/mame/drivers/dynduke.cpp2
-rw-r--r--src/mame/drivers/elwro800.cpp2
-rw-r--r--src/mame/drivers/exedexes.cpp2
-rw-r--r--src/mame/drivers/fcrash.cpp20
-rw-r--r--src/mame/drivers/fuukifg3.cpp2
-rw-r--r--src/mame/drivers/gaelco2.cpp12
-rw-r--r--src/mame/drivers/galaga.cpp4
-rw-r--r--src/mame/drivers/galivan.cpp4
-rw-r--r--src/mame/drivers/galpanic.cpp4
-rw-r--r--src/mame/drivers/gaplus.cpp2
-rw-r--r--src/mame/drivers/gng.cpp2
-rw-r--r--src/mame/drivers/goal92.cpp2
-rw-r--r--src/mame/drivers/hng64.cpp2
-rw-r--r--src/mame/drivers/homedata.cpp6
-rw-r--r--src/mame/drivers/hp9845.cpp12
-rw-r--r--src/mame/drivers/hvyunit.cpp6
-rw-r--r--src/mame/drivers/hyperscan.cpp6
-rw-r--r--src/mame/drivers/ibm6580.cpp6
-rw-r--r--src/mame/drivers/igs011.cpp6
-rw-r--r--src/mame/drivers/inufuku.cpp2
-rw-r--r--src/mame/drivers/lastbank.cpp6
-rw-r--r--src/mame/drivers/lastduel.cpp4
-rw-r--r--src/mame/drivers/lemmings.cpp2
-rw-r--r--src/mame/drivers/lockon.cpp2
-rw-r--r--src/mame/drivers/lwings.cpp4
-rw-r--r--src/mame/drivers/macrossp.cpp2
-rw-r--r--src/mame/drivers/maygayv1.cpp6
-rw-r--r--src/mame/drivers/mazerbla.cpp6
-rw-r--r--src/mame/drivers/mbc55x.cpp2
-rw-r--r--src/mame/drivers/mcatadv.cpp2
-rw-r--r--src/mame/drivers/megadriv.cpp18
-rw-r--r--src/mame/drivers/megasys1.cpp6
-rw-r--r--src/mame/drivers/megatech.cpp8
-rw-r--r--src/mame/drivers/mermaid.cpp2
-rw-r--r--src/mame/drivers/meyc8088.cpp6
-rw-r--r--src/mame/drivers/microvsn.cpp6
-rw-r--r--src/mame/drivers/midas.cpp8
-rw-r--r--src/mame/drivers/mirage.cpp2
-rw-r--r--src/mame/drivers/model1.cpp4
-rw-r--r--src/mame/drivers/ms0515.cpp6
-rw-r--r--src/mame/drivers/munchmo.cpp6
-rw-r--r--src/mame/drivers/mw8080bw.cpp2
-rw-r--r--src/mame/drivers/n64.cpp2
-rw-r--r--src/mame/drivers/n8080.cpp2
-rw-r--r--src/mame/drivers/namcos1.cpp2
-rw-r--r--src/mame/drivers/namcos23.cpp16
-rw-r--r--src/mame/drivers/namcos86.cpp2
-rw-r--r--src/mame/drivers/next.cpp8
-rw-r--r--src/mame/drivers/ninjakd2.cpp2
-rw-r--r--src/mame/drivers/oric.cpp6
-rw-r--r--src/mame/drivers/pdp1.cpp2
-rw-r--r--src/mame/drivers/pgm.cpp2
-rw-r--r--src/mame/drivers/pgm2.cpp6
-rw-r--r--src/mame/drivers/pgm3.cpp6
-rw-r--r--src/mame/drivers/photon2.cpp6
-rw-r--r--src/mame/drivers/psikyo.cpp8
-rw-r--r--src/mame/drivers/psikyosh.cpp2
-rw-r--r--src/mame/drivers/raiden.cpp2
-rw-r--r--src/mame/drivers/redclash.cpp6
-rw-r--r--src/mame/drivers/sandscrp.cpp6
-rw-r--r--src/mame/drivers/segac2.cpp2
-rw-r--r--src/mame/drivers/seta.cpp14
-rw-r--r--src/mame/drivers/seta2.cpp6
-rw-r--r--src/mame/drivers/shadfrce.cpp2
-rw-r--r--src/mame/drivers/sidearms.cpp6
-rw-r--r--src/mame/drivers/sigmab98.cpp6
-rw-r--r--src/mame/drivers/slapfght.cpp6
-rw-r--r--src/mame/drivers/slapshot.cpp4
-rw-r--r--src/mame/drivers/sm7238.cpp8
-rw-r--r--src/mame/drivers/sms.cpp8
-rw-r--r--src/mame/drivers/snowbros.cpp8
-rw-r--r--src/mame/drivers/spectrum.cpp2
-rw-r--r--src/mame/drivers/sprint2.cpp2
-rw-r--r--src/mame/drivers/sprint4.cpp2
-rw-r--r--src/mame/drivers/sprint8.cpp2
-rw-r--r--src/mame/drivers/srumbler.cpp2
-rw-r--r--src/mame/drivers/sspeedr.cpp2
-rw-r--r--src/mame/drivers/ssrj.cpp2
-rw-r--r--src/mame/drivers/starshp1.cpp2
-rw-r--r--src/mame/drivers/supduck.cpp2
-rw-r--r--src/mame/drivers/super80.cpp4
-rw-r--r--src/mame/drivers/taito_b.cpp34
-rw-r--r--src/mame/drivers/taito_f2.cpp30
-rw-r--r--src/mame/drivers/taito_f3.cpp4
-rw-r--r--src/mame/drivers/taito_l.cpp8
-rw-r--r--src/mame/drivers/tank8.cpp2
-rw-r--r--src/mame/drivers/taotaido.cpp2
-rw-r--r--src/mame/drivers/tceptor.cpp2
-rw-r--r--src/mame/drivers/terracre.cpp2
-rw-r--r--src/mame/drivers/thedealr.cpp6
-rw-r--r--src/mame/drivers/thomson.cpp2
-rw-r--r--src/mame/drivers/tigeroad.cpp4
-rw-r--r--src/mame/drivers/timex.cpp4
-rw-r--r--src/mame/drivers/tmnt.cpp2
-rw-r--r--src/mame/drivers/tnzs.cpp2
-rw-r--r--src/mame/drivers/toaplan1.cpp18
-rw-r--r--src/mame/drivers/toaplan2.cpp38
-rw-r--r--src/mame/drivers/toki.cpp4
-rw-r--r--src/mame/drivers/twin16.cpp4
-rw-r--r--src/mame/drivers/twincobr.cpp2
-rw-r--r--src/mame/drivers/tx0.cpp2
-rw-r--r--src/mame/drivers/tx1.cpp6
-rw-r--r--src/mame/drivers/ultratnk.cpp2
-rw-r--r--src/mame/drivers/wardner.cpp2
-rw-r--r--src/mame/drivers/wheelfir.cpp8
-rw-r--r--src/mame/drivers/wolfpack.cpp2
-rw-r--r--src/mame/drivers/xmen.cpp2
-rw-r--r--src/mame/includes/airbustr.h2
-rw-r--r--src/mame/includes/amstrad.h2
-rw-r--r--src/mame/includes/asuka.h2
-rw-r--r--src/mame/includes/baraduke.h2
-rw-r--r--src/mame/includes/bbusters.h1
-rw-r--r--src/mame/includes/bking.h2
-rw-r--r--src/mame/includes/bosco.h2
-rw-r--r--src/mame/includes/carpolo.h2
-rw-r--r--src/mame/includes/cps1.h2
-rw-r--r--src/mame/includes/crshrace.h1
-rw-r--r--src/mame/includes/dec8.h2
-rw-r--r--src/mame/includes/deco_mlc.h2
-rw-r--r--src/mame/includes/djboy.h2
-rw-r--r--src/mame/includes/fuukifg3.h2
-rw-r--r--src/mame/includes/galaga.h2
-rw-r--r--src/mame/includes/galpanic.h2
-rw-r--r--src/mame/includes/gaplus.h2
-rw-r--r--src/mame/includes/goal92.h2
-rw-r--r--src/mame/includes/hng64.h2
-rw-r--r--src/mame/includes/homedata.h2
-rw-r--r--src/mame/includes/inufuku.h2
-rw-r--r--src/mame/includes/lemmings.h2
-rw-r--r--src/mame/includes/lockon.h2
-rw-r--r--src/mame/includes/macrossp.h2
-rw-r--r--src/mame/includes/mbc55x.h2
-rw-r--r--src/mame/includes/mcatadv.h2
-rw-r--r--src/mame/includes/megadriv.h4
-rw-r--r--src/mame/includes/megasys1.h2
-rw-r--r--src/mame/includes/mermaid.h2
-rw-r--r--src/mame/includes/model1.h2
-rw-r--r--src/mame/includes/munchmo.h2
-rw-r--r--src/mame/includes/mw8080bw.h2
-rw-r--r--src/mame/includes/n64.h2
-rw-r--r--src/mame/includes/n8080.h2
-rw-r--r--src/mame/includes/namcos1.h2
-rw-r--r--src/mame/includes/namcos86.h2
-rw-r--r--src/mame/includes/next.h2
-rw-r--r--src/mame/includes/ninjakd2.h2
-rw-r--r--src/mame/includes/pdp1.h2
-rw-r--r--src/mame/includes/pgm.h2
-rw-r--r--src/mame/includes/psikyo.h2
-rw-r--r--src/mame/includes/redclash.h4
-rw-r--r--src/mame/includes/seta.h4
-rw-r--r--src/mame/includes/seta2.h2
-rw-r--r--src/mame/includes/shadfrce.h2
-rw-r--r--src/mame/includes/slapshot.h2
-rw-r--r--src/mame/includes/sms.h2
-rw-r--r--src/mame/includes/snowbros.h2
-rw-r--r--src/mame/includes/spectrum.h4
-rw-r--r--src/mame/includes/sprint2.h2
-rw-r--r--src/mame/includes/sprint4.h2
-rw-r--r--src/mame/includes/sprint8.h2
-rw-r--r--src/mame/includes/sspeedr.h2
-rw-r--r--src/mame/includes/ssrj.h2
-rw-r--r--src/mame/includes/starshp1.h2
-rw-r--r--src/mame/includes/super80.h2
-rw-r--r--src/mame/includes/taito_b.h2
-rw-r--r--src/mame/includes/taito_f2.h10
-rw-r--r--src/mame/includes/taito_f3.h2
-rw-r--r--src/mame/includes/taito_l.h2
-rw-r--r--src/mame/includes/tank8.h2
-rw-r--r--src/mame/includes/taotaido.h2
-rw-r--r--src/mame/includes/tceptor.h2
-rw-r--r--src/mame/includes/thomson.h2
-rw-r--r--src/mame/includes/tmnt.h2
-rw-r--r--src/mame/includes/tnzs.h2
-rw-r--r--src/mame/includes/toaplan1.h6
-rw-r--r--src/mame/includes/toaplan2.h2
-rw-r--r--src/mame/includes/twin16.h2
-rw-r--r--src/mame/includes/tx0.h2
-rw-r--r--src/mame/includes/tx1.h4
-rw-r--r--src/mame/includes/ultratnk.h2
-rw-r--r--src/mame/includes/wolfpack.h2
-rw-r--r--src/mame/includes/xbox.h2
-rw-r--r--src/mame/includes/xbox_nv2a.h2
-rw-r--r--src/mame/includes/xmen.h2
-rw-r--r--src/mame/machine/amstrad.cpp2
-rw-r--r--src/mame/machine/megadriv.cpp6
-rw-r--r--src/mame/machine/sms.cpp2
-rw-r--r--src/mame/machine/xbox.cpp6
-rw-r--r--src/mame/video/airbustr.cpp2
-rw-r--r--src/mame/video/baraduke.cpp2
-rw-r--r--src/mame/video/bking.cpp4
-rw-r--r--src/mame/video/bosco.cpp2
-rw-r--r--src/mame/video/carpolo.cpp2
-rw-r--r--src/mame/video/cps1.cpp2
-rw-r--r--src/mame/video/crshrace.cpp6
-rw-r--r--src/mame/video/deco_mlc.cpp2
-rw-r--r--src/mame/video/djboy.cpp2
-rw-r--r--src/mame/video/fuukifg3.cpp2
-rw-r--r--src/mame/video/galaga.cpp2
-rw-r--r--src/mame/video/gaplus.cpp2
-rw-r--r--src/mame/video/goal92.cpp2
-rw-r--r--src/mame/video/hng64.cpp2
-rw-r--r--src/mame/video/homedata.cpp2
-rw-r--r--src/mame/video/inufuku.cpp2
-rw-r--r--src/mame/video/lemmings.cpp2
-rw-r--r--src/mame/video/lockon.cpp2
-rw-r--r--src/mame/video/macrossp.cpp2
-rw-r--r--src/mame/video/mbc55x.cpp4
-rw-r--r--src/mame/video/mcatadv.cpp2
-rw-r--r--src/mame/video/megasys1.cpp2
-rw-r--r--src/mame/video/mermaid.cpp6
-rw-r--r--src/mame/video/model1.cpp2
-rw-r--r--src/mame/video/mw8080bw.cpp2
-rw-r--r--src/mame/video/n64.cpp2
-rw-r--r--src/mame/video/n8080.cpp2
-rw-r--r--src/mame/video/namcos1.cpp2
-rw-r--r--src/mame/video/namcos86.cpp2
-rw-r--r--src/mame/video/ninjakd2.cpp4
-rw-r--r--src/mame/video/pdp1.cpp2
-rw-r--r--src/mame/video/pgm.cpp2
-rw-r--r--src/mame/video/psikyo.cpp2
-rw-r--r--src/mame/video/redclash.cpp6
-rw-r--r--src/mame/video/seta.cpp2
-rw-r--r--src/mame/video/seta2.cpp2
-rw-r--r--src/mame/video/shadfrce.cpp2
-rw-r--r--src/mame/video/slapshot.cpp2
-rw-r--r--src/mame/video/spectrum.cpp2
-rw-r--r--src/mame/video/sprint2.cpp6
-rw-r--r--src/mame/video/sprint4.cpp4
-rw-r--r--src/mame/video/sprint8.cpp4
-rw-r--r--src/mame/video/sspeedr.cpp2
-rw-r--r--src/mame/video/ssrj.cpp2
-rw-r--r--src/mame/video/starshp1.cpp2
-rw-r--r--src/mame/video/super80.cpp2
-rw-r--r--src/mame/video/taito_b.cpp6
-rw-r--r--src/mame/video/taito_f2.cpp10
-rw-r--r--src/mame/video/taito_f3.cpp2
-rw-r--r--src/mame/video/taito_l.cpp2
-rw-r--r--src/mame/video/tank8.cpp6
-rw-r--r--src/mame/video/taotaido.cpp2
-rw-r--r--src/mame/video/tceptor.cpp2
-rw-r--r--src/mame/video/thomson.cpp2
-rw-r--r--src/mame/video/timex.cpp2
-rw-r--r--src/mame/video/tmnt.cpp2
-rw-r--r--src/mame/video/tnzs.cpp2
-rw-r--r--src/mame/video/toaplan1.cpp6
-rw-r--r--src/mame/video/toaplan2.cpp2
-rw-r--r--src/mame/video/twin16.cpp2
-rw-r--r--src/mame/video/tx0.cpp2
-rw-r--r--src/mame/video/tx1.cpp4
-rw-r--r--src/mame/video/ultratnk.cpp4
-rw-r--r--src/mame/video/wolfpack.cpp2
-rw-r--r--src/mame/video/xbox_nv2a.cpp2
-rw-r--r--src/mame/video/xmen.cpp2
284 files changed, 551 insertions, 592 deletions
diff --git a/src/devices/video/bufsprite.h b/src/devices/video/bufsprite.h
index f96c1744b8a..2293efef536 100644
--- a/src/devices/video/bufsprite.h
+++ b/src/devices/video/bufsprite.h
@@ -81,8 +81,8 @@ public:
void write(address_space &space, offs_t offset, _Type data, _Type mem_mask = ~_Type(0)) { copy(); }
// VBLANK handlers
- void vblank_copy_rising(screen_device &screen, bool state) { if (state) copy(); }
- void vblank_copy_falling(screen_device &screen, bool state) { if (!state) copy(); }
+ DECLARE_WRITE_LINE_MEMBER(vblank_copy_rising) { if (state) copy(); }
+ DECLARE_WRITE_LINE_MEMBER(vblank_copy_falling) { if (!state) copy(); }
protected:
// first-time setup
diff --git a/src/emu/screen.cpp b/src/emu/screen.cpp
index 8fd134ba470..ea523836ba0 100644
--- a/src/emu/screen.cpp
+++ b/src/emu/screen.cpp
@@ -557,6 +557,7 @@ screen_device::screen_device(const machine_config &mconfig, const char *tag, dev
m_yoffset(0.0f),
m_xscale(1.0f),
m_yscale(1.0f),
+ m_screen_vblank(*this),
m_palette(*this, finder_base::DUMMY_TAG),
m_video_attributes(0),
m_svg_region(nullptr),
@@ -720,17 +721,6 @@ void screen_device::static_set_screen_update(device_t &device, screen_update_rgb
//-------------------------------------------------
-// static_set_screen_vblank - set the screen
-// VBLANK callback in the device configuration
-//-------------------------------------------------
-
-void screen_device::static_set_screen_vblank(device_t &device, screen_vblank_delegate callback)
-{
- downcast<screen_device &>(device).m_screen_vblank = callback;
-}
-
-
-//-------------------------------------------------
// static_set_palette - set the screen palette
// configuration
//-------------------------------------------------
@@ -828,7 +818,7 @@ void screen_device::device_start()
// bind our handlers
m_screen_update_ind16.bind_relative_to(*owner());
m_screen_update_rgb32.bind_relative_to(*owner());
- m_screen_vblank.bind_relative_to(*owner());
+ m_screen_vblank.resolve_safe();
// if we have a palette and it's not started, wait for it
if (m_palette != nullptr && !m_palette->started())
@@ -1494,8 +1484,7 @@ void screen_device::vblank_begin()
// call the screen specific callbacks
for (auto &item : m_callback_list)
item->m_callback(*this, true);
- if (!m_screen_vblank.isnull())
- m_screen_vblank(*this, true);
+ m_screen_vblank(1);
// reset the VBLANK start timer for the next frame
m_vblank_begin_timer->adjust(time_until_vblank_start());
@@ -1518,8 +1507,7 @@ void screen_device::vblank_end()
// call the screen specific callbacks
for (auto &item : m_callback_list)
item->m_callback(*this, false);
- if (!m_screen_vblank.isnull())
- m_screen_vblank(*this, false);
+ m_screen_vblank(0);
// if this is the primary screen and we need to update now
if (this == machine().first_screen() && (m_video_attributes & VIDEO_UPDATE_AFTER_VBLANK))
diff --git a/src/emu/screen.h b/src/emu/screen.h
index 1e1627e3055..e9d87561c7c 100644
--- a/src/emu/screen.h
+++ b/src/emu/screen.h
@@ -162,7 +162,6 @@ typedef delegate<void (screen_device &, bool)> vblank_state_delegate;
typedef device_delegate<u32 (screen_device &, bitmap_ind16 &, const rectangle &)> screen_update_ind16_delegate;
typedef device_delegate<u32 (screen_device &, bitmap_rgb32 &, const rectangle &)> screen_update_rgb32_delegate;
-typedef device_delegate<void (screen_device &, bool)> screen_vblank_delegate;
// ======================> screen_device
@@ -205,7 +204,7 @@ public:
static void static_set_default_position(device_t &device, double xscale, double xoffs, double yscale, double yoffs);
static void static_set_screen_update(device_t &device, screen_update_ind16_delegate callback);
static void static_set_screen_update(device_t &device, screen_update_rgb32_delegate callback);
- static void static_set_screen_vblank(device_t &device, screen_vblank_delegate callback);
+ template<class Object> static devcb_base &static_set_screen_vblank(device_t &device, Object &&object) { return downcast<screen_device &>(device).m_screen_vblank.set_callback(std::forward<Object>(object)); }
static void static_set_palette(device_t &device, const char *tag);
static void static_set_video_attributes(device_t &device, u32 flags);
static void static_set_color(device_t &device, rgb_t color);
@@ -292,7 +291,7 @@ private:
float m_xscale, m_yscale; // default X/Y scale factor
screen_update_ind16_delegate m_screen_update_ind16; // screen update callback (16-bit palette)
screen_update_rgb32_delegate m_screen_update_rgb32; // screen update callback (32-bit RGB)
- screen_vblank_delegate m_screen_vblank; // screen vblank callback
+ devcb_write_line m_screen_vblank; // screen vblank line callback
optional_device<palette_device> m_palette; // our palette
u32 m_video_attributes; // flags describing the video system
const char * m_svg_region; // the region in which the svg data is in
@@ -494,12 +493,8 @@ extern template class device_finder<screen_device, true>;
screen_device::static_set_screen_update(*device, screen_update_delegate_smart(&_class::_method, #_class "::" #_method, nullptr));
#define MCFG_SCREEN_UPDATE_DEVICE(_device, _class, _method) \
screen_device::static_set_screen_update(*device, screen_update_delegate_smart(&_class::_method, #_class "::" #_method, _device));
-#define MCFG_SCREEN_VBLANK_NONE() \
- screen_device::static_set_screen_vblank(*device, screen_vblank_delegate());
-#define MCFG_SCREEN_VBLANK_DRIVER(_class, _method) \
- screen_device::static_set_screen_vblank(*device, screen_vblank_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr));
-#define MCFG_SCREEN_VBLANK_DEVICE(_device, _class, _method) \
- screen_device::static_set_screen_vblank(*device, screen_vblank_delegate(&_class::_method, #_class "::" #_method, _device, (_class *)nullptr));
+#define MCFG_SCREEN_VBLANK_CALLBACK(_devcb) \
+ devcb = &screen_device::static_set_screen_vblank(*device, DEVCB_##_devcb);
#define MCFG_SCREEN_PALETTE(_palette_tag) \
screen_device::static_set_palette(*device, "^" _palette_tag);
#define MCFG_SCREEN_NO_PALETTE \
diff --git a/src/mame/drivers/2mindril.cpp b/src/mame/drivers/2mindril.cpp
index b39c80c16c9..201ad89c7f3 100644
--- a/src/mame/drivers/2mindril.cpp
+++ b/src/mame/drivers/2mindril.cpp
@@ -462,7 +462,7 @@ static MACHINE_CONFIG_START( drill, _2mindril_state )
MCFG_SCREEN_SIZE(40*8+48*2, 32*8)
MCFG_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 24, 24+224-1)
MCFG_SCREEN_UPDATE_DRIVER(_2mindril_state, screen_update_f3)
- MCFG_SCREEN_VBLANK_DRIVER(_2mindril_state, screen_eof_f3)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(_2mindril_state, screen_vblank_f3))
MCFG_PALETTE_ADD("palette", 0x2000)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
diff --git a/src/mame/drivers/airbustr.cpp b/src/mame/drivers/airbustr.cpp
index 847e509686d..54062dc6619 100644
--- a/src/mame/drivers/airbustr.cpp
+++ b/src/mame/drivers/airbustr.cpp
@@ -600,7 +600,7 @@ static MACHINE_CONFIG_START( airbustr, airbustr_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(airbustr_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(airbustr_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(airbustr_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", airbustr)
diff --git a/src/mame/drivers/aleck64.cpp b/src/mame/drivers/aleck64.cpp
index 6f6893ec760..b283f2bcd1d 100644
--- a/src/mame/drivers/aleck64.cpp
+++ b/src/mame/drivers/aleck64.cpp
@@ -923,7 +923,7 @@ static MACHINE_CONFIG_START( aleck64, aleck64_state )
MCFG_SCREEN_SIZE(640, 525)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(aleck64_state, screen_update_n64)
- MCFG_SCREEN_VBLANK_DRIVER(aleck64_state, screen_eof_n64)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(aleck64_state, screen_vblank_n64))
MCFG_PALETTE_ADD("palette", 0x1000)
diff --git a/src/mame/drivers/amazonlf.cpp b/src/mame/drivers/amazonlf.cpp
index 8cf69f73a26..4c112c0efb7 100644
--- a/src/mame/drivers/amazonlf.cpp
+++ b/src/mame/drivers/amazonlf.cpp
@@ -28,7 +28,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
uint32_t screen_update_amazonlf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_amazonlf(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_amazonlf);
};
static ADDRESS_MAP_START( amazonlf_mem, AS_PROGRAM, 32, amazonlf_state )
@@ -48,7 +48,7 @@ uint32_t amazonlf_state::screen_update_amazonlf(screen_device &screen, bitmap_in
return 0;
}
-void amazonlf_state::screen_eof_amazonlf(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(amazonlf_state::screen_vblank_amazonlf)
{
}
@@ -72,7 +72,7 @@ static MACHINE_CONFIG_START( amazonlf, amazonlf_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
MCFG_SCREEN_UPDATE_DRIVER(amazonlf_state, screen_update_amazonlf)
- MCFG_SCREEN_VBLANK_DRIVER(amazonlf_state, screen_eof_amazonlf)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(amazonlf_state, screen_vblank_amazonlf))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD_RRRRRGGGGGGBBBBB("palette")
diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp
index 78d6f3ac514..a608bfa6118 100644
--- a/src/mame/drivers/amstrad.cpp
+++ b/src/mame/drivers/amstrad.cpp
@@ -907,7 +907,7 @@ static MACHINE_CONFIG_START( amstrad_base, amstrad_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS( XTAL_16MHz, 1024, 32, 32 + 640 + 64, 312, 56 + 15, 200 + 15 )
MCFG_SCREEN_UPDATE_DRIVER(amstrad_state, screen_update_amstrad)
- MCFG_SCREEN_VBLANK_DRIVER(amstrad_state, screen_eof_amstrad)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(amstrad_state, screen_vblank_amstrad))
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_SCREEN_PALETTE("palette")
@@ -1032,7 +1032,7 @@ static MACHINE_CONFIG_START( cpcplus, amstrad_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS( ( XTAL_40MHz * 2 ) / 5, 1024, 32, 32 + 640 + 64, 312, 56 + 15, 200 + 15 )
MCFG_SCREEN_UPDATE_DRIVER(amstrad_state, screen_update_amstrad)
- MCFG_SCREEN_VBLANK_DRIVER(amstrad_state, screen_eof_amstrad)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(amstrad_state, screen_vblank_amstrad))
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_SCREEN_PALETTE("palette")
@@ -1111,7 +1111,7 @@ static MACHINE_CONFIG_START( gx4000, amstrad_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS( ( XTAL_40MHz * 2 ) / 5, 1024, 32, 32 + 640 + 64, 312, 56 + 15, 200 + 15 )
MCFG_SCREEN_UPDATE_DRIVER(amstrad_state, screen_update_amstrad)
- MCFG_SCREEN_VBLANK_DRIVER(amstrad_state, screen_eof_amstrad)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(amstrad_state, screen_vblank_amstrad))
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp
index eba42d271af..c749e239d40 100644
--- a/src/mame/drivers/armedf.cpp
+++ b/src/mame/drivers/armedf.cpp
@@ -1279,7 +1279,7 @@ static MACHINE_CONFIG_START( terraf, armedf_state )
MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", armedf)
@@ -1321,7 +1321,7 @@ static MACHINE_CONFIG_START( terrafjb, armedf_state )
MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", armedf)
MCFG_PALETTE_ADD("palette", 2048)
@@ -1370,7 +1370,7 @@ static MACHINE_CONFIG_START( kozure, armedf_state )
MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", armedf)
MCFG_PALETTE_ADD("palette", 2048)
@@ -1407,7 +1407,7 @@ static MACHINE_CONFIG_START( armedf, armedf_state )
MCFG_VIDEO_START_OVERRIDE(armedf_state,armedf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", armedf)
MCFG_PALETTE_ADD("palette", 2048)
@@ -1457,7 +1457,7 @@ static MACHINE_CONFIG_START( cclimbr2, armedf_state )
MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", armedf)
MCFG_PALETTE_ADD("palette", 2048)
@@ -1507,7 +1507,7 @@ static MACHINE_CONFIG_START( legion, armedf_state )
MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", armedf)
MCFG_PALETTE_ADD("palette", 2048)
@@ -1555,7 +1555,7 @@ static MACHINE_CONFIG_START( legionjb, armedf_state )
MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", armedf)
MCFG_PALETTE_ADD("palette", 2048)
@@ -1598,7 +1598,7 @@ static MACHINE_CONFIG_START( bigfghtr, bigfghtr_state )
MCFG_VIDEO_START_OVERRIDE(armedf_state,armedf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", armedf)
MCFG_PALETTE_ADD("palette", 2048)
diff --git a/src/mame/drivers/asuka.cpp b/src/mame/drivers/asuka.cpp
index f3024183f46..1efa101ece8 100644
--- a/src/mame/drivers/asuka.cpp
+++ b/src/mame/drivers/asuka.cpp
@@ -807,7 +807,7 @@ void asuka_state::machine_reset()
memset(m_cval, 0, 26);
}
-void asuka_state::screen_eof_asuka(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(asuka_state::screen_vblank_asuka)
{
// rising edge
if (state)
@@ -838,7 +838,7 @@ static MACHINE_CONFIG_START( bonzeadv, asuka_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_bonzeadv)
- MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", asuka)
@@ -899,7 +899,7 @@ static MACHINE_CONFIG_START( asuka, asuka_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
- MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", asuka)
@@ -973,7 +973,7 @@ static MACHINE_CONFIG_START( cadash, asuka_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_bonzeadv)
- MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", asuka)
@@ -1036,7 +1036,7 @@ static MACHINE_CONFIG_START( mofflott, asuka_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
- MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", asuka)
@@ -1106,7 +1106,7 @@ static MACHINE_CONFIG_START( galmedes, asuka_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
- MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", asuka)
@@ -1168,7 +1168,7 @@ static MACHINE_CONFIG_START( eto, asuka_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
- MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", asuka)
diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp
index ec039e61d6a..cefcf0877cb 100644
--- a/src/mame/drivers/attache.cpp
+++ b/src/mame/drivers/attache.cpp
@@ -136,7 +136,6 @@ public:
// overrides
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void vblank_int(screen_device &screen, bool state);
virtual void driver_start() override;
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -344,11 +343,6 @@ uint32_t attache_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
return 0;
}
-void attache_state::vblank_int(screen_device &screen, bool state)
-{
- m_ctc->trg2(state);
-}
-
READ8_MEMBER(attache_state::rom_r)
{
if(m_rom_active)
@@ -932,7 +926,7 @@ static MACHINE_CONFIG_START( attache, attache_state )
MCFG_SCREEN_SIZE(640,240)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(attache_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(attache_state, vblank_int)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("ctc", z80ctc_device, trg2))
MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT("palette")
diff --git a/src/mame/drivers/baraduke.cpp b/src/mame/drivers/baraduke.cpp
index fc01cad9c2a..3984f5e82d9 100644
--- a/src/mame/drivers/baraduke.cpp
+++ b/src/mame/drivers/baraduke.cpp
@@ -390,7 +390,7 @@ static MACHINE_CONFIG_START( baraduke, baraduke_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_49_152MHz/8, 384, 0, 36*8, 264, 2*8, 30*8)
MCFG_SCREEN_UPDATE_DRIVER(baraduke_state, screen_update_baraduke)
- MCFG_SCREEN_VBLANK_DRIVER(baraduke_state, screen_eof_baraduke)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(baraduke_state, screen_vblank_baraduke))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", baraduke)
diff --git a/src/mame/drivers/bbusters.cpp b/src/mame/drivers/bbusters.cpp
index f3bb91fdf1d..9737e107089 100644
--- a/src/mame/drivers/bbusters.cpp
+++ b/src/mame/drivers/bbusters.cpp
@@ -647,12 +647,6 @@ GFXDECODE_END
/******************************************************************************/
-void bbusters_state::screen_eof_bbuster(screen_device &screen, bool state)
-{
- m_spriteram->vblank_copy_rising(screen, state);
- m_spriteram2->vblank_copy_rising(screen, state);
-}
-
static MACHINE_CONFIG_START( bbusters, bbusters_state )
/* basic machine hardware */
@@ -672,7 +666,8 @@ static MACHINE_CONFIG_START( bbusters, bbusters_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bbusters_state, screen_update_bbuster)
- MCFG_SCREEN_VBLANK_DRIVER(bbusters_state, screen_eof_bbuster)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("spriteram2", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", bbusters)
@@ -714,7 +709,7 @@ static MACHINE_CONFIG_START( mechatt, bbusters_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bbusters_state, screen_update_mechatt)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mechatt)
diff --git a/src/mame/drivers/bionicc.cpp b/src/mame/drivers/bionicc.cpp
index a455ffcf57f..2336fa64aeb 100644
--- a/src/mame/drivers/bionicc.cpp
+++ b/src/mame/drivers/bionicc.cpp
@@ -391,7 +391,7 @@ static MACHINE_CONFIG_START( bionicc, bionicc_state )
/* FIXME: should be 257 visible horizontal pixels, first visible pixel should be repeated, back porch/front porch should be separated */
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz / 4, 386, 0, 256, 260, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(bionicc_state, screen_update_bionicc)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", bionicc)
diff --git a/src/mame/drivers/bking.cpp b/src/mame/drivers/bking.cpp
index 42289be2989..031e79b6cf4 100644
--- a/src/mame/drivers/bking.cpp
+++ b/src/mame/drivers/bking.cpp
@@ -421,7 +421,7 @@ static MACHINE_CONFIG_START( bking, bking_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bking_state, screen_update_bking)
- MCFG_SCREEN_VBLANK_DRIVER(bking_state, screen_eof_bking)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(bking_state, screen_vblank_bking))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", bking)
diff --git a/src/mame/drivers/blktiger.cpp b/src/mame/drivers/blktiger.cpp
index ff27e34b5a3..cea2db50778 100644
--- a/src/mame/drivers/blktiger.cpp
+++ b/src/mame/drivers/blktiger.cpp
@@ -320,7 +320,7 @@ static MACHINE_CONFIG_START( blktiger, blktiger_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(blktiger_state, screen_update_blktiger)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", blktiger)
diff --git a/src/mame/drivers/carpolo.cpp b/src/mame/drivers/carpolo.cpp
index c6dcb4efaed..6a6c22b420c 100644
--- a/src/mame/drivers/carpolo.cpp
+++ b/src/mame/drivers/carpolo.cpp
@@ -288,7 +288,7 @@ static MACHINE_CONFIG_START( carpolo, carpolo_state )
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 239, 0, 255)
MCFG_SCREEN_UPDATE_DRIVER(carpolo_state, screen_update_carpolo)
- MCFG_SCREEN_VBLANK_DRIVER(carpolo_state, screen_eof_carpolo)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(carpolo_state, screen_vblank_carpolo))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", carpolo)
diff --git a/src/mame/drivers/cchance.cpp b/src/mame/drivers/cchance.cpp
index f67c8a3e923..29cf9653599 100644
--- a/src/mame/drivers/cchance.cpp
+++ b/src/mame/drivers/cchance.cpp
@@ -227,7 +227,7 @@ static MACHINE_CONFIG_START( cchance, cchance_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cchance_state, screen_update_tnzs)
- MCFG_SCREEN_VBLANK_DRIVER(cchance_state, screen_eof_tnzs)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cchance_state, screen_vblank_tnzs))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 512)
diff --git a/src/mame/drivers/champbwl.cpp b/src/mame/drivers/champbwl.cpp
index f78aa2d96e6..44a5b0f2182 100644
--- a/src/mame/drivers/champbwl.cpp
+++ b/src/mame/drivers/champbwl.cpp
@@ -187,8 +187,8 @@ public:
DECLARE_PALETTE_INIT(champbwl);
uint32_t screen_update_champbwl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_doraemon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_champbwl(screen_device &screen, bool state);
- void screen_eof_doraemon(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_champbwl);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_doraemon);
};
PALETTE_INIT_MEMBER(champbwl_state,champbwl)
@@ -483,7 +483,7 @@ uint32_t champbwl_state::screen_update_champbwl(screen_device &screen, bitmap_in
return 0;
}
-void champbwl_state::screen_eof_champbwl(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(champbwl_state::screen_vblank_champbwl)
{
// rising edge
if (state)
@@ -513,7 +513,7 @@ static MACHINE_CONFIG_START( champbwl, champbwl_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(champbwl_state, screen_update_champbwl)
- MCFG_SCREEN_VBLANK_DRIVER(champbwl_state, screen_eof_champbwl)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(champbwl_state, screen_vblank_champbwl))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", champbwl)
@@ -543,7 +543,7 @@ uint32_t champbwl_state::screen_update_doraemon(screen_device &screen, bitmap_in
return 0;
}
-void champbwl_state::screen_eof_doraemon(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(champbwl_state::screen_vblank_doraemon)
{
// rising edge
if (state)
@@ -577,7 +577,7 @@ static MACHINE_CONFIG_START( doraemon, champbwl_state )
MCFG_SCREEN_SIZE(320, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(champbwl_state, screen_update_doraemon)
- MCFG_SCREEN_VBLANK_DRIVER(champbwl_state, screen_eof_doraemon)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(champbwl_state, screen_vblank_doraemon))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", champbwl)
diff --git a/src/mame/drivers/commando.cpp b/src/mame/drivers/commando.cpp
index f48e5565a92..1a46bae8d5c 100644
--- a/src/mame/drivers/commando.cpp
+++ b/src/mame/drivers/commando.cpp
@@ -268,7 +268,7 @@ static MACHINE_CONFIG_START( commando, commando_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(commando_state, screen_update_commando)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", commando)
diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp
index 46068de05dc..8e975c5536c 100644
--- a/src/mame/drivers/cps1.cpp
+++ b/src/mame/drivers/cps1.cpp
@@ -3314,7 +3314,7 @@ static MACHINE_CONFIG_START( cps1_10MHz, cps_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(CPS_PIXEL_CLOCK, CPS_HTOTAL, CPS_HBEND, CPS_HBSTART, CPS_VTOTAL, CPS_VBEND, CPS_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
diff --git a/src/mame/drivers/cps2.cpp b/src/mame/drivers/cps2.cpp
index 6b066c24b50..e084bbbe05f 100644
--- a/src/mame/drivers/cps2.cpp
+++ b/src/mame/drivers/cps2.cpp
@@ -1322,7 +1322,7 @@ static MACHINE_CONFIG_START( cps2, cps_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(CPS_PIXEL_CLOCK, CPS_HTOTAL, CPS_HBEND, CPS_HBSTART, CPS_VTOTAL, CPS_VBEND, CPS_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
diff --git a/src/mame/drivers/crshrace.cpp b/src/mame/drivers/crshrace.cpp
index fb4c3dc74dd..d5716e20787 100644
--- a/src/mame/drivers/crshrace.cpp
+++ b/src/mame/drivers/crshrace.cpp
@@ -436,7 +436,8 @@ static MACHINE_CONFIG_START( crshrace, crshrace_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(crshrace_state, screen_update_crshrace)
- MCFG_SCREEN_VBLANK_DRIVER(crshrace_state, screen_eof_crshrace)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
+ MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("spriteram2", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", crshrace)
diff --git a/src/mame/drivers/crystal.cpp b/src/mame/drivers/crystal.cpp
index c0a7a39d24d..10d1501336f 100644
--- a/src/mame/drivers/crystal.cpp
+++ b/src/mame/drivers/crystal.cpp
@@ -279,7 +279,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
uint32_t screen_update_crystal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_crystal(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_crystal);
INTERRUPT_GEN_MEMBER(crystal_interrupt);
TIMER_CALLBACK_MEMBER(Timercb);
IRQ_CALLBACK_MEMBER(icallback);
@@ -980,7 +980,7 @@ uint32_t crystal_state::screen_update_crystal(screen_device &screen, bitmap_ind1
return 0;
}
-void crystal_state::screen_eof_crystal(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(crystal_state::screen_vblank_crystal)
{
// rising edge
if (state)
@@ -1323,7 +1323,7 @@ static MACHINE_CONFIG_START( crystal, crystal_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
MCFG_SCREEN_UPDATE_DRIVER(crystal_state, screen_update_crystal)
- MCFG_SCREEN_VBLANK_DRIVER(crystal_state, screen_eof_crystal)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(crystal_state, screen_vblank_crystal))
MCFG_SCREEN_PALETTE("palette")
MCFG_DEVICE_ADD("vr0", VIDEO_VRENDER0, 0)
diff --git a/src/mame/drivers/ddragon3.cpp b/src/mame/drivers/ddragon3.cpp
index db6e118c371..dda330d6321 100644
--- a/src/mame/drivers/ddragon3.cpp
+++ b/src/mame/drivers/ddragon3.cpp
@@ -842,7 +842,7 @@ static MACHINE_CONFIG_START( ddragon3, ddragon3_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_28MHz / 4, 448, 0, 320, 272, 8, 248) /* HTOTAL and VTOTAL are guessed */
MCFG_SCREEN_UPDATE_DRIVER(ddragon3_state, screen_update_ddragon3)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", ddragon3)
@@ -914,7 +914,7 @@ static MACHINE_CONFIG_START( wwfwfest, wwfwfest_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_28MHz / 4, 448, 0, 320, 272, 8, 248) /* HTOTAL and VTOTAL are guessed */
MCFG_SCREEN_UPDATE_DRIVER(wwfwfest_state, screen_update_wwfwfest)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", wwfwfest)
diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp
index e1d95f58bb8..6eda83a2b6e 100644
--- a/src/mame/drivers/dec8.cpp
+++ b/src/mame/drivers/dec8.cpp
@@ -72,7 +72,7 @@ WRITE8_MEMBER(dec8_state::dec8_mxc06_karn_buffer_spriteram_w)
}
/* Only used by ghostb, gondo, garyoret, other games can control buffering */
-void dec8_state::screen_eof_dec8(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(dec8_state::screen_vblank_dec8)
{
// rising edge
if (state)
@@ -2123,7 +2123,7 @@ static MACHINE_CONFIG_START( gondo, dec8_state )
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_gondo)
- MCFG_SCREEN_VBLANK_DRIVER(dec8_state, screen_eof_dec8)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(dec8_state, screen_vblank_dec8))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", gondo)
@@ -2177,7 +2177,7 @@ static MACHINE_CONFIG_START( garyoret, dec8_state )
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_garyoret)
- MCFG_SCREEN_VBLANK_DRIVER(dec8_state, screen_eof_dec8)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(dec8_state, screen_vblank_dec8))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", gondo)
@@ -2235,7 +2235,7 @@ static MACHINE_CONFIG_START( ghostb, dec8_state )
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_ghostb)
- MCFG_SCREEN_VBLANK_DRIVER(dec8_state, screen_eof_dec8)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(dec8_state, screen_vblank_dec8))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", ghostb)
diff --git a/src/mame/drivers/deco_mlc.cpp b/src/mame/drivers/deco_mlc.cpp
index a2a5b530991..c0e336278ca 100644
--- a/src/mame/drivers/deco_mlc.cpp
+++ b/src/mame/drivers/deco_mlc.cpp
@@ -519,7 +519,7 @@ static MACHINE_CONFIG_START( avengrgs, deco_mlc_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(deco_mlc_state, screen_update_mlc)
- MCFG_SCREEN_VBLANK_DRIVER(deco_mlc_state, screen_eof_mlc)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(deco_mlc_state, screen_vblank_mlc))
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", deco_mlc)
@@ -552,7 +552,7 @@ static MACHINE_CONFIG_START( mlc, deco_mlc_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(deco_mlc_state, screen_update_mlc)
- MCFG_SCREEN_VBLANK_DRIVER(deco_mlc_state, screen_eof_mlc)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(deco_mlc_state, screen_vblank_mlc))
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", deco_mlc)
diff --git a/src/mame/drivers/dfruit.cpp b/src/mame/drivers/dfruit.cpp
index 4b74475dd79..8b1852a2202 100644
--- a/src/mame/drivers/dfruit.cpp
+++ b/src/mame/drivers/dfruit.cpp
@@ -39,7 +39,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
uint8_t m_ram_bank[4];
uint8_t m_rom_bank;
@@ -84,7 +84,7 @@ uint32_t dfruit_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
return 0;
}
-void dfruit_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(dfruit_state::screen_vblank)
{
if (state)
{
@@ -381,7 +381,7 @@ static MACHINE_CONFIG_START( dfruit, dfruit_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(dfruit_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(dfruit_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(dfruit_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", dfruit )
diff --git a/src/mame/drivers/djboy.cpp b/src/mame/drivers/djboy.cpp
index b0b88fc8ba4..2265b898a08 100644
--- a/src/mame/drivers/djboy.cpp
+++ b/src/mame/drivers/djboy.cpp
@@ -576,7 +576,7 @@ static MACHINE_CONFIG_START( djboy, djboy_state )
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(djboy_state, screen_update_djboy)
- MCFG_SCREEN_VBLANK_DRIVER(djboy_state, screen_eof_djboy)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(djboy_state, screen_vblank_djboy))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", djboy)
diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp
index 2caa7dab626..86d5e889c87 100644
--- a/src/mame/drivers/dooyong.cpp
+++ b/src/mame/drivers/dooyong.cpp
@@ -838,7 +838,7 @@ static MACHINE_CONFIG_START( lastday, dooyong_z80_ym2203_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_ym2203_state, screen_update_lastday)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lastday)
@@ -890,7 +890,7 @@ static MACHINE_CONFIG_START( gulfstrm, dooyong_z80_ym2203_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_ym2203_state, screen_update_gulfstrm)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lastday)
@@ -929,7 +929,7 @@ static MACHINE_CONFIG_START( pollux, dooyong_z80_ym2203_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_ym2203_state, screen_update_pollux)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lastday)
@@ -967,7 +967,7 @@ static MACHINE_CONFIG_START( bluehawk, dooyong_z80_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_state, screen_update_bluehawk)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", bluehawk)
@@ -1007,7 +1007,7 @@ static MACHINE_CONFIG_START( flytiger, dooyong_z80_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_state, screen_update_flytiger)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", flytiger)
@@ -1093,7 +1093,7 @@ static MACHINE_CONFIG_START( dooyong_68k, rshark_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rshark_state, screen_update_rshark)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", rshark)
@@ -1143,7 +1143,7 @@ static MACHINE_CONFIG_START( popbingo, popbingo_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(popbingo_state, screen_update_popbingo)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", popbingo)
diff --git a/src/mame/drivers/dreamwld.cpp b/src/mame/drivers/dreamwld.cpp
index a712c70a08d..6e6c9089166 100644
--- a/src/mame/drivers/dreamwld.cpp
+++ b/src/mame/drivers/dreamwld.cpp
@@ -151,7 +151,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_dreamwld(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_dreamwld(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_dreamwld);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
@@ -281,7 +281,7 @@ void dreamwld_state::video_start()
}
-void dreamwld_state::screen_eof_dreamwld(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(dreamwld_state::screen_vblank_dreamwld)
{
// rising edge
if (state)
@@ -806,7 +806,7 @@ static MACHINE_CONFIG_START( baryon, dreamwld_state )
MCFG_SCREEN_SIZE(512,256)
MCFG_SCREEN_VISIBLE_AREA(0, 308-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(dreamwld_state, screen_update_dreamwld)
- MCFG_SCREEN_VBLANK_DRIVER(dreamwld_state, screen_eof_dreamwld)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(dreamwld_state, screen_vblank_dreamwld))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 0x1000)
diff --git a/src/mame/drivers/dynduke.cpp b/src/mame/drivers/dynduke.cpp
index b87f98df007..3bae6bcd829 100644
--- a/src/mame/drivers/dynduke.cpp
+++ b/src/mame/drivers/dynduke.cpp
@@ -332,7 +332,7 @@ static MACHINE_CONFIG_START( dynduke, dynduke_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(dynduke_state, screen_update)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", dynduke)
diff --git a/src/mame/drivers/elwro800.cpp b/src/mame/drivers/elwro800.cpp
index 8711f3177ea..f04362745ff 100644
--- a/src/mame/drivers/elwro800.cpp
+++ b/src/mame/drivers/elwro800.cpp
@@ -572,7 +572,7 @@ static MACHINE_CONFIG_START( elwro800, elwro800_state )
MCFG_SCREEN_SIZE(SPEC_SCREEN_WIDTH, SPEC_SCREEN_HEIGHT)
MCFG_SCREEN_VISIBLE_AREA(0, SPEC_SCREEN_WIDTH-1, 0, SPEC_SCREEN_HEIGHT-1)
MCFG_SCREEN_UPDATE_DRIVER(elwro800_state, screen_update_spectrum )
- MCFG_SCREEN_VBLANK_DRIVER(elwro800_state, screen_eof_spectrum)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(elwro800_state, screen_vblank_spectrum))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 16)
diff --git a/src/mame/drivers/exedexes.cpp b/src/mame/drivers/exedexes.cpp
index 3be63007d7f..08078deb3d4 100644
--- a/src/mame/drivers/exedexes.cpp
+++ b/src/mame/drivers/exedexes.cpp
@@ -238,7 +238,7 @@ static MACHINE_CONFIG_START( exedexes, exedexes_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(exedexes_state, screen_update_exedexes)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", exedexes)
diff --git a/src/mame/drivers/fcrash.cpp b/src/mame/drivers/fcrash.cpp
index 123c060e418..37e8f9d0410 100644
--- a/src/mame/drivers/fcrash.cpp
+++ b/src/mame/drivers/fcrash.cpp
@@ -1579,7 +1579,7 @@ static MACHINE_CONFIG_START( fcrash, cps_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
@@ -1642,7 +1642,7 @@ static MACHINE_CONFIG_START( kodb, cps_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
@@ -1685,7 +1685,7 @@ static MACHINE_CONFIG_START( sf2mdt, cps_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
@@ -1738,7 +1738,7 @@ static MACHINE_CONFIG_START( knightsb, cps_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
@@ -2122,7 +2122,7 @@ static MACHINE_CONFIG_START( dinopic, cps_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
@@ -2279,7 +2279,7 @@ static MACHINE_CONFIG_START( sgyxz, cps_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
@@ -2375,7 +2375,7 @@ static MACHINE_CONFIG_START( punipic, cps_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
@@ -2565,7 +2565,7 @@ static MACHINE_CONFIG_START( sf2m1, cps_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(CPS_PIXEL_CLOCK, CPS_HTOTAL, CPS_HBEND, CPS_HBSTART, CPS_VTOTAL, CPS_VBEND, CPS_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
@@ -2903,7 +2903,7 @@ static MACHINE_CONFIG_START( slampic, cps_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
@@ -3002,7 +3002,7 @@ static MACHINE_CONFIG_START( varthb, cps_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1)
- MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1)
diff --git a/src/mame/drivers/fuukifg3.cpp b/src/mame/drivers/fuukifg3.cpp
index 89e1003381a..8b3ba1713ca 100644
--- a/src/mame/drivers/fuukifg3.cpp
+++ b/src/mame/drivers/fuukifg3.cpp
@@ -562,7 +562,7 @@ static MACHINE_CONFIG_START(fuuki32, fuuki32_state)
MCFG_SCREEN_SIZE(64 * 8, 32 * 8)
MCFG_SCREEN_VISIBLE_AREA(0, 40 * 8 - 1, 0, 30 * 8 - 1)
MCFG_SCREEN_UPDATE_DRIVER(fuuki32_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(fuuki32_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(fuuki32_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", fuuki32)
diff --git a/src/mame/drivers/gaelco2.cpp b/src/mame/drivers/gaelco2.cpp
index 6e5b3f82fe1..aee69a9213c 100644
--- a/src/mame/drivers/gaelco2.cpp
+++ b/src/mame/drivers/gaelco2.cpp
@@ -174,7 +174,7 @@ static MACHINE_CONFIG_START( maniacsq, gaelco2_state )
MCFG_SCREEN_SIZE(64*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", 0x0080000)
@@ -309,7 +309,7 @@ static MACHINE_CONFIG_START( bang, bang_state )
MCFG_SCREEN_SIZE(64*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", 0x0200000)
@@ -546,7 +546,7 @@ static MACHINE_CONFIG_START( alighunt, gaelco2_state )
MCFG_SCREEN_SIZE(64*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", 0x0400000)
@@ -793,7 +793,7 @@ static MACHINE_CONFIG_START( touchgo, gaelco2_state )
MCFG_SCREEN_SIZE(64*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 480-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2_right)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2_dual)
@@ -998,7 +998,7 @@ static MACHINE_CONFIG_START( snowboar, gaelco2_state )
MCFG_SCREEN_SIZE(64*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", 0x0400000)
@@ -1246,7 +1246,7 @@ static MACHINE_CONFIG_START( wrally2, wrally2_state )
MCFG_SCREEN_SIZE(384, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2_right)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/galaga.cpp b/src/mame/drivers/galaga.cpp
index 432d0e171c2..ff8316f3f5a 100644
--- a/src/mame/drivers/galaga.cpp
+++ b/src/mame/drivers/galaga.cpp
@@ -1668,7 +1668,7 @@ static MACHINE_CONFIG_START( bosco, bosco_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 384, 0, 288, 264, 16, 224+16)
MCFG_SCREEN_UPDATE_DRIVER(bosco_state, screen_update_bosco)
- MCFG_SCREEN_VBLANK_DRIVER(bosco_state, screen_eof_bosco)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(bosco_state, screen_vblank_bosco))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", bosco)
@@ -1733,7 +1733,7 @@ static MACHINE_CONFIG_START( galaga, galaga_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 384, 0, 288, 264, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(galaga_state, screen_update_galaga)
- MCFG_SCREEN_VBLANK_DRIVER(galaga_state, screen_eof_galaga)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(galaga_state, screen_vblank_galaga))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", galaga)
diff --git a/src/mame/drivers/galivan.cpp b/src/mame/drivers/galivan.cpp
index 1b434edd8a4..5d03251e3d3 100644
--- a/src/mame/drivers/galivan.cpp
+++ b/src/mame/drivers/galivan.cpp
@@ -443,7 +443,7 @@ static MACHINE_CONFIG_START( galivan, galivan_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galivan_state, screen_update_galivan)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", galivan)
@@ -495,7 +495,7 @@ static MACHINE_CONFIG_START( ninjemak, galivan_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galivan_state, screen_update_ninjemak)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", galivan)
diff --git a/src/mame/drivers/galpanic.cpp b/src/mame/drivers/galpanic.cpp
index a4ef62d4241..eb94cfa19ce 100644
--- a/src/mame/drivers/galpanic.cpp
+++ b/src/mame/drivers/galpanic.cpp
@@ -83,7 +83,7 @@ void galpanic_state::machine_start()
membank("okibank")->configure_entries(0, 16, memregion("oki")->base(), 0x10000);
}
-void galpanic_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(galpanic_state::screen_vblank)
{
// rising edge
if (state)
@@ -243,7 +243,7 @@ static MACHINE_CONFIG_START( galpanic, galpanic_state )
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(galpanic_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(galpanic_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(galpanic_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", galpanic)
diff --git a/src/mame/drivers/gaplus.cpp b/src/mame/drivers/gaplus.cpp
index a4b0fc366cf..805f51ac5b6 100644
--- a/src/mame/drivers/gaplus.cpp
+++ b/src/mame/drivers/gaplus.cpp
@@ -557,7 +557,7 @@ static MACHINE_CONFIG_START( gaplus, gaplus_state )
MCFG_SCREEN_SIZE(36*8, 28*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gaplus_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(gaplus_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(gaplus_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", gaplus)
diff --git a/src/mame/drivers/gng.cpp b/src/mame/drivers/gng.cpp
index ce93aa172a9..04f2159563d 100644
--- a/src/mame/drivers/gng.cpp
+++ b/src/mame/drivers/gng.cpp
@@ -363,7 +363,7 @@ static MACHINE_CONFIG_START( gng, gng_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gng_state, screen_update_gng)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", gng)
diff --git a/src/mame/drivers/goal92.cpp b/src/mame/drivers/goal92.cpp
index 0b9783f4cf3..b88d0aaa28f 100644
--- a/src/mame/drivers/goal92.cpp
+++ b/src/mame/drivers/goal92.cpp
@@ -313,7 +313,7 @@ static MACHINE_CONFIG_START( goal92, goal92_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1) // black border at bottom is a game bug...
MCFG_SCREEN_UPDATE_DRIVER(goal92_state, screen_update_goal92)
- MCFG_SCREEN_VBLANK_DRIVER(goal92_state, screen_eof_goal92)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(goal92_state, screen_vblank_goal92))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", goal92)
diff --git a/src/mame/drivers/hng64.cpp b/src/mame/drivers/hng64.cpp
index 1f3a531136f..724d985bedc 100644
--- a/src/mame/drivers/hng64.cpp
+++ b/src/mame/drivers/hng64.cpp
@@ -1547,7 +1547,7 @@ static MACHINE_CONFIG_START(hng64, hng64_state)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(hng64_state, screen_update_hng64)
- MCFG_SCREEN_VBLANK_DRIVER(hng64_state, screen_eof_hng64)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(hng64_state, screen_vblank_hng64))
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_FORMAT(XRGB)
diff --git a/src/mame/drivers/homedata.cpp b/src/mame/drivers/homedata.cpp
index a1a8423c637..70dd24dadd7 100644
--- a/src/mame/drivers/homedata.cpp
+++ b/src/mame/drivers/homedata.cpp
@@ -1231,7 +1231,7 @@ static MACHINE_CONFIG_START( mrokumei, homedata_state )
// visible area can be changed at runtime
MCFG_SCREEN_VISIBLE_AREA(0*8, 54*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(homedata_state, screen_update_mrokumei)
- MCFG_SCREEN_VBLANK_DRIVER(homedata_state, screen_eof_homedata)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(homedata_state, screen_vblank_homedata))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mrokumei)
@@ -1284,7 +1284,7 @@ static MACHINE_CONFIG_START( reikaids, homedata_state )
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 255, 16, 256-1-16)
MCFG_SCREEN_UPDATE_DRIVER(homedata_state, screen_update_reikaids)
- MCFG_SCREEN_VBLANK_DRIVER(homedata_state, screen_eof_homedata)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(homedata_state, screen_vblank_homedata))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", reikaids)
@@ -1342,7 +1342,7 @@ static MACHINE_CONFIG_START( pteacher, homedata_state )
// visible area can be changed at runtime
MCFG_SCREEN_VISIBLE_AREA(0*8, 54*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(homedata_state, screen_update_pteacher)
- MCFG_SCREEN_VBLANK_DRIVER(homedata_state, screen_eof_homedata)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(homedata_state, screen_vblank_homedata))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", pteacher)
diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp
index 4e3cd26e4f5..751c6dad0a3 100644
--- a/src/mame/drivers/hp9845.cpp
+++ b/src/mame/drivers/hp9845.cpp
@@ -709,7 +709,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(scanline_timer);
- void vblank_w(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(vblank_w);
protected:
void set_graphic_mode(bool graphic);
@@ -865,7 +865,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(hp9845b_state::scanline_timer)
}
}
-void hp9845b_state::vblank_w(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(hp9845b_state::vblank_w)
{
// VBlank signal is fed into HALT flag of PPU
m_ppu->halt_w(state);
@@ -1248,7 +1248,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void vblank_w(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(vblank_w);
protected:
required_ioport m_lightpen_x;
@@ -1378,7 +1378,7 @@ uint32_t hp9845ct_state::screen_update(screen_device &screen, bitmap_rgb32 &bitm
return 0;
}
-void hp9845ct_state::vblank_w(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(hp9845ct_state::vblank_w)
{
// VBlank signal is fed into HALT flag of PPU
m_ppu->halt_w(state);
@@ -2617,7 +2617,7 @@ static MACHINE_CONFIG_START(hp9845b, hp9845b_state)
// video hardware
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(hp9845b_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(hp9845b_state, vblank_w)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(hp9845b_state, vblank_w))
MCFG_SCREEN_COLOR(rgb_t::green())
// These parameters are for alpha video
MCFG_SCREEN_RAW_PARAMS(VIDEO_PIXEL_CLOCK , VIDEO_HTOTAL , 0 , VIDEO_HBSTART , VIDEO_VTOTAL , 0 , VIDEO_ACTIVE_SCANLINES)
@@ -2635,7 +2635,7 @@ static MACHINE_CONFIG_START(hp9845c, hp9845c_state)
// video hardware
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(hp9845c_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(hp9845c_state, vblank_w)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(hp9845c_state, vblank_w))
MCFG_SCREEN_RAW_PARAMS(VIDEO_770_PIXEL_CLOCK , VIDEO_770_HTOTAL , VIDEO_770_HBEND , VIDEO_770_HBSTART , VIDEO_770_VTOTAL , VIDEO_770_VBEND , VIDEO_770_VBSTART)
MCFG_PALETTE_ADD("palette", 24)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", hp9845c_state, scanline_timer, "screen", 0, 1)
diff --git a/src/mame/drivers/hvyunit.cpp b/src/mame/drivers/hvyunit.cpp
index c88cfec5542..cd1ab6c5289 100644
--- a/src/mame/drivers/hvyunit.cpp
+++ b/src/mame/drivers/hvyunit.cpp
@@ -148,7 +148,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
};
@@ -220,7 +220,7 @@ uint32_t hvyunit_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
return 0;
}
-void hvyunit_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(hvyunit_state::screen_vblank)
{
// rising edge
if (state)
@@ -672,7 +672,7 @@ static MACHINE_CONFIG_START( hvyunit, hvyunit_state )
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(hvyunit_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(hvyunit_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(hvyunit_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", hvyunit)
diff --git a/src/mame/drivers/hyperscan.cpp b/src/mame/drivers/hyperscan.cpp
index ab9439b9449..2e25154e065 100644
--- a/src/mame/drivers/hyperscan.cpp
+++ b/src/mame/drivers/hyperscan.cpp
@@ -79,7 +79,7 @@ public:
DECLARE_READ32_MEMBER(spg290_regs_r);
DECLARE_WRITE32_MEMBER(spg290_regs_w);
void spg290_timers_update();
- void spg290_vblank_irq(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(spg290_vblank_irq);
inline uint32_t spg290_read_mem(uint32_t offset);
inline void spg290_write_mem(uint32_t offset, uint32_t data);
void spg290_argb1555(bitmap_rgb32 &bitmap, const rectangle &cliprect, uint16_t posy, uint16_t posx, uint16_t argb);
@@ -549,7 +549,7 @@ void hyperscan_state::spg290_timers_update()
}
}
-void hyperscan_state::spg290_vblank_irq(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(hyperscan_state::spg290_vblank_irq)
{
if (state && m_ppu.irq_control & 0x01) // VBlanking Start IRQ
{
@@ -628,7 +628,7 @@ static MACHINE_CONFIG_START( hyperscan, hyperscan_state )
MCFG_SCREEN_UPDATE_DRIVER(hyperscan_state, spg290_screen_update)
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_SCREEN_VBLANK_DRIVER(hyperscan_state, spg290_vblank_irq)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(hyperscan_state, spg290_vblank_irq))
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ibm6580.cpp b/src/mame/drivers/ibm6580.cpp
index 97b3cd07d45..a3b020b0c9e 100644
--- a/src/mame/drivers/ibm6580.cpp
+++ b/src/mame/drivers/ibm6580.cpp
@@ -157,7 +157,7 @@ public:
DECLARE_WRITE8_MEMBER(video_w);
DECLARE_READ8_MEMBER(video_r);
- void vblank_w(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(vblank_w);
DECLARE_READ8_MEMBER(ppi_a_r);
DECLARE_WRITE8_MEMBER(led_w);
@@ -316,7 +316,7 @@ READ8_MEMBER(ibm6580_state::video_r)
return data;
}
-void ibm6580_state::vblank_w(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(ibm6580_state::vblank_w)
{
// if (state)
// m_pic8259->ir6_w(state);
@@ -891,7 +891,7 @@ static MACHINE_CONFIG_START( ibm6580, ibm6580_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_25MHz/2, 833, 0, 640, 428, 0, 400)
MCFG_SCREEN_UPDATE_DRIVER(ibm6580_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_DRIVER(ibm6580_state, vblank_w)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(ibm6580_state, vblank_w))
MCFG_DEFAULT_LAYOUT(layout_ibm6580)
MCFG_PALETTE_ADD("palette", 3)
diff --git a/src/mame/drivers/igs011.cpp b/src/mame/drivers/igs011.cpp
index d9d350a29a0..d3e5a79ce3f 100644
--- a/src/mame/drivers/igs011.cpp
+++ b/src/mame/drivers/igs011.cpp
@@ -231,7 +231,7 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
uint32_t screen_update_igs011(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_vbowl(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_vbowl);
INTERRUPT_GEN_MEMBER(lhb_vblank_irq);
void wlcc_decrypt();
void lhb_decrypt();
@@ -2689,7 +2689,7 @@ READ16_MEMBER(igs011_state::vbowl_unk_r)
return 0xffff;
}
-void igs011_state::screen_eof_vbowl(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(igs011_state::screen_vblank_vbowl)
{
// rising edge
if (state)
@@ -4130,7 +4130,7 @@ static MACHINE_CONFIG_DERIVED( vbowl, igs011_base )
// irq 4 points to an apparently unneeded routine
MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VBLANK_DRIVER(igs011_state, screen_eof_vbowl)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(igs011_state, screen_vblank_vbowl))
// MCFG_GFXDECODE_ADD("gfxdecode", "palette", igs011_hi)
MCFG_DEVICE_REMOVE("oki")
diff --git a/src/mame/drivers/inufuku.cpp b/src/mame/drivers/inufuku.cpp
index fcbd860299e..ab9fa4070c7 100644
--- a/src/mame/drivers/inufuku.cpp
+++ b/src/mame/drivers/inufuku.cpp
@@ -376,7 +376,7 @@ static MACHINE_CONFIG_START( inufuku, inufuku_state )
MCFG_SCREEN_SIZE(2048, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 223)
MCFG_SCREEN_UPDATE_DRIVER(inufuku_state, screen_update_inufuku)
- MCFG_SCREEN_VBLANK_DRIVER(inufuku_state, screen_eof_inufuku)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(inufuku_state, screen_vblank_inufuku))
MCFG_SCREEN_PALETTE("palette")
MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0)
diff --git a/src/mame/drivers/lastbank.cpp b/src/mame/drivers/lastbank.cpp
index 38ba52af2bf..fe2449cb2d0 100644
--- a/src/mame/drivers/lastbank.cpp
+++ b/src/mame/drivers/lastbank.cpp
@@ -41,7 +41,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
uint8_t m_ram_bank[4];
uint8_t m_rom_bank;
@@ -100,7 +100,7 @@ uint32_t lastbank_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-void lastbank_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(lastbank_state::screen_vblank)
{
if (state)
{
@@ -540,7 +540,7 @@ static MACHINE_CONFIG_START( lastbank, lastbank_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(lastbank_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(lastbank_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(lastbank_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lastbank )
diff --git a/src/mame/drivers/lastduel.cpp b/src/mame/drivers/lastduel.cpp
index 8d6e1f879a1..8f3a800dad5 100644
--- a/src/mame/drivers/lastduel.cpp
+++ b/src/mame/drivers/lastduel.cpp
@@ -504,7 +504,7 @@ static MACHINE_CONFIG_START( lastduel, lastduel_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(lastduel_state, screen_update_lastduel)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -549,7 +549,7 @@ static MACHINE_CONFIG_START( madgear, lastduel_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(lastduel_state, screen_update_madgear)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
diff --git a/src/mame/drivers/lemmings.cpp b/src/mame/drivers/lemmings.cpp
index 3fb5d5d7bbd..a5ec3d42789 100644
--- a/src/mame/drivers/lemmings.cpp
+++ b/src/mame/drivers/lemmings.cpp
@@ -254,7 +254,7 @@ static MACHINE_CONFIG_START( lemmings, lemmings_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(lemmings_state, screen_update_lemmings)
- MCFG_SCREEN_VBLANK_DRIVER(lemmings_state, screen_eof_lemmings)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(lemmings_state, screen_vblank_lemmings))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lemmings)
MCFG_PALETTE_ADD("palette", 1024)
diff --git a/src/mame/drivers/lockon.cpp b/src/mame/drivers/lockon.cpp
index a1e45abf147..559c1d38467 100644
--- a/src/mame/drivers/lockon.cpp
+++ b/src/mame/drivers/lockon.cpp
@@ -504,7 +504,7 @@ static MACHINE_CONFIG_START( lockon, lockon_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(lockon_state, screen_update_lockon)
- MCFG_SCREEN_VBLANK_DRIVER(lockon_state, screen_eof_lockon)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(lockon_state, screen_vblank_lockon))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lockon)
diff --git a/src/mame/drivers/lwings.cpp b/src/mame/drivers/lwings.cpp
index 65a063bd636..654030e951f 100644
--- a/src/mame/drivers/lwings.cpp
+++ b/src/mame/drivers/lwings.cpp
@@ -938,7 +938,7 @@ static MACHINE_CONFIG_START( lwings, lwings_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(lwings_state, screen_update_lwings)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lwings)
@@ -994,7 +994,7 @@ static MACHINE_CONFIG_START( fball, lwings_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) // the 16-pixel black border on left edge is correct, test mode actually uses that area
MCFG_SCREEN_UPDATE_DRIVER(lwings_state, screen_update_lwings)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lwings)
diff --git a/src/mame/drivers/macrossp.cpp b/src/mame/drivers/macrossp.cpp
index 57c12137b40..f1d7f4263ac 100644
--- a/src/mame/drivers/macrossp.cpp
+++ b/src/mame/drivers/macrossp.cpp
@@ -557,7 +557,7 @@ static MACHINE_CONFIG_START( macrossp, macrossp_state )
MCFG_SCREEN_SIZE(32*16, 16*16)
MCFG_SCREEN_VISIBLE_AREA(0*16, 24*16-1, 0*16, 15*16-1)
MCFG_SCREEN_UPDATE_DRIVER(macrossp_state, screen_update_macrossp)
- MCFG_SCREEN_VBLANK_DRIVER(macrossp_state, screen_eof_macrossp)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(macrossp_state, screen_vblank_macrossp))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", macrossp)
diff --git a/src/mame/drivers/maygayv1.cpp b/src/mame/drivers/maygayv1.cpp
index 6bc9d95668c..9af4c16b5ff 100644
--- a/src/mame/drivers/maygayv1.cpp
+++ b/src/mame/drivers/maygayv1.cpp
@@ -250,7 +250,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_maygayv1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_maygayv1(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_maygayv1);
INTERRUPT_GEN_MEMBER(vsync_interrupt);
DECLARE_WRITE8_MEMBER(data_from_i8031);
DECLARE_READ8_MEMBER(data_to_i8031);
@@ -437,7 +437,7 @@ uint32_t maygayv1_state::screen_update_maygayv1(screen_device &screen, bitmap_in
return 0;
}
-void maygayv1_state::screen_eof_maygayv1(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(maygayv1_state::screen_vblank_maygayv1)
{
// rising edge
if (state)
@@ -892,7 +892,7 @@ static MACHINE_CONFIG_START( maygayv1, maygayv1_state )
MCFG_SCREEN_SIZE(640, 300)
MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 300 - 1)
MCFG_SCREEN_UPDATE_DRIVER(maygayv1_state, screen_update_maygayv1)
- MCFG_SCREEN_VBLANK_DRIVER(maygayv1_state, screen_eof_maygayv1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(maygayv1_state, screen_vblank_maygayv1))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 16)
diff --git a/src/mame/drivers/mazerbla.cpp b/src/mame/drivers/mazerbla.cpp
index bda6e7bb89c..4cd2005b072 100644
--- a/src/mame/drivers/mazerbla.cpp
+++ b/src/mame/drivers/mazerbla.cpp
@@ -222,7 +222,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(mazerbla);
uint32_t screen_update_mazerbla(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
INTERRUPT_GEN_MEMBER(sound_interrupt);
TIMER_CALLBACK_MEMBER(deferred_ls670_0_w);
TIMER_CALLBACK_MEMBER(deferred_ls670_1_w);
@@ -291,7 +291,7 @@ uint32_t mazerbla_state::screen_update_mazerbla(screen_device &screen, bitmap_rg
return 0;
}
-void mazerbla_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(mazerbla_state::screen_vblank)
{
if (state)
{
@@ -1515,7 +1515,7 @@ static MACHINE_CONFIG_START( greatgun, mazerbla_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mazerbla_state, screen_update_mazerbla)
- MCFG_SCREEN_VBLANK_DRIVER(mazerbla_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(mazerbla_state, screen_vblank))
MCFG_PALETTE_ADD("palette", 256+1)
MCFG_PALETTE_INIT_OWNER(mazerbla_state, mazerbla)
diff --git a/src/mame/drivers/mbc55x.cpp b/src/mame/drivers/mbc55x.cpp
index 9d03830d6f1..5c40ca10687 100644
--- a/src/mame/drivers/mbc55x.cpp
+++ b/src/mame/drivers/mbc55x.cpp
@@ -249,7 +249,7 @@ static MACHINE_CONFIG_START( mbc55x, mbc55x_state )
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_14_31818MHz,896,0,300,262,0,200)
MCFG_SCREEN_UPDATE_DEVICE(VID_MC6845_NAME, mc6845_device, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(mbc55x_state, screen_eof_mbc55x)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(mbc55x_state, screen_vblank_mbc55x))
MCFG_PALETTE_ADD("palette", SCREEN_NO_COLOURS * 3)
MCFG_PALETTE_INIT_OWNER(mbc55x_state, mbc55x)
diff --git a/src/mame/drivers/mcatadv.cpp b/src/mame/drivers/mcatadv.cpp
index 3f7daf348e8..a1b40e02816 100644
--- a/src/mame/drivers/mcatadv.cpp
+++ b/src/mame/drivers/mcatadv.cpp
@@ -447,7 +447,7 @@ static MACHINE_CONFIG_START( mcatadv, mcatadv_state )
MCFG_SCREEN_SIZE(320, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(mcatadv_state, screen_update_mcatadv)
- MCFG_SCREEN_VBLANK_DRIVER(mcatadv_state, screen_eof_mcatadv)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(mcatadv_state, screen_vblank_mcatadv))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mcatadv)
diff --git a/src/mame/drivers/megadriv.cpp b/src/mame/drivers/megadriv.cpp
index 5a56afe0e00..5b37f4d7320 100644
--- a/src/mame/drivers/megadriv.cpp
+++ b/src/mame/drivers/megadriv.cpp
@@ -354,7 +354,7 @@ MACHINE_RESET_MEMBER(md_cons_state, ms_megadriv)
}
// same as screen_eof_megadriv but with addition of 32x and SegaCD/MegaCD pieces
-void md_cons_state::screen_eof_console(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(md_cons_state::screen_vblank_console)
{
if (m_io_reset.read_safe(0) & 0x01)
m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE);
@@ -387,7 +387,7 @@ static MACHINE_CONFIG_START( ms_megadriv, md_cons_state )
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
- MCFG_SCREEN_VBLANK_DRIVER(md_cons_state, screen_eof_console)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_cons_state, screen_vblank_console))
MCFG_MD_CARTRIDGE_ADD("mdslot", md_cart, nullptr)
MCFG_SOFTWARE_LIST_ADD("cart_list","megadriv")
@@ -400,7 +400,7 @@ static MACHINE_CONFIG_START( ms_megadpal, md_cons_state )
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
- MCFG_SCREEN_VBLANK_DRIVER(md_cons_state, screen_eof_console)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_cons_state, screen_vblank_console))
MCFG_MD_CARTRIDGE_ADD("mdslot", md_cart, nullptr)
MCFG_SOFTWARE_LIST_ADD("cart_list","megadriv")
@@ -596,7 +596,7 @@ static MACHINE_CONFIG_START( genesis_32x, md_cons_state )
MCFG_SEGA_32X_PALETTE("gen_vdp:palette")
MCFG_SCREEN_MODIFY("megadriv")
- MCFG_SCREEN_VBLANK_DRIVER(md_cons_state, screen_eof_console)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_cons_state, screen_vblank_console))
// we need to remove and re-add the sound system because the balance is different
// due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is slient?!)
@@ -637,7 +637,7 @@ static MACHINE_CONFIG_START( mdj_32x, md_cons_state )
MCFG_SEGA_32X_PALETTE("gen_vdp:palette")
MCFG_SCREEN_MODIFY("megadriv")
- MCFG_SCREEN_VBLANK_DRIVER(md_cons_state, screen_eof_console)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_cons_state, screen_vblank_console))
// we need to remove and re-add the sound system because the balance is different
// due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is slient?!)
@@ -678,7 +678,7 @@ static MACHINE_CONFIG_START( md_32x, md_cons_state )
MCFG_SEGA_32X_PALETTE("gen_vdp:palette")
MCFG_SCREEN_MODIFY("megadriv")
- MCFG_SCREEN_VBLANK_DRIVER(md_cons_state, screen_eof_console)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_cons_state, screen_vblank_console))
// we need to remove and re-add the sound system because the balance is different
// due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is slient?!)
@@ -743,7 +743,7 @@ static MACHINE_CONFIG_START( genesis_scd, md_cons_state )
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
- MCFG_SCREEN_VBLANK_DRIVER(md_cons_state, screen_eof_console)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_cons_state, screen_vblank_console))
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_US, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
@@ -761,7 +761,7 @@ static MACHINE_CONFIG_START( md_scd, md_cons_state )
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
- MCFG_SCREEN_VBLANK_DRIVER(md_cons_state, screen_eof_console)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_cons_state, screen_vblank_console))
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_EUROPE, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
@@ -779,7 +779,7 @@ static MACHINE_CONFIG_START( mdj_scd, md_cons_state )
MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
- MCFG_SCREEN_VBLANK_DRIVER(md_cons_state, screen_eof_console)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_cons_state, screen_vblank_console))
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_JAPAN, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp
index b1ac8ac7ab6..f3f05649d8a 100644
--- a/src/mame/drivers/megasys1.cpp
+++ b/src/mame/drivers/megasys1.cpp
@@ -1624,7 +1624,7 @@ static MACHINE_CONFIG_START( system_A, megasys1_state )
MCFG_SCREEN_RAW_PARAMS(SYS_A_CPU_CLOCK,406,0,256,263,16,240)
MCFG_SCREEN_UPDATE_DRIVER(megasys1_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(megasys1_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(megasys1_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
@@ -1709,7 +1709,7 @@ static MACHINE_CONFIG_START( system_Bbl, megasys1_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(megasys1_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(megasys1_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(megasys1_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
@@ -1787,7 +1787,7 @@ static MACHINE_CONFIG_START( system_D, megasys1_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(megasys1_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(megasys1_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(megasys1_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", ABC)
diff --git a/src/mame/drivers/megatech.cpp b/src/mame/drivers/megatech.cpp
index 09091c55f16..d8b88c07d7c 100644
--- a/src/mame/drivers/megatech.cpp
+++ b/src/mame/drivers/megatech.cpp
@@ -137,7 +137,7 @@ public:
uint32_t screen_update_main(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_menu(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_main(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_main);
private:
uint8_t m_mt_cart_select_reg;
@@ -635,10 +635,10 @@ uint32_t mtech_state::screen_update_main(screen_device &screen, bitmap_rgb32 &bi
return 0;
}
-void mtech_state::screen_eof_main(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(mtech_state::screen_vblank_main)
{
if (!m_current_MACHINE_IS_sms)
- screen_eof_megadriv(screen, state);
+ screen_vblank_megadriv(state);
}
MACHINE_RESET_MEMBER(mtech_state, megatech)
@@ -694,7 +694,7 @@ static MACHINE_CONFIG_START( megatech, mtech_state )
SEGA315_5124_WIDTH , SEGA315_5124_LBORDER_START + SEGA315_5124_LBORDER_WIDTH, SEGA315_5124_LBORDER_START + SEGA315_5124_LBORDER_WIDTH + 256, \
SEGA315_5124_HEIGHT_NTSC, SEGA315_5124_TBORDER_START + SEGA315_5124_NTSC_224_TBORDER_HEIGHT, SEGA315_5124_TBORDER_START + SEGA315_5124_NTSC_224_TBORDER_HEIGHT + 224)
MCFG_SCREEN_UPDATE_DRIVER(mtech_state, screen_update_main)
- MCFG_SCREEN_VBLANK_DRIVER(mtech_state, screen_eof_main)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(mtech_state, screen_vblank_main))
MCFG_DEVICE_MODIFY("gen_vdp")
MCFG_SEGA315_5313_INT_CB(INPUTLINE("genesis_snd_z80", 0))
diff --git a/src/mame/drivers/mermaid.cpp b/src/mame/drivers/mermaid.cpp
index f5daf2efc84..3451f363fc1 100644
--- a/src/mame/drivers/mermaid.cpp
+++ b/src/mame/drivers/mermaid.cpp
@@ -444,7 +444,7 @@ static MACHINE_CONFIG_START( mermaid, mermaid_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mermaid_state, screen_update_mermaid)
- MCFG_SCREEN_VBLANK_DRIVER(mermaid_state, screen_eof_mermaid)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(mermaid_state, screen_vblank_mermaid))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mermaid)
diff --git a/src/mame/drivers/meyc8088.cpp b/src/mame/drivers/meyc8088.cpp
index bbacd7ba5ed..6f00a018b00 100644
--- a/src/mame/drivers/meyc8088.cpp
+++ b/src/mame/drivers/meyc8088.cpp
@@ -71,7 +71,7 @@ public:
DECLARE_PALETTE_INIT(meyc8088);
uint32_t screen_update_meyc8088(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_meyc8088(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_meyc8088);
TIMER_DEVICE_CALLBACK_MEMBER(heartbeat_callback);
};
@@ -160,7 +160,7 @@ uint32_t meyc8088_state::screen_update_meyc8088(screen_device &screen, bitmap_in
return 0;
}
-void meyc8088_state::screen_eof_meyc8088(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(meyc8088_state::screen_vblank_meyc8088)
{
// INTR on LC255 (pulses at start and end of vblank), INTA hardwired to $20
generic_pulse_irq_line_and_vector(*m_maincpu, 0, 0x20, 1);
@@ -373,7 +373,7 @@ static MACHINE_CONFIG_START( meyc8088, meyc8088_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_15MHz/3, 320, 0, 256, 261, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(meyc8088_state, screen_update_meyc8088)
- MCFG_SCREEN_VBLANK_DRIVER(meyc8088_state, screen_eof_meyc8088)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(meyc8088_state, screen_vblank_meyc8088))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 32)
diff --git a/src/mame/drivers/microvsn.cpp b/src/mame/drivers/microvsn.cpp
index cf0ae613865..c2241a4b21b 100644
--- a/src/mame/drivers/microvsn.cpp
+++ b/src/mame/drivers/microvsn.cpp
@@ -47,7 +47,7 @@ public:
DECLARE_MACHINE_START(microvision);
DECLARE_MACHINE_RESET(microvision);
- void screen_vblank(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( microvsn_cart );
// i8021 interface
@@ -253,7 +253,7 @@ uint32_t microvision_state::screen_update(screen_device &screen, bitmap_ind16 &b
}
-void microvision_state::screen_vblank(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(microvision_state::screen_vblank)
{
if ( state )
{
@@ -660,7 +660,7 @@ static MACHINE_CONFIG_START( microvision, microvision_state )
MCFG_MACHINE_RESET_OVERRIDE(microvision_state, microvision )
MCFG_SCREEN_UPDATE_DRIVER(microvision_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(microvision_state, screen_vblank)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(microvision_state, screen_vblank))
MCFG_SCREEN_SIZE(16, 16)
MCFG_SCREEN_VISIBLE_AREA(0, 15, 0, 15)
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/midas.cpp b/src/mame/drivers/midas.cpp
index 2dfdd7effb6..451447089d0 100644
--- a/src/mame/drivers/midas.cpp
+++ b/src/mame/drivers/midas.cpp
@@ -98,7 +98,7 @@ public:
required_device<screen_device> m_screen;
required_shared_ptr<uint16_t> m_zoomram;
- void screen_eof_midas(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_midas);
};
@@ -611,7 +611,7 @@ void midas_state::machine_reset()
{
}
-void midas_state::screen_eof_midas(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(midas_state::screen_vblank_midas)
{
if (state) m_sprgen->buffer_vram();
}
@@ -631,7 +631,7 @@ static MACHINE_CONFIG_START( livequiz, midas_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(NEOGEO_PIXEL_CLOCK, NEOGEO_HTOTAL, NEOGEO_HBEND, NEOGEO_HBSTART, NEOGEO_VTOTAL, NEOGEO_VBEND, NEOGEO_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(midas_state, screen_update_midas)
- MCFG_SCREEN_VBLANK_DRIVER(midas_state, screen_eof_midas)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(midas_state, screen_vblank_midas))
MCFG_DEVICE_ADD("spritegen", NEOGEO_SPRITE_MIDAS, 0)
@@ -663,7 +663,7 @@ static MACHINE_CONFIG_START( hammer, midas_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(NEOGEO_PIXEL_CLOCK, NEOGEO_HTOTAL, NEOGEO_HBEND, NEOGEO_HBSTART, NEOGEO_VTOTAL, NEOGEO_VBEND, NEOGEO_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(midas_state, screen_update_midas)
- MCFG_SCREEN_VBLANK_DRIVER(midas_state, screen_eof_midas)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(midas_state, screen_vblank_midas))
MCFG_DEVICE_ADD("spritegen", NEOGEO_SPRITE_MIDAS, 0)
diff --git a/src/mame/drivers/mirage.cpp b/src/mame/drivers/mirage.cpp
index 2a977a668f6..eaf5658bbd9 100644
--- a/src/mame/drivers/mirage.cpp
+++ b/src/mame/drivers/mirage.cpp
@@ -302,7 +302,7 @@ static MACHINE_CONFIG_START( mirage, miragemj_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(miragemj_state, screen_update_mirage)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mirage)
diff --git a/src/mame/drivers/model1.cpp b/src/mame/drivers/model1.cpp
index a10f23e3bd0..6a93ddfb13e 100644
--- a/src/mame/drivers/model1.cpp
+++ b/src/mame/drivers/model1.cpp
@@ -1615,7 +1615,7 @@ static MACHINE_CONFIG_START( model1, model1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
MCFG_SCREEN_RAW_PARAMS(XTAL_16MHz, 656, 0/*+69*/, 496/*+69*/, 424, 0/*+25*/, 384/*+25*/)
MCFG_SCREEN_UPDATE_DRIVER(model1_state, screen_update_model1)
- MCFG_SCREEN_VBLANK_DRIVER(model1_state, screen_eof_model1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(model1_state, screen_vblank_model1))
MCFG_PALETTE_ADD("palette", 8192)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
@@ -1659,7 +1659,7 @@ static MACHINE_CONFIG_START( model1_vr, model1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
MCFG_SCREEN_RAW_PARAMS(XTAL_16MHz, 656, 0/*+69*/, 496/*+69*/, 424, 0/*+25*/, 384/*+25*/)
MCFG_SCREEN_UPDATE_DRIVER(model1_state, screen_update_model1)
- MCFG_SCREEN_VBLANK_DRIVER(model1_state, screen_eof_model1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(model1_state, screen_vblank_model1))
MCFG_PALETTE_ADD("palette", 8192)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
diff --git a/src/mame/drivers/ms0515.cpp b/src/mame/drivers/ms0515.cpp
index a4bcd1c1ad5..238c733a467 100644
--- a/src/mame/drivers/ms0515.cpp
+++ b/src/mame/drivers/ms0515.cpp
@@ -85,7 +85,7 @@ public:
DECLARE_PALETTE_INIT(ms0515);
uint32_t screen_update_ms0515(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
DECLARE_WRITE16_MEMBER(ms0515_bank_w);
@@ -413,7 +413,7 @@ uint32_t ms0515_state::screen_update_ms0515(screen_device &screen, bitmap_ind16
return 0;
}
-void ms0515_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(ms0515_state::screen_vblank)
{
// irq2_w(state ? ASSERT_LINE : CLEAR_LINE);
if (BIT(m_bankreg, 9))
@@ -508,7 +508,7 @@ static MACHINE_CONFIG_START( ms0515, ms0515_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS( XTAL_15MHz, 958,0,640, 313,0,200 )
MCFG_SCREEN_UPDATE_DRIVER(ms0515_state, screen_update_ms0515)
- MCFG_SCREEN_VBLANK_DRIVER(ms0515_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(ms0515_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_DEFAULT_LAYOUT(layout_ms0515)
diff --git a/src/mame/drivers/munchmo.cpp b/src/mame/drivers/munchmo.cpp
index 2b59c1520b2..d841dd8bbcc 100644
--- a/src/mame/drivers/munchmo.cpp
+++ b/src/mame/drivers/munchmo.cpp
@@ -46,9 +46,9 @@ WRITE8_MEMBER(munchmo_state::nmi_enable_w)
}
/* trusted thru schematics, NMI and IRQ triggers at vblank, at the same time (!) */
-void munchmo_state::vblank_irq(screen_device &screen, bool vblank_state)
+WRITE_LINE_MEMBER(munchmo_state::vblank_irq)
{
- if (vblank_state)
+ if (state)
{
if (m_nmi_enable)
m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
@@ -342,7 +342,7 @@ static MACHINE_CONFIG_START( mnchmobl, munchmo_state )
MCFG_SCREEN_SIZE(256+32+32, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 255+32+32,0, 255-16)
MCFG_SCREEN_UPDATE_DRIVER(munchmo_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(munchmo_state, vblank_irq)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(munchmo_state, vblank_irq))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mnchmobl)
diff --git a/src/mame/drivers/mw8080bw.cpp b/src/mame/drivers/mw8080bw.cpp
index a5ea39de466..5df91e32d85 100644
--- a/src/mame/drivers/mw8080bw.cpp
+++ b/src/mame/drivers/mw8080bw.cpp
@@ -2359,7 +2359,7 @@ static MACHINE_CONFIG_DERIVED( phantom2, mw8080bw_root )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(mw8080bw_state, screen_update_phantom2)
- MCFG_SCREEN_VBLANK_DRIVER(mw8080bw_state, screen_eof_phantom2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(mw8080bw_state, screen_vblank_phantom2))
/* add shifter */
MCFG_MB14241_ADD("mb14241")
diff --git a/src/mame/drivers/n64.cpp b/src/mame/drivers/n64.cpp
index 7b368074370..d7088414722 100644
--- a/src/mame/drivers/n64.cpp
+++ b/src/mame/drivers/n64.cpp
@@ -450,7 +450,7 @@ static MACHINE_CONFIG_START( n64, n64_mess_state )
//MCFG_SCREEN_SIZE(640, 525)
//MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
MCFG_SCREEN_UPDATE_DRIVER(n64_state, screen_update_n64)
- MCFG_SCREEN_VBLANK_DRIVER(n64_state, screen_eof_n64)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(n64_state, screen_vblank_n64))
MCFG_PALETTE_ADD("palette", 0x1000)
diff --git a/src/mame/drivers/n8080.cpp b/src/mame/drivers/n8080.cpp
index bc0dc251b02..78bdcebeeff 100644
--- a/src/mame/drivers/n8080.cpp
+++ b/src/mame/drivers/n8080.cpp
@@ -591,7 +591,7 @@ static MACHINE_CONFIG_START( helifire, n8080_state )
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 255, 16, 239)
MCFG_SCREEN_UPDATE_DRIVER(n8080_state, screen_update_helifire)
- MCFG_SCREEN_VBLANK_DRIVER(n8080_state, screen_eof_helifire)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(n8080_state, screen_vblank_helifire))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 8 + 0x400)
diff --git a/src/mame/drivers/namcos1.cpp b/src/mame/drivers/namcos1.cpp
index 0853def98ec..e1a4d295828 100644
--- a/src/mame/drivers/namcos1.cpp
+++ b/src/mame/drivers/namcos1.cpp
@@ -1046,7 +1046,7 @@ static MACHINE_CONFIG_START( ns1, namcos1_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_49_152MHz/8, 384, 9+8*8, 9+44*8, 264, 2*8, 30*8)
MCFG_SCREEN_UPDATE_DRIVER(namcos1_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(namcos1_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(namcos1_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", namcos1)
diff --git a/src/mame/drivers/namcos23.cpp b/src/mame/drivers/namcos23.cpp
index 54c3bd4fb02..96f27404130 100644
--- a/src/mame/drivers/namcos23.cpp
+++ b/src/mame/drivers/namcos23.cpp
@@ -1565,7 +1565,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(interrupt);
TIMER_CALLBACK_MEMBER(c361_timer_cb);
- void sub_irq(screen_device &screen, bool vblank_state);
+ DECLARE_WRITE_LINE_MEMBER(sub_irq);
uint8_t nthbyte(const uint32_t *pSource, int offs);
uint16_t nthword(const uint32_t *pSource, int offs);
inline int32_t u32_to_s24(uint32_t v);
@@ -2460,11 +2460,11 @@ INTERRUPT_GEN_MEMBER(namcos23_state::interrupt)
m_render.count[m_render.cur] = 0;
}
-void namcos23_state::sub_irq(screen_device &screen, bool vblank_state)
+WRITE_LINE_MEMBER(namcos23_state::sub_irq)
{
- m_subcpu->set_input_line(1, vblank_state ? ASSERT_LINE : CLEAR_LINE);
- m_adc->adtrg_w(vblank_state);
- m_sub_portb = (m_sub_portb & 0x7f) | (vblank_state << 7);
+ m_subcpu->set_input_line(1, state ? ASSERT_LINE : CLEAR_LINE);
+ m_adc->adtrg_w(state);
+ m_sub_portb = (m_sub_portb & 0x7f) | (state << 7);
}
@@ -3583,7 +3583,7 @@ static MACHINE_CONFIG_START( gorgon, namcos23_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
MCFG_SCREEN_UPDATE_DRIVER(namcos23_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(namcos23_state, sub_irq)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(namcos23_state, sub_irq))
MCFG_PALETTE_ADD("palette", 0x8000)
@@ -3649,7 +3649,7 @@ static MACHINE_CONFIG_START( s23, namcos23_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
MCFG_SCREEN_UPDATE_DRIVER(namcos23_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(namcos23_state, sub_irq)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(namcos23_state, sub_irq))
MCFG_PALETTE_ADD("palette", 0x8000)
@@ -3726,7 +3726,7 @@ static MACHINE_CONFIG_START( ss23, namcos23_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
MCFG_SCREEN_UPDATE_DRIVER(namcos23_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(namcos23_state, sub_irq)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(namcos23_state, sub_irq))
MCFG_PALETTE_ADD("palette", 0x8000)
diff --git a/src/mame/drivers/namcos86.cpp b/src/mame/drivers/namcos86.cpp
index f3939ef636c..23e7c0ab90a 100644
--- a/src/mame/drivers/namcos86.cpp
+++ b/src/mame/drivers/namcos86.cpp
@@ -1071,7 +1071,7 @@ static MACHINE_CONFIG_START( hopmappy, namcos86_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_49_152MHz/8, 384, 3+8*8, 3+44*8, 264, 2*8, 30*8)
MCFG_SCREEN_UPDATE_DRIVER(namcos86_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(namcos86_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(namcos86_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", namcos86)
diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp
index 99d14eb1ffd..27d3df700f5 100644
--- a/src/mame/drivers/next.cpp
+++ b/src/mame/drivers/next.cpp
@@ -900,13 +900,13 @@ void next_state::machine_reset()
dma_drq_w(4, true); // soundout
}
-void next_state::vblank_w(screen_device &screen, bool vblank_state)
+WRITE_LINE_MEMBER(next_state::vblank_w)
{
if(vbl_enabled) {
if(screen_color)
- irq_set(13, vblank_state);
+ irq_set(13, state);
else
- irq_set(5, vblank_state);
+ irq_set(5, state);
}
}
@@ -1023,7 +1023,7 @@ static MACHINE_CONFIG_START( next_base, next_state )
MCFG_SCREEN_UPDATE_DRIVER(next_state, screen_update)
MCFG_SCREEN_SIZE(1120, 900)
MCFG_SCREEN_VISIBLE_AREA(0, 1120-1, 0, 832-1)
- MCFG_SCREEN_VBLANK_DRIVER(next_state, vblank_w)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(next_state, vblank_w))
// devices
MCFG_NSCSI_BUS_ADD("scsibus")
diff --git a/src/mame/drivers/ninjakd2.cpp b/src/mame/drivers/ninjakd2.cpp
index e585971c771..2fb7af19de8 100644
--- a/src/mame/drivers/ninjakd2.cpp
+++ b/src/mame/drivers/ninjakd2.cpp
@@ -944,7 +944,7 @@ static MACHINE_CONFIG_START( ninjakd2_core, ninjakd2_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjakd2_state, screen_update_ninjakd2)
- MCFG_SCREEN_VBLANK_DRIVER(ninjakd2_state, screen_eof_ninjakd2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(ninjakd2_state, screen_vblank_ninjakd2))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", ninjakd2)
diff --git a/src/mame/drivers/oric.cpp b/src/mame/drivers/oric.cpp
index 05432a58d21..409d928efdc 100644
--- a/src/mame/drivers/oric.cpp
+++ b/src/mame/drivers/oric.cpp
@@ -84,7 +84,7 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
uint32_t screen_update_oric(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void vblank_w(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(vblank_w);
protected:
required_device<cpu_device> m_maincpu;
@@ -362,7 +362,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(oric_state::update_tape)
m_via->write_cb1(m_cassette->input() > 0.0038);
}
-void oric_state::vblank_w(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(oric_state::vblank_w)
{
if(m_config->read())
m_via->write_cb1(state);
@@ -779,7 +779,7 @@ static MACHINE_CONFIG_START( oric, oric_state )
MCFG_SCREEN_SIZE(40*6, 28*8)
MCFG_SCREEN_VISIBLE_AREA(0, 40*6-1, 0, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(oric_state, screen_update_oric)
- MCFG_SCREEN_VBLANK_DRIVER(oric_state, vblank_w)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(oric_state, vblank_w))
MCFG_PALETTE_ADD_3BIT_RGB("palette")
diff --git a/src/mame/drivers/pdp1.cpp b/src/mame/drivers/pdp1.cpp
index 863144fc791..a284054f3ca 100644
--- a/src/mame/drivers/pdp1.cpp
+++ b/src/mame/drivers/pdp1.cpp
@@ -1933,7 +1933,7 @@ static MACHINE_CONFIG_START( pdp1, pdp1_state )
MCFG_SCREEN_SIZE(virtual_width, virtual_height)
MCFG_SCREEN_VISIBLE_AREA(0, virtual_width-1, 0, virtual_height-1)
MCFG_SCREEN_UPDATE_DRIVER(pdp1_state, screen_update_pdp1)
- MCFG_SCREEN_VBLANK_DRIVER(pdp1_state, screen_eof_pdp1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(pdp1_state, screen_vblank_pdp1))
MCFG_SCREEN_PALETTE("palette")
MCFG_DEVICE_ADD("crt", CRT, 0)
diff --git a/src/mame/drivers/pgm.cpp b/src/mame/drivers/pgm.cpp
index 31a4bfe23cf..459b418cd9f 100644
--- a/src/mame/drivers/pgm.cpp
+++ b/src/mame/drivers/pgm.cpp
@@ -528,7 +528,7 @@ MACHINE_CONFIG_FRAGMENT( pgmbase )
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 56*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pgm_state, screen_update_pgm)
- MCFG_SCREEN_VBLANK_DRIVER(pgm_state, screen_eof_pgm)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(pgm_state, screen_vblank_pgm))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", pgm)
diff --git a/src/mame/drivers/pgm2.cpp b/src/mame/drivers/pgm2.cpp
index 15df4e616ac..46c5034c44b 100644
--- a/src/mame/drivers/pgm2.cpp
+++ b/src/mame/drivers/pgm2.cpp
@@ -72,7 +72,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_pgm2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_pgm2(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_pgm2);
required_device<cpu_device> m_maincpu;
void pgm_create_dummy_internal_arm_region();
@@ -95,7 +95,7 @@ uint32_t pgm2_state::screen_update_pgm2(screen_device &screen, bitmap_ind16 &bit
return 0;
}
-void pgm2_state::screen_eof_pgm2(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(pgm2_state::screen_vblank_pgm2)
{
}
@@ -213,7 +213,7 @@ static MACHINE_CONFIG_START( pgm2, pgm2_state )
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 56*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pgm2_state, screen_update_pgm2)
- MCFG_SCREEN_VBLANK_DRIVER(pgm2_state, screen_eof_pgm2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(pgm2_state, screen_vblank_pgm2))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", pgm2)
diff --git a/src/mame/drivers/pgm3.cpp b/src/mame/drivers/pgm3.cpp
index 6bcdd3f91ae..98ee0f09a7d 100644
--- a/src/mame/drivers/pgm3.cpp
+++ b/src/mame/drivers/pgm3.cpp
@@ -69,7 +69,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_pgm3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_pgm3(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_pgm3);
required_device<cpu_device> m_maincpu;
};
@@ -85,7 +85,7 @@ uint32_t pgm3_state::screen_update_pgm3(screen_device &screen, bitmap_ind16 &bit
return 0;
}
-void pgm3_state::screen_eof_pgm3(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(pgm3_state::screen_vblank_pgm3)
{
}
@@ -115,7 +115,7 @@ static MACHINE_CONFIG_START( pgm3, pgm3_state )
MCFG_SCREEN_SIZE(1280, 720)
MCFG_SCREEN_VISIBLE_AREA(0, 1280-1, 0, 720-1)
MCFG_SCREEN_UPDATE_DRIVER(pgm3_state, screen_update_pgm3)
- MCFG_SCREEN_VBLANK_DRIVER(pgm3_state, screen_eof_pgm3)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(pgm3_state, screen_vblank_pgm3))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 0x1000)
diff --git a/src/mame/drivers/photon2.cpp b/src/mame/drivers/photon2.cpp
index 2cf2362e086..efb61569604 100644
--- a/src/mame/drivers/photon2.cpp
+++ b/src/mame/drivers/photon2.cpp
@@ -57,7 +57,7 @@ public:
DECLARE_PALETTE_INIT(photon2);
uint32_t screen_update_spectrum(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_spectrum(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_spectrum);
TIMER_DEVICE_CALLBACK_MEMBER(spec_interrupt_hack);
};
@@ -137,7 +137,7 @@ static inline unsigned char get_display_color (unsigned char color, int invert)
/* Code to change the FLASH status every 25 frames. Note this must be
independent of frame skip etc. */
-void photon2_state::screen_eof_spectrum(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(photon2_state::screen_vblank_spectrum)
{
// rising edge
if (state)
@@ -361,7 +361,7 @@ static MACHINE_CONFIG_START( photon2, photon2_state )
MCFG_SCREEN_SIZE(SPEC_SCREEN_WIDTH, SPEC_SCREEN_HEIGHT)
MCFG_SCREEN_VISIBLE_AREA(0, SPEC_SCREEN_WIDTH-1, 0, SPEC_SCREEN_HEIGHT-1)
MCFG_SCREEN_UPDATE_DRIVER(photon2_state, screen_update_spectrum)
- MCFG_SCREEN_VBLANK_DRIVER(photon2_state, screen_eof_spectrum)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(photon2_state, screen_vblank_spectrum))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 16)
diff --git a/src/mame/drivers/psikyo.cpp b/src/mame/drivers/psikyo.cpp
index 1f58d334425..1b4a3733be7 100644
--- a/src/mame/drivers/psikyo.cpp
+++ b/src/mame/drivers/psikyo.cpp
@@ -1047,7 +1047,7 @@ static MACHINE_CONFIG_START( sngkace, psikyo_state )
MCFG_SCREEN_SIZE(320, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 256-32-1)
MCFG_SCREEN_UPDATE_DRIVER(psikyo_state, screen_update_psikyo)
- MCFG_SCREEN_VBLANK_DRIVER(psikyo_state, screen_eof_psikyo)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(psikyo_state, screen_vblank_psikyo))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", psikyo)
@@ -1090,7 +1090,7 @@ static MACHINE_CONFIG_START( gunbird, psikyo_state )
MCFG_SCREEN_SIZE(320, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 256-32-1)
MCFG_SCREEN_UPDATE_DRIVER(psikyo_state, screen_update_psikyo)
- MCFG_SCREEN_VBLANK_DRIVER(psikyo_state, screen_eof_psikyo)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(psikyo_state, screen_vblank_psikyo))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", psikyo)
@@ -1122,7 +1122,7 @@ static MACHINE_CONFIG_START( s1945bl, psikyo_state ) /* Bootleg hardware based o
MCFG_SCREEN_SIZE(320, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 256-32-1)
MCFG_SCREEN_UPDATE_DRIVER(psikyo_state, screen_update_psikyo_bootleg)
- MCFG_SCREEN_VBLANK_DRIVER(psikyo_state, screen_eof_psikyo)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(psikyo_state, screen_vblank_psikyo))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", psikyo)
@@ -1167,7 +1167,7 @@ static MACHINE_CONFIG_START( s1945, psikyo_state )
MCFG_SCREEN_SIZE(320, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 256-32-1)
MCFG_SCREEN_UPDATE_DRIVER(psikyo_state, screen_update_psikyo)
- MCFG_SCREEN_VBLANK_DRIVER(psikyo_state, screen_eof_psikyo)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(psikyo_state, screen_vblank_psikyo))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", psikyo)
diff --git a/src/mame/drivers/psikyosh.cpp b/src/mame/drivers/psikyosh.cpp
index 5d31831df47..d4c9a186a2b 100644
--- a/src/mame/drivers/psikyosh.cpp
+++ b/src/mame/drivers/psikyosh.cpp
@@ -795,7 +795,7 @@ static MACHINE_CONFIG_START( psikyo3v1, psikyosh_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(psikyosh_state, screen_update_psikyosh)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram32_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram32_device, vblank_copy_rising))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", psikyosh)
MCFG_PALETTE_ADD("palette", 0x5000/4)
diff --git a/src/mame/drivers/raiden.cpp b/src/mame/drivers/raiden.cpp
index 03c61ce25ea..bb0f8b0b9b0 100644
--- a/src/mame/drivers/raiden.cpp
+++ b/src/mame/drivers/raiden.cpp
@@ -343,7 +343,7 @@ static MACHINE_CONFIG_START( raiden, raiden_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(raiden_state, screen_update_raiden)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", raiden)
diff --git a/src/mame/drivers/redclash.cpp b/src/mame/drivers/redclash.cpp
index b05ea64ee5e..5d16056ec87 100644
--- a/src/mame/drivers/redclash.cpp
+++ b/src/mame/drivers/redclash.cpp
@@ -642,7 +642,7 @@ static MACHINE_CONFIG_START( zerohour, redclash_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(redclash_state, screen_update_redclash)
- MCFG_SCREEN_VBLANK_DRIVER(redclash_state, screen_eof_redclash)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(redclash_state, screen_vblank_redclash))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", redclash)
@@ -671,7 +671,7 @@ static MACHINE_CONFIG_START( redclash, redclash_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(redclash_state, screen_update_redclash)
- MCFG_SCREEN_VBLANK_DRIVER(redclash_state, screen_eof_redclash)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(redclash_state, screen_vblank_redclash))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", redclash)
@@ -705,7 +705,7 @@ static MACHINE_CONFIG_START( sraider, redclash_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(redclash_state, screen_update_sraider)
- MCFG_SCREEN_VBLANK_DRIVER(redclash_state, screen_eof_sraider)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(redclash_state, screen_vblank_sraider))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sraider)
diff --git a/src/mame/drivers/sandscrp.cpp b/src/mame/drivers/sandscrp.cpp
index 6f93f857004..32905de2d6a 100644
--- a/src/mame/drivers/sandscrp.cpp
+++ b/src/mame/drivers/sandscrp.cpp
@@ -128,7 +128,7 @@ public:
virtual void machine_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
INTERRUPT_GEN_MEMBER(interrupt);
void update_irq_state();
@@ -188,7 +188,7 @@ INTERRUPT_GEN_MEMBER(sandscrp_state::interrupt)
}
-void sandscrp_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(sandscrp_state::screen_vblank)
{
// rising edge
if (state)
@@ -491,7 +491,7 @@ static MACHINE_CONFIG_START( sandscrp, sandscrp_state )
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(sandscrp_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(sandscrp_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sandscrp_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sandscrp)
diff --git a/src/mame/drivers/segac2.cpp b/src/mame/drivers/segac2.cpp
index 2154839f6d2..e74453d7703 100644
--- a/src/mame/drivers/segac2.cpp
+++ b/src/mame/drivers/segac2.cpp
@@ -1544,7 +1544,7 @@ static MACHINE_CONFIG_START( segac, segac2_state )
MCFG_SCREEN_SIZE(512, 262)
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(segac2_state, screen_update_segac2_new)
- MCFG_SCREEN_VBLANK_DRIVER(segac2_state, screen_eof_megadriv )
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(segac2_state, screen_vblank_megadriv))
MCFG_PALETTE_ADD("palette", 2048*3)
diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp
index 22ef3e0da83..052fbab974e 100644
--- a/src/mame/drivers/seta.cpp
+++ b/src/mame/drivers/seta.cpp
@@ -1601,7 +1601,7 @@ READ8_MEMBER(seta_state::dsw2_r)
Sprites Buffering
*/
-void seta_state::screen_eof_seta_buffer_sprites(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(seta_state::screen_vblank_seta_buffer_sprites)
{
// rising edge
if (state)
@@ -8080,7 +8080,7 @@ static MACHINE_CONFIG_START( blandia, seta_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(seta_state, screen_vblank_seta_buffer_sprites))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", blandia)
@@ -8117,7 +8117,7 @@ static MACHINE_CONFIG_START( blandiap, seta_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(seta_state, screen_vblank_seta_buffer_sprites))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", blandia)
@@ -8308,7 +8308,7 @@ static MACHINE_CONFIG_START( drgnunit, seta_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(seta_state, screen_vblank_seta_buffer_sprites))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", downtown)
@@ -8344,7 +8344,7 @@ static MACHINE_CONFIG_START( qzkklgy2, seta_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(seta_state, screen_vblank_seta_buffer_sprites))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", qzkklgy2)
@@ -8396,7 +8396,7 @@ static MACHINE_CONFIG_START( setaroul, seta_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_setaroul)
- MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_setaroul)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(seta_state, screen_vblank_setaroul))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", setaroul)
@@ -8943,7 +8943,7 @@ static MACHINE_CONFIG_START( msgundam, seta_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(seta_state, screen_vblank_seta_buffer_sprites))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", msgundam)
diff --git a/src/mame/drivers/seta2.cpp b/src/mame/drivers/seta2.cpp
index d960d447f06..ba9f4c19880 100644
--- a/src/mame/drivers/seta2.cpp
+++ b/src/mame/drivers/seta2.cpp
@@ -2331,7 +2331,7 @@ static MACHINE_CONFIG_START( seta2, seta2_state )
MCFG_SCREEN_SIZE(0x200, 0x200)
MCFG_SCREEN_VISIBLE_AREA(0x40, 0x1c0-1, 0x80, 0x170-1)
MCFG_SCREEN_UPDATE_DRIVER(seta2_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(seta2_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(seta2_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", seta2)
@@ -2528,7 +2528,7 @@ static MACHINE_CONFIG_START( funcube, seta2_state )
MCFG_SCREEN_SIZE(0x200, 0x200)
MCFG_SCREEN_VISIBLE_AREA(0x0+1, 0x140-1+1, 0x80, 0x170-1)
MCFG_SCREEN_UPDATE_DRIVER(seta2_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(seta2_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(seta2_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", funcube)
@@ -2579,7 +2579,7 @@ static MACHINE_CONFIG_START( namcostr, seta2_state )
MCFG_SCREEN_SIZE(0x200, 0x200)
MCFG_SCREEN_VISIBLE_AREA(0x40, 0x1c0-1, 0x80, 0x170-1)
MCFG_SCREEN_UPDATE_DRIVER(seta2_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(seta2_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(seta2_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", funcube)
diff --git a/src/mame/drivers/shadfrce.cpp b/src/mame/drivers/shadfrce.cpp
index 65c66f172f9..55eb3656288 100644
--- a/src/mame/drivers/shadfrce.cpp
+++ b/src/mame/drivers/shadfrce.cpp
@@ -554,7 +554,7 @@ static MACHINE_CONFIG_START( shadfrce, shadfrce_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_28MHz / 4, 448, 0, 320, 272, 8, 248) /* HTOTAL and VTOTAL are guessed */
MCFG_SCREEN_UPDATE_DRIVER(shadfrce_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(shadfrce_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(shadfrce_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", shadfrce)
diff --git a/src/mame/drivers/sidearms.cpp b/src/mame/drivers/sidearms.cpp
index 243ba0df289..5ac932495f0 100644
--- a/src/mame/drivers/sidearms.cpp
+++ b/src/mame/drivers/sidearms.cpp
@@ -614,7 +614,7 @@ static MACHINE_CONFIG_START( sidearms, sidearms_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sidearms)
@@ -662,7 +662,7 @@ static MACHINE_CONFIG_START( turtship, sidearms_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
@@ -715,7 +715,7 @@ static MACHINE_CONFIG_START( whizz, sidearms_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", turtship)
diff --git a/src/mame/drivers/sigmab98.cpp b/src/mame/drivers/sigmab98.cpp
index 6754bf7a421..91c4b1be335 100644
--- a/src/mame/drivers/sigmab98.cpp
+++ b/src/mame/drivers/sigmab98.cpp
@@ -250,7 +250,7 @@ public:
virtual void video_start() override;
uint32_t screen_update_sigmab98(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_sammymdl(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_sammymdl);
INTERRUPT_GEN_MEMBER(sigmab98_vblank_interrupt);
TIMER_DEVICE_CALLBACK_MEMBER(sammymdl_irq);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int pri_mask);
@@ -1145,7 +1145,7 @@ WRITE8_MEMBER(sigmab98_state::vblank_w)
m_vblank = (m_vblank & ~0x03) | (data & 0x03);
}
-void sigmab98_state::screen_eof_sammymdl(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(sigmab98_state::screen_vblank_sammymdl)
{
// rising edge
if (state)
@@ -2250,7 +2250,7 @@ static MACHINE_CONFIG_START( sammymdl, sigmab98_state )
MCFG_SCREEN_SIZE(0x140, 0x100)
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xf0-1)
MCFG_SCREEN_UPDATE_DRIVER(sigmab98_state, screen_update_sigmab98)
- MCFG_SCREEN_VBLANK_DRIVER(sigmab98_state, screen_eof_sammymdl)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sigmab98_state, screen_vblank_sammymdl))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sigmab98)
diff --git a/src/mame/drivers/slapfght.cpp b/src/mame/drivers/slapfght.cpp
index d2d41191d3b..f9913ba7c3c 100644
--- a/src/mame/drivers/slapfght.cpp
+++ b/src/mame/drivers/slapfght.cpp
@@ -948,7 +948,7 @@ static MACHINE_CONFIG_START( perfrman, slapfght_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(slapfght_state, screen_update_perfrman)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", perfrman)
@@ -995,7 +995,7 @@ static MACHINE_CONFIG_START( tigerh, slapfght_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8-1, 32*8-1-1)
MCFG_SCREEN_UPDATE_DRIVER(slapfght_state, screen_update_slapfight)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", slapfght)
@@ -1060,7 +1060,7 @@ static MACHINE_CONFIG_START( slapfigh, slapfght_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 36*8-1, 2*8-1, 32*8-1-1)
MCFG_SCREEN_UPDATE_DRIVER(slapfght_state, screen_update_slapfight)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", slapfght)
diff --git a/src/mame/drivers/slapshot.cpp b/src/mame/drivers/slapshot.cpp
index 2892cd7b4fa..450ec0de202 100644
--- a/src/mame/drivers/slapshot.cpp
+++ b/src/mame/drivers/slapshot.cpp
@@ -486,7 +486,7 @@ static MACHINE_CONFIG_START( slapshot, slapshot_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(slapshot_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(slapshot_state, screen_eof_taito_no_buffer)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(slapshot_state, screen_vblank_taito_no_buffer))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", slapshot)
@@ -546,7 +546,7 @@ static MACHINE_CONFIG_START( opwolf3, slapshot_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(slapshot_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(slapshot_state, screen_eof_taito_no_buffer)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(slapshot_state, screen_vblank_taito_no_buffer))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", slapshot)
diff --git a/src/mame/drivers/sm7238.cpp b/src/mame/drivers/sm7238.cpp
index 299c6330cdb..f7116f83f6b 100644
--- a/src/mame/drivers/sm7238.cpp
+++ b/src/mame/drivers/sm7238.cpp
@@ -85,7 +85,6 @@ public:
DECLARE_WRITE8_MEMBER(control_w);
DECLARE_WRITE8_MEMBER(text_control_w);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
private:
uint32_t draw_scanline(uint16_t *p, uint16_t offset, uint8_t scanline);
@@ -305,11 +304,6 @@ uint32_t sm7238_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
return 0;
}
-void sm7238_state::screen_eof(screen_device &screen, bool state)
-{
- m_pic8259->ir2_w(state);
-}
-
/* F4 Character Displayer */
static const gfx_layout sm7238_charlayout =
@@ -357,7 +351,7 @@ static MACHINE_CONFIG_START( sm7238, sm7238_state )
KSM_TOTAL_VERT, KSM_VERT_START, KSM_VERT_START+KSM_DISP_VERT);
#endif
MCFG_SCREEN_UPDATE_DRIVER(sm7238_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(sm7238_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("pic8259", pic8259_device, ir2_w))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 3)
diff --git a/src/mame/drivers/sms.cpp b/src/mame/drivers/sms.cpp
index 130bffc78cd..7ece8832ef7 100644
--- a/src/mame/drivers/sms.cpp
+++ b/src/mame/drivers/sms.cpp
@@ -598,7 +598,7 @@ static MACHINE_CONFIG_DERIVED( sms1_ntsc, sms_ntsc_base )
MCFG_SCREEN_SMS_NTSC_RAW_PARAMS(XTAL_10_738635MHz/2)
MCFG_SCREEN_UPDATE_DRIVER(sms_state, screen_update_sms1)
- MCFG_SCREEN_VBLANK_DRIVER(sms_state, screen_vblank_sms1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sms_state, screen_vblank_sms1))
MCFG_DEFAULT_LAYOUT(layout_sms1)
@@ -708,7 +708,7 @@ static MACHINE_CONFIG_DERIVED( sms1_pal, sms_pal_base )
MCFG_SCREEN_SMS_PAL_RAW_PARAMS(MASTER_CLOCK_PAL/10)
MCFG_SCREEN_UPDATE_DRIVER(sms_state, screen_update_sms1)
- MCFG_SCREEN_VBLANK_DRIVER(sms_state, screen_vblank_sms1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sms_state, screen_vblank_sms1))
MCFG_DEFAULT_LAYOUT(layout_sms1)
@@ -772,7 +772,7 @@ static MACHINE_CONFIG_DERIVED( sms1_paln, sms_paln_base )
MCFG_SCREEN_SMS_PAL_RAW_PARAMS(MASTER_CLOCK_PALN/2)
MCFG_SCREEN_UPDATE_DRIVER(sms_state, screen_update_sms1)
- MCFG_SCREEN_VBLANK_DRIVER(sms_state, screen_vblank_sms1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sms_state, screen_vblank_sms1))
MCFG_DEFAULT_LAYOUT(layout_sms1)
@@ -838,7 +838,7 @@ static MACHINE_CONFIG_DERIVED( sms1_br, sms_br_base )
MCFG_SCREEN_SMS_NTSC_RAW_PARAMS(MASTER_CLOCK_PALM/2)
MCFG_SCREEN_UPDATE_DRIVER(sms_state, screen_update_sms1)
- MCFG_SCREEN_VBLANK_DRIVER(sms_state, screen_vblank_sms1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sms_state, screen_vblank_sms1))
MCFG_DEFAULT_LAYOUT(layout_sms1)
diff --git a/src/mame/drivers/snowbros.cpp b/src/mame/drivers/snowbros.cpp
index 1cf0faeeead..b433b3127b0 100644
--- a/src/mame/drivers/snowbros.cpp
+++ b/src/mame/drivers/snowbros.cpp
@@ -104,7 +104,7 @@ uint32_t snowbros_state::screen_update_snowbros(screen_device &screen, bitmap_in
}
-void snowbros_state::screen_eof_snowbros(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(snowbros_state::screen_vblank_snowbros)
{
// rising edge
if (state)
@@ -1782,7 +1782,7 @@ static MACHINE_CONFIG_START( snowbros, snowbros_state )
MCFG_SCREEN_SIZE(32*8, 262)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_snowbros)
- MCFG_SCREEN_VBLANK_DRIVER(snowbros_state, screen_eof_snowbros)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(snowbros_state, screen_vblank_snowbros))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", snowbros)
@@ -1816,7 +1816,7 @@ static MACHINE_CONFIG_DERIVED( wintbob, snowbros )
MCFG_GFXDECODE_MODIFY("gfxdecode", wb)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_wintbob)
- MCFG_SCREEN_VBLANK_NONE()
+ MCFG_SCREEN_VBLANK_CALLBACK(NOOP)
MACHINE_CONFIG_END
@@ -2026,7 +2026,7 @@ static MACHINE_CONFIG_START( yutnori, snowbros_state )
MCFG_SCREEN_SIZE(32*8, 262)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_snowbros)
- MCFG_SCREEN_VBLANK_DRIVER(snowbros_state, screen_eof_snowbros)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(snowbros_state, screen_vblank_snowbros))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", hyperpac)
diff --git a/src/mame/drivers/spectrum.cpp b/src/mame/drivers/spectrum.cpp
index 79c1c4ab200..2f5e8ebc130 100644
--- a/src/mame/drivers/spectrum.cpp
+++ b/src/mame/drivers/spectrum.cpp
@@ -697,7 +697,7 @@ MACHINE_CONFIG_START( spectrum_common, spectrum_state )
MCFG_SCREEN_RAW_PARAMS(X1 / 2, 448, 0, 352, 312, 0, 296)
MCFG_SCREEN_UPDATE_DRIVER(spectrum_state, screen_update_spectrum)
- MCFG_SCREEN_VBLANK_DRIVER(spectrum_state, screen_eof_spectrum)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(spectrum_state, screen_vblank_spectrum))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 16)
diff --git a/src/mame/drivers/sprint2.cpp b/src/mame/drivers/sprint2.cpp
index 6a21fc6d182..0c1f21b6b74 100644
--- a/src/mame/drivers/sprint2.cpp
+++ b/src/mame/drivers/sprint2.cpp
@@ -545,7 +545,7 @@ static MACHINE_CONFIG_START( sprint2, sprint2_state )
MCFG_SCREEN_SIZE(512, 262)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 223)
MCFG_SCREEN_UPDATE_DRIVER(sprint2_state, screen_update_sprint2)
- MCFG_SCREEN_VBLANK_DRIVER(sprint2_state, screen_eof_sprint2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sprint2_state, screen_vblank_sprint2))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sprint2)
diff --git a/src/mame/drivers/sprint4.cpp b/src/mame/drivers/sprint4.cpp
index 668bf7ce965..2b022933895 100644
--- a/src/mame/drivers/sprint4.cpp
+++ b/src/mame/drivers/sprint4.cpp
@@ -413,7 +413,7 @@ static MACHINE_CONFIG_START( sprint4, sprint4_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, 0, 256, VTOTAL, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(sprint4_state, screen_update_sprint4)
- MCFG_SCREEN_VBLANK_DRIVER(sprint4_state, screen_eof_sprint4)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sprint4_state, screen_vblank_sprint4))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sprint4)
diff --git a/src/mame/drivers/sprint8.cpp b/src/mame/drivers/sprint8.cpp
index 125651e6e69..bf59b3b36a2 100644
--- a/src/mame/drivers/sprint8.cpp
+++ b/src/mame/drivers/sprint8.cpp
@@ -465,7 +465,7 @@ static MACHINE_CONFIG_START( sprint8, sprint8_state )
MCFG_SCREEN_SIZE(512, 261)
MCFG_SCREEN_VISIBLE_AREA(0, 495, 0, 231)
MCFG_SCREEN_UPDATE_DRIVER(sprint8_state, screen_update_sprint8)
- MCFG_SCREEN_VBLANK_DRIVER(sprint8_state, screen_eof_sprint8)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sprint8_state, screen_vblank_sprint8))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sprint8)
diff --git a/src/mame/drivers/srumbler.cpp b/src/mame/drivers/srumbler.cpp
index 92bcd4c26d9..829f3aa2b6f 100644
--- a/src/mame/drivers/srumbler.cpp
+++ b/src/mame/drivers/srumbler.cpp
@@ -264,7 +264,7 @@ static MACHINE_CONFIG_START( srumbler, srumbler_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(10*8, (64-10)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(srumbler_state, screen_update)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", srumbler)
diff --git a/src/mame/drivers/sspeedr.cpp b/src/mame/drivers/sspeedr.cpp
index eef9029b87c..cbda22e932d 100644
--- a/src/mame/drivers/sspeedr.cpp
+++ b/src/mame/drivers/sspeedr.cpp
@@ -207,7 +207,7 @@ static MACHINE_CONFIG_START( sspeedr, sspeedr_state )
MCFG_SCREEN_SIZE(376, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 375, 0, 247)
MCFG_SCREEN_UPDATE_DRIVER(sspeedr_state, screen_update_sspeedr)
- MCFG_SCREEN_VBLANK_DRIVER(sspeedr_state, screen_eof_sspeedr)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(sspeedr_state, screen_vblank_sspeedr))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", sspeedr)
diff --git a/src/mame/drivers/ssrj.cpp b/src/mame/drivers/ssrj.cpp
index 83fb0847811..be3621b183c 100644
--- a/src/mame/drivers/ssrj.cpp
+++ b/src/mame/drivers/ssrj.cpp
@@ -153,7 +153,7 @@ static MACHINE_CONFIG_START( ssrj, ssrj_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 34*8-1, 1*8, 31*8-1) // unknown res
MCFG_SCREEN_UPDATE_DRIVER(ssrj_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(ssrj_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(ssrj_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", ssrj)
diff --git a/src/mame/drivers/starshp1.cpp b/src/mame/drivers/starshp1.cpp
index 126fb856326..748d81a841d 100644
--- a/src/mame/drivers/starshp1.cpp
+++ b/src/mame/drivers/starshp1.cpp
@@ -308,7 +308,7 @@ static MACHINE_CONFIG_START( starshp1, starshp1_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(STARSHP1_PIXEL_CLOCK, STARSHP1_HTOTAL, STARSHP1_HBEND, STARSHP1_HBSTART, STARSHP1_VTOTAL, STARSHP1_VBEND, STARSHP1_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(starshp1_state, screen_update_starshp1)
- MCFG_SCREEN_VBLANK_DRIVER(starshp1_state, screen_eof_starshp1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(starshp1_state, screen_vblank_starshp1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", starshp1)
diff --git a/src/mame/drivers/supduck.cpp b/src/mame/drivers/supduck.cpp
index 258aec04a26..4c380078fe1 100644
--- a/src/mame/drivers/supduck.cpp
+++ b/src/mame/drivers/supduck.cpp
@@ -451,7 +451,7 @@ static MACHINE_CONFIG_START( supduck, supduck_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_PALETTE("palette")
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index 820c9c5b866..6f1705aabdb 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -775,7 +775,7 @@ static MACHINE_CONFIG_DERIVED( super80m, super80 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(super80_state, screen_update_super80m)
- MCFG_SCREEN_VBLANK_DRIVER(super80_state, screen_eof_super80m)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(super80_state, screen_vblank_super80m))
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( super80v, super80_state )
@@ -796,7 +796,7 @@ static MACHINE_CONFIG_START( super80v, super80_state )
MCFG_SCREEN_SIZE(SUPER80V_SCREEN_WIDTH, SUPER80V_SCREEN_HEIGHT)
MCFG_SCREEN_VISIBLE_AREA(0, SUPER80V_SCREEN_WIDTH-1, 0, SUPER80V_SCREEN_HEIGHT-1)
MCFG_SCREEN_UPDATE_DRIVER(super80_state, screen_update_super80v)
- MCFG_SCREEN_VBLANK_DRIVER(super80_state, screen_eof_super80m)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(super80_state, screen_vblank_super80m))
MCFG_PALETTE_ADD("palette", 32)
MCFG_PALETTE_INIT_OWNER(super80_state,super80m)
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp
index e97878c4030..ff4cc5975e5 100644
--- a/src/mame/drivers/taito_b.cpp
+++ b/src/mame/drivers/taito_b.cpp
@@ -1940,7 +1940,7 @@ static MACHINE_CONFIG_START( rastsag2, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -1996,7 +1996,7 @@ static MACHINE_CONFIG_START( masterw, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2071,7 +2071,7 @@ static MACHINE_CONFIG_START( ashura, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2127,7 +2127,7 @@ static MACHINE_CONFIG_START( crimec, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2184,7 +2184,7 @@ static MACHINE_CONFIG_START( hitice, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2246,7 +2246,7 @@ static MACHINE_CONFIG_START( rambo3p, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", rambo3)
@@ -2303,7 +2303,7 @@ static MACHINE_CONFIG_START( rambo3, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2365,7 +2365,7 @@ static MACHINE_CONFIG_START( pbobble, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2427,7 +2427,7 @@ static MACHINE_CONFIG_START( spacedx, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2483,7 +2483,7 @@ static MACHINE_CONFIG_START( spacedxo, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2545,7 +2545,7 @@ static MACHINE_CONFIG_START( qzshowby, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2601,7 +2601,7 @@ static MACHINE_CONFIG_START( viofight, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2662,7 +2662,7 @@ static MACHINE_CONFIG_START( silentd, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2718,7 +2718,7 @@ static MACHINE_CONFIG_START( selfeena, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2783,7 +2783,7 @@ static MACHINE_CONFIG_START( ryujin, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2846,7 +2846,7 @@ static MACHINE_CONFIG_START( sbm, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
@@ -2901,7 +2901,7 @@ static MACHINE_CONFIG_START( realpunc, taitob_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_realpunc)
- MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitob_state, screen_vblank_taitob))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_b)
MCFG_PALETTE_ADD("palette", 4096)
diff --git a/src/mame/drivers/taito_f2.cpp b/src/mame/drivers/taito_f2.cpp
index 3d4975db4f0..7bda5a51d3d 100644
--- a/src/mame/drivers/taito_f2.cpp
+++ b/src/mame/drivers/taito_f2.cpp
@@ -2870,7 +2870,7 @@ static MACHINE_CONFIG_START( taito_f2, taitof2_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2)
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_no_buffer)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_no_buffer))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taitof2)
@@ -2931,7 +2931,7 @@ static MACHINE_CONFIG_DERIVED( finalb, taito_f2_tc0220ioc )
MCFG_GFXDECODE_MODIFY("gfxdecode", finalb)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_finalb)
MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed))
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -2955,7 +2955,7 @@ static MACHINE_CONFIG_DERIVED( dondokod, taito_f2_tc0220ioc )
MCFG_GFXDECODE_MODIFY("gfxdecode", pivot)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed))
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
@@ -3006,7 +3006,7 @@ static MACHINE_CONFIG_DERIVED( thundfox, taito_f2_tc0220ioc )
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_thundfox)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_thundfox)
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed_thundfox)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed_thundfox))
MCFG_DEVICE_ADD("tc0100scn_1", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3068,7 +3068,7 @@ static MACHINE_CONFIG_DERIVED( qtorimon, taito_f2_tc0220ioc )
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", yuyugogo)
MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed))
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3091,7 +3091,7 @@ static MACHINE_CONFIG_DERIVED( liquidk, taito_f2_tc0220ioc )
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_megab)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed))
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3113,7 +3113,7 @@ static MACHINE_CONFIG_DERIVED( quizhq, taito_f2 )
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", yuyugogo)
MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed))
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3139,7 +3139,7 @@ static MACHINE_CONFIG_DERIVED( ssi, taito_f2_tc0510nio )
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_ssi)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_ssi)
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed_thundfox)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed_thundfox))
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3163,7 +3163,7 @@ static MACHINE_CONFIG_DERIVED( gunfront, taito_f2_tc0510nio )
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_gunfront)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed))
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3229,7 +3229,7 @@ static MACHINE_CONFIG_DERIVED( footchmp, taito_f2 )
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_footchmp)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_full_buffer_delayed)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_full_buffer_delayed))
MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
MCFG_TC0480SCP_GFX_REGION(1)
@@ -3260,7 +3260,7 @@ static MACHINE_CONFIG_DERIVED( hthero, taito_f2 )
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_hthero)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_full_buffer_delayed)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_full_buffer_delayed))
MCFG_TC0360PRI_ADD("tc0360pri")
@@ -3377,7 +3377,7 @@ static MACHINE_CONFIG_DERIVED( qzquest, taito_f2_tc0510nio )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed))
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3451,7 +3451,7 @@ static MACHINE_CONFIG_DERIVED( qzchikyu, taito_f2_tc0510nio )
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_qzchikyu)
MCFG_SCREEN_MODIFY("screen")
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed_qzchikyu)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_partial_buffer_delayed_qzchikyu))
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3686,7 +3686,7 @@ static MACHINE_CONFIG_START( cameltrya, taitof2_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_no_buffer)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_no_buffer))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", pivot)
@@ -3754,7 +3754,7 @@ static MACHINE_CONFIG_START( driveout, taitof2_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
- MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_no_buffer)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitof2_state, screen_vblank_no_buffer))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", pivot)
diff --git a/src/mame/drivers/taito_f3.cpp b/src/mame/drivers/taito_f3.cpp
index dab3f71648f..8a06cdb0eb4 100644
--- a/src/mame/drivers/taito_f3.cpp
+++ b/src/mame/drivers/taito_f3.cpp
@@ -457,7 +457,7 @@ static MACHINE_CONFIG_START( f3, taito_f3_state )
MCFG_SCREEN_SIZE(40*8+48*2, 32*8)
MCFG_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 24, 24+232-1)
MCFG_SCREEN_UPDATE_DRIVER(taito_f3_state, screen_update_f3)
- MCFG_SCREEN_VBLANK_DRIVER(taito_f3_state, screen_eof_f3)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taito_f3_state, screen_vblank_f3))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_f3)
MCFG_PALETTE_ADD("palette", 0x2000)
@@ -552,7 +552,7 @@ static MACHINE_CONFIG_START( bubsympb, taito_f3_state )
MCFG_SCREEN_SIZE(40*8+48*2, 32*8)
MCFG_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 31, 31+224-1)
MCFG_SCREEN_UPDATE_DRIVER(taito_f3_state, screen_update_f3)
- MCFG_SCREEN_VBLANK_DRIVER(taito_f3_state, screen_eof_f3)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taito_f3_state, screen_vblank_f3))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", bubsympb)
MCFG_PALETTE_ADD("palette", 8192)
diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp
index 85f7cb46a9f..7eaded24948 100644
--- a/src/mame/drivers/taito_l.cpp
+++ b/src/mame/drivers/taito_l.cpp
@@ -1723,7 +1723,7 @@ static MACHINE_CONFIG_START( fhawk, fhawk_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol)
- MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitol_state, screen_vblank_taitol))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
@@ -1820,7 +1820,7 @@ static MACHINE_CONFIG_START( kurikint, taitol_2cpu_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol)
- MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitol_state, screen_vblank_taitol))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
@@ -1857,7 +1857,7 @@ static MACHINE_CONFIG_START( plotting, taitol_1cpu_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol)
- MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitol_state, screen_vblank_taitol))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
@@ -1953,7 +1953,7 @@ static MACHINE_CONFIG_START( evilston, taitol_2cpu_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol)
- MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taitol_state, screen_vblank_taitol))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", taito_l)
diff --git a/src/mame/drivers/tank8.cpp b/src/mame/drivers/tank8.cpp
index 790f5432829..2b9a63a9b14 100644
--- a/src/mame/drivers/tank8.cpp
+++ b/src/mame/drivers/tank8.cpp
@@ -341,7 +341,7 @@ static MACHINE_CONFIG_START( tank8, tank8_state )
MCFG_SCREEN_SIZE(512, 524)
MCFG_SCREEN_VISIBLE_AREA(16, 495, 0, 463)
MCFG_SCREEN_UPDATE_DRIVER(tank8_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(tank8_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(tank8_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", tank8)
diff --git a/src/mame/drivers/taotaido.cpp b/src/mame/drivers/taotaido.cpp
index 3f5fa1c362b..7875475ea80 100644
--- a/src/mame/drivers/taotaido.cpp
+++ b/src/mame/drivers/taotaido.cpp
@@ -378,7 +378,7 @@ static MACHINE_CONFIG_START( taotaido, taotaido_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taotaido_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(taotaido_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(taotaido_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 0x800)
diff --git a/src/mame/drivers/tceptor.cpp b/src/mame/drivers/tceptor.cpp
index 4a6a51709cf..085276498a8 100644
--- a/src/mame/drivers/tceptor.cpp
+++ b/src/mame/drivers/tceptor.cpp
@@ -404,7 +404,7 @@ static MACHINE_CONFIG_START( tceptor, tceptor_state )
MCFG_SCREEN_SIZE(38*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(2*8, 34*8-1 + 2*8, 0*8, 28*8-1 + 0)
MCFG_SCREEN_UPDATE_DRIVER(tceptor_state, screen_update_tceptor_3d_right)
- MCFG_SCREEN_VBLANK_DRIVER(tceptor_state, screen_eof_tceptor)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(tceptor_state, screen_vblank_tceptor))
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/terracre.cpp b/src/mame/drivers/terracre.cpp
index 61e3a7ee078..9a79648ebf1 100644
--- a/src/mame/drivers/terracre.cpp
+++ b/src/mame/drivers/terracre.cpp
@@ -535,7 +535,7 @@ static MACHINE_CONFIG_START( ym3526, terracre_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(terracre_state, screen_update_amazon)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", terracre)
diff --git a/src/mame/drivers/thedealr.cpp b/src/mame/drivers/thedealr.cpp
index de0200ec9b9..ae24182814b 100644
--- a/src/mame/drivers/thedealr.cpp
+++ b/src/mame/drivers/thedealr.cpp
@@ -74,7 +74,7 @@ public:
// video
DECLARE_PALETTE_INIT(thedealr);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
};
/***************************************************************************
@@ -105,7 +105,7 @@ uint32_t thedealr_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-void thedealr_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(thedealr_state::screen_vblank)
{
// rising edge
if (state)
@@ -551,7 +551,7 @@ static MACHINE_CONFIG_START( thedealr, thedealr_state )
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0+30, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(thedealr_state, screen_update)
- MCFG_SCREEN_VBLANK_DRIVER(thedealr_state, screen_eof)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(thedealr_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", thedealr)
diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp
index 8d91433c861..543d0303d0b 100644
--- a/src/mame/drivers/thomson.cpp
+++ b/src/mame/drivers/thomson.cpp
@@ -633,7 +633,7 @@ static MACHINE_CONFIG_START( to7, thomson_state )
MCFG_SCREEN_VISIBLE_AREA ( 0, THOM_TOTAL_WIDTH * 2 - 1,
0, THOM_TOTAL_HEIGHT - 1 )
MCFG_SCREEN_UPDATE_DRIVER( thomson_state, screen_update_thom )
- MCFG_SCREEN_VBLANK_DRIVER( thomson_state, thom_vblank )
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(thomson_state, thom_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD ( "palette", 4097 ) /* 12-bit color + transparency */
diff --git a/src/mame/drivers/tigeroad.cpp b/src/mame/drivers/tigeroad.cpp
index 2d949670cbd..ee3a8fda2ba 100644
--- a/src/mame/drivers/tigeroad.cpp
+++ b/src/mame/drivers/tigeroad.cpp
@@ -596,7 +596,7 @@ static MACHINE_CONFIG_START( tigeroad, tigeroad_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tigeroad_state, screen_update_tigeroad)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", tigeroad)
@@ -660,7 +660,7 @@ static MACHINE_CONFIG_START( f1dream_comad, tigeroad_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tigeroad_state, screen_update_tigeroad)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/timex.cpp b/src/mame/drivers/timex.cpp
index 01478571d19..0dc1060891c 100644
--- a/src/mame/drivers/timex.cpp
+++ b/src/mame/drivers/timex.cpp
@@ -703,7 +703,7 @@ static MACHINE_CONFIG_DERIVED( ts2068, spectrum_128 )
MCFG_SCREEN_SIZE(TS2068_SCREEN_WIDTH, TS2068_SCREEN_HEIGHT)
MCFG_SCREEN_VISIBLE_AREA(0, TS2068_SCREEN_WIDTH-1, 0, TS2068_SCREEN_HEIGHT-1)
MCFG_SCREEN_UPDATE_DRIVER(spectrum_state, screen_update_ts2068)
- MCFG_SCREEN_VBLANK_DRIVER(spectrum_state, screen_eof_timex)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(spectrum_state, screen_vblank_timex))
MCFG_GFXDECODE_MODIFY("gfxdecode", ts2068)
@@ -748,7 +748,7 @@ static MACHINE_CONFIG_DERIVED( tc2048, spectrum )
MCFG_SCREEN_SIZE(TS2068_SCREEN_WIDTH, SPEC_SCREEN_HEIGHT)
MCFG_SCREEN_VISIBLE_AREA(0, TS2068_SCREEN_WIDTH-1, 0, SPEC_SCREEN_HEIGHT-1)
MCFG_SCREEN_UPDATE_DRIVER(spectrum_state, screen_update_tc2048)
- MCFG_SCREEN_VBLANK_DRIVER(spectrum_state, screen_eof_timex)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(spectrum_state, screen_vblank_timex))
MCFG_VIDEO_START_OVERRIDE(spectrum_state, spectrum_128 )
diff --git a/src/mame/drivers/tmnt.cpp b/src/mame/drivers/tmnt.cpp
index 117680078a3..7bcafb353ce 100644
--- a/src/mame/drivers/tmnt.cpp
+++ b/src/mame/drivers/tmnt.cpp
@@ -2212,7 +2212,7 @@ static MACHINE_CONFIG_START( blswhstl, tmnt_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(tmnt_state, screen_update_lgtnfght)
- MCFG_SCREEN_VBLANK_DRIVER(tmnt_state, screen_eof_blswhstl)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(tmnt_state, screen_vblank_blswhstl))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 2048)
diff --git a/src/mame/drivers/tnzs.cpp b/src/mame/drivers/tnzs.cpp
index d0a7352cd0f..6533aaf8d84 100644
--- a/src/mame/drivers/tnzs.cpp
+++ b/src/mame/drivers/tnzs.cpp
@@ -1537,7 +1537,7 @@ static MACHINE_CONFIG_START( tnzs_base, tnzs_base_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tnzs_base_state, screen_update_tnzs)
- MCFG_SCREEN_VBLANK_DRIVER(tnzs_base_state, screen_eof_tnzs)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(tnzs_base_state, screen_vblank_tnzs))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", tnzs)
diff --git a/src/mame/drivers/toaplan1.cpp b/src/mame/drivers/toaplan1.cpp
index 6fea2e940d4..81d8ee8ff8c 100644
--- a/src/mame/drivers/toaplan1.cpp
+++ b/src/mame/drivers/toaplan1.cpp
@@ -1906,7 +1906,7 @@ static MACHINE_CONFIG_START( rallybik, toaplan1_rallybik_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL55, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_rallybik_state, screen_update_rallybik)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan1_rallybik_state, screen_eof_rallybik)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan1_rallybik_state, screen_vblank_rallybik))
MCFG_SCREEN_PALETTE("palette")
MCFG_TOAPLAN_SCU_ADD("scu", "palette", 31, 15)
@@ -1946,7 +1946,7 @@ static MACHINE_CONFIG_START( truxton, toaplan1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan1_state, screen_vblank_toaplan1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan1)
@@ -1984,7 +1984,7 @@ static MACHINE_CONFIG_START( hellfire, toaplan1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND+16, VBSTART+16)
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan1_state, screen_vblank_toaplan1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan1)
@@ -2022,7 +2022,7 @@ static MACHINE_CONFIG_START( zerowing, toaplan1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND+16, VBSTART+16)
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan1_state, screen_vblank_toaplan1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan1)
@@ -2065,7 +2065,7 @@ static MACHINE_CONFIG_START( demonwld, toaplan1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL55, VBEND+16, VBSTART+16)
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan1_state, screen_vblank_toaplan1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan1)
@@ -2103,7 +2103,7 @@ static MACHINE_CONFIG_START( samesame, toaplan1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_samesame)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan1_state, screen_vblank_samesame))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan1)
@@ -2141,7 +2141,7 @@ static MACHINE_CONFIG_START( outzone, toaplan1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL55, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan1_state, screen_vblank_toaplan1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan1)
@@ -2179,7 +2179,7 @@ static MACHINE_CONFIG_START( outzonecv, toaplan1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND+16, VBSTART+16)
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan1_state, screen_vblank_toaplan1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan1)
@@ -2217,7 +2217,7 @@ static MACHINE_CONFIG_START( vimana, toaplan1_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan1_state, screen_vblank_toaplan1))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", toaplan1)
diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp
index ff16f261af6..9ed855a364c 100644
--- a/src/mame/drivers/toaplan2.cpp
+++ b/src/mame/drivers/toaplan2.cpp
@@ -3335,7 +3335,7 @@ static MACHINE_CONFIG_START( tekipaki, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3393,7 +3393,7 @@ static MACHINE_CONFIG_START( ghox, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3483,7 +3483,7 @@ static MACHINE_CONFIG_START( dogyuun, toaplan2_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(XTAL_27MHz/4,432,0,320,262,0,240)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_dogyuun)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3534,7 +3534,7 @@ static MACHINE_CONFIG_START( kbash, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3573,7 +3573,7 @@ static MACHINE_CONFIG_START( kbash2, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3609,7 +3609,7 @@ static MACHINE_CONFIG_START( truxton2, toaplan2_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(XTAL_27MHz/4,432,0,320,262,0,240)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", truxton2)
@@ -3667,7 +3667,7 @@ static MACHINE_CONFIG_START( pipibibs, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3710,7 +3710,7 @@ static MACHINE_CONFIG_START( pipibibsbl, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3789,7 +3789,7 @@ static MACHINE_CONFIG_START( fixeight, toaplan2_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(XTAL_27MHz/4,432,0,320,262,0,240) /* verified on pcb */
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", truxton2)
@@ -3829,7 +3829,7 @@ static MACHINE_CONFIG_START( fixeightbl, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_bootleg)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", fixeightbl)
@@ -3872,7 +3872,7 @@ static MACHINE_CONFIG_START( vfive, toaplan2_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(XTAL_27MHz/4,432,0,320,262,0,240) /* verified on pcb */
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3915,7 +3915,7 @@ static MACHINE_CONFIG_START( batsugun, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_batsugun)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3958,7 +3958,7 @@ static MACHINE_CONFIG_START( pwrkick, toaplan2_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(XTAL_27MHz/4,432,0,320,262,0,240)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -3992,7 +3992,7 @@ static MACHINE_CONFIG_START( othldrby, toaplan2_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(XTAL_27MHz/4,432,0,320,262,0,240)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -4024,7 +4024,7 @@ static MACHINE_CONFIG_START( enmadaio, toaplan2_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(XTAL_27MHz/4,432,0,320,262,0,240)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -4063,7 +4063,7 @@ static MACHINE_CONFIG_START( snowbro2, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", T2PALETTE_LENGTH)
@@ -4108,7 +4108,7 @@ static MACHINE_CONFIG_START( mahoudai, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", raizing)
@@ -4154,7 +4154,7 @@ static MACHINE_CONFIG_START( shippumd, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", raizing)
@@ -4199,7 +4199,7 @@ static MACHINE_CONFIG_START( bgaregga, toaplan2_state )
//MCFG_SCREEN_SIZE(432, 262)
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
- MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(toaplan2_state, screen_vblank_toaplan2))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", raizing)
diff --git a/src/mame/drivers/toki.cpp b/src/mame/drivers/toki.cpp
index 0a6b57de6b5..87406481819 100644
--- a/src/mame/drivers/toki.cpp
+++ b/src/mame/drivers/toki.cpp
@@ -507,7 +507,7 @@ static MACHINE_CONFIG_START( toki, toki_state ) /* KOYO 20.000MHz near the cpu *
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) /* verified */
MCFG_SCREEN_UPDATE_DRIVER(toki_state, screen_update_toki)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", toki)
@@ -559,7 +559,7 @@ static MACHINE_CONFIG_START( tokib, toki_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) /* verified */
MCFG_SCREEN_UPDATE_DRIVER(toki_state, screen_update_tokib)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", tokib)
diff --git a/src/mame/drivers/twin16.cpp b/src/mame/drivers/twin16.cpp
index e1844f3d911..eadd0792c94 100644
--- a/src/mame/drivers/twin16.cpp
+++ b/src/mame/drivers/twin16.cpp
@@ -684,7 +684,7 @@ static MACHINE_CONFIG_START( twin16, twin16_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_18_432MHz/2, 576, 0, 40*8, 264, 2*8, 30*8)
MCFG_SCREEN_UPDATE_DRIVER(twin16_state, screen_update_twin16)
- MCFG_SCREEN_VBLANK_DRIVER(twin16_state, screen_eof_twin16)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(twin16_state, screen_vblank_twin16))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", twin16)
@@ -738,7 +738,7 @@ static MACHINE_CONFIG_START( fround, fround_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_18_432MHz/2, 576, 0, 40*8, 264, 2*8, 30*8)
MCFG_SCREEN_UPDATE_DRIVER(twin16_state, screen_update_twin16)
- MCFG_SCREEN_VBLANK_DRIVER(twin16_state, screen_eof_twin16)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(twin16_state, screen_vblank_twin16))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", fround)
diff --git a/src/mame/drivers/twincobr.cpp b/src/mame/drivers/twincobr.cpp
index d05a5f46654..ecec5de3c76 100644
--- a/src/mame/drivers/twincobr.cpp
+++ b/src/mame/drivers/twincobr.cpp
@@ -688,7 +688,7 @@ static MACHINE_CONFIG_START( twincobr, twincobr_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(XTAL_28MHz/4, 446, 0, 320, 286, 0, 240)
MCFG_SCREEN_UPDATE_DRIVER(twincobr_state, screen_update_toaplan0)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram16", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", twincobr)
diff --git a/src/mame/drivers/tx0.cpp b/src/mame/drivers/tx0.cpp
index 81776b3e753..76365bb1cd0 100644
--- a/src/mame/drivers/tx0.cpp
+++ b/src/mame/drivers/tx0.cpp
@@ -1557,7 +1557,7 @@ static MACHINE_CONFIG_START( tx0_64kw, tx0_state )
MCFG_SCREEN_SIZE(virtual_width, virtual_height)
MCFG_SCREEN_VISIBLE_AREA(0, virtual_width-1, 0, virtual_height-1)
MCFG_SCREEN_UPDATE_DRIVER(tx0_state, screen_update_tx0)
- MCFG_SCREEN_VBLANK_DRIVER(tx0_state, screen_eof_tx0)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(tx0_state, screen_vblank_tx0))
MCFG_SCREEN_PALETTE("palette")
MCFG_DEVICE_ADD("crt", CRT, 0)
diff --git a/src/mame/drivers/tx1.cpp b/src/mame/drivers/tx1.cpp
index bf397deb3fc..5bd1aed759a 100644
--- a/src/mame/drivers/tx1.cpp
+++ b/src/mame/drivers/tx1.cpp
@@ -647,7 +647,7 @@ static MACHINE_CONFIG_START( tx1, tx1_state )
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_RAW_PARAMS(TX1_PIXEL_CLOCK, TX1_HTOTAL, TX1_HBEND, TX1_HBSTART, TX1_VTOTAL, TX1_VBEND, TX1_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(tx1_state, screen_update_tx1_right)
- MCFG_SCREEN_VBLANK_DRIVER(tx1_state, screen_eof_tx1)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(tx1_state, screen_vblank_tx1))
MCFG_SCREEN_PALETTE("palette")
MCFG_VIDEO_START_OVERRIDE(tx1_state,tx1)
@@ -707,7 +707,7 @@ static MACHINE_CONFIG_START( buggyboy, tx1_state )
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_RAW_PARAMS(BB_PIXEL_CLOCK, BB_HTOTAL, BB_HBEND, BB_HBSTART, BB_VTOTAL, BB_VBEND, BB_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(tx1_state, screen_update_buggyboy_right)
- MCFG_SCREEN_VBLANK_DRIVER(tx1_state, screen_eof_buggyboy)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(tx1_state, screen_vblank_buggyboy))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 256)
@@ -753,7 +753,7 @@ static MACHINE_CONFIG_START( buggybjr, tx1_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(BB_PIXEL_CLOCK, BB_HTOTAL, BB_HBEND, BB_HBSTART, BB_VTOTAL, BB_VBEND, BB_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(tx1_state, screen_update_buggybjr)
- MCFG_SCREEN_VBLANK_DRIVER(tx1_state, screen_eof_buggyboy)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(tx1_state, screen_vblank_buggyboy))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 256)
diff --git a/src/mame/drivers/ultratnk.cpp b/src/mame/drivers/ultratnk.cpp
index 8d8c8731c97..9d4ed0a3ade 100644
--- a/src/mame/drivers/ultratnk.cpp
+++ b/src/mame/drivers/ultratnk.cpp
@@ -315,7 +315,7 @@ static MACHINE_CONFIG_START( ultratnk, ultratnk_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, 0, 256, VTOTAL, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(ultratnk_state, screen_update_ultratnk)
- MCFG_SCREEN_VBLANK_DRIVER(ultratnk_state, screen_eof_ultratnk)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(ultratnk_state, screen_vblank_ultratnk))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", ultratnk)
diff --git a/src/mame/drivers/wardner.cpp b/src/mame/drivers/wardner.cpp
index b5f5c483819..9a281287722 100644
--- a/src/mame/drivers/wardner.cpp
+++ b/src/mame/drivers/wardner.cpp
@@ -402,7 +402,7 @@ static MACHINE_CONFIG_START( wardner, wardner_state )
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_RAW_PARAMS(XTAL_14MHz/2, 446, 0, 320, 286, 0, 240)
MCFG_SCREEN_UPDATE_DRIVER(wardner_state, screen_update_toaplan0)
- MCFG_SCREEN_VBLANK_DEVICE("spriteram8", buffered_spriteram8_device, vblank_copy_rising)
+ MCFG_SCREEN_VBLANK_CALLBACK(DEVWRITELINE("spriteram8", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", wardner)
diff --git a/src/mame/drivers/wheelfir.cpp b/src/mame/drivers/wheelfir.cpp
index 58a7f45e778..ae5ccf73650 100644
--- a/src/mame/drivers/wheelfir.cpp
+++ b/src/mame/drivers/wheelfir.cpp
@@ -289,7 +289,7 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
uint32_t screen_update_wheelfir(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_wheelfir(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_wheelfir);
TIMER_DEVICE_CALLBACK_MEMBER(scanline_timer_callback);
};
@@ -553,12 +553,12 @@ uint32_t wheelfir_state::screen_update_wheelfir(screen_device &screen, bitmap_in
return 0;
}
-void wheelfir_state::screen_eof_wheelfir(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(wheelfir_state::screen_vblank_wheelfir)
{
// rising edge
if (state)
{
- m_tmp_bitmap[LAYER_FG]->fill(0, screen.visible_area());
+ m_tmp_bitmap[LAYER_FG]->fill(0, m_screen->visible_area());
}
}
@@ -788,7 +788,7 @@ static MACHINE_CONFIG_START( wheelfir, wheelfir_state )
MCFG_SCREEN_SIZE(336, NUM_SCANLINES+NUM_VBLANK_LINES)
MCFG_SCREEN_VISIBLE_AREA(0,335, 0, NUM_SCANLINES-1)
MCFG_SCREEN_UPDATE_DRIVER(wheelfir_state, screen_update_wheelfir)
- MCFG_SCREEN_VBLANK_DRIVER(wheelfir_state, screen_eof_wheelfir)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(wheelfir_state, screen_vblank_wheelfir))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", NUM_COLORS)
diff --git a/src/mame/drivers/wolfpack.cpp b/src/mame/drivers/wolfpack.cpp
index ca8156a4e13..8110b32c225 100644
--- a/src/mame/drivers/wolfpack.cpp
+++ b/src/mame/drivers/wolfpack.cpp
@@ -314,7 +314,7 @@ static MACHINE_CONFIG_START( wolfpack, wolfpack_state )
MCFG_SCREEN_SIZE(512, 262)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 16, 239)
MCFG_SCREEN_UPDATE_DRIVER(wolfpack_state, screen_update_wolfpack)
- MCFG_SCREEN_VBLANK_DRIVER(wolfpack_state, screen_eof_wolfpack)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(wolfpack_state, screen_vblank_wolfpack))
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", wolfpack)
diff --git a/src/mame/drivers/xmen.cpp b/src/mame/drivers/xmen.cpp
index 9ce6c484615..c5c5332bc7a 100644
--- a/src/mame/drivers/xmen.cpp
+++ b/src/mame/drivers/xmen.cpp
@@ -400,7 +400,7 @@ static MACHINE_CONFIG_START( xmen6p, xmen_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(16*8, 52*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(xmen_state, screen_update_xmen6p_right)
- MCFG_SCREEN_VBLANK_DRIVER(xmen_state, screen_eof_xmen6p)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(xmen_state, screen_vblank_xmen6p))
MCFG_SCREEN_PALETTE("palette")
MCFG_VIDEO_START_OVERRIDE(xmen_state,xmen6p)
diff --git a/src/mame/includes/airbustr.h b/src/mame/includes/airbustr.h
index d251c0c66ba..b946a944ba2 100644
--- a/src/mame/includes/airbustr.h
+++ b/src/mame/includes/airbustr.h
@@ -89,7 +89,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
INTERRUPT_GEN_MEMBER(slave_interrupt);
TIMER_DEVICE_CALLBACK_MEMBER(airbustr_scanline);
};
diff --git a/src/mame/includes/amstrad.h b/src/mame/includes/amstrad.h
index 7e7d8474c7c..9fea9f0625b 100644
--- a/src/mame/includes/amstrad.h
+++ b/src/mame/includes/amstrad.h
@@ -229,7 +229,7 @@ public:
DECLARE_MACHINE_RESET(aleste);
DECLARE_PALETTE_INIT(aleste);
uint32_t screen_update_amstrad(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_amstrad(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_amstrad);
DECLARE_INPUT_CHANGED_MEMBER(cpc_monitor_changed);
TIMER_CALLBACK_MEMBER(amstrad_pc2_low);
TIMER_CALLBACK_MEMBER(amstrad_video_update_timer);
diff --git a/src/mame/includes/asuka.h b/src/mame/includes/asuka.h
index 8dbd790738e..2b3f74d8317 100644
--- a/src/mame/includes/asuka.h
+++ b/src/mame/includes/asuka.h
@@ -74,7 +74,7 @@ public:
virtual void machine_reset() override;
uint32_t screen_update_bonzeadv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_asuka(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_asuka(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_asuka);
INTERRUPT_GEN_MEMBER(cadash_interrupt);
/*----------- defined in machine/bonzeadv.c -----------*/
diff --git a/src/mame/includes/baraduke.h b/src/mame/includes/baraduke.h
index 87de2e9c1f1..b6032c7efda 100644
--- a/src/mame/includes/baraduke.h
+++ b/src/mame/includes/baraduke.h
@@ -51,7 +51,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(baraduke);
uint32_t screen_update_baraduke(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_baraduke(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_baraduke);
void scroll_w(address_space &space, int layer, int offset, int data);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int sprite_priority);
void set_scroll(int layer);
diff --git a/src/mame/includes/bbusters.h b/src/mame/includes/bbusters.h
index c3100bf4ead..261d6250005 100644
--- a/src/mame/includes/bbusters.h
+++ b/src/mame/includes/bbusters.h
@@ -70,7 +70,6 @@ public:
uint32_t screen_update_bbuster(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_mechatt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_bbuster(screen_device &screen, bool state);
inline const uint8_t *get_source_ptr(gfx_element *gfx, uint32_t sprite, int dx, int dy, int block);
void draw_block(bitmap_ind16 &dest,int x,int y,int size,int flipx,int flipy,uint32_t sprite,int color,int bank,int block);
void draw_sprites(bitmap_ind16 &bitmap, const uint16_t *source, int bank, int colval, int colmask);
diff --git a/src/mame/includes/bking.h b/src/mame/includes/bking.h
index ebc5c809c36..44a7c521589 100644
--- a/src/mame/includes/bking.h
+++ b/src/mame/includes/bking.h
@@ -93,5 +93,5 @@ public:
DECLARE_MACHINE_RESET(bking3);
DECLARE_MACHINE_RESET(common);
uint32_t screen_update_bking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_bking(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_bking);
};
diff --git a/src/mame/includes/bosco.h b/src/mame/includes/bosco.h
index 2ea566cb5ec..2a0a17c0003 100644
--- a/src/mame/includes/bosco.h
+++ b/src/mame/includes/bosco.h
@@ -36,7 +36,7 @@ public:
DECLARE_VIDEO_START(bosco);
DECLARE_PALETTE_INIT(bosco);
uint32_t screen_update_bosco(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_bosco(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_bosco);
inline void get_tile_info_bosco(tile_data &tileinfo,int tile_index,int ram_offs);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int flip);
diff --git a/src/mame/includes/carpolo.h b/src/mame/includes/carpolo.h
index 6935e9a62d8..a2442cec6db 100644
--- a/src/mame/includes/carpolo.h
+++ b/src/mame/includes/carpolo.h
@@ -95,7 +95,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(carpolo);
uint32_t screen_update_carpolo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_carpolo(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_carpolo);
INTERRUPT_GEN_MEMBER(carpolo_timer_interrupt);
DECLARE_WRITE_LINE_MEMBER(coin1_interrupt_clear_w);
DECLARE_WRITE_LINE_MEMBER(coin2_interrupt_clear_w);
diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h
index 7191b8815ee..9ab83bf145f 100644
--- a/src/mame/includes/cps1.h
+++ b/src/mame/includes/cps1.h
@@ -327,7 +327,7 @@ public:
DECLARE_VIDEO_START(cps);
DECLARE_MACHINE_START(sf2m1);
uint32_t screen_update_cps1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_cps1(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_cps1);
INTERRUPT_GEN_MEMBER(cps1_interrupt);
TIMER_DEVICE_CALLBACK_MEMBER(ganbare_interrupt);
TIMER_DEVICE_CALLBACK_MEMBER(cps2_interrupt);
diff --git a/src/mame/includes/crshrace.h b/src/mame/includes/crshrace.h
index 9d1621000d8..e1562f4cfc5 100644
--- a/src/mame/includes/crshrace.h
+++ b/src/mame/includes/crshrace.h
@@ -69,7 +69,6 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_crshrace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_crshrace(screen_device &screen, bool state);
void draw_bg( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
void draw_fg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
};
diff --git a/src/mame/includes/dec8.h b/src/mame/includes/dec8.h
index 85a91294041..47cf8212838 100644
--- a/src/mame/includes/dec8.h
+++ b/src/mame/includes/dec8.h
@@ -160,7 +160,7 @@ public:
uint32_t screen_update_oscar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_srdarwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_cobracom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_dec8(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_dec8);
INTERRUPT_GEN_MEMBER(gondo_interrupt);
INTERRUPT_GEN_MEMBER(oscar_interrupt);
void srdarwin_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int pri );
diff --git a/src/mame/includes/deco_mlc.h b/src/mame/includes/deco_mlc.h
index 39147574b49..7e0496f37b3 100644
--- a/src/mame/includes/deco_mlc.h
+++ b/src/mame/includes/deco_mlc.h
@@ -68,7 +68,7 @@ public:
DECLARE_MACHINE_RESET(mlc);
DECLARE_VIDEO_START(mlc);
uint32_t screen_update_mlc(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_mlc(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_mlc);
TIMER_DEVICE_CALLBACK_MEMBER(interrupt_gen);
void draw_sprites( const rectangle &cliprect, int scanline, uint32_t* dest);
void descramble_sound( );
diff --git a/src/mame/includes/djboy.h b/src/mame/includes/djboy.h
index 2795829b15a..0f26e4914d7 100644
--- a/src/mame/includes/djboy.h
+++ b/src/mame/includes/djboy.h
@@ -90,6 +90,6 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_djboy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_djboy(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_djboy);
TIMER_DEVICE_CALLBACK_MEMBER(djboy_scanline);
};
diff --git a/src/mame/includes/fuukifg3.h b/src/mame/includes/fuukifg3.h
index e9f890b6689..7d4654e69ac 100644
--- a/src/mame/includes/fuukifg3.h
+++ b/src/mame/includes/fuukifg3.h
@@ -82,7 +82,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
inline void get_tile_info8bpp(tile_data &tileinfo, tilemap_memory_index tile_index, int _N_);
inline void get_tile_info4bpp(tile_data &tileinfo, tilemap_memory_index tile_index, int _N_);
inline void vram_w(offs_t offset, uint32_t data, uint32_t mem_mask, int _N_);
diff --git a/src/mame/includes/galaga.h b/src/mame/includes/galaga.h
index 93abfddf3d5..d38ba4f5263 100644
--- a/src/mame/includes/galaga.h
+++ b/src/mame/includes/galaga.h
@@ -80,7 +80,7 @@ public:
DECLARE_VIDEO_START(galaga);
DECLARE_PALETTE_INIT(galaga);
uint32_t screen_update_galaga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_galaga(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_galaga);
INTERRUPT_GEN_MEMBER(main_vblank_irq);
INTERRUPT_GEN_MEMBER(sub_vblank_irq);
TIMER_CALLBACK_MEMBER(cpu3_interrupt_callback);
diff --git a/src/mame/includes/galpanic.h b/src/mame/includes/galpanic.h
index f14c0288f0f..dfd7242645d 100644
--- a/src/mame/includes/galpanic.h
+++ b/src/mame/includes/galpanic.h
@@ -36,7 +36,7 @@ public:
DECLARE_PALETTE_INIT(galpanic);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
void draw_fgbitmap(bitmap_ind16 &bitmap, const rectangle &cliprect);
};
diff --git a/src/mame/includes/gaplus.h b/src/mame/includes/gaplus.h
index 46e510ad8e9..c7ae5acf6cb 100644
--- a/src/mame/includes/gaplus.h
+++ b/src/mame/includes/gaplus.h
@@ -97,7 +97,7 @@ public:
TIMER_CALLBACK_MEMBER(namcoio_run);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
void starfield_init();
void starfield_render(bitmap_ind16 &bitmap);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect );
diff --git a/src/mame/includes/goal92.h b/src/mame/includes/goal92.h
index e489371cf21..f5826358cca 100644
--- a/src/mame/includes/goal92.h
+++ b/src/mame/includes/goal92.h
@@ -68,7 +68,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_goal92(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_goal92(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_goal92);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int pri );
DECLARE_WRITE_LINE_MEMBER(irqhandler);
DECLARE_WRITE_LINE_MEMBER(goal92_adpcm_int);
diff --git a/src/mame/includes/hng64.h b/src/mame/includes/hng64.h
index 84fb806ade4..631742d4563 100644
--- a/src/mame/includes/hng64.h
+++ b/src/mame/includes/hng64.h
@@ -311,7 +311,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_hng64(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_hng64(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_hng64);
TIMER_DEVICE_CALLBACK_MEMBER(hng64_irq);
void do_dma(address_space &space);
diff --git a/src/mame/includes/homedata.h b/src/mame/includes/homedata.h
index 9803481fa4c..67213889c77 100644
--- a/src/mame/includes/homedata.h
+++ b/src/mame/includes/homedata.h
@@ -139,7 +139,7 @@ public:
uint32_t screen_update_reikaids(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_pteacher(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_mirderby(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_homedata(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_homedata);
INTERRUPT_GEN_MEMBER(homedata_irq);
INTERRUPT_GEN_MEMBER(upd7807_irq);
void mrokumei_handleblit( address_space &space, int rom_base );
diff --git a/src/mame/includes/inufuku.h b/src/mame/includes/inufuku.h
index f648a5e3e78..cfa27c6cf9b 100644
--- a/src/mame/includes/inufuku.h
+++ b/src/mame/includes/inufuku.h
@@ -70,7 +70,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_inufuku(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_inufuku(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_inufuku);
};
#endif // MAME_INCLUDES_INUFUKU_H
diff --git a/src/mame/includes/lemmings.h b/src/mame/includes/lemmings.h
index a6c5d094c89..54d4fa1dfe8 100644
--- a/src/mame/includes/lemmings.h
+++ b/src/mame/includes/lemmings.h
@@ -62,7 +62,7 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
uint32_t screen_update_lemmings(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_lemmings(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_lemmings);
void lemmings_copy_bitmap(bitmap_rgb32& bitmap, bitmap_ind16& srcbitmap, int* xscroll, int* yscroll, const rectangle& cliprect);
DECLARE_READ16_MEMBER( lem_protection_region_0_146_r );
diff --git a/src/mame/includes/lockon.h b/src/mame/includes/lockon.h
index 72ff10a5e9b..9ced782d8f9 100644
--- a/src/mame/includes/lockon.h
+++ b/src/mame/includes/lockon.h
@@ -129,7 +129,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(lockon);
uint32_t screen_update_lockon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_lockon(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_lockon);
TIMER_CALLBACK_MEMBER(cursor_callback);
TIMER_CALLBACK_MEMBER(bufend_callback);
void scene_draw( );
diff --git a/src/mame/includes/macrossp.h b/src/mame/includes/macrossp.h
index 5d5ccd5d2ba..130c3c01449 100644
--- a/src/mame/includes/macrossp.h
+++ b/src/mame/includes/macrossp.h
@@ -97,7 +97,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_macrossp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_macrossp(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_macrossp);
void draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void draw_layer(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int layer, int linem, int pri);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
diff --git a/src/mame/includes/mbc55x.h b/src/mame/includes/mbc55x.h
index 07011355e56..0abbe9c9ffc 100644
--- a/src/mame/includes/mbc55x.h
+++ b/src/mame/includes/mbc55x.h
@@ -175,7 +175,7 @@ public:
virtual void video_start() override;
virtual void video_reset() override;
DECLARE_PALETTE_INIT(mbc55x);
- void screen_eof_mbc55x(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_mbc55x);
TIMER_CALLBACK_MEMBER(keyscan_callback);
void keyboard_reset();
void scan_keyboard();
diff --git a/src/mame/includes/mcatadv.h b/src/mame/includes/mcatadv.h
index 5c779e02ed0..6b40d3f54c4 100644
--- a/src/mame/includes/mcatadv.h
+++ b/src/mame/includes/mcatadv.h
@@ -56,7 +56,7 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
uint32_t screen_update_mcatadv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_mcatadv(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_mcatadv);
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
void mcatadv_draw_tilemap_part( screen_device &screen, uint16_t* current_scroll, uint16_t* current_videoram1, int i, tilemap_t* current_tilemap, bitmap_ind16 &bitmap, const rectangle &cliprect );
};
diff --git a/src/mame/includes/megadriv.h b/src/mame/includes/megadriv.h
index 4803db7fcb0..98e3b21791d 100644
--- a/src/mame/includes/megadriv.h
+++ b/src/mame/includes/megadriv.h
@@ -133,7 +133,7 @@ public:
DECLARE_MACHINE_RESET( megadriv );
DECLARE_VIDEO_START( megadriv );
uint32_t screen_update_megadriv(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_megadriv(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_megadriv);
DECLARE_WRITE8_MEMBER(megadriv_tas_callback);
};
@@ -171,7 +171,7 @@ public:
DECLARE_MACHINE_START( ms_megacd ); // setup ioport_port + dma delay for cd
DECLARE_MACHINE_RESET( ms_megadriv );
- void screen_eof_console(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_console);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( _32x_cart );
diff --git a/src/mame/includes/megasys1.h b/src/mame/includes/megasys1.h
index 289f26ebd5f..5d4042ec790 100644
--- a/src/mame/includes/megasys1.h
+++ b/src/mame/includes/megasys1.h
@@ -157,7 +157,7 @@ public:
DECLARE_MACHINE_RESET(megasys1_hachoo);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
INTERRUPT_GEN_MEMBER(megasys1D_irq);
TIMER_DEVICE_CALLBACK_MEMBER(megasys1A_scanline);
TIMER_DEVICE_CALLBACK_MEMBER(megasys1A_iganinju_scanline);
diff --git a/src/mame/includes/mermaid.h b/src/mame/includes/mermaid.h
index 68d370c3f22..2a43ff480b9 100644
--- a/src/mame/includes/mermaid.h
+++ b/src/mame/includes/mermaid.h
@@ -96,7 +96,7 @@ public:
DECLARE_PALETTE_INIT(mermaid);
DECLARE_PALETTE_INIT(rougien);
uint32_t screen_update_mermaid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_mermaid(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_mermaid);
INTERRUPT_GEN_MEMBER(vblank_irq);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
uint8_t collision_check( rectangle& rect );
diff --git a/src/mame/includes/model1.h b/src/mame/includes/model1.h
index 6df79c3974a..0ca51be1ea3 100644
--- a/src/mame/includes/model1.h
+++ b/src/mame/includes/model1.h
@@ -107,7 +107,7 @@ public:
DECLARE_WRITE16_MEMBER(model1_listctl_w);
uint32_t screen_update_model1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_model1(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_model1);
struct spoint_t
{
diff --git a/src/mame/includes/munchmo.h b/src/mame/includes/munchmo.h
index aa4d7fed3f3..42db82cfece 100644
--- a/src/mame/includes/munchmo.h
+++ b/src/mame/includes/munchmo.h
@@ -60,7 +60,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(munchmo);
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void vblank_irq(screen_device &screen, bool vblank_state);
+ DECLARE_WRITE_LINE_MEMBER(vblank_irq);
IRQ_CALLBACK_MEMBER(generic_irq_ack);
void draw_status( bitmap_ind16 &bitmap, const rectangle &cliprect );
void draw_background( bitmap_ind16 &bitmap, const rectangle &cliprect );
diff --git a/src/mame/includes/mw8080bw.h b/src/mame/includes/mw8080bw.h
index aa27e8f8634..884eb898174 100644
--- a/src/mame/includes/mw8080bw.h
+++ b/src/mame/includes/mw8080bw.h
@@ -169,7 +169,7 @@ public:
uint32_t screen_update_spcenctr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_phantom2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_invaders(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_phantom2(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_phantom2);
TIMER_CALLBACK_MEMBER(maze_tone_timing_timer_callback);
TIMER_CALLBACK_MEMBER(mw8080bw_interrupt_callback);
TIMER_DEVICE_CALLBACK_MEMBER(spcenctr_strobe_timer_callback);
diff --git a/src/mame/includes/n64.h b/src/mame/includes/n64.h
index 6ad867b2c6f..e041dbbbcd9 100644
--- a/src/mame/includes/n64.h
+++ b/src/mame/includes/n64.h
@@ -31,7 +31,7 @@ public:
void n64_machine_stop();
uint32_t screen_update_n64(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_n64(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_n64);
// Getters
n64_rdp* rdp() { return m_rdp; }
diff --git a/src/mame/includes/n8080.h b/src/mame/includes/n8080.h
index 25e6749426d..237324676e8 100644
--- a/src/mame/includes/n8080.h
+++ b/src/mame/includes/n8080.h
@@ -97,7 +97,7 @@ public:
uint32_t screen_update_spacefev(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_sheriff(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_helifire(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_helifire(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_helifire);
TIMER_CALLBACK_MEMBER(spacefev_stop_red_cannon);
TIMER_DEVICE_CALLBACK_MEMBER(rst1_tick);
TIMER_DEVICE_CALLBACK_MEMBER(rst2_tick);
diff --git a/src/mame/includes/namcos1.h b/src/mame/includes/namcos1.h
index 5b1ea68346c..3e262428458 100644
--- a/src/mame/includes/namcos1.h
+++ b/src/mame/includes/namcos1.h
@@ -133,7 +133,7 @@ public:
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
private:
inline void get_tile_info(tile_data &tileinfo,int tile_index,uint8_t *info_vram);
diff --git a/src/mame/includes/namcos86.h b/src/mame/includes/namcos86.h
index deebc374de6..483a127ed18 100644
--- a/src/mame/includes/namcos86.h
+++ b/src/mame/includes/namcos86.h
@@ -76,7 +76,7 @@ public:
DECLARE_PALETTE_INIT(namcos86);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void scroll_w(address_space &space, int offset, int data, int layer);
diff --git a/src/mame/includes/next.h b/src/mame/includes/next.h
index b50ed43d41a..014261e17c2 100644
--- a/src/mame/includes/next.h
+++ b/src/mame/includes/next.h
@@ -113,7 +113,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(mo_drq);
DECLARE_FLOPPY_FORMATS( floppy_formats );
- void vblank_w(screen_device &screen, bool vblank_state);
+ DECLARE_WRITE_LINE_MEMBER(vblank_w);
protected:
struct dma_slot {
diff --git a/src/mame/includes/ninjakd2.h b/src/mame/includes/ninjakd2.h
index c0ad204704a..1edc6390616 100644
--- a/src/mame/includes/ninjakd2.h
+++ b/src/mame/includes/ninjakd2.h
@@ -115,7 +115,7 @@ public:
uint32_t screen_update_ninjakd2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_robokid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_omegaf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_ninjakd2(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_ninjakd2);
INTERRUPT_GEN_MEMBER(ninjakd2_interrupt);
void robokid_get_bg_tile_info( tile_data& tileinfo, tilemap_memory_index const tile_index, int const gfxnum, const uint8_t* const videoram);
void bg_ctrl(int offset, int data, tilemap_t* tilemap);
diff --git a/src/mame/includes/pdp1.h b/src/mame/includes/pdp1.h
index 4eccc98f69f..72e4aa428a3 100644
--- a/src/mame/includes/pdp1.h
+++ b/src/mame/includes/pdp1.h
@@ -268,7 +268,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(pdp1);
uint32_t screen_update_pdp1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_pdp1(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_pdp1);
INTERRUPT_GEN_MEMBER(pdp1_interrupt);
TIMER_CALLBACK_MEMBER(reader_callback);
TIMER_CALLBACK_MEMBER(puncher_callback);
diff --git a/src/mame/includes/pgm.h b/src/mame/includes/pgm.h
index d26e1693c09..22afae585db 100644
--- a/src/mame/includes/pgm.h
+++ b/src/mame/includes/pgm.h
@@ -101,7 +101,7 @@ public:
DECLARE_MACHINE_START(pgm);
DECLARE_MACHINE_RESET(pgm);
uint32_t screen_update_pgm(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_pgm(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_pgm);
TIMER_DEVICE_CALLBACK_MEMBER(pgm_interrupt);
inline void pgm_draw_pix( int xdrawpos, int pri, uint16_t* dest, uint8_t* destpri, uint16_t srcdat);
diff --git a/src/mame/includes/psikyo.h b/src/mame/includes/psikyo.h
index 76b993c8ec9..3dafde3cce5 100644
--- a/src/mame/includes/psikyo.h
+++ b/src/mame/includes/psikyo.h
@@ -100,7 +100,7 @@ public:
DECLARE_VIDEO_START(psikyo);
uint32_t screen_update_psikyo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_psikyo_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_psikyo(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_psikyo);
TIMER_CALLBACK_MEMBER(psikyo_soundlatch_callback);
void psikyo_switch_banks( int tmap, int bank );
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int trans_pen );
diff --git a/src/mame/includes/redclash.h b/src/mame/includes/redclash.h
index bb492439122..53acf47376b 100644
--- a/src/mame/includes/redclash.h
+++ b/src/mame/includes/redclash.h
@@ -41,8 +41,8 @@ public:
DECLARE_PALETTE_INIT(redclash);
uint32_t screen_update_sraider(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_redclash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_sraider(screen_device &screen, bool state);
- void screen_eof_redclash(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_sraider);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_redclash);
DECLARE_WRITE8_MEMBER( redclash_videoram_w );
DECLARE_WRITE8_MEMBER( redclash_gfxbank_w );
DECLARE_WRITE8_MEMBER( redclash_flipscreen_w );
diff --git a/src/mame/includes/seta.h b/src/mame/includes/seta.h
index e3e9a88e199..611b81a2252 100644
--- a/src/mame/includes/seta.h
+++ b/src/mame/includes/seta.h
@@ -246,8 +246,8 @@ public:
uint32_t screen_update_setaroul(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_inttoote(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_seta_layers(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_seta_buffer_sprites(screen_device &screen, bool state);
- void screen_eof_setaroul(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_seta_buffer_sprites);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_setaroul);
void uPD71054_update_timer(device_t *cpu, int no);
INTERRUPT_GEN_MEMBER(wrofaero_interrupt);
TIMER_CALLBACK_MEMBER(uPD71054_timer_callback);
diff --git a/src/mame/includes/seta2.h b/src/mame/includes/seta2.h
index a734c279e8b..4598d41e043 100644
--- a/src/mame/includes/seta2.h
+++ b/src/mame/includes/seta2.h
@@ -115,7 +115,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t staraudi_screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect);
void draw_rgbram(bitmap_ind16 &bitmap);
diff --git a/src/mame/includes/shadfrce.h b/src/mame/includes/shadfrce.h
index e8e20ef46e3..4d95658e050 100644
--- a/src/mame/includes/shadfrce.h
+++ b/src/mame/includes/shadfrce.h
@@ -87,6 +87,6 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
};
diff --git a/src/mame/includes/slapshot.h b/src/mame/includes/slapshot.h
index 6488a4feea0..5e6738b2a65 100644
--- a/src/mame/includes/slapshot.h
+++ b/src/mame/includes/slapshot.h
@@ -83,7 +83,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_taito_no_buffer(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_taito_no_buffer);
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int *primasks, int y_offset );
void taito_handle_sprite_buffering( );
void taito_update_sprites_active_area( );
diff --git a/src/mame/includes/sms.h b/src/mame/includes/sms.h
index 99c82563f7e..ca063f4bf1f 100644
--- a/src/mame/includes/sms.h
+++ b/src/mame/includes/sms.h
@@ -223,7 +223,7 @@ public:
uint32_t screen_update_sms1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_gamegear(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void screen_gg_sms_mode_scaling(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_vblank_sms1(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_sms1);
protected:
uint8_t read_bus(address_space &space, unsigned int bank, uint16_t base_addr, uint16_t offset);
diff --git a/src/mame/includes/snowbros.h b/src/mame/includes/snowbros.h
index c5b7f7efff3..228c92a1ced 100644
--- a/src/mame/includes/snowbros.h
+++ b/src/mame/includes/snowbros.h
@@ -71,7 +71,7 @@ public:
uint32_t screen_update_twinadv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_snowbro3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_wintbob(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_snowbros(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_snowbros);
TIMER_DEVICE_CALLBACK_MEMBER(snowbros_irq);
TIMER_DEVICE_CALLBACK_MEMBER(snowbros3_irq);
diff --git a/src/mame/includes/spectrum.h b/src/mame/includes/spectrum.h
index 11672822f03..e787e23baab 100644
--- a/src/mame/includes/spectrum.h
+++ b/src/mame/includes/spectrum.h
@@ -158,8 +158,8 @@ public:
uint32_t screen_update_spectrum(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tc2048(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ts2068(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_spectrum(screen_device &screen, bool state);
- void screen_eof_timex(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_spectrum);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_timex);
INTERRUPT_GEN_MEMBER(spec_interrupt);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( spectrum_cart );
diff --git a/src/mame/includes/sprint2.h b/src/mame/includes/sprint2.h
index 28a46765168..79a61f3b824 100644
--- a/src/mame/includes/sprint2.h
+++ b/src/mame/includes/sprint2.h
@@ -78,7 +78,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(sprint2);
uint32_t screen_update_sprint2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_sprint2(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_sprint2);
INTERRUPT_GEN_MEMBER(sprint2);
uint8_t collision_check(rectangle& rect);
inline int get_sprite_code(uint8_t *video_ram, int n);
diff --git a/src/mame/includes/sprint4.h b/src/mame/includes/sprint4.h
index 41080c35236..80ae9cd90ed 100644
--- a/src/mame/includes/sprint4.h
+++ b/src/mame/includes/sprint4.h
@@ -56,7 +56,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(sprint4);
uint32_t screen_update_sprint4(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_sprint4(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_sprint4);
TIMER_CALLBACK_MEMBER(nmi_callback);
required_device<cpu_device> m_maincpu;
required_device<watchdog_timer_device> m_watchdog;
diff --git a/src/mame/includes/sprint8.h b/src/mame/includes/sprint8.h
index 437e39a9743..ae5ab5a6c08 100644
--- a/src/mame/includes/sprint8.h
+++ b/src/mame/includes/sprint8.h
@@ -45,7 +45,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(sprint8);
uint32_t screen_update_sprint8(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_sprint8(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_sprint8);
TIMER_CALLBACK_MEMBER(sprint8_collision_callback);
TIMER_DEVICE_CALLBACK_MEMBER(input_callback);
DECLARE_WRITE8_MEMBER(sprint8_crash_w);
diff --git a/src/mame/includes/sspeedr.h b/src/mame/includes/sspeedr.h
index af08e28c3fe..5376e2705dc 100644
--- a/src/mame/includes/sspeedr.h
+++ b/src/mame/includes/sspeedr.h
@@ -41,7 +41,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(sspeedr);
uint32_t screen_update_sspeedr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_sspeedr(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_sspeedr);
void draw_track(bitmap_ind16 &bitmap);
void draw_drones(bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_driver(bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/ssrj.h b/src/mame/includes/ssrj.h
index 19d2cf14753..426fb63fca5 100644
--- a/src/mame/includes/ssrj.h
+++ b/src/mame/includes/ssrj.h
@@ -45,6 +45,6 @@ public:
DECLARE_PALETTE_INIT(ssrj);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
void draw_objects(bitmap_ind16 &bitmap, const rectangle &cliprect );
};
diff --git a/src/mame/includes/starshp1.h b/src/mame/includes/starshp1.h
index d3ec471c6e8..fc4e239271d 100644
--- a/src/mame/includes/starshp1.h
+++ b/src/mame/includes/starshp1.h
@@ -87,7 +87,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(starshp1);
uint32_t screen_update_starshp1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_starshp1(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_starshp1);
INTERRUPT_GEN_MEMBER(starshp1_interrupt);
void set_pens();
void draw_starfield(bitmap_ind16 &bitmap);
diff --git a/src/mame/includes/super80.h b/src/mame/includes/super80.h
index 6e29dc76e80..bc6755ca4d0 100644
--- a/src/mame/includes/super80.h
+++ b/src/mame/includes/super80.h
@@ -87,7 +87,7 @@ public:
uint32_t screen_update_super80d(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_super80e(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_super80m(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_super80m(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_super80m);
TIMER_CALLBACK_MEMBER(super80_reset);
TIMER_DEVICE_CALLBACK_MEMBER(timer_h);
TIMER_DEVICE_CALLBACK_MEMBER(timer_k);
diff --git a/src/mame/includes/taito_b.h b/src/mame/includes/taito_b.h
index e8ac3c333a7..bd60fc87f96 100644
--- a/src/mame/includes/taito_b.h
+++ b/src/mame/includes/taito_b.h
@@ -111,7 +111,7 @@ public:
DECLARE_VIDEO_START(taitob_core);
uint32_t screen_update_taitob(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_realpunc(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_taitob(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_taitob);
INTERRUPT_GEN_MEMBER(rastansaga2_interrupt);
INTERRUPT_GEN_MEMBER(crimec_interrupt);
INTERRUPT_GEN_MEMBER(hitice_interrupt);
diff --git a/src/mame/includes/taito_f2.h b/src/mame/includes/taito_f2.h
index fa6f34f6638..2c4cf2ff844 100644
--- a/src/mame/includes/taito_f2.h
+++ b/src/mame/includes/taito_f2.h
@@ -169,11 +169,11 @@ public:
uint32_t screen_update_taitof2_deadconx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_taitof2_yesnoj(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_taitof2_metalb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_taitof2_no_buffer(screen_device &screen, bool state);
- void screen_eof_taitof2_partial_buffer_delayed(screen_device &screen, bool state);
- void screen_eof_taitof2_partial_buffer_delayed_thundfox(screen_device &screen, bool state);
- void screen_eof_taitof2_full_buffer_delayed(screen_device &screen, bool state);
- void screen_eof_taitof2_partial_buffer_delayed_qzchikyu(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_no_buffer);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_partial_buffer_delayed);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_partial_buffer_delayed_thundfox);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_full_buffer_delayed);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_partial_buffer_delayed_qzchikyu);
INTERRUPT_GEN_MEMBER(taitof2_interrupt);
void reset_driveout_sound_region();
void taitof2_core_vh_start (int sprite_type, int hide, int flip_hide );
diff --git a/src/mame/includes/taito_f3.h b/src/mame/includes/taito_f3.h
index ee8faf04cf3..57738d8e273 100644
--- a/src/mame/includes/taito_f3.h
+++ b/src/mame/includes/taito_f3.h
@@ -311,7 +311,7 @@ public:
DECLARE_MACHINE_RESET(f3);
DECLARE_VIDEO_START(f3);
uint32_t screen_update_f3(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void screen_eof_f3(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_f3);
INTERRUPT_GEN_MEMBER(f3_interrupt2);
protected:
diff --git a/src/mame/includes/taito_l.h b/src/mame/includes/taito_l.h
index e3f8f425a10..97b644bdc0a 100644
--- a/src/mame/includes/taito_l.h
+++ b/src/mame/includes/taito_l.h
@@ -73,7 +73,7 @@ public:
DECLARE_VIDEO_START(taito_l);
DECLARE_MACHINE_RESET(taito_l);
u32 screen_update_taitol(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_taitol(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_taitol);
TIMER_DEVICE_CALLBACK_MEMBER(vbl_interrupt);
IRQ_CALLBACK_MEMBER(irq_callback);
void taitol_chardef14_m(int offset);
diff --git a/src/mame/includes/tank8.h b/src/mame/includes/tank8.h
index 16deea7df78..0bf7b290b04 100644
--- a/src/mame/includes/tank8.h
+++ b/src/mame/includes/tank8.h
@@ -85,7 +85,7 @@ public:
DECLARE_PALETTE_INIT(tank8);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
void set_pens();
inline int get_x_pos(int n);
inline int get_y_pos(int n);
diff --git a/src/mame/includes/taotaido.h b/src/mame/includes/taotaido.h
index b254f757bab..be2b189208b 100644
--- a/src/mame/includes/taotaido.h
+++ b/src/mame/includes/taotaido.h
@@ -56,7 +56,7 @@ public:
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank);
uint32_t tile_callback( uint32_t code );
};
diff --git a/src/mame/includes/tceptor.h b/src/mame/includes/tceptor.h
index c2b5b92deea..ce4c1f81ef6 100644
--- a/src/mame/includes/tceptor.h
+++ b/src/mame/includes/tceptor.h
@@ -79,7 +79,7 @@ public:
uint32_t screen_update_tceptor_2d(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tceptor_3d_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tceptor_3d_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_tceptor(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_tceptor);
INTERRUPT_GEN_MEMBER(m6809_vb_interrupt);
INTERRUPT_GEN_MEMBER(m68k_vb_interrupt);
INTERRUPT_GEN_MEMBER(mcu_vb_interrupt);
diff --git a/src/mame/includes/thomson.h b/src/mame/includes/thomson.h
index 5587c47835d..92d04243f87 100644
--- a/src/mame/includes/thomson.h
+++ b/src/mame/includes/thomson.h
@@ -313,7 +313,7 @@ public:
void overlay_scandraw_8( uint8_t* vram, uint16_t* dst, uint16_t* pal, int org, int len );
void overlayhalf_scandraw_8( uint8_t* vram, uint16_t* dst, uint16_t* pal, int org, int len );
void overlay3_scandraw_8( uint8_t* vram, uint16_t* dst, uint16_t* pal, int org, int len );
- void thom_vblank( screen_device &screen, bool state );
+ DECLARE_WRITE_LINE_MEMBER(thom_vblank);
DECLARE_VIDEO_START( thom );
DECLARE_READ8_MEMBER( to7_5p14_r );
diff --git a/src/mame/includes/tmnt.h b/src/mame/includes/tmnt.h
index fed21e7685c..8205bffd82e 100644
--- a/src/mame/includes/tmnt.h
+++ b/src/mame/includes/tmnt.h
@@ -162,7 +162,7 @@ public:
uint32_t screen_update_glfgreat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tmnt2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_thndrx2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_blswhstl(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_blswhstl);
INTERRUPT_GEN_MEMBER(tmnt_interrupt);
INTERRUPT_GEN_MEMBER(punkshot_interrupt);
INTERRUPT_GEN_MEMBER(lgtnfght_interrupt);
diff --git a/src/mame/includes/tnzs.h b/src/mame/includes/tnzs.h
index 673ae0d6951..5032f8f2855 100644
--- a/src/mame/includes/tnzs.h
+++ b/src/mame/includes/tnzs.h
@@ -37,7 +37,7 @@ public:
DECLARE_WRITE8_MEMBER(ramrom_bankswitch_w);
uint32_t screen_update_tnzs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_tnzs(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_tnzs);
DECLARE_READ8_MEMBER(analog_r); // TODO: Move into a subclass
diff --git a/src/mame/includes/toaplan1.h b/src/mame/includes/toaplan1.h
index dca3fa03cdc..b45ed1633c4 100644
--- a/src/mame/includes/toaplan1.h
+++ b/src/mame/includes/toaplan1.h
@@ -141,8 +141,8 @@ public:
DECLARE_MACHINE_RESET(vimana);
uint32_t screen_update_toaplan1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_toaplan1(screen_device &screen, bool state);
- void screen_eof_samesame(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_toaplan1);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_samesame);
INTERRUPT_GEN_MEMBER(toaplan1_interrupt);
void demonwld_restore_dsp();
@@ -179,7 +179,7 @@ public:
DECLARE_READ16_MEMBER(rallybik_tileram16_r);
DECLARE_VIDEO_START(rallybik);
uint32_t screen_update_rallybik(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_rallybik(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_rallybik);
required_device<toaplan_scu_device> m_spritegen;
};
diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h
index 1cc9ec190fa..7bceb86000c 100644
--- a/src/mame/includes/toaplan2.h
+++ b/src/mame/includes/toaplan2.h
@@ -163,7 +163,7 @@ public:
uint32_t screen_update_batsugun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_truxton2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_toaplan2(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_toaplan2);
INTERRUPT_GEN_MEMBER(toaplan2_vblank_irq1);
INTERRUPT_GEN_MEMBER(toaplan2_vblank_irq2);
INTERRUPT_GEN_MEMBER(toaplan2_vblank_irq4);
diff --git a/src/mame/includes/twin16.h b/src/mame/includes/twin16.h
index 299187d1851..b9fe3b0c97b 100644
--- a/src/mame/includes/twin16.h
+++ b/src/mame/includes/twin16.h
@@ -76,7 +76,7 @@ public:
TILE_GET_INFO_MEMBER(layer1_tile_info);
uint32_t screen_update_twin16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_twin16(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_twin16);
INTERRUPT_GEN_MEMBER(CPUA_interrupt);
INTERRUPT_GEN_MEMBER(CPUB_interrupt);
TIMER_CALLBACK_MEMBER(sprite_tick);
diff --git a/src/mame/includes/tx0.h b/src/mame/includes/tx0.h
index cdd436ee467..f946e2d72c2 100644
--- a/src/mame/includes/tx0.h
+++ b/src/mame/includes/tx0.h
@@ -162,7 +162,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(tx0);
uint32_t screen_update_tx0(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_tx0(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_tx0);
INTERRUPT_GEN_MEMBER(tx0_interrupt);
TIMER_CALLBACK_MEMBER(reader_callback);
TIMER_CALLBACK_MEMBER(puncher_callback);
diff --git a/src/mame/includes/tx1.h b/src/mame/includes/tx1.h
index 75858e9c2ec..e22cd8be080 100644
--- a/src/mame/includes/tx1.h
+++ b/src/mame/includes/tx1.h
@@ -225,8 +225,8 @@ public:
uint32_t screen_update_buggyboy_middle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_buggyboy_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_buggybjr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_tx1(screen_device &screen, bool state);
- void screen_eof_buggyboy(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_tx1);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_buggyboy);
INTERRUPT_GEN_MEMBER(z80_irq);
TIMER_CALLBACK_MEMBER(interrupt_callback);
};
diff --git a/src/mame/includes/ultratnk.h b/src/mame/includes/ultratnk.h
index b1c924e6861..6cba95252fc 100644
--- a/src/mame/includes/ultratnk.h
+++ b/src/mame/includes/ultratnk.h
@@ -56,7 +56,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(ultratnk);
uint32_t screen_update_ultratnk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_ultratnk(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_ultratnk);
TIMER_CALLBACK_MEMBER(nmi_callback);
required_device<cpu_device> m_maincpu;
required_device<watchdog_timer_device> m_watchdog;
diff --git a/src/mame/includes/wolfpack.h b/src/mame/includes/wolfpack.h
index 24264f09a17..93dd40ddfa9 100644
--- a/src/mame/includes/wolfpack.h
+++ b/src/mame/includes/wolfpack.h
@@ -84,7 +84,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(wolfpack);
uint32_t screen_update_wolfpack(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_wolfpack(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_wolfpack);
TIMER_CALLBACK_MEMBER(periodic_callback);
void draw_ship(bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_torpedo(bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/xbox.h b/src/mame/includes/xbox.h
index 613a2ca48f6..02623c5bc2d 100644
--- a/src/mame/includes/xbox.h
+++ b/src/mame/includes/xbox.h
@@ -56,7 +56,7 @@ public:
virtual void hack_eeprom() {};
virtual void hack_usb() {};
- void vblank_callback(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(vblank_callback);
uint32_t screen_update_callback(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
virtual void machine_start() override;
diff --git a/src/mame/includes/xbox_nv2a.h b/src/mame/includes/xbox_nv2a.h
index f090f0b373f..4f5e7e9fcaa 100644
--- a/src/mame/includes/xbox_nv2a.h
+++ b/src/mame/includes/xbox_nv2a.h
@@ -455,7 +455,7 @@ public:
}
DECLARE_READ32_MEMBER(geforce_r);
DECLARE_WRITE32_MEMBER(geforce_w);
- void vblank_callback(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(vblank_callback);
uint32_t screen_update_callback(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
bool update_interrupts();
void set_interrupt_device(pic8259_device *device);
diff --git a/src/mame/includes/xmen.h b/src/mame/includes/xmen.h
index 2e88cba6b2f..10ddff90050 100644
--- a/src/mame/includes/xmen.h
+++ b/src/mame/includes/xmen.h
@@ -71,7 +71,7 @@ public:
uint32_t screen_update_xmen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_xmen6p_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_xmen6p_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void screen_eof_xmen6p(screen_device &screen, bool state);
+ DECLARE_WRITE_LINE_MEMBER(screen_vblank_xmen6p);
TIMER_DEVICE_CALLBACK_MEMBER(xmen_scanline);
K052109_CB_MEMBER(tile_callback);
K053246_CB_MEMBER(sprite_callback);
diff --git a/src/mame/machine/amstrad.cpp b/src/mame/machine/amstrad.cpp
index 8e7d114e1ae..5e7ad87c902 100644
--- a/src/mame/machine/amstrad.cpp
+++ b/src/mame/machine/amstrad.cpp
@@ -2476,7 +2476,7 @@ void amstrad_state::kccomp_reset_machine()
}
-void amstrad_state::screen_eof_amstrad(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(amstrad_state::screen_vblank_amstrad)
{
// rising edge
if (state)
diff --git a/src/mame/machine/megadriv.cpp b/src/mame/machine/megadriv.cpp
index 50d9ff92739..ec74ab33c5f 100644
--- a/src/mame/machine/megadriv.cpp
+++ b/src/mame/machine/megadriv.cpp
@@ -921,7 +921,7 @@ MACHINE_CONFIG_FRAGMENT( md_ntsc )
MCFG_SCREEN_SIZE(64*8, 620)
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(md_base_state, screen_update_megadriv) /* Copies a bitmap */
- MCFG_SCREEN_VBLANK_DRIVER(md_base_state, screen_eof_megadriv) /* Used to Sync the timing */
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_base_state, screen_vblank_megadriv)) /* Used to Sync the timing */
MCFG_VIDEO_START_OVERRIDE(md_base_state, megadriv)
@@ -969,7 +969,7 @@ MACHINE_CONFIG_FRAGMENT( md_pal )
MCFG_SCREEN_SIZE(64*8, 620)
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(md_base_state, screen_update_megadriv) /* Copies a bitmap */
- MCFG_SCREEN_VBLANK_DRIVER(md_base_state, screen_eof_megadriv) /* Used to Sync the timing */
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(md_base_state, screen_vblank_megadriv)) /* Used to Sync the timing */
MCFG_VIDEO_START_OVERRIDE(md_base_state, megadriv)
@@ -1065,7 +1065,7 @@ DRIVER_INIT_MEMBER(md_base_state, megadrie)
m_version_hi_nibble = 0xe0; // Export PAL no-SCD
}
-void md_base_state::screen_eof_megadriv(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(md_base_state::screen_vblank_megadriv)
{
if (m_io_reset.read_safe(0) & 0x01)
m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE);
diff --git a/src/mame/machine/sms.cpp b/src/mame/machine/sms.cpp
index 1dc3827b811..993fab144d1 100644
--- a/src/mame/machine/sms.cpp
+++ b/src/mame/machine/sms.cpp
@@ -1368,7 +1368,7 @@ READ32_MEMBER(sms_state::sms_pixel_color)
}
-void sms_state::screen_vblank_sms1(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(sms_state::screen_vblank_sms1)
{
// on falling edge
if (!state)
diff --git a/src/mame/machine/xbox.cpp b/src/mame/machine/xbox.cpp
index 10afbf19381..50da545cef9 100644
--- a/src/mame/machine/xbox.cpp
+++ b/src/mame/machine/xbox.cpp
@@ -575,9 +575,9 @@ void xbox_base_state::debug_generate_irq(int irq, bool active)
}
}
-void xbox_base_state::vblank_callback(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(xbox_base_state::vblank_callback)
{
- nvidia_nv2a->vblank_callback(screen, state);
+ nvidia_nv2a->vblank_callback(state);
}
uint32_t xbox_base_state::screen_update_callback(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
@@ -1312,5 +1312,5 @@ MACHINE_CONFIG_START(xbox_base, xbox_base_state)
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
MCFG_SCREEN_UPDATE_DRIVER(xbox_base_state, screen_update_callback)
- MCFG_SCREEN_VBLANK_DRIVER(xbox_base_state, vblank_callback)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(xbox_base_state, vblank_callback))
MACHINE_CONFIG_END
diff --git a/src/mame/video/airbustr.cpp b/src/mame/video/airbustr.cpp
index 233695e39d7..9e84296967a 100644
--- a/src/mame/video/airbustr.cpp
+++ b/src/mame/video/airbustr.cpp
@@ -136,7 +136,7 @@ uint32_t airbustr_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-void airbustr_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(airbustr_state::screen_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/baraduke.cpp b/src/mame/video/baraduke.cpp
index 6354c9e10f9..3ce0f59070a 100644
--- a/src/mame/video/baraduke.cpp
+++ b/src/mame/video/baraduke.cpp
@@ -325,7 +325,7 @@ uint32_t baraduke_state::screen_update_baraduke(screen_device &screen, bitmap_in
}
-void baraduke_state::screen_eof_baraduke(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(baraduke_state::screen_vblank_baraduke)
{
// rising edge
if (state)
diff --git a/src/mame/video/bking.cpp b/src/mame/video/bking.cpp
index f64a80b8c3b..d39212ad6f2 100644
--- a/src/mame/video/bking.cpp
+++ b/src/mame/video/bking.cpp
@@ -254,7 +254,7 @@ uint32_t bking_state::screen_update_bking(screen_device &screen, bitmap_ind16 &b
}
-void bking_state::screen_eof_bking(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(bking_state::screen_vblank_bking)
{
// rising edge
if (state)
@@ -290,7 +290,7 @@ void bking_state::screen_eof_bking(screen_device &screen, bool state)
m_bg_tilemap->set_scrollx(0, flip_screen() ? -xld : xld);
m_bg_tilemap->set_scrolly(0, flip_screen() ? -yld : yld);
- m_bg_tilemap->draw(screen, m_colmap_bg, rect, 0, 0);
+ m_bg_tilemap->draw(*m_screen, m_colmap_bg, rect, 0, 0);
m_bg_tilemap->set_scrollx(0, 0);
m_bg_tilemap->set_scrolly(0, 0);
diff --git a/src/mame/video/bosco.cpp b/src/mame/video/bosco.cpp
index f2153c3873e..07f2f428eac 100644
--- a/src/mame/video/bosco.cpp
+++ b/src/mame/video/bosco.cpp
@@ -301,7 +301,7 @@ uint32_t bosco_state::screen_update_bosco(screen_device &screen, bitmap_ind16 &b
}
-void bosco_state::screen_eof_bosco(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(bosco_state::screen_vblank_bosco)
{
// falling edge
if (!state)
diff --git a/src/mame/video/carpolo.cpp b/src/mame/video/carpolo.cpp
index e2e7d2d0915..48082e42c4d 100644
--- a/src/mame/video/carpolo.cpp
+++ b/src/mame/video/carpolo.cpp
@@ -540,7 +540,7 @@ int carpolo_state::check_sprite_border_collision(uint8_t x1, uint8_t y1, int cod
}
-void carpolo_state::screen_eof_carpolo(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(carpolo_state::screen_vblank_carpolo)
{
// rising edge
if (state)
diff --git a/src/mame/video/cps1.cpp b/src/mame/video/cps1.cpp
index 14aba3f2eae..3873a8afec9 100644
--- a/src/mame/video/cps1.cpp
+++ b/src/mame/video/cps1.cpp
@@ -3089,7 +3089,7 @@ if (0 && machine().input().code_pressed(KEYCODE_Z))
return 0;
}
-void cps_state::screen_eof_cps1(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(cps_state::screen_vblank_cps1)
{
// rising edge
if (state)
diff --git a/src/mame/video/crshrace.cpp b/src/mame/video/crshrace.cpp
index f2289d494bd..879d436923d 100644
--- a/src/mame/video/crshrace.cpp
+++ b/src/mame/video/crshrace.cpp
@@ -140,9 +140,3 @@ uint32_t crshrace_state::screen_update_crshrace(screen_device &screen, bitmap_in
}
return 0;
}
-
-void crshrace_state::screen_eof_crshrace(screen_device &screen, bool state)
-{
- m_spriteram->vblank_copy_rising(screen, state);
- m_spriteram2->vblank_copy_rising(screen, state);
-}
diff --git a/src/mame/video/deco_mlc.cpp b/src/mame/video/deco_mlc.cpp
index 433a8937dc4..a97b1c2e10d 100644
--- a/src/mame/video/deco_mlc.cpp
+++ b/src/mame/video/deco_mlc.cpp
@@ -537,7 +537,7 @@ void deco_mlc_state::draw_sprites( const rectangle &cliprect, int scanline, uint
}
}
-void deco_mlc_state::screen_eof_mlc(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(deco_mlc_state::screen_vblank_mlc)
{
// rising edge
if (state)
diff --git a/src/mame/video/djboy.cpp b/src/mame/video/djboy.cpp
index 08a912a6479..39bae7bc99b 100644
--- a/src/mame/video/djboy.cpp
+++ b/src/mame/video/djboy.cpp
@@ -75,7 +75,7 @@ uint32_t djboy_state::screen_update_djboy(screen_device &screen, bitmap_ind16 &b
return 0;
}
-void djboy_state::screen_eof_djboy(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(djboy_state::screen_vblank_djboy)
{
// rising edge
if (state)
diff --git a/src/mame/video/fuukifg3.cpp b/src/mame/video/fuukifg3.cpp
index f9320d13fe9..01c15f097ab 100644
--- a/src/mame/video/fuukifg3.cpp
+++ b/src/mame/video/fuukifg3.cpp
@@ -223,7 +223,7 @@ uint32_t fuuki32_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
return 0;
}
-void fuuki32_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(fuuki32_state::screen_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/galaga.cpp b/src/mame/video/galaga.cpp
index d7c1e19bfb7..e8f0ea17c9d 100644
--- a/src/mame/video/galaga.cpp
+++ b/src/mame/video/galaga.cpp
@@ -562,7 +562,7 @@ uint32_t galaga_state::screen_update_galaga(screen_device &screen, bitmap_ind16
-void galaga_state::screen_eof_galaga(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(galaga_state::screen_vblank_galaga)
{
// falling edge
if (!state)
diff --git a/src/mame/video/gaplus.cpp b/src/mame/video/gaplus.cpp
index 2216fcc2f0b..a7a492bc588 100644
--- a/src/mame/video/gaplus.cpp
+++ b/src/mame/video/gaplus.cpp
@@ -323,7 +323,7 @@ uint32_t gaplus_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
}
-void gaplus_state::screen_eof(screen_device &screen, bool state)/* update starfields */
+WRITE_LINE_MEMBER(gaplus_state::screen_vblank)/* update starfields */
{
// falling edge
if (!state)
diff --git a/src/mame/video/goal92.cpp b/src/mame/video/goal92.cpp
index 38012031cc3..006c6d04a23 100644
--- a/src/mame/video/goal92.cpp
+++ b/src/mame/video/goal92.cpp
@@ -179,7 +179,7 @@ uint32_t goal92_state::screen_update_goal92(screen_device &screen, bitmap_ind16
return 0;
}
-void goal92_state::screen_eof_goal92(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(goal92_state::screen_vblank_goal92)
{
// rising edge
if (state)
diff --git a/src/mame/video/hng64.cpp b/src/mame/video/hng64.cpp
index 2491a9b0ccd..b2a3a9b4feb 100644
--- a/src/mame/video/hng64.cpp
+++ b/src/mame/video/hng64.cpp
@@ -1110,7 +1110,7 @@ uint32_t hng64_state::screen_update_hng64(screen_device &screen, bitmap_rgb32 &b
return 0;
}
-void hng64_state::screen_eof_hng64(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(hng64_state::screen_vblank_hng64)
{
// rising edge
if (state)
diff --git a/src/mame/video/homedata.cpp b/src/mame/video/homedata.cpp
index f3a20512a58..1c4a6d33993 100644
--- a/src/mame/video/homedata.cpp
+++ b/src/mame/video/homedata.cpp
@@ -1022,7 +1022,7 @@ uint32_t homedata_state::screen_update_mirderby(screen_device &screen, bitmap_in
}
-void homedata_state::screen_eof_homedata(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(homedata_state::screen_vblank_homedata)
{
// rising edge
if (state)
diff --git a/src/mame/video/inufuku.cpp b/src/mame/video/inufuku.cpp
index c22177f52dc..111ede75c2e 100644
--- a/src/mame/video/inufuku.cpp
+++ b/src/mame/video/inufuku.cpp
@@ -163,7 +163,7 @@ uint32_t inufuku_state::screen_update_inufuku(screen_device &screen, bitmap_ind1
return 0;
}
-void inufuku_state::screen_eof_inufuku(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(inufuku_state::screen_vblank_inufuku)
{
// rising edge
if (state)
diff --git a/src/mame/video/lemmings.cpp b/src/mame/video/lemmings.cpp
index 48d74992f63..b7945932770 100644
--- a/src/mame/video/lemmings.cpp
+++ b/src/mame/video/lemmings.cpp
@@ -48,7 +48,7 @@ void lemmings_state::video_start()
save_item(NAME(m_sprite_triple_buffer_1));
}
-void lemmings_state::screen_eof_lemmings(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(lemmings_state::screen_vblank_lemmings)
{
// rising edge
if (state)
diff --git a/src/mame/video/lockon.cpp b/src/mame/video/lockon.cpp
index 0b9634ce87f..ee98db7a6a1 100644
--- a/src/mame/video/lockon.cpp
+++ b/src/mame/video/lockon.cpp
@@ -930,7 +930,7 @@ uint32_t lockon_state::screen_update_lockon(screen_device &screen, bitmap_ind16
return 0;
}
-void lockon_state::screen_eof_lockon(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(lockon_state::screen_vblank_lockon)
{
// on falling edge
if (!state)
diff --git a/src/mame/video/macrossp.cpp b/src/mame/video/macrossp.cpp
index 93ec700a98e..9cac1274daa 100644
--- a/src/mame/video/macrossp.cpp
+++ b/src/mame/video/macrossp.cpp
@@ -457,7 +457,7 @@ m_scrc_videoregs[2]);// 08 - 0b
return 0;
}
-void macrossp_state::screen_eof_macrossp(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(macrossp_state::screen_vblank_macrossp)
{
// rising edge
if (state)
diff --git a/src/mame/video/mbc55x.cpp b/src/mame/video/mbc55x.cpp
index eac28ff4419..af946d84baa 100644
--- a/src/mame/video/mbc55x.cpp
+++ b/src/mame/video/mbc55x.cpp
@@ -184,7 +184,7 @@ void mbc55x_state::video_reset()
logerror("Video reset\n");
}
-void mbc55x_state::screen_eof_mbc55x(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(mbc55x_state::screen_vblank_mbc55x)
{
-// logerror("screen_eof_mbc55x\n");
+// logerror("screen_vblank_mbc55x\n");
}
diff --git a/src/mame/video/mcatadv.cpp b/src/mame/video/mcatadv.cpp
index 56149fa1b20..8cef97d7b4a 100644
--- a/src/mame/video/mcatadv.cpp
+++ b/src/mame/video/mcatadv.cpp
@@ -282,7 +282,7 @@ void mcatadv_state::video_start()
save_pointer(NAME(m_vidregs_old.get()), (0x0f + 1) / 2);
}
-void mcatadv_state::screen_eof_mcatadv(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(mcatadv_state::screen_vblank_mcatadv)
{
// rising edge
if (state)
diff --git a/src/mame/video/megasys1.cpp b/src/mame/video/megasys1.cpp
index 1513d41790b..13b99f9fd2f 100644
--- a/src/mame/video/megasys1.cpp
+++ b/src/mame/video/megasys1.cpp
@@ -864,7 +864,7 @@ uint32_t megasys1_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-void megasys1_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(megasys1_state::screen_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/mermaid.cpp b/src/mame/video/mermaid.cpp
index e365ccdfad0..77a8aeb3ba2 100644
--- a/src/mame/video/mermaid.cpp
+++ b/src/mame/video/mermaid.cpp
@@ -244,7 +244,7 @@ uint8_t mermaid_state::collision_check( rectangle& rect )
return data;
}
-void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(mermaid_state::screen_vblank_mermaid)
{
// rising edge
if (state)
@@ -304,7 +304,7 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
m_helper.fill(0, rect);
m_helper2.fill(0, rect);
- m_bg_tilemap->draw(screen, m_helper, rect, 0, 0);
+ m_bg_tilemap->draw(*m_screen, m_helper, rect, 0, 0);
m_gfxdecode->gfx(1)->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
@@ -315,7 +315,7 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
m_helper.fill(0, rect);
m_helper2.fill(0, rect);
- m_fg_tilemap->draw(screen, m_helper, rect, 0, 0);
+ m_fg_tilemap->draw(*m_screen, m_helper, rect, 0, 0);
m_gfxdecode->gfx(1)->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
diff --git a/src/mame/video/model1.cpp b/src/mame/video/model1.cpp
index 4c0454018b7..b128650fbbb 100644
--- a/src/mame/video/model1.cpp
+++ b/src/mame/video/model1.cpp
@@ -1667,7 +1667,7 @@ uint32_t model1_state::screen_update_model1(screen_device &screen, bitmap_rgb32
return 0;
}
-void model1_state::screen_eof_model1(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(model1_state::screen_vblank_model1)
{
// on rising edge
if (state)
diff --git a/src/mame/video/mw8080bw.cpp b/src/mame/video/mw8080bw.cpp
index 6fb940571cc..2faa2adb3a4 100644
--- a/src/mame/video/mw8080bw.cpp
+++ b/src/mame/video/mw8080bw.cpp
@@ -345,7 +345,7 @@ uint32_t mw8080bw_state::screen_update_phantom2(screen_device &screen, bitmap_rg
}
-void mw8080bw_state::screen_eof_phantom2(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(mw8080bw_state::screen_vblank_phantom2)
{
// falling edge
if (!state)
diff --git a/src/mame/video/n64.cpp b/src/mame/video/n64.cpp
index d27ecd95223..80a5b0c54bd 100644
--- a/src/mame/video/n64.cpp
+++ b/src/mame/video/n64.cpp
@@ -164,7 +164,7 @@ uint32_t n64_state::screen_update_n64(screen_device &screen, bitmap_rgb32 &bitma
return 0;
}
-void n64_state::screen_eof_n64(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(n64_state::screen_vblank_n64)
{
}
diff --git a/src/mame/video/n8080.cpp b/src/mame/video/n8080.cpp
index f2d625f12c0..eab68ba12ca 100644
--- a/src/mame/video/n8080.cpp
+++ b/src/mame/video/n8080.cpp
@@ -338,7 +338,7 @@ uint32_t n8080_state::screen_update_helifire(screen_device &screen, bitmap_ind16
}
-void n8080_state::screen_eof_helifire(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(n8080_state::screen_vblank_helifire)
{
// falling edge
if (!state)
diff --git a/src/mame/video/namcos1.cpp b/src/mame/video/namcos1.cpp
index cba0f3e3a7d..0caac817ce0 100644
--- a/src/mame/video/namcos1.cpp
+++ b/src/mame/video/namcos1.cpp
@@ -347,7 +347,7 @@ uint32_t namcos1_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
}
-void namcos1_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(namcos1_state::screen_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/namcos86.cpp b/src/mame/video/namcos86.cpp
index e075e830b50..0d97fac415b 100644
--- a/src/mame/video/namcos86.cpp
+++ b/src/mame/video/namcos86.cpp
@@ -365,7 +365,7 @@ uint32_t namcos86_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
}
-void namcos86_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(namcos86_state::screen_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/ninjakd2.cpp b/src/mame/video/ninjakd2.cpp
index ad398a36310..9579b240a0a 100644
--- a/src/mame/video/ninjakd2.cpp
+++ b/src/mame/video/ninjakd2.cpp
@@ -460,7 +460,7 @@ void ninjakd2_state::update_sprites()
uint32_t ninjakd2_state::screen_update_ninjakd2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- // updating sprites here instead than in screen_eof avoids a palette glitch
+ // updating sprites here instead than in screen_vblank avoids a palette glitch
// at the end of the "rainbow sky" screens.
update_sprites();
m_sprites_updated = 1;
@@ -507,7 +507,7 @@ uint32_t ninjakd2_state::screen_update_omegaf(screen_device &screen, bitmap_ind1
}
-void ninjakd2_state::screen_eof_ninjakd2(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(ninjakd2_state::screen_vblank_ninjakd2)
{
// rising edge
if (state)
diff --git a/src/mame/video/pdp1.cpp b/src/mame/video/pdp1.cpp
index 7dd685e11bb..0a4597fd3be 100644
--- a/src/mame/video/pdp1.cpp
+++ b/src/mame/video/pdp1.cpp
@@ -50,7 +50,7 @@ void pdp1_state::video_start()
}
-void pdp1_state::screen_eof_pdp1(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(pdp1_state::screen_vblank_pdp1)
{
// rising edge
if (state)
diff --git a/src/mame/video/pgm.cpp b/src/mame/video/pgm.cpp
index 249554fcfd5..4fde104b15c 100644
--- a/src/mame/video/pgm.cpp
+++ b/src/mame/video/pgm.cpp
@@ -664,7 +664,7 @@ uint32_t pgm_state::screen_update_pgm(screen_device &screen, bitmap_ind16 &bitma
}
-void pgm_state::screen_eof_pgm(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(pgm_state::screen_vblank_pgm)
{
// rising edge
if (state)
diff --git a/src/mame/video/psikyo.cpp b/src/mame/video/psikyo.cpp
index b4e76c1a9f4..b5d0eeab5f6 100644
--- a/src/mame/video/psikyo.cpp
+++ b/src/mame/video/psikyo.cpp
@@ -845,7 +845,7 @@ uint32_t psikyo_state::screen_update_psikyo_bootleg(screen_device &screen, bitma
}
-void psikyo_state::screen_eof_psikyo(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(psikyo_state::screen_vblank_psikyo)
{
// rising edge
if (state)
diff --git a/src/mame/video/redclash.cpp b/src/mame/video/redclash.cpp
index 067f38afb31..49df7515913 100644
--- a/src/mame/video/redclash.cpp
+++ b/src/mame/video/redclash.cpp
@@ -335,7 +335,7 @@ void redclash_state::redclash_set_stars_enable(uint8_t on)
}
/* This sets up which starfield to draw and the offset, */
-/* To be called from screen_eof_*() */
+/* To be called from screen_vblank_*() */
void redclash_state::redclash_update_stars_state()
{
@@ -435,7 +435,7 @@ void redclash_state::redclash_draw_stars(bitmap_ind16 &bitmap, const rectangle &
}
}
-void redclash_state::screen_eof_redclash(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(redclash_state::screen_vblank_redclash)
{
// falling edge
if (!state)
@@ -491,7 +491,7 @@ VIDEO_START_MEMBER(redclash_state,sraider)
m_bg_tilemap->set_transparent_pen(0);
}
-void redclash_state::screen_eof_sraider(screen_device &screen, bool state)/* update starfield position */
+WRITE_LINE_MEMBER(redclash_state::screen_vblank_sraider)/* update starfield position */
{
// falling edge
if (!state)
diff --git a/src/mame/video/seta.cpp b/src/mame/video/seta.cpp
index eeac4a5c1a1..817eda4d785 100644
--- a/src/mame/video/seta.cpp
+++ b/src/mame/video/seta.cpp
@@ -1062,7 +1062,7 @@ uint32_t seta_state::screen_update_setaroul(screen_device &screen, bitmap_ind16
return 0;
}
-void seta_state::screen_eof_setaroul(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(seta_state::screen_vblank_setaroul)
{
// rising edge
if (state)
diff --git a/src/mame/video/seta2.cpp b/src/mame/video/seta2.cpp
index 938a4bb59fb..6102dfa0b6f 100644
--- a/src/mame/video/seta2.cpp
+++ b/src/mame/video/seta2.cpp
@@ -482,7 +482,7 @@ uint32_t seta2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
return 0;
}
-void seta2_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(seta2_state::screen_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/shadfrce.cpp b/src/mame/video/shadfrce.cpp
index a5731909096..21789a93afa 100644
--- a/src/mame/video/shadfrce.cpp
+++ b/src/mame/video/shadfrce.cpp
@@ -167,7 +167,7 @@ uint32_t shadfrce_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-void shadfrce_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(shadfrce_state::screen_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/slapshot.cpp b/src/mame/video/slapshot.cpp
index a9a6318ee1b..79ed3b7ea31 100644
--- a/src/mame/video/slapshot.cpp
+++ b/src/mame/video/slapshot.cpp
@@ -419,7 +419,7 @@ void slapshot_state::taito_update_sprites_active_area( )
}
}
-void slapshot_state::screen_eof_taito_no_buffer(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(slapshot_state::screen_vblank_taito_no_buffer)
{
// rising edge
if (state)
diff --git a/src/mame/video/spectrum.cpp b/src/mame/video/spectrum.cpp
index 0f6ee5485d5..2a26f0f2099 100644
--- a/src/mame/video/spectrum.cpp
+++ b/src/mame/video/spectrum.cpp
@@ -67,7 +67,7 @@ inline unsigned char spectrum_state::get_display_color (unsigned char color, int
/* Code to change the FLASH status every 25 frames. Note this must be
independent of frame skip etc. */
-void spectrum_state::screen_eof_spectrum(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(spectrum_state::screen_vblank_spectrum)
{
// rising edge
if (state)
diff --git a/src/mame/video/sprint2.cpp b/src/mame/video/sprint2.cpp
index cfe567c6d16..537f8d9dea3 100644
--- a/src/mame/video/sprint2.cpp
+++ b/src/mame/video/sprint2.cpp
@@ -118,7 +118,7 @@ uint32_t sprint2_state::screen_update_sprint2(screen_device &screen, bitmap_ind1
uint8_t *video_ram = m_video_ram;
int i;
- m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+ m_bg_tilemap->draw(*m_screen, bitmap, cliprect, 0, 0);
/* draw the sprites */
@@ -135,7 +135,7 @@ uint32_t sprint2_state::screen_update_sprint2(screen_device &screen, bitmap_ind1
}
-void sprint2_state::screen_eof_sprint2(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(sprint2_state::screen_vblank_sprint2)
{
// rising edge
if (state)
@@ -166,7 +166,7 @@ void sprint2_state::screen_eof_sprint2(screen_device &screen, bool state)
/* check for sprite-tilemap collisions */
- m_bg_tilemap->draw(screen, m_helper, rect, 0, 0);
+ m_bg_tilemap->draw(*m_screen, m_helper, rect, 0, 0);
m_gfxdecode->gfx(1)->transpen(m_helper,rect,
get_sprite_code(video_ram, i),
diff --git a/src/mame/video/sprint4.cpp b/src/mame/video/sprint4.cpp
index ae6883f53d9..c7026e0fc28 100644
--- a/src/mame/video/sprint4.cpp
+++ b/src/mame/video/sprint4.cpp
@@ -85,7 +85,7 @@ uint32_t sprint4_state::screen_update_sprint4(screen_device &screen, bitmap_ind1
}
-void sprint4_state::screen_eof_sprint4(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(sprint4_state::screen_vblank_sprint4)
{
// rising edge
if (state)
@@ -115,7 +115,7 @@ void sprint4_state::screen_eof_sprint4(screen_device &screen, bool state)
rect &= m_screen->visible_area();
- m_playfield->draw(screen, m_helper, rect, 0, 0);
+ m_playfield->draw(*m_screen, m_helper, rect, 0, 0);
if (i & 1)
bank = 32;
diff --git a/src/mame/video/sprint8.cpp b/src/mame/video/sprint8.cpp
index 9319e49ef12..2a67ef8aefc 100644
--- a/src/mame/video/sprint8.cpp
+++ b/src/mame/video/sprint8.cpp
@@ -161,7 +161,7 @@ uint32_t sprint8_state::screen_update_sprint8(screen_device &screen, bitmap_ind1
}
-void sprint8_state::screen_eof_sprint8(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(sprint8_state::screen_vblank_sprint8)
{
// rising edge
if (state)
@@ -170,7 +170,7 @@ void sprint8_state::screen_eof_sprint8(screen_device &screen, bool state)
int y;
const rectangle &visarea = m_screen->visible_area();
- m_tilemap2->draw(screen, m_helper2, visarea, 0, 0);
+ m_tilemap2->draw(*m_screen, m_helper2, visarea, 0, 0);
m_helper1.fill(0x20, visarea);
diff --git a/src/mame/video/sspeedr.cpp b/src/mame/video/sspeedr.cpp
index e382f12805a..3c9f6096a1f 100644
--- a/src/mame/video/sspeedr.cpp
+++ b/src/mame/video/sspeedr.cpp
@@ -253,7 +253,7 @@ uint32_t sspeedr_state::screen_update_sspeedr(screen_device &screen, bitmap_ind1
}
-void sspeedr_state::screen_eof_sspeedr(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(sspeedr_state::screen_vblank_sspeedr)
{
// rising edge
if (state)
diff --git a/src/mame/video/ssrj.cpp b/src/mame/video/ssrj.cpp
index 02668420cdb..8fd787d3fd7 100644
--- a/src/mame/video/ssrj.cpp
+++ b/src/mame/video/ssrj.cpp
@@ -284,7 +284,7 @@ uint32_t ssrj_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
return 0;
}
-void ssrj_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(ssrj_state::screen_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/starshp1.cpp b/src/mame/video/starshp1.cpp
index 2e286a6f3b8..c82c3cd4354 100644
--- a/src/mame/video/starshp1.cpp
+++ b/src/mame/video/starshp1.cpp
@@ -373,7 +373,7 @@ uint32_t starshp1_state::screen_update_starshp1(screen_device &screen, bitmap_in
}
-void starshp1_state::screen_eof_starshp1(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(starshp1_state::screen_vblank_starshp1)
{
// rising edge
if (state)
diff --git a/src/mame/video/super80.cpp b/src/mame/video/super80.cpp
index 6fbd782fc1f..a1247705b67 100644
--- a/src/mame/video/super80.cpp
+++ b/src/mame/video/super80.cpp
@@ -54,7 +54,7 @@ PALETTE_INIT_MEMBER( super80_state, super80m )
-void super80_state::screen_eof_super80m(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(super80_state::screen_vblank_super80m)
{
// rising edge
if (state)
diff --git a/src/mame/video/taito_b.cpp b/src/mame/video/taito_b.cpp
index 5935e46ba21..556d6b20908 100644
--- a/src/mame/video/taito_b.cpp
+++ b/src/mame/video/taito_b.cpp
@@ -481,7 +481,7 @@ uint32_t taitob_state::screen_update_realpunc(screen_device &screen, bitmap_rgb3
-void taitob_state::screen_eof_taitob(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(taitob_state::screen_vblank_taitob)
{
// rising edge
if (state)
@@ -491,7 +491,7 @@ void taitob_state::screen_eof_taitob(screen_device &screen, bool state)
uint8_t framebuffer_page = m_tc0180vcu->get_fb_page(space, 0);
if (~video_control & 0x01)
- m_framebuffer[framebuffer_page]->fill(0, screen.visible_area());
+ m_framebuffer[framebuffer_page]->fill(0, m_screen->visible_area());
if (~video_control & 0x80)
{
@@ -499,6 +499,6 @@ void taitob_state::screen_eof_taitob(screen_device &screen, bool state)
m_tc0180vcu->set_fb_page(space, 0, framebuffer_page);
}
- draw_sprites(*m_framebuffer[framebuffer_page], screen.visible_area());
+ draw_sprites(*m_framebuffer[framebuffer_page], m_screen->visible_area());
}
}
diff --git a/src/mame/video/taito_f2.cpp b/src/mame/video/taito_f2.cpp
index 89f039d2ded..eb6ac55efcf 100644
--- a/src/mame/video/taito_f2.cpp
+++ b/src/mame/video/taito_f2.cpp
@@ -871,7 +871,7 @@ void taitof2_state::taitof2_update_sprites_active_area( )
}
-void taitof2_state::screen_eof_taitof2_no_buffer(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(taitof2_state::screen_vblank_no_buffer)
{
// rising edge
if (state)
@@ -882,7 +882,7 @@ void taitof2_state::screen_eof_taitof2_no_buffer(screen_device &screen, bool sta
}
}
-void taitof2_state::screen_eof_taitof2_full_buffer_delayed(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(taitof2_state::screen_vblank_full_buffer_delayed)
{
// rising edge
if (state)
@@ -900,7 +900,7 @@ void taitof2_state::screen_eof_taitof2_full_buffer_delayed(screen_device &screen
}
}
-void taitof2_state::screen_eof_taitof2_partial_buffer_delayed(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(taitof2_state::screen_vblank_partial_buffer_delayed)
{
// rising edge
if (state)
@@ -918,7 +918,7 @@ void taitof2_state::screen_eof_taitof2_partial_buffer_delayed(screen_device &scr
}
}
-void taitof2_state::screen_eof_taitof2_partial_buffer_delayed_thundfox(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(taitof2_state::screen_vblank_partial_buffer_delayed_thundfox)
{
// rising edge
if (state)
@@ -940,7 +940,7 @@ void taitof2_state::screen_eof_taitof2_partial_buffer_delayed_thundfox(screen_de
}
}
-void taitof2_state::screen_eof_taitof2_partial_buffer_delayed_qzchikyu(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(taitof2_state::screen_vblank_partial_buffer_delayed_qzchikyu)
{
// rising edge
if (state)
diff --git a/src/mame/video/taito_f3.cpp b/src/mame/video/taito_f3.cpp
index b2028d09e98..184079ee0af 100644
--- a/src/mame/video/taito_f3.cpp
+++ b/src/mame/video/taito_f3.cpp
@@ -506,7 +506,7 @@ TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info_pixel)
/******************************************************************************/
-void taito_f3_state::screen_eof_f3(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(taito_f3_state::screen_vblank_f3)
{
// rising edge
if (state)
diff --git a/src/mame/video/taito_l.cpp b/src/mame/video/taito_l.cpp
index d275c363fc6..75fba56f811 100644
--- a/src/mame/video/taito_l.cpp
+++ b/src/mame/video/taito_l.cpp
@@ -309,7 +309,7 @@ uint32_t taitol_state::screen_update_taitol(screen_device &screen, bitmap_ind16
-void taitol_state::screen_eof_taitol(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(taitol_state::screen_vblank_taitol)
{
// rising edge
if (state)
diff --git a/src/mame/video/tank8.cpp b/src/mame/video/tank8.cpp
index b0f292c8ac9..d38ca8dbbf4 100644
--- a/src/mame/video/tank8.cpp
+++ b/src/mame/video/tank8.cpp
@@ -193,7 +193,7 @@ uint32_t tank8_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
}
-void tank8_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(tank8_state::screen_vblank)
{
// on falling edge
if (!state)
@@ -202,7 +202,7 @@ void tank8_state::screen_eof(screen_device &screen, bool state)
int y;
const rectangle &visarea = m_screen->visible_area();
- m_tilemap->draw(screen, m_helper1, visarea, 0, 0);
+ m_tilemap->draw(*m_screen, m_helper1, visarea, 0, 0);
m_helper2.fill(8, visarea);
m_helper3.fill(8, visarea);
@@ -277,7 +277,7 @@ void tank8_state::screen_eof(screen_device &screen, bool state)
index |= 0x80; /* collision on right side */
}
- m_collision_timer->adjust(screen.time_until_pos(y, x), index);
+ m_collision_timer->adjust(m_screen->time_until_pos(y, x), index);
_state = 1;
}
diff --git a/src/mame/video/taotaido.cpp b/src/mame/video/taotaido.cpp
index 0bacd6ec616..53189033c2a 100644
--- a/src/mame/video/taotaido.cpp
+++ b/src/mame/video/taotaido.cpp
@@ -137,7 +137,7 @@ uint32_t taotaido_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-void taotaido_state::screen_eof(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(taotaido_state::screen_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/tceptor.cpp b/src/mame/video/tceptor.cpp
index 84befa5ae5e..75b3e4a9b02 100644
--- a/src/mame/video/tceptor.cpp
+++ b/src/mame/video/tceptor.cpp
@@ -544,7 +544,7 @@ uint32_t tceptor_state::screen_update_tceptor_3d_right(screen_device &screen, bi
}
-void tceptor_state::screen_eof_tceptor(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(tceptor_state::screen_vblank_tceptor)
{
// rising edge
if (state)
diff --git a/src/mame/video/thomson.cpp b/src/mame/video/thomson.cpp
index 26ba2d2189b..8dac9d2f8d8 100644
--- a/src/mame/video/thomson.cpp
+++ b/src/mame/video/thomson.cpp
@@ -1022,7 +1022,7 @@ TIMER_CALLBACK_MEMBER( thomson_state::thom_set_init )
}
/* call this at the very beginning of each new frame */
-void thomson_state::thom_vblank( screen_device &screen, bool state )
+WRITE_LINE_MEMBER(thomson_state::thom_vblank)
{
// rising edge
if (state)
diff --git a/src/mame/video/timex.cpp b/src/mame/video/timex.cpp
index 72602d6639c..e276e6af323 100644
--- a/src/mame/video/timex.cpp
+++ b/src/mame/video/timex.cpp
@@ -32,7 +32,7 @@ VIDEO_START_MEMBER(spectrum_state,ts2068)
m_frame_invert_count = 30;
}
-void spectrum_state::screen_eof_timex(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(spectrum_state::screen_vblank_timex)
{
// rising edge
if (state)
diff --git a/src/mame/video/tmnt.cpp b/src/mame/video/tmnt.cpp
index 15686a0a58b..e370f2150c8 100644
--- a/src/mame/video/tmnt.cpp
+++ b/src/mame/video/tmnt.cpp
@@ -760,7 +760,7 @@ uint32_t tmnt_state::screen_update_thndrx2(screen_device &screen, bitmap_ind16 &
***************************************************************************/
-void tmnt_state::screen_eof_blswhstl(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(tmnt_state::screen_vblank_blswhstl)
{
// on rising edge
if (state)
diff --git a/src/mame/video/tnzs.cpp b/src/mame/video/tnzs.cpp
index 803c39d67ac..65e11063e5d 100644
--- a/src/mame/video/tnzs.cpp
+++ b/src/mame/video/tnzs.cpp
@@ -54,7 +54,7 @@ uint32_t tnzs_base_state::screen_update_tnzs(screen_device &screen, bitmap_ind16
return 0;
}
-void tnzs_base_state::screen_eof_tnzs(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(tnzs_base_state::screen_vblank_tnzs)
{
// rising edge
if (state)
diff --git a/src/mame/video/toaplan1.cpp b/src/mame/video/toaplan1.cpp
index b7ef0a39596..db50ee4b8b7 100644
--- a/src/mame/video/toaplan1.cpp
+++ b/src/mame/video/toaplan1.cpp
@@ -987,7 +987,7 @@ uint32_t toaplan1_state::screen_update_toaplan1(screen_device &screen, bitmap_in
assume it happens automatically every frame, at the end of vblank
****************************************************************************/
-void toaplan1_rallybik_state::screen_eof_rallybik(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(toaplan1_rallybik_state::screen_vblank_rallybik)
{
// rising edge
if (state)
@@ -996,7 +996,7 @@ void toaplan1_rallybik_state::screen_eof_rallybik(screen_device &screen, bool st
}
}
-void toaplan1_state::screen_eof_toaplan1(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(toaplan1_state::screen_vblank_toaplan1)
{
// rising edge
if (state)
@@ -1006,7 +1006,7 @@ void toaplan1_state::screen_eof_toaplan1(screen_device &screen, bool state)
}
}
-void toaplan1_state::screen_eof_samesame(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(toaplan1_state::screen_vblank_samesame)
{
// rising edge
if (state)
diff --git a/src/mame/video/toaplan2.cpp b/src/mame/video/toaplan2.cpp
index 589d445430e..d68b8e39ab2 100644
--- a/src/mame/video/toaplan2.cpp
+++ b/src/mame/video/toaplan2.cpp
@@ -388,7 +388,7 @@ uint32_t toaplan2_state::screen_update_truxton2(screen_device &screen, bitmap_in
-void toaplan2_state::screen_eof_toaplan2(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(toaplan2_state::screen_vblank_toaplan2)
{
// rising edge
if (state)
diff --git a/src/mame/video/twin16.cpp b/src/mame/video/twin16.cpp
index 9ddcec4937d..e5233f19876 100644
--- a/src/mame/video/twin16.cpp
+++ b/src/mame/video/twin16.cpp
@@ -544,7 +544,7 @@ uint32_t twin16_state::screen_update_twin16(screen_device &screen, bitmap_ind16
return 0;
}
-void twin16_state::screen_eof_twin16(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(twin16_state::screen_vblank_twin16)
{
// rising edge
if (state)
diff --git a/src/mame/video/tx0.cpp b/src/mame/video/tx0.cpp
index 8fabb0735dc..1c02e8636d4 100644
--- a/src/mame/video/tx0.cpp
+++ b/src/mame/video/tx0.cpp
@@ -39,7 +39,7 @@ void tx0_state::video_start()
}
-void tx0_state::screen_eof_tx0(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(tx0_state::screen_vblank_tx0)
{
// rising edge
if (state)
diff --git a/src/mame/video/tx1.cpp b/src/mame/video/tx1.cpp
index 246ac3a005a..019b007d18f 100644
--- a/src/mame/video/tx1.cpp
+++ b/src/mame/video/tx1.cpp
@@ -1113,7 +1113,7 @@ VIDEO_START_MEMBER(tx1_state,tx1)
m_interrupt_timer->adjust(m_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
}
-void tx1_state::screen_eof_tx1(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(tx1_state::screen_vblank_tx1)
{
// rising edge
if (state)
@@ -3017,7 +3017,7 @@ VIDEO_START_MEMBER(tx1_state,buggybjr)
m_interrupt_timer->adjust(m_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
}
-void tx1_state::screen_eof_buggyboy(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(tx1_state::screen_vblank_buggyboy)
{
// rising edge
if (state)
diff --git a/src/mame/video/ultratnk.cpp b/src/mame/video/ultratnk.cpp
index 48a207f1e96..f66b0d00304 100644
--- a/src/mame/video/ultratnk.cpp
+++ b/src/mame/video/ultratnk.cpp
@@ -88,7 +88,7 @@ uint32_t ultratnk_state::screen_update_ultratnk(screen_device &screen, bitmap_in
}
-void ultratnk_state::screen_eof_ultratnk(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(ultratnk_state::screen_vblank_ultratnk)
{
// rising edge
if (state)
@@ -119,7 +119,7 @@ void ultratnk_state::screen_eof_ultratnk(screen_device &screen, bool state)
rect &= m_screen->visible_area();
- m_playfield->draw(screen, m_helper, rect, 0, 0);
+ m_playfield->draw(*m_screen, m_helper, rect, 0, 0);
if (code & 4)
bank = 32;
diff --git a/src/mame/video/wolfpack.cpp b/src/mame/video/wolfpack.cpp
index c96da80ffe8..12a140f958d 100644
--- a/src/mame/video/wolfpack.cpp
+++ b/src/mame/video/wolfpack.cpp
@@ -273,7 +273,7 @@ uint32_t wolfpack_state::screen_update_wolfpack(screen_device &screen, bitmap_in
}
-void wolfpack_state::screen_eof_wolfpack(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(wolfpack_state::screen_vblank_wolfpack)
{
// rising edge
if (state)
diff --git a/src/mame/video/xbox_nv2a.cpp b/src/mame/video/xbox_nv2a.cpp
index d5a112912ce..7b0c5cb61a6 100644
--- a/src/mame/video/xbox_nv2a.cpp
+++ b/src/mame/video/xbox_nv2a.cpp
@@ -4486,7 +4486,7 @@ void nv2a_renderer::combiner_compute_a_outputs(int stage_number)
combiner.function_Aop3 = std::max(std::min((combiner.function_Aop3 + biasa) * scalea, 1.0f), -1.0f);
}
-void nv2a_renderer::vblank_callback(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(nv2a_renderer::vblank_callback)
{
#ifdef LOG_NV2A
printf("vblank_callback\n\r");
diff --git a/src/mame/video/xmen.cpp b/src/mame/video/xmen.cpp
index 9cc6991194b..fed6ed11011 100644
--- a/src/mame/video/xmen.cpp
+++ b/src/mame/video/xmen.cpp
@@ -135,7 +135,7 @@ uint32_t xmen_state::screen_update_xmen6p_right(screen_device &screen, bitmap_in
}
/* my lefts and rights are mixed up in several places.. */
-void xmen_state::screen_eof_xmen6p(screen_device &screen, bool state)
+WRITE_LINE_MEMBER(xmen_state::screen_vblank_xmen6p)
{
// rising edge
if (state)