Пример #1
0
        /// <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;
        }
Пример #2
0
 private void DebuggerBreakEventDelegate(TVComputer in_sender)
 {
     NotifyPropertyChanged("Port02H");
     NotifyPropertyChanged("Page0MappedName");
     NotifyPropertyChanged("Page1MappedName");
     NotifyPropertyChanged("Page2MappedName");
     NotifyPropertyChanged("Page3MappedName");
 }
Пример #3
0
        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");
        }
Пример #4
0
 private void DebuggerBreakEventDelegate(TVComputer in_sender)
 {
     NotifyPropertyChanged("FS");
     NotifyPropertyChanged("FZ");
     NotifyPropertyChanged("F5");
     NotifyPropertyChanged("FH");
     NotifyPropertyChanged("F3");
     NotifyPropertyChanged("FPV");
     NotifyPropertyChanged("FN");
     NotifyPropertyChanged("FC");
 }
Пример #5
0
        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;
            }
        }
Пример #6
0
        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_");
        }
Пример #7
0
 private void DebuggerBreakEventDelegate(TVComputer in_sender)
 {
 }
Пример #8
0
 private void DebuggerBreakEventDelegate(TVComputer in_sender)
 {
     UpdateExecutionHistory();
 }