diff --git a/rpcs3/Crypto/unself.cpp b/rpcs3/Crypto/unself.cpp
index 8a98c4a87f..df298b434c 100644
--- a/rpcs3/Crypto/unself.cpp
+++ b/rpcs3/Crypto/unself.cpp
@@ -525,7 +525,7 @@ bool SELFDecrypter::GetKeyFromRap(u8 *content_id, u8 *npdrm_key)
return false;
}
- ConLog.Write("Loading RAP file %s", ci_str.wc_str() + wchar_t(".rap"));
+ ConLog.Write("Loading RAP file %s", ci_str.wc_str() + wchar_t(".rap"));
rap_file.Read(rap_key, 0x10);
rap_file.Close();
diff --git a/rpcs3/Emu/Cell/PPUInterpreter.h b/rpcs3/Emu/Cell/PPUInterpreter.h
index 8f2e11ba1d..3413e2f3f0 100644
--- a/rpcs3/Emu/Cell/PPUInterpreter.h
+++ b/rpcs3/Emu/Cell/PPUInterpreter.h
@@ -1889,8 +1889,6 @@ private:
}
void VSUM2SWS(u32 vd, u32 va, u32 vb)
{
- CPU.VPR[vd].Clear();
-
for (uint n = 0; n < 2; n++)
{
s64 sum = (s64)CPU.VPR[va]._s32[n*2] + CPU.VPR[va]._s32[n*2 + 1] + CPU.VPR[vb]._s32[n*2];
@@ -1908,6 +1906,8 @@ private:
else
CPU.VPR[vd]._s32[n*2] = (s32)sum;
}
+ CPU.VPR[vd]._s32[1] = 0;
+ CPU.VPR[vd]._s32[3] = 0;
}
void VSUM4SBS(u32 vd, u32 va, u32 vb)
{
diff --git a/rpcs3/Emu/SysCalls/Modules/cellNetCtl.cpp b/rpcs3/Emu/SysCalls/Modules/cellNetCtl.cpp
index 9dc8a2364b..6c4dfa6e4c 100644
--- a/rpcs3/Emu/SysCalls/Modules/cellNetCtl.cpp
+++ b/rpcs3/Emu/SysCalls/Modules/cellNetCtl.cpp
@@ -45,6 +45,15 @@ enum
CELL_NET_CTL_ERROR_DHCP_LEASE_TIME = 0x80130504,
};
+// Network connection states
+enum
+{
+ CELL_NET_CTL_STATE_Disconnected = 0,
+ CELL_NET_CTL_STATE_Connecting = 1,
+ CELL_NET_CTL_STATE_IPObtaining = 2,
+ CELL_NET_CTL_STATE_IPObtained = 3,
+};
+
int cellNetCtlInit()
{
UNIMPLEMENTED_FUNC(cellNetCtl);
@@ -57,9 +66,14 @@ int cellNetCtlTerm()
return CELL_OK;
}
-int cellNetCtlGetState()
+int cellNetCtlGetState(mem32_t state)
{
- UNIMPLEMENTED_FUNC(cellNetCtl);
+ cellNetCtl.Log("cellNetCtlGetState(state_addr=0x%x)", state.GetAddr());
+
+ if (!state.IsGood())
+ return CELL_NET_CTL_ERROR_INVALID_ADDR;
+
+ state = CELL_NET_CTL_STATE_Disconnected; // TODO: Allow other states
return CELL_OK;
}
diff --git a/rpcs3/Emu/SysCalls/lv2/SC_FileSystem.cpp b/rpcs3/Emu/SysCalls/lv2/SC_FileSystem.cpp
index 0c51ef825d..80b425bf02 100644
--- a/rpcs3/Emu/SysCalls/lv2/SC_FileSystem.cpp
+++ b/rpcs3/Emu/SysCalls/lv2/SC_FileSystem.cpp
@@ -472,7 +472,7 @@ int cellFsGetFreeSize(u32 path_addr, mem32_t block_size, mem64_t block_count)
sys_fs.Warning("cellFsGetFreeSize(path=\"%s\", block_size_addr=0x%x, block_count_addr=0x%x)",
ps3_path.wx_str(), block_size.GetAddr(), block_count.GetAddr());
- if (Memory.IsGoodAddr(path_addr) || !block_size.IsGood() || !block_count.IsGood())
+ if (!Memory.IsGoodAddr(path_addr) || !block_size.IsGood() || !block_count.IsGood())
return CELL_EFAULT;
if (ps3_path.empty())
diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj
index 9e53606cac..4c7a3726a3 100644
--- a/rpcs3/rpcs3.vcxproj
+++ b/rpcs3/rpcs3.vcxproj
@@ -291,6 +291,7 @@
+
diff --git a/rpcs3/rpcs3.vcxproj.filters b/rpcs3/rpcs3.vcxproj.filters
index 28561ebfcf..b5f5f44515 100644
--- a/rpcs3/rpcs3.vcxproj.filters
+++ b/rpcs3/rpcs3.vcxproj.filters
@@ -436,6 +436,9 @@
Crypto
+
+ Emu\SysCalls\Modules
+