yabause: clean up memory domains slightly

This commit is contained in:
goyuken 2015-01-13 21:46:28 +00:00
parent a23cac57d5
commit d2b0579609
2 changed files with 5 additions and 32 deletions

View File

@ -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;
}

View File

@ -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);
}
}
}