mirror of
https://github.com/holub/mame
synced 2025-05-22 21:58:57 +03:00
Fixed sprite OV flag behaviour in PC Engine VDC emulation [Angelo Salese, Charles MacDonald]
This commit is contained in:
parent
85d240c04c
commit
4139b8c690
@ -876,9 +876,12 @@ static void pce_refresh_sprites(running_machine *machine, int which, int line, U
|
|||||||
sprites_drawn++;
|
sprites_drawn++;
|
||||||
if(sprites_drawn > 16)
|
if(sprites_drawn > 16)
|
||||||
{
|
{
|
||||||
vdc[which].status |= VDC_OR;
|
|
||||||
if(vdc[which].vdc_data[CR].w & CR_OV)
|
if(vdc[which].vdc_data[CR].w & CR_OV)
|
||||||
|
{
|
||||||
|
/* note: flag is set only if irq is taken, Mizubaku Daibouken relies on this behaviour */
|
||||||
|
vdc[which].status |= VDC_OR;
|
||||||
cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
|
cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
|
||||||
|
}
|
||||||
continue; /* Should cause an interrupt */
|
continue; /* Should cause an interrupt */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -991,9 +994,12 @@ static void pce_refresh_sprites(running_machine *machine, int which, int line, U
|
|||||||
sprites_drawn++;
|
sprites_drawn++;
|
||||||
if( sprites_drawn > 16 )
|
if( sprites_drawn > 16 )
|
||||||
{
|
{
|
||||||
vdc[which].status |= VDC_OR;
|
|
||||||
if(vdc[which].vdc_data[CR].w&CR_OV)
|
if(vdc[which].vdc_data[CR].w&CR_OV)
|
||||||
|
{
|
||||||
|
/* note: flag is set only if irq is taken, Mizubaku Daibouken relies on this behaviour */
|
||||||
|
vdc[which].status |= VDC_OR;
|
||||||
cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
|
cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user