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:
ramapcsx2 2008-11-11 13:17:07 +00:00 committed by Gregory Hainaut
parent 10f2121ed4
commit 01b03d3707
2 changed files with 17 additions and 2 deletions

View File

@ -986,10 +986,18 @@ void psxSetBranchImm( u32 imm )
// 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)
//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()
{
/*return s_psxBlockCycles *
(CHECK_IOPSYNC_HACK ? (CHECK_EE_IOP_EXTRA ? 3.1875 : 2.125) : (17/16));*/
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)

View File

@ -2252,7 +2252,14 @@ void iFlushCall(int flushtype)
// 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)
{