aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/function_wrappers.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2014-07-08 18:54:12 -0400
committerbunnei <bunneidev@gmail.com>2014-07-08 18:54:12 -0400
commit584f7aced5360654d3f86dd14beb87a637b802f1 (patch)
treea4e8761b1b55ca53941db9f2ce8c04f224226238 /src/core/hle/function_wrappers.h
parent6084084a5d513544d8cb694554610b84270a5505 (diff)
parent3eb89f3e98b118f7829d3e56f32bcacbe58afc46 (diff)
Merge pull request #29 from bunnei/address-arbiters
Adds address arbiters to kernel HLE
Diffstat (limited to 'src/core/hle/function_wrappers.h')
-rw-r--r--src/core/hle/function_wrappers.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h
index 0bed78653..ea603a1bb 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(&param_1);
+ Core::g_app_core->SetReg(1, param_1);
+ RETURN(retval);
}
template<s32 func(u32, s64)> void Wrap() {