01-29-2010, 10:36 AM
01-30-2010, 02:11 AM
I think you have to enable "Zelda Bloom Hack"
yes i have that enables as well i try a few other builds see if i can get it to work but if the speed same migth as well stop with the older build one i trying to get better speed on it
yes i have that enables as well i try a few other builds see if i can get it to work but if the speed same migth as well stop with the older build one i trying to get better speed on it
02-21-2010, 09:47 PM
Hey,
at sartup of the olympic wintergames i only obtain a "white screen" and further nothing happens^^
I already updated DirectX, Visual c++ 2008 SP1 and my ATI graphic drivers from their gamer homepage.
Consequently as i hoped all the other games work excellent. But this game even doesn't start to my great disappointment, because i really can imagine what a blast this game is and which fun factor it offers.
Could you release an updated config of Dolphin for this game, i would really appreciate this deed. ;-)
KoC
at sartup of the olympic wintergames i only obtain a "white screen" and further nothing happens^^
I already updated DirectX, Visual c++ 2008 SP1 and my ATI graphic drivers from their gamer homepage.
Consequently as i hoped all the other games work excellent. But this game even doesn't start to my great disappointment, because i really can imagine what a blast this game is and which fun factor it offers.
Could you release an updated config of Dolphin for this game, i would really appreciate this deed. ;-)
KoC
02-22-2010, 02:09 AM
First post tells it... you gotta enable "Zelda Twilight Princess Bloom" hack in GFX settings
02-22-2010, 09:22 AM
Hm ok..
i checked this option and it really works! But.. it lasts nearly 30-40seconds until the introduction with "vancouver 2010" begins to display, and this with only 20-25 fps!
And when i enter the menu (which takes another 30-40s beginning with a black screen but you can hear the announcement of the game) i only have 15-20fps.. if indeed the menu appears..
Is this fact the rule or do i utilize the wrong settings?!
Could someone please show up the right settings with newer revision above 5050?! I would really appreciate that.. Otherwise the game is unplayable for me, because it's a judder batch.. the sound also seems to be chopped..
Okay, that's it..
KoC
Oh i forgot.. the speed is about 30-40% , in menu about 16-20fps , vps varies around 15..
Is that reliable.. i use an core i7-920.. so i guess he should make it.. but this dissatisfies me, even when the rest of my games runs nearly up to really perfect.. And, is it right, that i have to switch to open gl to activate the zelda hack?! i didn't find the options to enable hacks in direct3d9. Usually i use directX 9, so i wondered.. ok, i wanted to add that^^
i checked this option and it really works! But.. it lasts nearly 30-40seconds until the introduction with "vancouver 2010" begins to display, and this with only 20-25 fps!
And when i enter the menu (which takes another 30-40s beginning with a black screen but you can hear the announcement of the game) i only have 15-20fps.. if indeed the menu appears..
Is this fact the rule or do i utilize the wrong settings?!
Could someone please show up the right settings with newer revision above 5050?! I would really appreciate that.. Otherwise the game is unplayable for me, because it's a judder batch.. the sound also seems to be chopped..
Okay, that's it..
KoC
Oh i forgot.. the speed is about 30-40% , in menu about 16-20fps , vps varies around 15..
Is that reliable.. i use an core i7-920.. so i guess he should make it.. but this dissatisfies me, even when the rest of my games runs nearly up to really perfect.. And, is it right, that i have to switch to open gl to activate the zelda hack?! i didn't find the options to enable hacks in direct3d9. Usually i use directX 9, so i wondered.. ok, i wanted to add that^^
03-01-2010, 12:46 AM
Is this game runs with recent builds (over 5100 or 5000) ? Only open gl works (cannot manage to run direct3d with it). What are the config in the recent builds? I can run it but when i'm trying to lauch a game it crashes (slalom...)... Which ones are playable?
03-01-2010, 08:06 AM
with my 5146 review with a hack I just play
http://www.youtube.com/watch?v=lHhyjcNam8c
http://www.youtube.com/watch?v=VBudWqBZ1lw
http://www.youtube.com/watch?v=-vyXH0BQ2Nk
http://www.youtube.com/watch?v=2nZb8TyJY0E
http://www.youtube.com/watch?v=lHhyjcNam8c
http://www.youtube.com/watch?v=VBudWqBZ1lw
http://www.youtube.com/watch?v=-vyXH0BQ2Nk
http://www.youtube.com/watch?v=2nZb8TyJY0E
greenblood82
03-01-2010, 11:06 PM
(03-01-2010, 08:06 AM)morka Wrote: [ -> ]with my 5146 review with a hack I just playWhat hack are you talking about? How do you get the game to not crash at the loading screen with this revision?
03-01-2010, 11:08 PM
(03-01-2010, 08:06 AM)morka Wrote: [ -> ]with my 5146 review with a hack I just play
Please could you tell me how you configure dolphin for this game?
Thanks
03-02-2010, 01:05 AM
I'm not a programmer but I have done several tests it works this hack can be improved to be well
sorry for my language I'm French
sorry for my language I'm French
Quote:Index: Source/Core/Core/Src/ConfigManager.h
===================================================================
--- Source/Core/Core/Src/ConfigManager.h (revision 5149)
+++ Source/Core/Core/Src/ConfigManager.h (working copy)
@@ -77,7 +77,8 @@
bool m_InterfaceStatusbar;
bool m_InterfaceLogWindow;
bool m_InterfaceConsole;
-
+
+ int bJITCache;
bool m_ListDrives;
bool m_ListWad;
bool m_ListWii;
Index: Source/Core/Core/Src/Core.cpp
===================================================================
--- Source/Core/Core/Src/Core.cpp (revision 5149)
+++ Source/Core/Core/Src/Core.cpp (working copy)
@@ -74,7 +74,7 @@
Common::Timer Timer;
volatile u32 DrawnFrame = 0;
u32 DrawnVideo = 0;
-
+u32 cache = 0;
// Function forwarding
//void Callback_VideoRequestWindowSize(int _iWidth, int _iHeight, BOOL _bFullscreen);
void Callback_VideoLog(const TCHAR* _szMessage, int _bDoBreak);
@@ -441,6 +441,7 @@
DisplayMessage("CPU: " + cpu_info.Summarize(), 8000);
DisplayMessage(_CoreParameter.m_strFilename, 3000);
+ DisplayMessage("By 100pour100wii.free.fr", 8000);
// Load GCM/DOL/ELF whatever ... we boot with the interpreter core
PowerPC::SetMode(PowerPC::MODE_INTERPRETER);
@@ -658,11 +659,23 @@
if (ElapseTime >= 1000)
{
SCoreStartupParameter& _CoreParameter = SConfig::GetInstance().m_LocalCoreStartupParameter;
-
u32 FPS = Common::AtomicLoad(DrawnFrame) * 1000 / ElapseTime;
u32 VPS = --DrawnVideo * 1000 / ElapseTime;
u32 Speed = VPS * 100 / VideoInterface::TargetRefreshRate;
-
+ // Hack for Mario et Sonic aux jeux olympiques d'hiver
+ if ( _CoreParameter.bJITCache ? true : false ){
+ if (Speed < 30 )
+ {
+ if (FPS < 10 || 10 > VPS)
+ {
+ jit->ClearCache();
+ }
+ else//if (FPS < 20 || 30 > VPS) // Hack for Mario Power Tennis
+ {
+ jit->ClearCache();
+ }
+ }
+ }
// Settings are shown the same for both extended and summary info
std:tring SSettings = StringFromFormat("%s %s",
#ifdef _M_IX86
Index: Source/Core/Core/Src/CoreParameter.cpp
===================================================================
--- Source/Core/Core/Src/CoreParameter.cpp (revision 5149)
+++ Source/Core/Core/Src/CoreParameter.cpp (working copy)
@@ -46,7 +46,7 @@
bLockThreads(false),
bEnableCheats(false), bEnableIsoCache(false),
bRunCompareServer(false), bRunCompareClient(false),
- iTLBHack(0), SelectedLanguage(0),
+ iTLBHack(0), SelectedLanguage(0), bJITCache(0),
bWii(false), bWiiLeds(false), bWiiSpeakers(false),
bConfirmStop(false), bHideCursor(false),
bAutoHideCursor(false), bUsePanicHandlers(true),
@@ -69,7 +69,7 @@
bWii = false;
SelectedLanguage = 0;
iTLBHack = 0;
-
+ bJITCache = 0;
iPosX = 100;
iPosY = 100;
iWidth = 800;
Index: Source/Core/Core/Src/CoreParameter.cpp
===================================================================
--- Source/Core/Core/Src/CoreParameter.cpp (revision 5149)
+++ Source/Core/Core/Src/CoreParameter.cpp (working copy)
@@ -46,7 +46,7 @@
bLockThreads(false),
bEnableCheats(false), bEnableIsoCache(false),
bRunCompareServer(false), bRunCompareClient(false),
- iTLBHack(0), SelectedLanguage(0),
+ iTLBHack(0), SelectedLanguage(0), bJITCache(0),
bWii(false), bWiiLeds(false), bWiiSpeakers(false),
bConfirmStop(false), bHideCursor(false),
bAutoHideCursor(false), bUsePanicHandlers(true),
@@ -69,7 +69,7 @@
bWii = false;
SelectedLanguage = 0;
iTLBHack = 0;
-
+ bJITCache = 0;
iPosX = 100;
iPosY = 100;
iWidth = 800;
Index: Source/Core/Core/Src/CoreParameter.h
===================================================================
--- Source/Core/Core/Src/CoreParameter.h (revision 5149)
+++ Source/Core/Core/Src/CoreParameter.h (working copy)
@@ -65,12 +65,12 @@
bool bLockThreads;
bool bEnableCheats;
bool bEnableIsoCache;
-
+
bool bRunCompareServer;
bool bRunCompareClient;
int iTLBHack;
-
+ int bJITCache;
int SelectedLanguage;
// Wii settings
Index: Source/Core/Core/Src/HW/Memmap.cpp
===================================================================
--- Source/Core/Core/Src/HW/Memmap.cpp (revision 5149)
+++ Source/Core/Core/Src/HW/Memmap.cpp (working copy)
@@ -460,14 +460,9 @@
{
inst = jit->GetBlockCache()->GetOriginalFirstOp(inst);
}
-
- // if a crash occured after that message
- // that means that we've compiled outdated code from the cache instead of memory
- // this could happen if a game forgot to icbi the new code
- u32 inst_mem = Memory::ReadUnchecked_U32(_Address);
- if (inst_mem != inst)
- ERROR_LOG(POWERPC, "JIT: compiling outdated code. addr=%x, mem=%x, cache=%x", _Address, inst_mem, inst);
- return inst;
+ return Memory::ReadUnchecked_U32(_Address);
+
+return inst;
}
u32 Read_Opcode_JIT_LC(const u32 _Address)
@@ -477,7 +472,7 @@
(_Address & ~JIT_ICACHE_MASK) != 0x7e000000 && // TLB area
(_Address & ~JIT_ICACHEEX_MASK) != 0x90000000 && (_Address & ~JIT_ICACHEEX_MASK) != 0x10000000)
{
- PanicAlert("iCacheJIT: Reading Opcode from %x. Please report.", _Address);
+ PanicAlert("iCacheJIT_LC: Reading Opcode from %x. Please report.", _Address);
return 0;
}
u8* iCache;
@@ -791,8 +786,8 @@
break;
default:
- if (!PanicYesNo("Unknown pointer address prefix %02X, report this to the devs: 0x%08X \n Continue?", (_Address >> 24), _Address))
- Crash();
+ //if (!PanicYesNo("Unknown pointer address prefix %02X, report this to the devs: 0x%08X \n Continue?", (_Address >> 24), _Address))
+ //Crash();
break;
}
return NULL;
Index: Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp
===================================================================
--- Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp (revision 5149)
+++ Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp (working copy)
@@ -310,7 +310,10 @@
code[i].address = address;
UGeckoInstruction inst = Memory::Read_Opcode_JIT(code[i].address);
-
+ UGeckoInstruction untouched_op = Memory::ReadUnchecked_U32(code[i].address);
+ if (untouched_op.OPCD == 1) // Do handle HLE instructions.
+ inst = untouched_op;
+
_assert_msg_(POWERPC, inst.hex != 0, "Zero Op - Error flattening %08x op %08x", address + i*4, inst.hex);
code[i].inst = inst;
code[i].branchTo = -1;
Index: Source/Core/DolphinWX/Src/BootManager.cpp
===================================================================
--- Source/Core/DolphinWX/Src/BootManager.cpp (revision 5149)
+++ Source/Core/DolphinWX/Src/BootManager.cpp (working copy)
@@ -124,6 +124,7 @@
game_ini.Get("Core", "SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
game_ini.Get("Core", "EnableFPRF", &StartUp.bEnableFPRF, StartUp.bEnableFPRF);
game_ini.Get("Core", "TLBHack", &StartUp.iTLBHack, StartUp.iTLBHack);
+ game_ini.Get("Core", "JITCache", &StartUp.bJITCache, StartUp.bJITCache);
// Wii settings
if (StartUp.bWii)
{
Index: Source/Core/DolphinWX/Src/ISOProperties.cpp
===================================================================
--- Source/Core/DolphinWX/Src/ISOProperties.cpp (revision 5149)
+++ Source/Core/DolphinWX/Src/ISOProperties.cpp (working copy)
@@ -289,6 +289,8 @@
CPUThread = new wxCheckBox(m_GameConfig, ID_USEDUALCORE, _("Enable Dual Core"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
SkipIdle = new wxCheckBox(m_GameConfig, ID_IDLESKIP, _("Enable Idle Skipping"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
TLBHack = new wxCheckBox(m_GameConfig, ID_TLBHACK, _("TLB Hack"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
+ JITCache = new wxCheckBox(m_GameConfig, ID_JITCACHE, _("Nettoyage Cache"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
+ JITCache->SetToolTip(_("Nettoyage cache pour Mario & Sonic aux Jeux Olympiques d’hiver utilisable sur d'autre jeux"));
// Wii Console
sbWiiOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Wii Console"));
EnableProgressiveScan = new wxCheckBox(m_GameConfig, ID_ENABLEPROGRESSIVESCAN, _("Enable Progressive Scan"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
@@ -344,6 +346,7 @@
sbCoreOverrides->Add(CPUThread, 0, wxEXPAND|wxLEFT, 5);
sbCoreOverrides->Add(SkipIdle, 0, wxEXPAND|wxLEFT, 5);
sbCoreOverrides->Add(TLBHack, 0, wxEXPAND|wxLEFT, 5);
+ sbCoreOverrides->Add(JITCache, 0, wxEXPAND|wxLEFT, 5);
sbWiiOverrides->Add(EnableProgressiveScan, 0, wxEXPAND|wxLEFT, 5);
sbWiiOverrides->Add(EnableWideScreen, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(ForceFiltering, 0, wxEXPAND|wxLEFT, 5);
@@ -806,6 +809,11 @@
TLBHack->Set3StateValue((wxCheckBoxState)bTemp);
else
TLBHack->Set3StateValue(wxCHK_UNDETERMINED);
+
+ if (GameIni.Get("Core", "JITCache", &bTemp))
+ JITCache->Set3StateValue((wxCheckBoxState)bTemp);
+ else
+ JITCache->Set3StateValue(wxCHK_UNDETERMINED);
if (GameIni.Get("Wii", "ProgressiveScan", &bTemp))
EnableProgressiveScan->Set3StateValue((wxCheckBoxState)bTemp);
@@ -891,6 +899,11 @@
GameIni.DeleteKey("Core", "TLBHack");
else
GameIni.Set("Core", "TLBHack", TLBHack->Get3StateValue());
+
+ if (JITCache->Get3StateValue() == wxCHK_UNDETERMINED)
+ GameIni.DeleteKey("Core", "JITCache");
+ else
+ GameIni.Set("Core", "JITCache", JITCache->Get3StateValue());
if (EnableProgressiveScan->Get3StateValue() == wxCHK_UNDETERMINED)
GameIni.DeleteKey("Wii", "ProgressiveScan");
Index: Source/Core/DolphinWX/Src/ISOProperties.h
===================================================================
--- Source/Core/DolphinWX/Src/ISOProperties.h (revision 5149)
+++ Source/Core/DolphinWX/Src/ISOProperties.h (working copy)
@@ -81,7 +81,7 @@
wxStaticText *OverrideText;
// Core
- wxCheckBox *CPUThread, *SkipIdle, *TLBHack, *BPHack;
+ wxCheckBox *CPUThread, *SkipIdle, *TLBHack, *BPHack, *JITCache;
// Wii
wxCheckBox *EnableProgressiveScan, *EnableWideScreen;
// Video
@@ -160,6 +160,7 @@
ID_USEDUALCORE,
ID_IDLESKIP,
ID_TLBHACK,
+ ID_JITCACHE,
ID_BPHACK,
ID_FORCEFILTERING,
ID_EFBCOPYDISABLE,
tring SSettings = StringFromFormat("%s %s",