public void NewUpdate(ToolFormUpdateType type) { if (type == ToolFormUpdateType.PostFrame) { if (ToWindowRadio.Checked) { TraceView.VirtualListSize = _instructions.Count; } else { CloseFile(); } } if (type == ToolFormUpdateType.PreFrame) { if (LoggingEnabled.Checked) { //connect tracer to sink for next frame if (ToWindowRadio.Checked) { //update listview with most recentr results TraceView.BlazingFast = !GlobalWin.MainForm.EmulatorPaused; Tracer.Sink = new CallbackSink() { putter = (info) => { if (_instructions.Count >= MaxLines) { _instructions.RemoveRange(0, _instructions.Count - MaxLines); } _instructions.Add(info); } }; _instructions.Clear(); } else { if (_streamWriter == null) { StartLogFile(true); } Tracer.Sink = new CallbackSink { putter = (info) => { //no padding supported. core should be doing this! var data = string.Format("{0} {1}", info.Disassembly, info.RegisterInfo); _streamWriter.WriteLine(data); _currentSize += (ulong)data.Length; if (_splitFile) { CheckSplitFile(); } } }; } } else { Tracer.Sink = null; } } }
public void NewUpdate(ToolFormUpdateType type) { }
public void UpdateValues(ToolFormUpdateType type) { }