memory domain: silent pokes

This commit is contained in:
goyuken 2015-01-25 20:10:19 +00:00
parent 2f3f7723a0
commit 2c09c10721
2 changed files with 14 additions and 21 deletions

View File

@ -49,17 +49,12 @@ namespace BizHawk.Emulation.Common
{
return data[addr];
},
writable ?
delegate(long addr, byte val)
{
if (writable)
{
data[addr] = val;
}
else
{
throw new NotImplementedException();
}
data[addr] = val;
}
: (Action<long, byte>)null
);
}
@ -88,15 +83,14 @@ namespace BizHawk.Emulation.Common
throw new ArgumentOutOfRangeException();
return p[addr];
},
writable ?
delegate(long addr, byte val)
{
if (writable)
{
if ((uint)addr >= l)
throw new ArgumentOutOfRangeException();
p[addr] = val;
}
if ((uint)addr >= l)
throw new ArgumentOutOfRangeException();
p[addr] = val;
}
: (Action<long, byte>)null
);
}
@ -125,15 +119,14 @@ namespace BizHawk.Emulation.Common
throw new ArgumentOutOfRangeException();
return p[addr ^ 1];
},
writable ?
delegate(long addr, byte val)
{
if (writable)
{
if ((uint)addr >= l)
throw new ArgumentOutOfRangeException();
p[addr ^ 1] = val;
}
if ((uint)addr >= l)
throw new ArgumentOutOfRangeException();
p[addr ^ 1] = val;
}
: (Action<long, byte>)null
);
}

View File

@ -49,7 +49,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
public MemoryDomain GetExRAM()
{
return new MemoryDomain("ExRAM", EXRAM.Length, MemoryDomain.Endian.Little, (addr) => EXRAM[addr], (addr, val) => EXRAM[addr] = val);
return MemoryDomain.FromByteArray("ExRAM", MemoryDomain.Endian.Little, EXRAM);
}
/// <summary>