From 32789a70fb3189e6cc467e86417d85bada7fb7e2 Mon Sep 17 00:00:00 2001 From: wwylele Date: Wed, 12 Oct 2016 21:02:08 +0800 Subject: [PATCH] NWM: stub Initialize with an error --- src/core/hle/service/nwm_uds.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/core/hle/service/nwm_uds.cpp b/src/core/hle/service/nwm_uds.cpp index 27e829209..80081aae2 100644 --- a/src/core/hle/service/nwm_uds.cpp +++ b/src/core/hle/service/nwm_uds.cpp @@ -97,10 +97,21 @@ static void Initialize(Service::Interface* self) { u32 value = cmd_buff[13]; u32 handle = cmd_buff[14]; + // Because NWM service is not implemented at all, we stub the Initialize function with an error + // code instead of success to prevent games from using the service and from causing more issues. + // The error code is from a real 3DS with wifi off, thus believed to be "network disabled". + /* cmd_buff[1] = RESULT_SUCCESS.raw; cmd_buff[2] = 0; cmd_buff[3] = Kernel::g_handle_table.Create(handle_event) .MoveFrom(); // TODO(purpasmart): Verify if this is a event handle + */ + cmd_buff[0] = IPC::MakeHeader(0x1B, 1, 2); + cmd_buff[1] = ResultCode(static_cast(2), ErrorModule::UDS, + ErrorSummary::StatusChanged, ErrorLevel::Status) + .raw; + cmd_buff[2] = 0; + cmd_buff[3] = 0; LOG_WARNING(Service_NWM, "(STUBBED) called unk1=0x%08X, unk2=0x%08X, value=%u, handle=0x%08X", unk1, unk2, value, handle);