From 7d299c6b8790ca1cadf9cc5d77b0d0408c718fe9 Mon Sep 17 00:00:00 2001 From: ParantezTech <12572227+par274@users.noreply.github.com> Date: Tue, 22 Sep 2026 04:16:44 +0300 Subject: [PATCH] [Share] Added sceShareGetRunningStatus --- src/SharpEmu.Libs/Share/ShareExports.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/SharpEmu.Libs/Share/ShareExports.cs b/src/SharpEmu.Libs/Share/ShareExports.cs index 8e52ec4..3cfcfe2 100644 --- a/src/SharpEmu.Libs/Share/ShareExports.cs +++ b/src/SharpEmu.Libs/Share/ShareExports.cs @@ -139,6 +139,28 @@ public static class ShareExports return ctx.SetReturn(OrbisGen2Result.ORBIS_GEN2_OK); } + [SysAbiExport( + Nid = "crFxyW3HdK0", + ExportName = "sceShareGetRunningStatus", + Target = Generation.Gen4 | Generation.Gen5, + LibraryName = "libSceShareUtility")] + public static int ShareGetRunningStatus(CpuContext ctx) + { + var featureFlagsAddress = ctx[CpuRegister.Rdi]; + if (featureFlagsAddress == 0) + { + return ctx.SetReturn(OrbisGen2Result.ORBIS_GEN2_ERROR_INVALID_ARGUMENT); + } + + if (!ctx.TryWriteUInt32(featureFlagsAddress, 0)) + { + return ctx.SetReturn(OrbisGen2Result.ORBIS_GEN2_ERROR_MEMORY_FAULT); + } + + TraceShare("get_running_status flags=0"); + return ctx.SetReturn(OrbisGen2Result.ORBIS_GEN2_OK); + } + private static bool TryReadNullTerminatedUtf8(CpuContext ctx, ulong address, int maxLength, out string value) { Span bytes = stackalloc byte[maxLength];