mirror of https://github.com/PCSX2/pcsx2.git
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:
commit
8ed56bd971
|
@ -63,6 +63,7 @@ float VolumeAdjustBR;
|
||||||
float VolumeAdjustSL;
|
float VolumeAdjustSL;
|
||||||
float VolumeAdjustSR;
|
float VolumeAdjustSR;
|
||||||
float VolumeAdjustLFE;
|
float VolumeAdjustLFE;
|
||||||
|
int delayCycles;
|
||||||
|
|
||||||
bool postprocess_filter_enabled = true;
|
bool postprocess_filter_enabled = true;
|
||||||
bool postprocess_filter_dealias = false;
|
bool postprocess_filter_dealias = false;
|
||||||
|
@ -112,6 +113,7 @@ void ReadSettings()
|
||||||
VolumeAdjustSL = powf(10, VolumeAdjustSLdb / 10);
|
VolumeAdjustSL = powf(10, VolumeAdjustSLdb / 10);
|
||||||
VolumeAdjustSR = powf(10, VolumeAdjustSRdb / 10);
|
VolumeAdjustSR = powf(10, VolumeAdjustSRdb / 10);
|
||||||
VolumeAdjustLFE = powf(10, VolumeAdjustLFEdb / 10);
|
VolumeAdjustLFE = powf(10, VolumeAdjustLFEdb / 10);
|
||||||
|
delayCycles = CfgReadInt(L"DEBUG", L"DelayCycles", 4);
|
||||||
|
|
||||||
|
|
||||||
wxString temp;
|
wxString temp;
|
||||||
|
@ -180,6 +182,7 @@ void WriteSettings()
|
||||||
CfgWriteStr(L"OUTPUT",L"Output_Module", mods[OutputModule]->GetIdent() );
|
CfgWriteStr(L"OUTPUT",L"Output_Module", mods[OutputModule]->GetIdent() );
|
||||||
CfgWriteInt(L"OUTPUT",L"Latency", SndOutLatencyMS);
|
CfgWriteInt(L"OUTPUT",L"Latency", SndOutLatencyMS);
|
||||||
CfgWriteInt(L"OUTPUT",L"Synch_Mode", SynchMode);
|
CfgWriteInt(L"OUTPUT",L"Synch_Mode", SynchMode);
|
||||||
|
CfgWriteInt(L"DEBUG", L"DelayCycles", delayCycles);
|
||||||
|
|
||||||
PortaudioOut->WriteSettings();
|
PortaudioOut->WriteSettings();
|
||||||
SDLOut->WriteSettings();
|
SDLOut->WriteSettings();
|
||||||
|
|
|
@ -45,6 +45,7 @@ extern float VolumeAdjustBR;
|
||||||
extern float VolumeAdjustSL;
|
extern float VolumeAdjustSL;
|
||||||
extern float VolumeAdjustSR;
|
extern float VolumeAdjustSR;
|
||||||
extern float VolumeAdjustLFE;
|
extern float VolumeAdjustLFE;
|
||||||
|
extern int delayCycles;
|
||||||
|
|
||||||
struct Stereo51Out16DplII;
|
struct Stereo51Out16DplII;
|
||||||
struct Stereo51Out32DplII;
|
struct Stereo51Out32DplII;
|
||||||
|
|
|
@ -58,6 +58,7 @@ float VolumeAdjustBR;
|
||||||
float VolumeAdjustSL;
|
float VolumeAdjustSL;
|
||||||
float VolumeAdjustSR;
|
float VolumeAdjustSR;
|
||||||
float VolumeAdjustLFE;
|
float VolumeAdjustLFE;
|
||||||
|
int delayCycles;
|
||||||
|
|
||||||
bool postprocess_filter_enabled = 1;
|
bool postprocess_filter_enabled = 1;
|
||||||
bool postprocess_filter_dealias = false;
|
bool postprocess_filter_dealias = false;
|
||||||
|
@ -114,6 +115,7 @@ void ReadSettings()
|
||||||
VolumeAdjustSLdb = CfgReadFloat(L"MIXING", L"VolumeAdjustSL(dB)", 0);
|
VolumeAdjustSLdb = CfgReadFloat(L"MIXING", L"VolumeAdjustSL(dB)", 0);
|
||||||
VolumeAdjustSRdb = CfgReadFloat(L"MIXING", L"VolumeAdjustSR(dB)", 0);
|
VolumeAdjustSRdb = CfgReadFloat(L"MIXING", L"VolumeAdjustSR(dB)", 0);
|
||||||
VolumeAdjustLFEdb = CfgReadFloat(L"MIXING", L"VolumeAdjustLFE(dB)", 0);
|
VolumeAdjustLFEdb = CfgReadFloat(L"MIXING", L"VolumeAdjustLFE(dB)", 0);
|
||||||
|
delayCycles = CfgReadInt(L"DEBUG", L"DelayCycles", 4);
|
||||||
VolumeAdjustC = powf(10, VolumeAdjustCdb / 10);
|
VolumeAdjustC = powf(10, VolumeAdjustCdb / 10);
|
||||||
VolumeAdjustFL = powf(10, VolumeAdjustFLdb / 10);
|
VolumeAdjustFL = powf(10, VolumeAdjustFLdb / 10);
|
||||||
VolumeAdjustFR = powf(10, VolumeAdjustFRdb / 10);
|
VolumeAdjustFR = powf(10, VolumeAdjustFRdb / 10);
|
||||||
|
@ -198,6 +200,7 @@ void WriteSettings()
|
||||||
CfgWriteInt(L"OUTPUT",L"Synch_Mode", SynchMode);
|
CfgWriteInt(L"OUTPUT",L"Synch_Mode", SynchMode);
|
||||||
CfgWriteInt(L"OUTPUT",L"SpeakerConfiguration", numSpeakers);
|
CfgWriteInt(L"OUTPUT",L"SpeakerConfiguration", numSpeakers);
|
||||||
CfgWriteInt( L"OUTPUT", L"DplDecodingLevel", dplLevel);
|
CfgWriteInt( L"OUTPUT", L"DplDecodingLevel", dplLevel);
|
||||||
|
CfgWriteInt(L"DEBUG", L"DelayCycles", delayCycles);
|
||||||
|
|
||||||
if( Config_WaveOut.Device.empty() ) Config_WaveOut.Device = L"default";
|
if( Config_WaveOut.Device.empty() ) Config_WaveOut.Device = L"default";
|
||||||
CfgWriteStr(L"WAVEOUT",L"Device",Config_WaveOut.Device);
|
CfgWriteStr(L"WAVEOUT",L"Device",Config_WaveOut.Device);
|
||||||
|
|
|
@ -306,7 +306,7 @@ void V_Core::UpdateEffectsBufferSize()
|
||||||
|
|
||||||
void V_Voice::QueueStart()
|
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)
|
// 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");
|
ConLog(" *** KeyOn after less than 4 T disregarded.\n");
|
||||||
|
@ -317,7 +317,7 @@ void V_Voice::QueueStart()
|
||||||
|
|
||||||
bool V_Voice::Start()
|
bool V_Voice::Start()
|
||||||
{
|
{
|
||||||
if((Cycles-PlayCycle)>=4)
|
if((Cycles-PlayCycle)>= delayCycles)
|
||||||
{
|
{
|
||||||
if(StartA&7)
|
if(StartA&7)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue