mirror of https://github.com/PCSX2/pcsx2.git
Made a huge hack concerning the counter multipliers less buggy. Still needs proper fixing.
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@314 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
parent
10f2121ed4
commit
01b03d3707
|
@ -986,10 +986,18 @@ void psxSetBranchImm( u32 imm )
|
||||||
// Important! The following macro makes sure the rounding error of both the psxRegs.cycle
|
// Important! The following macro makes sure the rounding error of both the psxRegs.cycle
|
||||||
// modifier and EEsCycle modifier are consistent (in case you wonder why it's got a u32 typecast)
|
// modifier and EEsCycle modifier are consistent (in case you wonder why it's got a u32 typecast)
|
||||||
|
|
||||||
|
//fixme : this is all a huge hack, we base the counter advancements on the average an opcode should take (wtf?)
|
||||||
|
// If that wasn't bad enough we have default values like 9/8 which will get cast to int later
|
||||||
|
// (yeah, that means all sync code couldn't have worked to beginn with)
|
||||||
|
// So for now these are new settings that work.
|
||||||
|
// (rama)
|
||||||
|
|
||||||
static u32 psxScaleBlockCycles()
|
static u32 psxScaleBlockCycles()
|
||||||
{
|
{
|
||||||
|
/*return s_psxBlockCycles *
|
||||||
|
(CHECK_IOPSYNC_HACK ? (CHECK_EE_IOP_EXTRA ? 3.1875 : 2.125) : (17/16));*/
|
||||||
return s_psxBlockCycles *
|
return s_psxBlockCycles *
|
||||||
(CHECK_IOPSYNC_HACK ? (CHECK_EE_IOP_EXTRA ? 3.1875 : 2.125) : (17/16));
|
(CHECK_IOPSYNC_HACK ? (CHECK_EE_IOP_EXTRA ? 3 : 2) : 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void iPsxBranchTest(u32 newpc, u32 cpuBranch)
|
static void iPsxBranchTest(u32 newpc, u32 cpuBranch)
|
||||||
|
|
|
@ -2252,7 +2252,14 @@ void iFlushCall(int flushtype)
|
||||||
// assert( !g_globalXMMSaved );
|
// assert( !g_globalXMMSaved );
|
||||||
//}
|
//}
|
||||||
|
|
||||||
#define EECYCLE_MULT (CHECK_EESYNC_HACK ? (CHECK_EE_IOP_EXTRA ? 3.375 : 2.25) : (9/8))
|
//fixme : this is all a huge hack, we base the counter advancements on the average an opcode should take (wtf?)
|
||||||
|
// If that wasn't bad enough we have default values like 9/8 which will get cast to int later
|
||||||
|
// (yeah, that means all sync code couldn't have worked to beginn with)
|
||||||
|
// So for now these are new settings that work. I would've set 1 for default but that seemed too low
|
||||||
|
// (rama)
|
||||||
|
|
||||||
|
//#define EECYCLE_MULT (CHECK_EESYNC_HACK ? (CHECK_EE_IOP_EXTRA ? 3.375 : 2.25) : (9/8))
|
||||||
|
#define EECYCLE_MULT (CHECK_EESYNC_HACK ? (CHECK_EE_IOP_EXTRA ? 3 : 2) : (1.2))
|
||||||
|
|
||||||
static void iBranchTest(u32 newpc, u32 cpuBranch)
|
static void iBranchTest(u32 newpc, u32 cpuBranch)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue