oops, forgot to commit

This commit is contained in:
zeromus 2021-10-25 01:46:09 -04:00
parent 7c8bd4f98c
commit d9ae8e330d
1 changed files with 47 additions and 0 deletions

View File

@ -135,6 +135,53 @@ namespace BizHawk.Emulation.Common
}
}
public class MemoryDomainUshortArray : MemoryDomain
{
private ushort[] _data;
public ushort[] Data
{
get => _data;
set
{
_data = value;
Size = _data.LongLength*2;
}
}
public override byte PeekByte(long addr)
{
long bit0 = addr & 1;
addr >>= 1;
if(bit0==0)
return (byte)(_data[addr] & 0xFF);
else
return (byte)((_data[addr]>>8)&0xFF);
}
public override void PokeByte(long addr, byte val)
{
if (!Writable)
return;
long bit0 = addr & 1;
addr >>= 1;
if (bit0 == 0)
Data[addr] = (ushort)((_data[addr] & 0xFF00) | val);
else
Data[addr] = (ushort)((_data[addr] & 0x00FF) | (val<<8));
}
public MemoryDomainUshortArray(string name, Endian endian, ushort[] data, bool writable)
{
Name = name;
EndianType = endian;
Data = data;
Writable = writable;
WordSize = 2;
}
}
public unsafe class MemoryDomainIntPtr : MemoryDomain
{
public IntPtr Data { get; set; }