diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-04-22 01:21:49 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-04-22 01:22:46 -0300 |
| commit | bd9b1e2c6b912c7cdab55ec6acc063c88a59cff1 (patch) | |
| tree | 077ab8da47828f9fd23893eeefa54c7d8fb2a314 /Ryujinx.Core/Loaders | |
| parent | 4906acdde96c09b4e12a3801a4bacd5233a2f8e6 (diff) | |
Stub a few services, add support for generating call stacks on the CPU
Diffstat (limited to 'Ryujinx.Core/Loaders')
| -rw-r--r-- | Ryujinx.Core/Loaders/Executable.cs | 8 | ||||
| -rw-r--r-- | Ryujinx.Core/Loaders/Executables/IExecutable.cs | 2 | ||||
| -rw-r--r-- | Ryujinx.Core/Loaders/Executables/Nro.cs | 6 | ||||
| -rw-r--r-- | Ryujinx.Core/Loaders/Executables/Nso.cs | 6 |
4 files changed, 18 insertions, 4 deletions
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<ElfDyn> Dynamic; private Dictionary<long, string> m_SymbolTable; public IReadOnlyDictionary<long, string> 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<long, string>(); + 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); |
