mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-04-10 12:45:46 +00:00
HLE jump to loader (homebrew)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6845 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
f292f6d5a7
commit
b0d2df0bad
@ -164,6 +164,11 @@ bool CBoot::BootUp()
|
|||||||
|
|
||||||
NOTICE_LOG(BOOT, "Booting %s", _StartupPara.m_strFilename.c_str());
|
NOTICE_LOG(BOOT, "Booting %s", _StartupPara.m_strFilename.c_str());
|
||||||
|
|
||||||
|
// HLE jump to loader (homebrew)
|
||||||
|
Memory::Write_U32(((1 & 0x3f) << 26) | 10, 0x80001800);
|
||||||
|
const u8 stubstr[] = { 'S', 'T', 'U', 'B', 'H', 'A', 'X', 'X' };
|
||||||
|
Memory::WriteBigEData(stubstr, 0x80001804, 8);
|
||||||
|
|
||||||
g_symbolDB.Clear();
|
g_symbolDB.Clear();
|
||||||
VideoInterface::Preset(_StartupPara.bNTSC);
|
VideoInterface::Preset(_StartupPara.bNTSC);
|
||||||
switch (_StartupPara.m_BootType)
|
switch (_StartupPara.m_BootType)
|
||||||
|
@ -89,7 +89,10 @@ static const SPatch OSPatches[] =
|
|||||||
//{ ".kill_infinites", HLE_Misc::FZero_kill_infinites },
|
//{ ".kill_infinites", HLE_Misc::FZero_kill_infinites },
|
||||||
// special
|
// special
|
||||||
// { "GXPeekZ", HLE_Misc::GXPeekZ},
|
// { "GXPeekZ", HLE_Misc::GXPeekZ},
|
||||||
// { "GXPeekARGB", HLE_Misc::GXPeekARGB},
|
// { "GXPeekARGB", HLE_Misc::GXPeekARGB},
|
||||||
|
|
||||||
|
// Name doesn't matter, installed in CBoot::BootUp()
|
||||||
|
{ "HBReload", HLE_Misc::HBReload },
|
||||||
};
|
};
|
||||||
|
|
||||||
static const SPatch OSBreakPoints[] =
|
static const SPatch OSBreakPoints[] =
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#include "../PowerPC/PowerPC.h"
|
#include "../PowerPC/PowerPC.h"
|
||||||
#include "../HW/Memmap.h"
|
#include "../HW/Memmap.h"
|
||||||
|
#include "PluginSpecs.h"
|
||||||
|
#include "../Host.h"
|
||||||
|
|
||||||
namespace HLE_Misc
|
namespace HLE_Misc
|
||||||
{
|
{
|
||||||
@ -274,4 +276,11 @@ f8 *= f1
|
|||||||
NPC = LR;
|
NPC = LR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HBReload()
|
||||||
|
{
|
||||||
|
// There isn't much we can do. Just stop cleanly.
|
||||||
|
PowerPC::Pause();
|
||||||
|
Host_Message(WM_USER_STOP);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ namespace HLE_Misc
|
|||||||
void FZ_sqrt();
|
void FZ_sqrt();
|
||||||
void FZ_sqrt_internal();
|
void FZ_sqrt_internal();
|
||||||
void FZ_rsqrt_internal();
|
void FZ_rsqrt_internal();
|
||||||
|
void HBReload();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -662,11 +662,9 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
|
|||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_X11) && HAVE_X11
|
|
||||||
case WM_USER_STOP:
|
case WM_USER_STOP:
|
||||||
DoStop();
|
DoStop();
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user