From 15c7d8170669cadce685471fea48c215687d6622 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 1 Jun 2014 20:48:29 -0400 Subject: svc: cleaned up function_wrappers, updated various SVCs to make use of pointer arguments --- src/core/hle/function_wrappers.h | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'src/core/hle/function_wrappers.h') diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h index 7eb62fc48..65e3164c4 100644 --- a/src/core/hle/function_wrappers.h +++ b/src/core/hle/function_wrappers.h @@ -33,7 +33,9 @@ template void WrapU_V() { } template void WrapI_VC() { - u32 retval = func(Memory::GetPointer(PARAM(0)), Memory::GetCharPointer(PARAM(1))); + u32 param_1 = 0; + u32 retval = func(¶m_1, Memory::GetCharPointer(PARAM(1))); + Core::g_app_core->SetReg(1, param_1); RETURN(retval); } @@ -48,7 +50,8 @@ template void WrapI_CIIU() { } template void WrapI_ICUVVUI() { - u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), Memory::GetPointer(PARAM(3)),Memory::GetPointer(PARAM(4)), PARAM(5), PARAM(6) ); + u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), + Memory::GetPointer(PARAM(3)),Memory::GetPointer(PARAM(4)), PARAM(5), PARAM(6)); RETURN(retval); } @@ -394,8 +397,8 @@ template void WrapU_C() { template void WrapU_CCCU() { u32 retval = func(Memory::GetCharPointer(PARAM(0)), - Memory::GetCharPointer(PARAM(1)), Memory::GetCharPointer(PARAM(2)), - PARAM(3)); + Memory::GetCharPointer(PARAM(1)), Memory::GetCharPointer(PARAM(2)), + PARAM(3)); RETURN(retval); } @@ -431,7 +434,7 @@ template void WrapI_CUU() { template void WrapI_CUUU() { int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), - PARAM(3)); + PARAM(3)); RETURN(retval); } @@ -442,7 +445,7 @@ template void WrapI_CCII() { template void WrapI_CUUIUU() { int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), - PARAM(3), PARAM(4), PARAM(5)); + PARAM(3), PARAM(4), PARAM(5)); RETURN(retval); } @@ -454,7 +457,7 @@ template void WrapI_CIIUII() { template void WrapI_CIUUU() { int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), - PARAM(3), PARAM(4)); + PARAM(3), PARAM(4)); RETURN(retval); } @@ -554,18 +557,18 @@ template void WrapI_CUIU() { template void WrapV_UCUIU() { func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3), - PARAM(4)); + PARAM(4)); } template void WrapI_UCUIU() { int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), - PARAM(3), PARAM(4)); + PARAM(3), PARAM(4)); RETURN(retval); } template void WrapV_CUIIU() { func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3), - PARAM(4)); + PARAM(4)); } template void WrapI_CUIIU() { @@ -689,8 +692,8 @@ template void WrapI_IUU() { } template void WrapU_UUUUUUU() { - u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6)); - RETURN(retval); + u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6)); + RETURN(retval); } template void WrapI_UIUU() { @@ -734,7 +737,9 @@ template void WrapI_ICU } template void WrapI_VU(){ - u32 retval = func(Memory::GetPointer(PARAM(0)), PARAM(1)); + u32 param_1 = 0; + u32 retval = func(¶m_1, PARAM(1)); + Core::g_app_core->SetReg(1, param_1); RETURN(retval); } @@ -749,7 +754,9 @@ template void WrapI_VUVI(){ } template void WrapI_VUUUUU(){ - u32 retval = func(NULL, PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); + u32 param_1 = 0; + u32 retval = func(¶m_1, PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); + Core::g_app_core->SetReg(1, param_1); RETURN(retval); } @@ -763,7 +770,7 @@ template void WrapI_VVUUS64() { RETURN(retval); } -// TODO(bunne): Is this correct? Probably not +// TODO(bunnei): Is this correct? Probably not template void WrapI_UUUUS64() { int retval = func(PARAM(5), PARAM(1), PARAM(2), PARAM(3), (((u64)PARAM(4) << 32) | PARAM(0))); RETURN(retval); -- cgit v1.2.3