mirror of https://github.com/PCSX2/pcsx2.git
i think this was a big problem with freezexmmregs_()
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@218 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
parent
ef60afb441
commit
caca9f3e11
|
@ -183,12 +183,12 @@ void FrameLimiter()
|
|||
|
||||
if (iEnd>=iExpectedEnd) {
|
||||
u64 diff = iEnd-iExpectedEnd;
|
||||
if((diff>>3)>iTicks) iExpectedEnd=iEnd;
|
||||
if ((diff>>3)>iTicks) iExpectedEnd=iEnd;
|
||||
}
|
||||
else do {
|
||||
Sleep(1);
|
||||
iEnd = GetCPUTicks();
|
||||
} while(iEnd<iExpectedEnd);
|
||||
} while (iEnd<iExpectedEnd);
|
||||
|
||||
iStart = iExpectedEnd; //remember the expected value frame. improves smoothness
|
||||
}
|
||||
|
@ -474,9 +474,8 @@ void rcntUpdate()
|
|||
|
||||
if (counters[i].mode & 0x0200) { // Overflow interrupt
|
||||
EECNT_LOG("EE counter %d overflow mode %x count %x target %x\n", i, counters[i].mode, counters[i].count, counters[i].target);
|
||||
counters[i].mode|= 0x0800; // Overflow flag
|
||||
counters[i].mode |= 0x0800; // Overflow flag
|
||||
hwIntcIrq(counters[i].interrupt);
|
||||
//SysPrintf("counter[%d] overflow interrupt (%x)\n", i, cpuRegs.cycle);
|
||||
}
|
||||
counters[i].count -= 0x10000;
|
||||
counters[i].target &= 0xffff;
|
||||
|
@ -486,7 +485,8 @@ void rcntUpdate()
|
|||
rcntSet();
|
||||
}
|
||||
|
||||
void rcntWcount(int index, u32 value) {
|
||||
void rcntWcount(int index, u32 value)
|
||||
{
|
||||
EECNT_LOG("EE count write %d count %x with %x target %x eecycle %x\n", index, counters[index].count, value, counters[index].target, cpuRegs.eCycle);
|
||||
counters[index].count = value & 0xffff;
|
||||
counters[index].target &= 0xffff;
|
||||
|
@ -549,7 +549,7 @@ void rcntWmode(int index, u32 value)
|
|||
rcntSet();
|
||||
}
|
||||
|
||||
void rcntStartGate(unsigned int mode){
|
||||
void rcntStartGate(unsigned int mode) {
|
||||
int i;
|
||||
|
||||
for (i=0; i <=3; i++) { //Gates for counters
|
||||
|
|
|
@ -1030,14 +1030,14 @@ void FreezeXMMRegs_(int save)
|
|||
"movaps [%0+0x60], %%xmm6\n"
|
||||
"movaps [%0+0x70], %%xmm7\n"
|
||||
#ifdef __x86_64__
|
||||
"movaps [%0+0x80], %%xmm0\n"
|
||||
"movaps [%0+0x90], %%xmm1\n"
|
||||
"movaps [%0+0xa0], %%xmm2\n"
|
||||
"movaps [%0+0xb0], %%xmm3\n"
|
||||
"movaps [%0+0xc0], %%xmm4\n"
|
||||
"movaps [%0+0xd0], %%xmm5\n"
|
||||
"movaps [%0+0xe0], %%xmm6\n"
|
||||
"movaps [%0+0xf0], %%xmm7\n"
|
||||
"movaps [%0+0x80], %%xmm8\n"
|
||||
"movaps [%0+0x90], %%xmm9\n"
|
||||
"movaps [%0+0xa0], %%xmm10\n"
|
||||
"movaps [%0+0xb0], %%xmm11\n"
|
||||
"movaps [%0+0xc0], %%xmm12\n"
|
||||
"movaps [%0+0xd0], %%xmm13\n"
|
||||
"movaps [%0+0xe0], %%xmm14\n"
|
||||
"movaps [%0+0xf0], %%xmm15\n"
|
||||
#endif
|
||||
".att_syntax\n" : : "r"(g_globalXMMData) );
|
||||
|
||||
|
|
Loading…
Reference in New Issue