// elprintf(EL_ANOMALY|EL_SVP, "prev PMC not used @ %04x", GET_PPC_OFFS());
ssp->emu_status |= SSP_PMC_SET;
ssp->emu_status &= ~SSP_PMC_HAVE_ADDR;
+ return ((rPMC.h << 4) & 0xfff0) | ((rPMC.h >> 4) & 0xf);
} else {
ssp->emu_status |= SSP_PMC_HAVE_ADDR;
+ return rPMC.h;
}
- return rPMC.h;
}
static void write_PMC(u32 d)
int diff;\r
\r
diff = ticks - ticks_old;\r
- if (diff >= 0 && diff < 1000000/60)\r
+ if (diff >= 0 && diff < 1000000/60*4)\r
{\r
while (diff >= 0 && diff < 1000000/60)\r
{\r
Sleep(1);\r
diff = GetTickCount()*1000 - ticks_old;\r
}\r
- ticks_old = ticks + 1000000/60;\r
+ ticks_old += 1000000/60;\r
}\r
else\r
ticks_old = ticks;\r
-#define VERSION "1.40"\r
+#define VERSION "1.40a"\r
\r