mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-03-12 06:39:14 +01:00
Merge pull request #4571 from degasus/DSPHLE
Attempt re-adding the missing AXWii DSP_SYNC
This commit is contained in:
commit
d9a37d38b4
@ -31,8 +31,7 @@ AXUCode::~AXUCode()
|
|||||||
|
|
||||||
void AXUCode::Initialize()
|
void AXUCode::Initialize()
|
||||||
{
|
{
|
||||||
m_mail_handler.PushMail(DSP_INIT);
|
m_mail_handler.PushMail(DSP_INIT, true);
|
||||||
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
|
|
||||||
|
|
||||||
LoadResamplingCoefficients();
|
LoadResamplingCoefficients();
|
||||||
}
|
}
|
||||||
@ -75,8 +74,7 @@ void AXUCode::LoadResamplingCoefficients()
|
|||||||
void AXUCode::SignalWorkEnd()
|
void AXUCode::SignalWorkEnd()
|
||||||
{
|
{
|
||||||
// Signal end of processing
|
// Signal end of processing
|
||||||
m_mail_handler.PushMail(DSP_YIELD);
|
m_mail_handler.PushMail(DSP_YIELD, true);
|
||||||
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AXUCode::HandleCommandList()
|
void AXUCode::HandleCommandList()
|
||||||
@ -620,8 +618,7 @@ void AXUCode::HandleMail(u32 mail)
|
|||||||
else if (mail == MAIL_RESUME)
|
else if (mail == MAIL_RESUME)
|
||||||
{
|
{
|
||||||
// Acknowledge the resume request
|
// Acknowledge the resume request
|
||||||
m_mail_handler.PushMail(DSP_RESUME);
|
m_mail_handler.PushMail(DSP_RESUME, true);
|
||||||
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
|
|
||||||
}
|
}
|
||||||
else if (mail == MAIL_NEW_UCODE)
|
else if (mail == MAIL_NEW_UCODE)
|
||||||
{
|
{
|
||||||
@ -668,8 +665,7 @@ void AXUCode::Update()
|
|||||||
// Used for UCode switching.
|
// Used for UCode switching.
|
||||||
if (NeedsResumeMail())
|
if (NeedsResumeMail())
|
||||||
{
|
{
|
||||||
m_mail_handler.PushMail(DSP_RESUME);
|
m_mail_handler.PushMail(DSP_RESUME, true);
|
||||||
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -611,10 +611,7 @@ void AXWiiUCode::OutputSamples(u32 lr_addr, u32 surround_addr, u16 volume, bool
|
|||||||
}
|
}
|
||||||
|
|
||||||
memcpy(HLEMemory_Get_Pointer(lr_addr), buffer, sizeof(buffer));
|
memcpy(HLEMemory_Get_Pointer(lr_addr), buffer, sizeof(buffer));
|
||||||
|
m_mail_handler.PushMail(DSP_SYNC, true);
|
||||||
// There should be a DSP_SYNC message sent here. However, it looks like not
|
|
||||||
// sending it does not cause any issue, and sending it actually causes some
|
|
||||||
// sounds to go at half speed. I have no idea why.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AXWiiUCode::OutputWMSamples(u32* addresses)
|
void AXWiiUCode::OutputWMSamples(u32* addresses)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user