mirror of https://github.com/PCSX2/pcsx2.git
Fixed the EE timing hack.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3043 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
952c872f0e
commit
7e924084e0
|
@ -431,7 +431,8 @@ struct Pcsx2Config
|
|||
FpuMulHack :1, // Tales of Destiny hangs.
|
||||
FpuNegDivHack :1, // Gundam games messed up camera-view.
|
||||
XgKickHack :1, // Erementar Gerad, adds more delay to VU XGkick instructions. Corrects the color of some graphics, but breaks Tri-ace games and others.
|
||||
IPUWaitHack :1;
|
||||
IPUWaitHack :1, // FFX FMV, makes GIF flush before doing IPU work. Fixes bad graphics overlay.
|
||||
EETimingHack :1; // General purpose timing hack.
|
||||
BITFIELD_END
|
||||
|
||||
// all gamefixes are disabled by default.
|
||||
|
@ -559,7 +560,7 @@ TraceLogFilters& SetTraceConfig();
|
|||
#define CHECK_IOPREC (EmuConfig.Cpu.Recompiler.EnableIOP && GetSysCoreAlloc().IsRecAvailable_IOP())
|
||||
|
||||
//------------ SPECIAL GAME FIXES!!! ---------------
|
||||
#define NUM_OF_GAME_FIXES 7
|
||||
#define NUM_OF_GAME_FIXES 8
|
||||
|
||||
#define CHECK_VUADDSUBHACK (EmuConfig.Gamefixes.VuAddSubHack) // Special Fix for Tri-ace games, they use an encryption algorithm that requires VU addi opcode to be bit-accurate.
|
||||
#define CHECK_FPUCOMPAREHACK (EmuConfig.Gamefixes.FpuCompareHack) // Special Fix for Digimon Rumble Arena 2, fixes spinning/hanging on intro-menu.
|
||||
|
@ -568,6 +569,7 @@ TraceLogFilters& SetTraceConfig();
|
|||
#define CHECK_FPUNEGDIVHACK (EmuConfig.Gamefixes.FpuNegDivHack) // Special Fix for Gundam games messed up camera-view.
|
||||
#define CHECK_XGKICKHACK (EmuConfig.Gamefixes.XgKickHack) // Special Fix for Erementar Gerad, adds more delay to VU XGkick instructions. Corrects the color of some graphics.
|
||||
#define CHECK_IPUWAITHACK (EmuConfig.Gamefixes.IPUWaitHack) // Special Fix for Erementar Gerad, adds more delay to VU XGkick instructions. Corrects the color of some graphics.
|
||||
#define CHECK_EETIMINGHACK (EmuConfig.Gamefixes.EETimingHack) // Fix all scheduled events to happen in 1 cycle.
|
||||
|
||||
//------------ Advanced Options!!! ---------------
|
||||
#define CHECK_VU_OVERFLOW (EmuConfig.Cpu.Recompiler.vuOverflow)
|
||||
|
|
|
@ -258,6 +258,7 @@ void Pcsx2Config::GamefixOptions::LoadSave( IniInterface& ini )
|
|||
IniBitBool( FpuNegDivHack );
|
||||
IniBitBool( XgKickHack );
|
||||
IniBitBool( IPUWaitHack );
|
||||
IniBitBool( EETimingHack );
|
||||
}
|
||||
|
||||
Pcsx2Config::Pcsx2Config()
|
||||
|
|
|
@ -551,10 +551,10 @@ __forceinline void CPU_INT( u32 n, s32 ecycle)
|
|||
DevCon.Warning( "***** EE > Twice-thrown int on IRQ %d", n );
|
||||
}
|
||||
|
||||
// Abusing the IPU hack to also fix EE events to happen 1 cycle in the future.
|
||||
// EE events happen 1 cycle in the future instead of whatever was requested.
|
||||
// This can be used on games with PATH3 masking issues for example, or when
|
||||
// some FMV look bad.
|
||||
//if(CHECK_IPUWAITHACK) ecycle = 1;
|
||||
if(CHECK_EETIMINGHACK) ecycle = 1;
|
||||
|
||||
cpuRegs.interrupt|= 1 << n;
|
||||
cpuRegs.sCycle[n] = cpuRegs.cycle;
|
||||
|
|
|
@ -37,34 +37,37 @@ Panels::GameFixesPanel::GameFixesPanel( wxWindow* parent ) :
|
|||
const CheckTextMess check_text[NUM_OF_GAME_FIXES] =
|
||||
{
|
||||
{
|
||||
_("VU Add Hack - fixes Tri-Ace games boot crash (Enable IPU hack as well.)"),
|
||||
_("VU Add Hack - Fixes Tri-Ace games boot crash."),
|
||||
_("Games that need this hack to boot:\n * Star Ocean 3\n * Radiata Stories\n * Valkyrie Profile 2")
|
||||
},
|
||||
{
|
||||
_("VU Clip Flag Hack - for Persona games (SuperVU recompiler only!)"),
|
||||
_("VU Clip Flag Hack - For Persona games (SuperVU recompiler only!)"),
|
||||
wxEmptyString
|
||||
},
|
||||
{
|
||||
_("FPU Compare Hack - for Digimon Rumble Arena 2."),
|
||||
_("FPU Compare Hack - For Digimon Rumble Arena 2."),
|
||||
wxEmptyString
|
||||
},
|
||||
{
|
||||
_("FPU Multiply Hack - for Tales of Destiny."),
|
||||
_("FPU Multiply Hack - For Tales of Destiny."),
|
||||
wxEmptyString
|
||||
},
|
||||
{
|
||||
_("FPU Negative Div Hack - for Gundam games."),
|
||||
_("FPU Negative Div Hack - For Gundam games."),
|
||||
wxEmptyString
|
||||
},
|
||||
{
|
||||
_("VU XGkick Hack - for Erementar Gerad."),
|
||||
_("VU XGkick Hack - For Erementar Gerad."),
|
||||
wxEmptyString
|
||||
},
|
||||
{
|
||||
_("EE timing hack / FFX videos fix - Multi purpose hack. Try if all else fails."),
|
||||
_("FFX videos fix - Fixes bad graphics overlay in FFX videos."),
|
||||
wxEmptyString
|
||||
},
|
||||
{
|
||||
_("EE timing hack - Multi purpose hack. Try if all else fails."),
|
||||
pxE( ".Tooltips:Gamefixes:EE Timing Hack",
|
||||
L"Known to affect following games:\n"
|
||||
L" * Final Fantasy 10 (Fixes FMV)\n"
|
||||
L" * Digital Devil Saga (Fixes FMV and crashes)\n"
|
||||
L" * SSX (Fixes bad graphics and crashes)\n"
|
||||
L" * Resident Evil: Dead Aim (Causes garbled textures)"
|
||||
|
|
Loading…
Reference in New Issue