aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Memory/Range/IMultiRangeItem.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Memory/Range/IMultiRangeItem.cs')
-rw-r--r--src/Ryujinx.Memory/Range/IMultiRangeItem.cs18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/Ryujinx.Memory/Range/IMultiRangeItem.cs b/src/Ryujinx.Memory/Range/IMultiRangeItem.cs
index 87fde246..5f9611c7 100644
--- a/src/Ryujinx.Memory/Range/IMultiRangeItem.cs
+++ b/src/Ryujinx.Memory/Range/IMultiRangeItem.cs
@@ -4,6 +4,22 @@ namespace Ryujinx.Memory.Range
{
MultiRange Range { get; }
- ulong BaseAddress => Range.GetSubRange(0).Address;
+ ulong BaseAddress
+ {
+ get
+ {
+ for (int index = 0; index < Range.Count; index++)
+ {
+ MemoryRange subRange = Range.GetSubRange(index);
+
+ if (!MemoryRange.IsInvalid(ref subRange))
+ {
+ return subRange.Address;
+ }
+ }
+
+ return MemoryRange.InvalidAddress;
+ }
+ }
}
}