summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-09-07 20:11:42 -0400
committer AJR <ajrhacker@users.noreply.github.com>2018-09-07 20:12:08 -0400
commit33e96886bdea9a589960cd80236dbcc6648a978f (patch)
treec8bd67368f6ed591e29358afdfdf30f3467a3cf2
parent2f59fd54ec39b70a6fb60c57c3a7d8d6c32348d9 (diff)
taito_b.cpp/tc0180vcu: One less callback to configure (nw)
-rw-r--r--src/mame/drivers/taito_b.cpp17
-rw-r--r--src/mame/video/tc0180vcu.cpp20
-rw-r--r--src/mame/video/tc0180vcu.h2
3 files changed, 9 insertions, 30 deletions
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp
index 81cb0a183e1..eae43cd4417 100644
--- a/src/mame/drivers/taito_b.cpp
+++ b/src/mame/drivers/taito_b.cpp
@@ -1772,7 +1772,6 @@ MACHINE_CONFIG_START(taitob_state::rastsag2)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -1830,7 +1829,6 @@ MACHINE_CONFIG_START(taitob_state::masterw)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -1909,7 +1907,6 @@ MACHINE_CONFIG_START(taitob_state::ashura)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -1967,7 +1964,6 @@ MACHINE_CONFIG_START(taitob_state::crimec)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2026,7 +2022,6 @@ MACHINE_CONFIG_START(taitob_state::hitice)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2090,7 +2085,6 @@ MACHINE_CONFIG_START(taitob_state::rambo3p)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2149,7 +2143,6 @@ MACHINE_CONFIG_START(taitob_state::rambo3)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2213,7 +2206,6 @@ MACHINE_CONFIG_START(taitob_state::pbobble)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2277,7 +2269,6 @@ MACHINE_CONFIG_START(taitob_state::spacedx)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2335,7 +2326,6 @@ MACHINE_CONFIG_START(taitob_state::spacedxo)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2399,7 +2389,6 @@ MACHINE_CONFIG_START(taitob_state::qzshowby)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2457,7 +2446,6 @@ MACHINE_CONFIG_START(taitob_state::viofight)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2520,7 +2508,6 @@ MACHINE_CONFIG_START(taitob_state::silentd)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2578,7 +2565,6 @@ MACHINE_CONFIG_START(taitob_state::selfeena)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2645,7 +2631,6 @@ MACHINE_CONFIG_START(taitob_state::ryujin)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2710,7 +2695,6 @@ MACHINE_CONFIG_START(taitob_state::sbm)
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_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 4096)
@@ -2767,7 +2751,6 @@ MACHINE_CONFIG_START(taitob_c_state::realpunc)
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_c_state, screen_update_realpunc)
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("tc0180vcu", tc0180vcu_device, screen_vblank))
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
diff --git a/src/mame/video/tc0180vcu.cpp b/src/mame/video/tc0180vcu.cpp
index c6d2d339787..7c0f5827070 100644
--- a/src/mame/video/tc0180vcu.cpp
+++ b/src/mame/video/tc0180vcu.cpp
@@ -152,6 +152,8 @@ void tc0180vcu_device::vblank_callback(screen_device &screen, bool state)
if (state)
{
+ vblank_update();
+
m_inth_callback(ASSERT_LINE);
m_intl_timer->adjust(screen.time_until_pos(screen.vpos() + 8));
}
@@ -618,19 +620,13 @@ g_profiler.start(PROFILER_USER1);
g_profiler.stop();
}
-WRITE_LINE_MEMBER(tc0180vcu_device::screen_vblank)
+void tc0180vcu_device::vblank_update()
{
- // rising edge
- if (state)
- {
- if (~m_video_control & 0x01)
- m_framebuffer[m_framebuffer_page]->fill(0, screen().visible_area());
+ if (~m_video_control & 0x01)
+ m_framebuffer[m_framebuffer_page]->fill(0, screen().visible_area());
- if (~m_video_control & 0x80)
- {
- m_framebuffer_page ^= 1;
- }
+ if (~m_video_control & 0x80)
+ m_framebuffer_page ^= 1;
- draw_sprites(*m_framebuffer[m_framebuffer_page], screen().visible_area());
- }
+ draw_sprites(*m_framebuffer[m_framebuffer_page], screen().visible_area());
}
diff --git a/src/mame/video/tc0180vcu.h b/src/mame/video/tc0180vcu.h
index f8c31c75dea..93eb3d877c0 100644
--- a/src/mame/video/tc0180vcu.h
+++ b/src/mame/video/tc0180vcu.h
@@ -31,7 +31,6 @@ public:
void tilemap_draw(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int tmap_num, int plane);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
void draw_framebuffer( bitmap_ind16 &bitmap, const rectangle &cliprect, int priority );
- DECLARE_WRITE_LINE_MEMBER(screen_vblank);
void tc0180vcu_memrw(address_map &map);
protected:
@@ -47,6 +46,7 @@ private:
};
void vblank_callback(screen_device &screen, bool state);
+ void vblank_update();
// internal state