Merge pull request #953 from ssakash/SPU2-X_debug

SPU2-X: New INI variable for cycle delay
-Configurable for Higurashi no Naku Koro ni Matsuri Kakera Asobi (SPLM-66913)
This commit is contained in:
refractionpcsx2 2015-11-07 16:54:54 +00:00
commit 8ed56bd971
4 changed files with 9 additions and 2 deletions

View File

@ -63,6 +63,7 @@ float VolumeAdjustBR;
float VolumeAdjustSL;
float VolumeAdjustSR;
float VolumeAdjustLFE;
int delayCycles;
bool postprocess_filter_enabled = true;
bool postprocess_filter_dealias = false;
@ -112,6 +113,7 @@ void ReadSettings()
VolumeAdjustSL = powf(10, VolumeAdjustSLdb / 10);
VolumeAdjustSR = powf(10, VolumeAdjustSRdb / 10);
VolumeAdjustLFE = powf(10, VolumeAdjustLFEdb / 10);
delayCycles = CfgReadInt(L"DEBUG", L"DelayCycles", 4);
wxString temp;
@ -180,6 +182,7 @@ void WriteSettings()
CfgWriteStr(L"OUTPUT",L"Output_Module", mods[OutputModule]->GetIdent() );
CfgWriteInt(L"OUTPUT",L"Latency", SndOutLatencyMS);
CfgWriteInt(L"OUTPUT",L"Synch_Mode", SynchMode);
CfgWriteInt(L"DEBUG", L"DelayCycles", delayCycles);
PortaudioOut->WriteSettings();
SDLOut->WriteSettings();

View File

@ -45,6 +45,7 @@ extern float VolumeAdjustBR;
extern float VolumeAdjustSL;
extern float VolumeAdjustSR;
extern float VolumeAdjustLFE;
extern int delayCycles;
struct Stereo51Out16DplII;
struct Stereo51Out32DplII;

View File

@ -58,6 +58,7 @@ float VolumeAdjustBR;
float VolumeAdjustSL;
float VolumeAdjustSR;
float VolumeAdjustLFE;
int delayCycles;
bool postprocess_filter_enabled = 1;
bool postprocess_filter_dealias = false;
@ -114,6 +115,7 @@ void ReadSettings()
VolumeAdjustSLdb = CfgReadFloat(L"MIXING", L"VolumeAdjustSL(dB)", 0);
VolumeAdjustSRdb = CfgReadFloat(L"MIXING", L"VolumeAdjustSR(dB)", 0);
VolumeAdjustLFEdb = CfgReadFloat(L"MIXING", L"VolumeAdjustLFE(dB)", 0);
delayCycles = CfgReadInt(L"DEBUG", L"DelayCycles", 4);
VolumeAdjustC = powf(10, VolumeAdjustCdb / 10);
VolumeAdjustFL = powf(10, VolumeAdjustFLdb / 10);
VolumeAdjustFR = powf(10, VolumeAdjustFRdb / 10);
@ -198,6 +200,7 @@ void WriteSettings()
CfgWriteInt(L"OUTPUT",L"Synch_Mode", SynchMode);
CfgWriteInt(L"OUTPUT",L"SpeakerConfiguration", numSpeakers);
CfgWriteInt( L"OUTPUT", L"DplDecodingLevel", dplLevel);
CfgWriteInt(L"DEBUG", L"DelayCycles", delayCycles);
if( Config_WaveOut.Device.empty() ) Config_WaveOut.Device = L"default";
CfgWriteStr(L"WAVEOUT",L"Device",Config_WaveOut.Device);

View File

@ -306,7 +306,7 @@ void V_Core::UpdateEffectsBufferSize()
void V_Voice::QueueStart()
{
if (Cycles - PlayCycle < 4)
if (Cycles - PlayCycle < delayCycles)
{
// Required by The Legend of Spyro: The Eternal Night (probably the other two legend games too)
ConLog(" *** KeyOn after less than 4 T disregarded.\n");
@ -317,7 +317,7 @@ void V_Voice::QueueStart()
bool V_Voice::Start()
{
if((Cycles-PlayCycle)>=4)
if((Cycles-PlayCycle)>= delayCycles)
{
if(StartA&7)
{