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");
|
||||
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_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");
|
||||
g_AudioRegister.m_Control.PSTAT = tmpAICtrl.PSTAT;
|
||||
|
||||
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
|
||||
|
@ -209,7 +218,8 @@ void Write32(const u32 _Value, const u32 _Address)
|
|||
g_LastCPUTime = CoreTiming::GetTicks();
|
||||
}
|
||||
|
||||
g_AudioRegister.m_Control = tmpAICtrl;
|
||||
// I don't think we need this
|
||||
//g_AudioRegister.m_Control = tmpAICtrl;
|
||||
|
||||
UpdateInterrupts();
|
||||
}
|
||||
|
|
|
@ -587,10 +587,10 @@ void ExecuteCommand(UDIDMAControlRegister& _DMAControlReg)
|
|||
//=========================================================================================================
|
||||
case 0xE2:
|
||||
{
|
||||
/* if (m_bStream)
|
||||
/**/ if (m_bStream)
|
||||
dvdMem.Immediate = 1;
|
||||
else
|
||||
dvdMem.Immediate = 0;*/
|
||||
dvdMem.Immediate = 0;
|
||||
}
|
||||
DEBUG_LOG(DVDINTERFACE, "DVD(Audio): Request Audio status");
|
||||
break;
|
||||
|
@ -609,16 +609,16 @@ void ExecuteCommand(UDIDMAControlRegister& _DMAControlReg)
|
|||
// Command/Subcommand/Padding <- E4010000 (enable)
|
||||
//=========================================================================================================
|
||||
case 0xE4:
|
||||
/* if (((dvdMem.Command[0] & 0x00FF0000) >> 16) == 1)
|
||||
/**/ if (((dvdMem.Command[0] & 0x00FF0000) >> 16) == 1)
|
||||
{
|
||||
m_bStream = true;
|
||||
LOG(DVDINTERFACE, "DVD(Audio): Audio enabled");
|
||||
DEBUG_LOG(DVDINTERFACE, "DVD(Audio): Audio enabled");
|
||||
}
|
||||
else
|
||||
{
|
||||
m_bStream = false;
|
||||
LOG(DVDINTERFACE, "DVD(Audio): Audio disabled");
|
||||
}*/
|
||||
DEBUG_LOG(DVDINTERFACE, "DVD(Audio): Audio disabled");
|
||||
}
|
||||
break;
|
||||
|
||||
//=========================================================================================================
|
||||
|
|
|
@ -38,6 +38,7 @@ bool IsLidOpen();
|
|||
// DVD Access Functions
|
||||
bool DVDRead(u32 _iDVDOffset, u32 _iRamAddress, u32 _iLength);
|
||||
bool DVDReadADPCM(u8* _pDestBuffer, u32 _iNumSamples);
|
||||
extern bool m_bStream;
|
||||
|
||||
// Read32
|
||||
void Read32(u32& _uReturnValue, const u32 _iAddress);
|
||||
|
|
Loading…
Reference in New Issue