public void Update(Watch.PreviousType type, MemoryDomain domain, bool bigendian)
            {
                var value = domain.PeekDWord(Address % domain.Size, bigendian);

                if (value != Previous)
                {
                    _changecount++;
                }

                switch (type)
                {
                case Watch.PreviousType.Original:
                case Watch.PreviousType.LastSearch:
                    break;

                case Watch.PreviousType.LastFrame:
                    _previous = _prevFrame;
                    break;

                case Watch.PreviousType.LastChange:
                    if (_prevFrame != value)
                    {
                        _previous = _prevFrame;
                    }
                    break;
                }

                _prevFrame = value;
            }
        public void SetPreviousType(Watch.PreviousType type)
        {
            if (_settings.Mode == Settings.SearchMode.Fast)
            {
                if (type == Watch.PreviousType.LastFrame)
                {
                    throw new InvalidOperationException();
                }
            }

            _settings.PreviousType = type;
        }
Esempio n. 3
0
			public Settings()
			{
				BigEndian = Global.Emulator.MemoryDomains.MainMemory.EndianType == MemoryDomain.Endian.Big;
				Size = (Watch.WatchSize)Global.SystemInfo.ByteSize;
				Type = Watch.DisplayType.Unsigned;
				Mode = Global.Emulator.MemoryDomains.MainMemory.Size > (1024 * 1024) ?
					SearchMode.Fast :
					SearchMode.Detailed;

				Domain = Global.Emulator.MemoryDomains.MainMemory;
				CheckMisAligned = false;
				PreviousType = Watch.PreviousType.LastSearch;
			}