mirror of
https://github.com/libretro/pcsx2.git
synced 2024-11-28 11:50:46 +00:00
Fix situation where a VIF IRQ triggers and the game triggers a STOP causing the IRQ to never trigger. (#3385)
Fixes Nitro Bike
This commit is contained in:
parent
184f0df2c5
commit
c009a95d68
@ -229,7 +229,6 @@ __fi void vif1FBRST(u32 value) {
|
||||
// just stoppin the VIF (linuz).
|
||||
vif1Regs.stat.VSS = true;
|
||||
vif1Regs.stat.VPS = VPS_IDLE;
|
||||
cpuRegs.interrupt &= ~((1 << 1) | (1 << 10)); //Stop all vif1 DMA's
|
||||
vif1.vifstalled.enabled = VifStallEnable(vif1ch);
|
||||
vif1.vifstalled.value = VIF_IRQ_STALL;
|
||||
}
|
||||
|
@ -224,9 +224,9 @@ __fi void vif0Interrupt()
|
||||
if (!vif0.done)
|
||||
{
|
||||
|
||||
if (!(dmacRegs.ctrl.DMAE))
|
||||
if (!(dmacRegs.ctrl.DMAE) || vif0Regs.stat.VSS) //Stopped or DMA Disabled
|
||||
{
|
||||
Console.WriteLn("vif0 dma masked");
|
||||
//Console.WriteLn("vif0 dma masked");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -376,9 +376,9 @@ __fi void vif1Interrupt()
|
||||
if (!vif1.done)
|
||||
{
|
||||
|
||||
if (!(dmacRegs.ctrl.DMAE))
|
||||
if (!(dmacRegs.ctrl.DMAE) || vif1Regs.stat.VSS) //Stopped or DMA Disabled
|
||||
{
|
||||
Console.WriteLn("vif1 dma masked");
|
||||
//Console.WriteLn("vif1 dma masked");
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user