diff options
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 |
commit | 33e96886bdea9a589960cd80236dbcc6648a978f (patch) | |
tree | c8bd67368f6ed591e29358afdfdf30f3467a3cf2 | |
parent | 2f59fd54ec39b70a6fb60c57c3a7d8d6c32348d9 (diff) |
taito_b.cpp/tc0180vcu: One less callback to configure (nw)
-rw-r--r-- | src/mame/drivers/taito_b.cpp | 17 | ||||
-rw-r--r-- | src/mame/video/tc0180vcu.cpp | 20 | ||||
-rw-r--r-- | src/mame/video/tc0180vcu.h | 2 |
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 |