Fix for r6707. Looks like I tried to do some invalid 16 bit addressing.

Also a small change to the mixer. This should fix audio throttling in cases where num_samples > RESERVED_SAMPLES. This seems to happen now with zelda ucode games, possibly others. 


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6711 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
mylek4 2011-01-01 19:55:03 +00:00
parent 8b55eff33d
commit 4f2bfd181a
2 changed files with 3 additions and 3 deletions

View File

@ -119,7 +119,7 @@ void CMixer::PushSamples(short *samples, unsigned int num_samples)
if (m_throttle)
{
// The auto throttle function. This loop will put a ceiling on the CPU MHz.
while (Common::AtomicLoad(m_numSamples) + RESERVED_SAMPLES >= MAX_SAMPLES)
while (num_samples + Common::AtomicLoad(m_numSamples) > MAX_SAMPLES)
{
if (g_dspInitialize.pEmulatorState)
{

View File

@ -163,7 +163,7 @@ void DSPEmitter::increase_addr_reg(int reg)
CMP(32, R(ECX), R(EDX));
FixupBranch done3 = J_CC(CC_A);
//nar += wr + 1;
LEA(16, DI, MComplex(DI, DX, 1, 1));
LEA(32, EDI, MComplex(EDI, EDX, 1, 1));
SetJumpTarget(done);
SetJumpTarget(done2);
@ -230,7 +230,7 @@ void DSPEmitter::decrease_addr_reg(int reg)
CMP(32, R(ECX), R(EDX));
FixupBranch done3 = J_CC(CC_A);
//nar += wr + 1;
LEA(16, DI, MComplex(DI, DX, 1, 1));
LEA(32, EDI, MComplex(EDI, EDX, 1, 1));
SetJumpTarget(done);
SetJumpTarget(done2);