From df8ffa69bb95975b749b654574b9749ac1c91b25 Mon Sep 17 00:00:00 2001 From: skidau Date: Wed, 11 Aug 2010 12:49:38 +0000 Subject: [PATCH] Used a less hacked way of making the multiboot games work. Instructions are now executed at their proper number of cycles. The timeslice has instead been increased to compensate. Increases VPS in some games. Thanks to BhaaL for the tip. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6090 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/Core/Src/CoreTiming.cpp | 2 +- Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp | 2 +- Source/Core/Core/Src/PowerPC/Jit64IL/JitIL.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Core/Core/Src/CoreTiming.cpp b/Source/Core/Core/Src/CoreTiming.cpp index af7cc66a34..73ee67100a 100644 --- a/Source/Core/Core/Src/CoreTiming.cpp +++ b/Source/Core/Core/Src/CoreTiming.cpp @@ -24,7 +24,7 @@ #include "StringUtil.h" #include "PluginManager.h" -#define MAX_SLICE_LENGTH 20000 +#define MAX_SLICE_LENGTH 32000 namespace CoreTiming { diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp index e959dc0dca..4c320f4810 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp @@ -516,7 +516,7 @@ const u8* Jit64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitBloc js.op = &ops[i]; js.instructionNumber = i; const GekkoOPInfo *opinfo = ops[i].opinfo; - js.downcountAmount++; + js.downcountAmount += (opinfo->numCyclesMinusOne + 1); if (i == (int)size - 1) { diff --git a/Source/Core/Core/Src/PowerPC/Jit64IL/JitIL.cpp b/Source/Core/Core/Src/PowerPC/Jit64IL/JitIL.cpp index 7b20ee9c4c..2175a05492 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64IL/JitIL.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64IL/JitIL.cpp @@ -487,7 +487,7 @@ const u8* JitIL::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitBloc js.op = &ops[i]; js.instructionNumber = i; const GekkoOPInfo *opinfo = GetOpInfo(ops[i].inst); - js.downcountAmount++; + js.downcountAmount += (opinfo->numCyclesMinusOne + 1); if (i == (int)size - 1) {