/// <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; });
                }
            }
        }
Exemple #2
0
        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();
            }
        }