[MESS] n64: Fix crash when fast-forwarding. [MooglyGuy]

This commit is contained in:
therealmogminer@gmail.com 2015-07-23 16:41:37 +02:00
parent ad5cf3914f
commit 834982ec3b
4 changed files with 14 additions and 0 deletions

View File

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

View File

@ -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<cpu_device> m_maincpu;
};

View File

@ -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<n64_periphs>("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;

View File

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