/// <summary> /// Default constructor /// </summary> public ExecutionManager(Window in_parent_window) { ParentWindow = in_parent_window; TVC = new TVComputer(); ExecutionHistory = new ExecutionHistoryCollection(2); m_stream_thread = null; m_thread_event = new AutoResetEvent(false); m_context = SynchronizationContext.Current; m_thread_running = false; m_sound_event = false; m_execution_state = ExecutionState.Running; m_last_execution_state = ExecutionState.Running; m_execution_state_request = ExecutionStateRequest.NoChange; m_execution_state_changed_event = new AutoResetEvent(false); DebugStepIntoCommand = new ExecutionManagerCommand(DebugStepExecute); DebugPauseCommand = new ExecutionManagerCommand(DebugPauseExecute); DebugRunCommand = new ExecutionManagerCommand(DebugRunExecute); DebugResetCommand = new ExecutionManagerCommand(DebugResetExecute); DebugRunFullSpeedCommand = new ExecutionManagerCommand(DebugRunFullSpeedExecute); BreakpointAddress = -1; }
private void DebuggerBreakEventDelegate(TVComputer in_sender) { NotifyPropertyChanged("Port02H"); NotifyPropertyChanged("Page0MappedName"); NotifyPropertyChanged("Page1MappedName"); NotifyPropertyChanged("Page2MappedName"); NotifyPropertyChanged("Page3MappedName"); }
private void DebuggerBreakEventDelegate(TVComputer in_sender) { // get register values from the video device for (int i = 0; i < TVCVideo.MC6845RegisterCount; i++) { Registers[i] = m_execution_control.TVC.Video.M6845Registers[i]; } NotifyPropertyChanged("RegisterAddress"); }
private void DebuggerBreakEventDelegate(TVComputer in_sender) { NotifyPropertyChanged("FS"); NotifyPropertyChanged("FZ"); NotifyPropertyChanged("F5"); NotifyPropertyChanged("FH"); NotifyPropertyChanged("F3"); NotifyPropertyChanged("FPV"); NotifyPropertyChanged("FN"); NotifyPropertyChanged("FC"); }
private void DebuggerBreakEventDelegate(TVComputer in_sender) { NotifyPropertyChanged("TState"); DateTime current_timestamp = DateTime.Now; double ellapsed_time_in_ms = (current_timestamp - m_prev_timestamp).TotalMilliseconds; if (ellapsed_time_in_ms > 1000) { ulong t_state = m_execution_control.TVC.CPU.TotalTState; CPUClock = (float)((t_state - m_prev_t_state) / 1000000000.0 * ellapsed_time_in_ms); m_prev_timestamp = current_timestamp; m_prev_t_state = t_state; } }
private void DebuggerBreakEventDelegate(TVComputer in_sender) { NotifyPropertyChanged("AF"); NotifyPropertyChanged("BC"); NotifyPropertyChanged("DE"); NotifyPropertyChanged("HL"); NotifyPropertyChanged("IX"); NotifyPropertyChanged("IY"); NotifyPropertyChanged("PC"); NotifyPropertyChanged("SP"); NotifyPropertyChanged("IR"); NotifyPropertyChanged("WZ"); NotifyPropertyChanged("AF_"); NotifyPropertyChanged("BC_"); NotifyPropertyChanged("DE_"); NotifyPropertyChanged("HL_"); }
private void DebuggerBreakEventDelegate(TVComputer in_sender) { }
private void DebuggerBreakEventDelegate(TVComputer in_sender) { UpdateExecutionHistory(); }