diff options
author | bunnei <bunneidev@gmail.com> | 2014-07-06 22:17:34 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2014-07-07 22:13:40 -0400 |
commit | 59f275048209fd18f9c8284d101c7f5baaa4762e (patch) | |
tree | a5b67837fba04a2162eedbcb3ff5831893970e78 /src/core/hle/function_wrappers.h | |
parent | 7ff92c36ed70e75a54d8a15a7806ab9be34b3168 (diff) |
function_wrappers: Fixed incorrect wrapper, added another.
Diffstat (limited to 'src/core/hle/function_wrappers.h')
-rw-r--r-- | src/core/hle/function_wrappers.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h index 0bed7865..ea603a1b 100644 --- a/src/core/hle/function_wrappers.h +++ b/src/core/hle/function_wrappers.h @@ -39,9 +39,16 @@ template<s32 func(s32*, u32*, s32, bool, s64)> void Wrap() { RETURN(retval); } -// TODO(bunnei): Is this correct? Probably not +// TODO(bunnei): Is this correct? Probably not - Last parameter looks wrong for ArbitrateAddress template<s32 func(u32, u32, u32, u32, s64)> void Wrap() { - RETURN(func(PARAM(5), PARAM(1), PARAM(2), PARAM(3), (((s64)PARAM(4) << 32) | PARAM(0)))); + RETURN(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), (((s64)PARAM(5) << 32) | PARAM(4)))); +} + +template<s32 func(u32*)> void Wrap(){ + u32 param_1 = 0; + u32 retval = func(¶m_1); + Core::g_app_core->SetReg(1, param_1); + RETURN(retval); } template<s32 func(u32, s64)> void Wrap() { |