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:
John Peterson 2009-06-04 20:33:26 +00:00
parent 4380898080
commit 04adec5ae5
3 changed files with 19 additions and 8 deletions

View File

@ -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();
}

View File

@ -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;
//=========================================================================================================

View File

@ -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);