diff --git a/src/mame/drivers/aleck64.c b/src/mame/drivers/aleck64.c index 745d761cc32..a7f8fa5f89d 100644 --- a/src/mame/drivers/aleck64.c +++ b/src/mame/drivers/aleck64.c @@ -192,6 +192,7 @@ public: DECLARE_READ16_MEMBER(e90_prot_r); DECLARE_WRITE16_MEMBER(e90_prot_w); UINT32 screen_update_e90(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + private: UINT32 m_dip_read_offset; }; @@ -856,6 +857,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_PALETTE_ADD("palette", 0x1000) diff --git a/src/mame/includes/n64.h b/src/mame/includes/n64.h index 4712299f75e..353070d5477 100644 --- a/src/mame/includes/n64.h +++ b/src/mame/includes/n64.h @@ -28,6 +28,7 @@ public: void n64_machine_stop(); UINT32 screen_update_n64(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + void screen_eof_n64(screen_device &screen, bool state); required_device m_maincpu; }; diff --git a/src/mame/video/n64.c b/src/mame/video/n64.c index 18fb90d6fdb..6bac63f5745 100644 --- a/src/mame/video/n64.c +++ b/src/mame/video/n64.c @@ -3142,6 +3142,10 @@ void n64_state::video_start() } } +void screen_eof_n64(screen_device &screen, bool state) +{ +} + UINT32 n64_state::screen_update_n64(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { n64_periphs* n64 = machine().device("rcp"); @@ -3199,6 +3203,12 @@ UINT32 n64_state::screen_update_n64(screen_device &screen, bitmap_rgb32 &bitmap, return 0; } +void n64_state::screen_eof_n64(screen_device &screen, bool state) +{ + m_rdp->wait(); + m_rdp->m_aux_buf_ptr = 0; +} + void n64_rdp::render_spans(INT32 start, INT32 end, INT32 tilenum, bool flip, extent_t* spans, bool rect, rdp_poly_state* object) { const INT32 clipy1 = m_scissor.m_yh; diff --git a/src/mess/drivers/n64.c b/src/mess/drivers/n64.c index 503d80e839f..71018c803cd 100644 --- a/src/mess/drivers/n64.c +++ b/src/mess/drivers/n64.c @@ -412,6 +412,7 @@ static MACHINE_CONFIG_START( n64, n64_mess_state ) MCFG_SCREEN_SIZE(640, 525) MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239) MCFG_SCREEN_UPDATE_DRIVER(n64_state, screen_update_n64) + MCFG_SCREEN_VBLANK_DRIVER(n64_state, screen_eof_n64) MCFG_PALETTE_ADD("palette", 0x1000)