From bd9b1e2c6b912c7cdab55ec6acc063c88a59cff1 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sun, 22 Apr 2018 01:21:49 -0300 Subject: Stub a few services, add support for generating call stacks on the CPU --- Ryujinx.Core/Loaders/Executable.cs | 8 ++++++-- Ryujinx.Core/Loaders/Executables/IExecutable.cs | 2 ++ Ryujinx.Core/Loaders/Executables/Nro.cs | 6 +++++- Ryujinx.Core/Loaders/Executables/Nso.cs | 6 +++++- 4 files changed, 18 insertions(+), 4 deletions(-) (limited to 'Ryujinx.Core/Loaders') diff --git a/Ryujinx.Core/Loaders/Executable.cs b/Ryujinx.Core/Loaders/Executable.cs index 943b8e51..39ee9618 100644 --- a/Ryujinx.Core/Loaders/Executable.cs +++ b/Ryujinx.Core/Loaders/Executable.cs @@ -7,14 +7,16 @@ namespace Ryujinx.Core.Loaders { class Executable { - private AMemory Memory; - private List Dynamic; private Dictionary m_SymbolTable; public IReadOnlyDictionary SymbolTable => m_SymbolTable; + public string Name { get; private set; } + + private AMemory Memory; + public long ImageBase { get; private set; } public long ImageEnd { get; private set; } @@ -24,6 +26,8 @@ namespace Ryujinx.Core.Loaders m_SymbolTable = new Dictionary(); + Name = Exe.Name; + this.Memory = Memory; this.ImageBase = ImageBase; this.ImageEnd = ImageBase; diff --git a/Ryujinx.Core/Loaders/Executables/IExecutable.cs b/Ryujinx.Core/Loaders/Executables/IExecutable.cs index 09d0aab2..412058d8 100644 --- a/Ryujinx.Core/Loaders/Executables/IExecutable.cs +++ b/Ryujinx.Core/Loaders/Executables/IExecutable.cs @@ -2,6 +2,8 @@ namespace Ryujinx.Core.Loaders.Executables { public interface IExecutable { + string Name { get; } + byte[] Text { get; } byte[] RO { get; } byte[] Data { get; } diff --git a/Ryujinx.Core/Loaders/Executables/Nro.cs b/Ryujinx.Core/Loaders/Executables/Nro.cs index 9f4ef59f..c3411d22 100644 --- a/Ryujinx.Core/Loaders/Executables/Nro.cs +++ b/Ryujinx.Core/Loaders/Executables/Nro.cs @@ -4,6 +4,8 @@ namespace Ryujinx.Core.Loaders.Executables { class Nro : IExecutable { + public string Name { get; private set; } + public byte[] Text { get; private set; } public byte[] RO { get; private set; } public byte[] Data { get; private set; } @@ -14,8 +16,10 @@ namespace Ryujinx.Core.Loaders.Executables public int DataOffset { get; private set; } public int BssSize { get; private set; } - public Nro(Stream Input) + public Nro(Stream Input, string Name) { + this.Name = Name; + BinaryReader Reader = new BinaryReader(Input); Input.Seek(4, SeekOrigin.Begin); diff --git a/Ryujinx.Core/Loaders/Executables/Nso.cs b/Ryujinx.Core/Loaders/Executables/Nso.cs index 7341ba62..bfe159d7 100644 --- a/Ryujinx.Core/Loaders/Executables/Nso.cs +++ b/Ryujinx.Core/Loaders/Executables/Nso.cs @@ -6,6 +6,8 @@ namespace Ryujinx.Core.Loaders.Executables { class Nso : IExecutable { + public string Name { get; private set; } + public byte[] Text { get; private set; } public byte[] RO { get; private set; } public byte[] Data { get; private set; } @@ -27,8 +29,10 @@ namespace Ryujinx.Core.Loaders.Executables HasDataHash = 1 << 5 } - public Nso(Stream Input) + public Nso(Stream Input, string Name) { + this.Name = Name; + BinaryReader Reader = new BinaryReader(Input); Input.Seek(0, SeekOrigin.Begin); -- cgit v1.2.3