/// <summary> /// for core use only /// </summary> public void MergeList(MemoryDomainList other) { var domains = this.ToDictionary(m => m.Name); foreach (var src in other) { MemoryDomain dst; if (domains.TryGetValue(src.Name, out dst)) { TryMerge <MemoryDomainByteArray>(dst, src, (d, s) => d.Data = s.Data); TryMerge <MemoryDomainIntPtr>(dst, src, (d, s) => d.Data = s.Data); TryMerge <MemoryDomainIntPtrSwap16>(dst, src, (d, s) => d.Data = s.Data); TryMerge <MemoryDomainDelegate>(dst, src, (d, s) => { d.Peek = s.Peek; d.Poke = s.Poke; }); } } }
public NullEmulator(CoreComm comm) { CoreComm = comm; var domains = new MemoryDomainList( new List <MemoryDomain> { new MemoryDomain("Main RAM", 1, MemoryDomain.Endian.Little, addr => 0, (a, v) => { }) }); memoryDomains = new MemoryDomainList(domains); var d = DateTime.Now; xmas = d.Month == 12 && d.Day >= 17 && d.Day <= 27; if (xmas) { pleg = new Pleg(); } }