yabause: clean up memory domains slightly
This commit is contained in:
parent
a23cac57d5
commit
d2b0579609
|
@ -53,7 +53,7 @@ namespace BizHawk.Emulation.Common
|
|||
endian,
|
||||
delegate(int addr)
|
||||
{
|
||||
if (addr < 0 || addr >= size)
|
||||
if ((uint)addr >= size)
|
||||
throw new ArgumentOutOfRangeException();
|
||||
return p[addr];
|
||||
},
|
||||
|
@ -61,7 +61,7 @@ namespace BizHawk.Emulation.Common
|
|||
{
|
||||
if (writable)
|
||||
{
|
||||
if (addr < 0 || addr >= size)
|
||||
if ((uint)addr >= size)
|
||||
throw new ArgumentOutOfRangeException();
|
||||
p[addr] = val;
|
||||
}
|
||||
|
|
|
@ -18,38 +18,11 @@ namespace BizHawk.Emulation.Cores.Sega.Saturn
|
|||
{
|
||||
int l = nmd.length;
|
||||
IntPtr d = nmd.data;
|
||||
ret.Add(new MemoryDomain(
|
||||
nmd.name,
|
||||
nmd.length,
|
||||
MemoryDomain.Endian.Little,
|
||||
delegate(int addr)
|
||||
{
|
||||
if (addr < 0 || addr >= l)
|
||||
throw new ArgumentOutOfRangeException();
|
||||
unsafe
|
||||
{
|
||||
byte* p = (byte*)d;
|
||||
return p[addr];
|
||||
}
|
||||
},
|
||||
delegate(int addr, byte val)
|
||||
{
|
||||
if (addr < 0 || addr >= l)
|
||||
throw new ArgumentOutOfRangeException();
|
||||
unsafe
|
||||
{
|
||||
byte* p = (byte*)d;
|
||||
p[addr] = val;
|
||||
}
|
||||
}
|
||||
));
|
||||
ret.Add(MemoryDomain.FromIntPtr(nmd.name, nmd.length, MemoryDomain.Endian.Little, nmd.data));
|
||||
}
|
||||
|
||||
// fulfill the prophecy of MainMemory always being MemoryDomains[0]
|
||||
var tmp = ret[2];
|
||||
ret[2] = ret[0];
|
||||
ret[0] = tmp;
|
||||
MemoryDomains = new MemoryDomainList(ret);
|
||||
// main memory is in position 2
|
||||
MemoryDomains = new MemoryDomainList(ret, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue