Added a speed hack for the MMU games. The speed hack is enabled by default. "Enable BAT" in the game properties enables the old accurate emulation behaviour.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6187 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
1 parent
5948865bcc
commit
c710ae7529
8 files changed
+24
-4
No files matched your search
@@ -294,6 +294,7 @@ void SConfig::LoadSettings()
|
||||
ini.Get("Core", "MMU", &m_LocalCoreStartupParameter.bMMU, false);
|
||||
ini.Get("Core", "TLBHack", &m_LocalCoreStartupParameter.iTLBHack, 0);
|
||||
ini.Get("Core", "AlternateRFI", &m_LocalCoreStartupParameter.bAlternateRFI, false);
|
||||
ini.Get("Core", "BAT", &m_LocalCoreStartupParameter.bMMUBAT, false);
|
||||
ini.Get("Core", "FrameLimit", &m_Framelimit, 1); // auto frame limit by default
|
||||
ini.Get("Core", "UseFPS", &b_UseFPS, false); // use vps as default
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ SCoreStartupParameter::SCoreStartupParameter()
|
||||
bLockThreads(false),
|
||||
bEnableCheats(false),
|
||||
bRunCompareServer(false), bRunCompareClient(false),
|
||||
bMMU(false), iTLBHack(0), bAlternateRFI(false),
|
||||
bMMU(false), bMMUBAT(false), iTLBHack(0), bAlternateRFI(false),
|
||||
SelectedLanguage(0), bWii(false),
|
||||
bConfirmStop(false), bHideCursor(false),
|
||||
bAutoHideCursor(false), bUsePanicHandlers(true),
|
||||
@@ -71,6 +71,7 @@ void SCoreStartupParameter::LoadDefaults()
|
||||
bLockThreads = true;
|
||||
bEnableFPRF = false;
|
||||
bMMU = false;
|
||||
bMMUBAT = false;
|
||||
iTLBHack = 0;
|
||||
bAlternateRFI = false;
|
||||
SelectedLanguage = 0;
|
||||
|
||||
@@ -79,6 +79,7 @@ struct SCoreStartupParameter
|
||||
bool bRunCompareClient;
|
||||
|
||||
bool bMMU;
|
||||
bool bMMUBAT;
|
||||
int iTLBHack;
|
||||
bool bAlternateRFI;
|
||||
|
||||
|
||||
@@ -947,7 +947,7 @@ u32 TranslateBlockAddress(const u32 addr, const XCheckTLBFlag _Flag)
|
||||
u32 TranslateAddress(const u32 _Address, const XCheckTLBFlag _Flag)
|
||||
{
|
||||
// TODO: Check for MSR data/instruction address translation flag before translating
|
||||
u32 tlb_addr = TranslateBlockAddress(_Address, _Flag);
|
||||
u32 tlb_addr = Core::g_CoreStartupParameter.bMMUBAT?TranslateBlockAddress(_Address, _Flag):0;
|
||||
if (tlb_addr == 0)
|
||||
{
|
||||
tlb_addr = TranslatePageAddress(_Address, _Flag);
|
||||
|
||||
@@ -2798,6 +2798,7 @@ DEFINE_LUA_FUNCTION(emulua_loadrom, "filename")
|
||||
game_ini.Get("Core", "SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
|
||||
game_ini.Get("Core", "EnableFPRF", &StartUp.bEnableFPRF, StartUp.bEnableFPRF);
|
||||
game_ini.Get("Core", "MMU", &StartUp.bMMU, StartUp.bMMU);
|
||||
game_ini.Get("Core", "BAT", &StartUp.bMMUBAT, StartUp.bMMUBAT);
|
||||
game_ini.Get("Core", "TLBHack", &StartUp.iTLBHack, StartUp.iTLBHack);
|
||||
game_ini.Get("Core", "AlternateRFI", &StartUp.bAlternateRFI, StartUp.bAlternateRFI);
|
||||
// Wii settings
|
||||
|
||||
Reference in new issue
Block a user