mirror of https://github.com/PCSX2/pcsx2.git
pcsx2: tlb: add a new gamefix hack for goemon
This commit is contained in:
parent
8148148932
commit
2e8f56fc86
|
@ -56,6 +56,7 @@ enum GamefixId
|
|||
Fix_VIF1Stall,
|
||||
Fix_GIFReverse,
|
||||
Fix_FMVinSoftware,
|
||||
Fix_GoemonTlbMiss,
|
||||
|
||||
GamefixId_COUNT
|
||||
};
|
||||
|
@ -349,7 +350,8 @@ struct Pcsx2Config
|
|||
VIFFIFOHack :1, // Pretends to fill the non-existant VIF FIFO Buffer.
|
||||
VIF1StallHack :1, // Like above, processes FIFO data before the stall is allowed (to make sure data goes over).
|
||||
GIFReverseHack :1, // Allows PATH3 to continue even if the FIFO is reversed.
|
||||
FMVinSoftwareHack:1; // Toggle in and out of software rendering when an FMV runs.
|
||||
FMVinSoftwareHack:1, // Toggle in and out of software rendering when an FMV runs.
|
||||
GoemonTlbHack:1; // Gomeon tlb miss hack. The game need to access unmapped virtual address. Instead to handle it as exception, tlb are preloaded at startup
|
||||
BITFIELD_END
|
||||
|
||||
GamefixOptions();
|
||||
|
|
|
@ -258,6 +258,7 @@ const wxChar *const tbl_GamefixNames[] =
|
|||
L"VIF1Stall",
|
||||
L"GIFReverse",
|
||||
L"FMVinSoftware",
|
||||
L"GoemonTlb",
|
||||
};
|
||||
|
||||
const __fi wxChar* EnumToString( GamefixId id )
|
||||
|
@ -319,6 +320,7 @@ void Pcsx2Config::GamefixOptions::Set( GamefixId id, bool enabled )
|
|||
case Fix_VIF1Stall: VIF1StallHack = enabled; break;
|
||||
case Fix_GIFReverse: GIFReverseHack = enabled; break;
|
||||
case Fix_FMVinSoftware: FMVinSoftwareHack = enabled; break;
|
||||
case Fix_GoemonTlbMiss: GoemonTlbHack = enabled; break;
|
||||
|
||||
jNO_DEFAULT;
|
||||
}
|
||||
|
@ -344,6 +346,7 @@ bool Pcsx2Config::GamefixOptions::Get( GamefixId id ) const
|
|||
case Fix_VIF1Stall: return VIF1StallHack;
|
||||
case Fix_GIFReverse: return GIFReverseHack;
|
||||
case Fix_FMVinSoftware: return FMVinSoftwareHack;
|
||||
case Fix_GoemonTlbMiss: return GoemonTlbHack;
|
||||
|
||||
jNO_DEFAULT;
|
||||
}
|
||||
|
@ -369,6 +372,7 @@ void Pcsx2Config::GamefixOptions::LoadSave( IniInterface& ini )
|
|||
IniBitBool( VIF1StallHack );
|
||||
IniBitBool( GIFReverseHack );
|
||||
IniBitBool( FMVinSoftwareHack );
|
||||
IniBitBool( GoemonTlbHack );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -99,6 +99,10 @@ Panels::GameFixesPanel::GameFixesPanel( wxWindow* parent )
|
|||
{
|
||||
_("Switch to GSdx software rendering when a FMV plays"),
|
||||
wxEmptyString
|
||||
},
|
||||
{
|
||||
_("Preload TLB hack to avoid tlb miss on Goemon"),
|
||||
wxEmptyString
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -113,7 +117,7 @@ Panels::GameFixesPanel::GameFixesPanel( wxWindow* parent )
|
|||
)
|
||||
);
|
||||
|
||||
m_check_Enable->SetToolTip(_("Gamefixes can work around wrong emulation in some titles. \nThey may also cause compatibility or performance issues.\n\nThe safest way to make sure that all game fixes are completely disabled.")).SetSubPadding( 1 );
|
||||
m_check_Enable->SetToolTip(pxE(L"Gamefixes can work around wrong emulation in some titles. \nThey may also cause compatibility or performance issues.\n\nThe safest way to make sure that all game fixes are completely disabled.")).SetSubPadding( 1 );
|
||||
m_check_Enable->SetValue( g_Conf->EnableGameFixes );
|
||||
|
||||
*this += m_check_Enable | StdExpand();
|
||||
|
|
Loading…
Reference in New Issue