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());
|
||||
|
||||
// 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();
|
||||
VideoInterface::Preset(_StartupPara.bNTSC);
|
||||
switch (_StartupPara.m_BootType)
|
||||
|
|
|
@ -90,6 +90,9 @@ static const SPatch OSPatches[] =
|
|||
// special
|
||||
// { "GXPeekZ", HLE_Misc::GXPeekZ},
|
||||
// { "GXPeekARGB", HLE_Misc::GXPeekARGB},
|
||||
|
||||
// Name doesn't matter, installed in CBoot::BootUp()
|
||||
{ "HBReload", HLE_Misc::HBReload },
|
||||
};
|
||||
|
||||
static const SPatch OSBreakPoints[] =
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#include "../PowerPC/PowerPC.h"
|
||||
#include "../HW/Memmap.h"
|
||||
#include "PluginSpecs.h"
|
||||
#include "../Host.h"
|
||||
|
||||
namespace HLE_Misc
|
||||
{
|
||||
|
@ -274,4 +276,11 @@ f8 *= f1
|
|||
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_internal();
|
||||
void FZ_rsqrt_internal();
|
||||
void HBReload();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -662,11 +662,9 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
|
|||
break;
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_X11) && HAVE_X11
|
||||
case WM_USER_STOP:
|
||||
DoStop();
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue