diff options
Diffstat (limited to 'Ryujinx.HLE/OsHle/Ipc/IpcPtrBuffDesc.cs')
| -rw-r--r-- | Ryujinx.HLE/OsHle/Ipc/IpcPtrBuffDesc.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Ryujinx.HLE/OsHle/Ipc/IpcPtrBuffDesc.cs b/Ryujinx.HLE/OsHle/Ipc/IpcPtrBuffDesc.cs new file mode 100644 index 00000000..f5a9f651 --- /dev/null +++ b/Ryujinx.HLE/OsHle/Ipc/IpcPtrBuffDesc.cs @@ -0,0 +1,26 @@ +using System.IO; + +namespace Ryujinx.HLE.OsHle.Ipc +{ + struct IpcPtrBuffDesc + { + public long Position { get; private set; } + public int Index { get; private set; } + public long Size { get; private set; } + + public IpcPtrBuffDesc(BinaryReader Reader) + { + long Word0 = Reader.ReadUInt32(); + long Word1 = Reader.ReadUInt32(); + + Position = Word1; + Position |= (Word0 << 20) & 0x0f00000000; + Position |= (Word0 << 30) & 0x7000000000; + + Index = ((int)Word0 >> 0) & 0x03f; + Index |= ((int)Word0 >> 3) & 0x1c0; + + Size = (ushort)(Word0 >> 16); + } + } +}
\ No newline at end of file |
