Add new FS commands

This commit is contained in:
Alex Barney 2020-03-02 14:22:26 -07:00
commit c1ffc3a62e
3 changed files with 44 additions and 0 deletions

View file

@ -26,6 +26,7 @@ namespace Ryujinx.HLE.FileSystem
public FileSystemServer FsServer { get; private set; } public FileSystemServer FsServer { get; private set; }
public FileSystemClient FsClient { get; private set; } public FileSystemClient FsClient { get; private set; }
public EmulatedGameCard GameCard { get; private set; } public EmulatedGameCard GameCard { get; private set; }
public EmulatedSdCard SdCard { get; private set; }
private VirtualFileSystem() private VirtualFileSystem()
{ {
@ -208,6 +209,7 @@ namespace Ryujinx.HLE.FileSystem
DefaultFsServerObjects fsServerObjects = DefaultFsServerObjects.GetDefaultEmulatedCreators(serverBaseFs, KeySet); DefaultFsServerObjects fsServerObjects = DefaultFsServerObjects.GetDefaultEmulatedCreators(serverBaseFs, KeySet);
GameCard = fsServerObjects.GameCard; GameCard = fsServerObjects.GameCard;
SdCard = fsServerObjects.SdCard;
FileSystemServerConfig fsServerConfig = new FileSystemServerConfig FileSystemServerConfig fsServerConfig = new FileSystemServerConfig
{ {

View file

@ -12,6 +12,17 @@ namespace Ryujinx.HLE.HOS.Services.Fs
_baseOperator = baseOperator; _baseOperator = baseOperator;
} }
[Command(0)]
// IsSdCardInserted() -> b8 is_inserted
public ResultCode IsSdCardInserted(ServiceCtx context)
{
Result result = _baseOperator.IsSdCardInserted(out bool isInserted);
context.ResponseData.Write(isInserted);
return (ResultCode)result.Value;
}
[Command(200)] [Command(200)]
// IsGameCardInserted() -> b8 is_inserted // IsGameCardInserted() -> b8 is_inserted
public ResultCode IsGameCardInserted(ServiceCtx context) public ResultCode IsGameCardInserted(ServiceCtx context)

View file

@ -448,6 +448,37 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(630)]
// SetSdCardAccessibility(u8)
public ResultCode SetSdCardAccessibility(ServiceCtx context)
{
bool isAccessible = context.RequestData.ReadBoolean();
return (ResultCode)_baseFileSystemProxy.SetSdCardAccessibility(isAccessible).Value;
}
[Command(631)]
// IsSdCardAccessible() -> u8
public ResultCode IsSdCardAccessible(ServiceCtx context)
{
Result result = _baseFileSystemProxy.IsSdCardAccessible(out bool isAccessible);
context.ResponseData.Write(isAccessible);
return (ResultCode)result.Value;
}
[Command(1004)]
// SetGlobalAccessLogMode(u32 mode)
public ResultCode SetGlobalAccessLogMode(ServiceCtx context)
{
int mode = context.RequestData.ReadInt32();
context.Device.System.GlobalAccessLogMode = mode;
return ResultCode.Success;
}
[Command(1005)] [Command(1005)]
// GetGlobalAccessLogMode() -> u32 logMode // GetGlobalAccessLogMode() -> u32 logMode
public ResultCode GetGlobalAccessLogMode(ServiceCtx context) public ResultCode GetGlobalAccessLogMode(ServiceCtx context)