DTK Music: Test of code to fix the 1080 and Waver Race music
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3326 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
4380898080
commit
04adec5ae5
|
@ -174,6 +174,12 @@ void Write32(const u32 _Value, const u32 _Address)
|
||||||
INFO_LOG(AUDIO_INTERFACE, "Change Freq to %s", tmpAICtrl.AFR ? "48khz":"32khz");
|
INFO_LOG(AUDIO_INTERFACE, "Change Freq to %s", tmpAICtrl.AFR ? "48khz":"32khz");
|
||||||
g_AudioRegister.m_Control.AFR = tmpAICtrl.AFR;
|
g_AudioRegister.m_Control.AFR = tmpAICtrl.AFR;
|
||||||
}
|
}
|
||||||
|
// Set DSP frequency
|
||||||
|
if (tmpAICtrl.DSPFR != g_AudioRegister.m_Control.DSPFR)
|
||||||
|
{
|
||||||
|
INFO_LOG(AUDIO_INTERFACE, "AI_CONTROL_REGISTER: Change DSPFR Freq to %s", tmpAICtrl.DSPFR ? "48khz":"32khz");
|
||||||
|
g_AudioRegister.m_Control.DSPFR = tmpAICtrl.DSPFR;
|
||||||
|
}
|
||||||
|
|
||||||
g_SampleRate = tmpAICtrl.AFR ? 32000 : 48000;
|
g_SampleRate = tmpAICtrl.AFR ? 32000 : 48000;
|
||||||
g_DSPSampleRate = tmpAICtrl.DSPFR ? 32000 : 48000;
|
g_DSPSampleRate = tmpAICtrl.DSPFR ? 32000 : 48000;
|
||||||
|
@ -186,8 +192,11 @@ void Write32(const u32 _Value, const u32 _Address)
|
||||||
{
|
{
|
||||||
INFO_LOG(AUDIO_INTERFACE, "Change StreamingCounter to %s", tmpAICtrl.PSTAT ? "startet":"stopped");
|
INFO_LOG(AUDIO_INTERFACE, "Change StreamingCounter to %s", tmpAICtrl.PSTAT ? "startet":"stopped");
|
||||||
g_AudioRegister.m_Control.PSTAT = tmpAICtrl.PSTAT;
|
g_AudioRegister.m_Control.PSTAT = tmpAICtrl.PSTAT;
|
||||||
|
|
||||||
g_LastCPUTime = CoreTiming::GetTicks();
|
g_LastCPUTime = CoreTiming::GetTicks();
|
||||||
|
|
||||||
|
// This is the only new code in this ~3,326 revision, it seems to avoid hanging Crazy Taxi,
|
||||||
|
// while the 1080 and Wave Race music still works
|
||||||
|
if (!tmpAICtrl.PSTAT) DVDInterface::m_bStream = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// AI Interrupt
|
// AI Interrupt
|
||||||
|
@ -209,7 +218,8 @@ void Write32(const u32 _Value, const u32 _Address)
|
||||||
g_LastCPUTime = CoreTiming::GetTicks();
|
g_LastCPUTime = CoreTiming::GetTicks();
|
||||||
}
|
}
|
||||||
|
|
||||||
g_AudioRegister.m_Control = tmpAICtrl;
|
// I don't think we need this
|
||||||
|
//g_AudioRegister.m_Control = tmpAICtrl;
|
||||||
|
|
||||||
UpdateInterrupts();
|
UpdateInterrupts();
|
||||||
}
|
}
|
||||||
|
|
|
@ -587,10 +587,10 @@ void ExecuteCommand(UDIDMAControlRegister& _DMAControlReg)
|
||||||
//=========================================================================================================
|
//=========================================================================================================
|
||||||
case 0xE2:
|
case 0xE2:
|
||||||
{
|
{
|
||||||
/* if (m_bStream)
|
/**/ if (m_bStream)
|
||||||
dvdMem.Immediate = 1;
|
dvdMem.Immediate = 1;
|
||||||
else
|
else
|
||||||
dvdMem.Immediate = 0;*/
|
dvdMem.Immediate = 0;
|
||||||
}
|
}
|
||||||
DEBUG_LOG(DVDINTERFACE, "DVD(Audio): Request Audio status");
|
DEBUG_LOG(DVDINTERFACE, "DVD(Audio): Request Audio status");
|
||||||
break;
|
break;
|
||||||
|
@ -609,16 +609,16 @@ void ExecuteCommand(UDIDMAControlRegister& _DMAControlReg)
|
||||||
// Command/Subcommand/Padding <- E4010000 (enable)
|
// Command/Subcommand/Padding <- E4010000 (enable)
|
||||||
//=========================================================================================================
|
//=========================================================================================================
|
||||||
case 0xE4:
|
case 0xE4:
|
||||||
/* if (((dvdMem.Command[0] & 0x00FF0000) >> 16) == 1)
|
/**/ if (((dvdMem.Command[0] & 0x00FF0000) >> 16) == 1)
|
||||||
{
|
{
|
||||||
m_bStream = true;
|
m_bStream = true;
|
||||||
LOG(DVDINTERFACE, "DVD(Audio): Audio enabled");
|
DEBUG_LOG(DVDINTERFACE, "DVD(Audio): Audio enabled");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_bStream = false;
|
m_bStream = false;
|
||||||
LOG(DVDINTERFACE, "DVD(Audio): Audio disabled");
|
DEBUG_LOG(DVDINTERFACE, "DVD(Audio): Audio disabled");
|
||||||
}*/
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
//=========================================================================================================
|
//=========================================================================================================
|
||||||
|
|
|
@ -38,6 +38,7 @@ bool IsLidOpen();
|
||||||
// DVD Access Functions
|
// DVD Access Functions
|
||||||
bool DVDRead(u32 _iDVDOffset, u32 _iRamAddress, u32 _iLength);
|
bool DVDRead(u32 _iDVDOffset, u32 _iRamAddress, u32 _iLength);
|
||||||
bool DVDReadADPCM(u8* _pDestBuffer, u32 _iNumSamples);
|
bool DVDReadADPCM(u8* _pDestBuffer, u32 _iNumSamples);
|
||||||
|
extern bool m_bStream;
|
||||||
|
|
||||||
// Read32
|
// Read32
|
||||||
void Read32(u32& _uReturnValue, const u32 _iAddress);
|
void Read32(u32& _uReturnValue, const u32 _iAddress);
|
||||||
|
|
Loading…
Reference in New Issue