taito_b.cpp/tc0180vcu: One less callback to configure (nw)

This commit is contained in:
AJR 2018-09-07 20:11:42 -04:00
parent 2f59fd54ec
commit 33e96886bd
3 changed files with 9 additions and 30 deletions

View File

@ -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)

View File

@ -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());
}

View File

@ -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