mirror of
https://github.com/libretro/Play-.git
synced 2025-02-25 14:10:50 +00:00
Clear SPU IRQ pending flag when C_IRQINFO is read.
This commit is contained in:
parent
1cf4173174
commit
523cf71a8c
@ -82,9 +82,11 @@ uint32 CSpu2::ReadRegisterImpl(uint32 address, uint32 value)
|
||||
case C_IRQINFO:
|
||||
for(unsigned int i = 0; i < CORE_NUM; i++)
|
||||
{
|
||||
if(m_core[i]->GetSpuBase().GetIrqPending())
|
||||
auto& core = m_core[i];
|
||||
if(core->GetSpuBase().GetIrqPending())
|
||||
{
|
||||
result |= (1 << (i + 2));
|
||||
core->GetSpuBase().ClearIrqPending();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -291,6 +291,11 @@ bool CSpuBase::GetIrqPending() const
|
||||
return m_irqPending;
|
||||
}
|
||||
|
||||
void CSpuBase::ClearIrqPending()
|
||||
{
|
||||
m_irqPending = false;
|
||||
}
|
||||
|
||||
uint32 CSpuBase::GetIrqAddress() const
|
||||
{
|
||||
return m_irqAddr;
|
||||
|
@ -168,6 +168,7 @@ namespace Iop
|
||||
void SetBaseSamplingRate(uint32);
|
||||
|
||||
bool GetIrqPending() const;
|
||||
void ClearIrqPending();
|
||||
|
||||
uint32 GetIrqAddress() const;
|
||||
void SetIrqAddress(uint32);
|
||||
|
Loading…
x
Reference in New Issue
Block a user