Made the timing consistent between DSP HLE and DSP LLE. Fixes Lost Kingdoms II in DSP HLE mode.
This commit is contained in:
parent
4d81e0739d
commit
ecb4337209
|
@ -245,9 +245,6 @@ void Init()
|
||||||
{
|
{
|
||||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bWii)
|
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bWii)
|
||||||
{
|
{
|
||||||
if (!DSP::GetDSPEmulator()->IsLLE())
|
|
||||||
DSP_PERIOD = (int)(GetTicksPerSecond() * 0.003f);
|
|
||||||
|
|
||||||
// AyuanX: TO BE TWEAKED
|
// AyuanX: TO BE TWEAKED
|
||||||
// Now the 1500 is a pure assumption
|
// Now the 1500 is a pure assumption
|
||||||
// We need to figure out the real frequency though
|
// We need to figure out the real frequency though
|
||||||
|
@ -258,14 +255,8 @@ void Init()
|
||||||
bVBeam ? 2 : 1;
|
bVBeam ? 2 : 1;
|
||||||
IPC_HLE_PERIOD = GetTicksPerSecond() / (freq * fields);
|
IPC_HLE_PERIOD = GetTicksPerSecond() / (freq * fields);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!DSP::GetDSPEmulator()->IsLLE())
|
|
||||||
DSP_PERIOD = (int)(GetTicksPerSecond() * 0.005f);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (DSP::GetDSPEmulator()->IsLLE())
|
DSP_PERIOD = 12500; // TO BE TWEAKED (> 15000 breaks Lost Kingdom II)
|
||||||
DSP_PERIOD = 12000; // TO BE TWEAKED
|
|
||||||
|
|
||||||
// System internal sample rate is fixed at 32KHz * 4 (16bit Stereo) / 32 bytes DMA
|
// System internal sample rate is fixed at 32KHz * 4 (16bit Stereo) / 32 bytes DMA
|
||||||
AUDIO_DMA_PERIOD = CPU_CORE_CLOCK / (AudioInterface::GetAIDSampleRate() * 4 / 32);
|
AUDIO_DMA_PERIOD = CPU_CORE_CLOCK / (AudioInterface::GetAIDSampleRate() * 4 / 32);
|
||||||
|
|
Loading…
Reference in New Issue