diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/arm/dyncom/arm_dyncom_interpreter.cpp | 8 | ||||
| -rw-r--r-- | src/core/hle/service/frd/frd_u.cpp | 13 | ||||
| -rw-r--r-- | src/core/hle/service/service.cpp | 2 | 
3 files changed, 18 insertions, 5 deletions
| diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp index 34cfb8cb2..e40f3fa93 100644 --- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp +++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp @@ -4144,11 +4144,13 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) {          if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) {              bx_inst* const inst_cream = (bx_inst*)inst_base->component; +            u32 address = RM; +              if (inst_cream->Rm == 15) -                LOG_WARNING(Core_ARM11, "BX at pc %x: use of Rm = R15 is discouraged", cpu->Reg[15]); +                address += 2 * GET_INST_SIZE(cpu); -            cpu->TFlag = cpu->Reg[inst_cream->Rm] & 0x1; -            cpu->Reg[15] = cpu->Reg[inst_cream->Rm] & 0xfffffffe; +            cpu->TFlag   = address & 1; +            cpu->Reg[15] = address & 0xfffffffe;              INC_PC(sizeof(bx_inst));              goto DISPATCH;          } diff --git a/src/core/hle/service/frd/frd_u.cpp b/src/core/hle/service/frd/frd_u.cpp index 439c7282e..3a5897d06 100644 --- a/src/core/hle/service/frd/frd_u.cpp +++ b/src/core/hle/service/frd/frd_u.cpp @@ -10,15 +10,26 @@ namespace Service {  namespace FRD {  const Interface::FunctionInfo FunctionTable[] = { +    {0x00010000, nullptr,               "HasLoggedIn"}, +    {0x00030000, nullptr,               "Login"}, +    {0x00040000, nullptr,               "Logout"},      {0x00050000, nullptr,               "GetFriendKey"},      {0x00080000, nullptr,               "GetMyPresence"}, +    {0x00090000, nullptr,               "GetMyScreenName"},      {0x00100040, nullptr,               "GetPassword"}, +    {0x00110080, nullptr,               "GetFriendKeyList"},      {0x00190042, nullptr,               "GetFriendFavoriteGame"},      {0x001A00C4, nullptr,               "GetFriendInfo"},      {0x001B0080, nullptr,               "IsOnFriendList"},      {0x001C0042, nullptr,               "DecodeLocalFriendCode"},      {0x001D0002, nullptr,               "SetCurrentlyPlayingText"}, -    {0x00320042, nullptr,               "SetClientSdkVersion"} +    {0x00230000, nullptr,               "GetLastResponseResult"}, +    {0x00270040, nullptr,               "ResultToErrorCode"}, +    {0x00280244, nullptr,               "RequestGameAuthentication"}, +    {0x00290000, nullptr,               "GetGameAuthenticationData"}, +    {0x002A0204, nullptr,               "RequestServiceLocator"}, +    {0x002B0000, nullptr,               "GetServiceLocatorData"}, +    {0x00320042, nullptr,               "SetClientSdkVersion"},  };  FRD_U_Interface::FRD_U_Interface() { diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index d681cc3dc..0de0b13a3 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp @@ -54,7 +54,7 @@ static std::string MakeFunctionString(const char* name, const char* port_name, c      std::string function_string = Common::StringFromFormat("function '%s': port=%s", name, port_name);      for (int i = 1; i <= num_params; ++i) { -        function_string += Common::StringFromFormat(", cmd_buff[%i]=%u", i, cmd_buff[i]); +        function_string += Common::StringFromFormat(", cmd_buff[%i]=0x%X", i, cmd_buff[i]);      }      return function_string;  } | 
