public MemoryMap(uint mapSize) { _memoryMap = new MemoryMapEntry[mapSize]; for (int i = 0; i < _memoryMap.Length; i++) { _memoryMap[i] = new MemoryMapEntry(); } }
public void Map(MemoryMappedDevice device, ushort address, uint size, MemoryMapEntry.AccessType accessType, bool overwrite) { if (!overwrite) { for (uint i = 0; i < size; i++) { if (_memoryMap[address + i][accessType] != null) throw new ArgumentException(); } } for (uint i = 0; i < size; i++) _memoryMap[address + i][accessType] = device; }
public void Unmap(MemoryMappedDevice device, MemoryMapEntry.AccessType accessType) { Unmap(device, device.Address, device.Size, accessType); }
public void Map(MemoryMappedDevice device, MemoryMapEntry.AccessType accessType, bool overwrite) { Map(device, device.Address, device.Size, accessType, overwrite); }
public MemoryMap(uint mapSize) { _memoryMap = new MemoryMapEntry[mapSize]; for (int i = 0; i < _memoryMap.Length; i++) _memoryMap[i] = new MemoryMapEntry(); }
public void Unmap(MemoryMappedDevice device, ushort address, uint size, MemoryMapEntry.AccessType accessType) { for (uint i = 0; i < size; i++) { if (_memoryMap[address + i][accessType] == device) _memoryMap[address + i][accessType] = null; } }