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:
Shawn Hoffman 2011-01-14 07:08:12 +00:00
parent f292f6d5a7
commit b0d2df0bad
5 changed files with 19 additions and 3 deletions

View File

@ -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)

View File

@ -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[] =

View File

@ -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);
}
}

View File

@ -38,6 +38,7 @@ namespace HLE_Misc
void FZ_sqrt();
void FZ_sqrt_internal();
void FZ_rsqrt_internal();
void HBReload();
}
#endif

View File

@ -662,11 +662,9 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
break;
#endif
#if defined(HAVE_X11) && HAVE_X11
case WM_USER_STOP:
DoStop();
break;
#endif
}
}