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; }
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; }