示例#1
0
            public static void ConfigureActiveStatement(LineProperties props)
            {
                props.FgColor     = Color.Black;
                props.TextBgColor = ConfigManager.Config.DebugInfo.CodeActiveStatementColor;
                props.Symbol     |= LineSymbol.Arrow;

                if (ConfigManager.Config.DebugInfo.ShowInstructionProgression)
                {
                    InstructionProgress state = new InstructionProgress();
                    InteropEmu.DebugGetInstructionProgress(ref state);

                    LineProgress progress = new LineProgress();
                    progress.Current = (int)state.OpCycle;
                    progress.Maxixum = frmOpCodeTooltip.OpCycles[state.OpCode];
                    switch (state.OpMemoryOperationType)
                    {
                    case InteropMemoryOperationType.DmcRead: progress.Color = Color.FromArgb(255, 160, 221); progress.Text = "DMC"; break;

                    case InteropMemoryOperationType.DummyRead: progress.Color = Color.FromArgb(184, 160, 255); progress.Text = "DR"; break;

                    case InteropMemoryOperationType.DummyWrite: progress.Color = Color.FromArgb(255, 245, 137); progress.Text = "DW"; break;

                    case InteropMemoryOperationType.Read: progress.Color = Color.FromArgb(150, 176, 255); progress.Text = "R"; break;

                    case InteropMemoryOperationType.Write: progress.Color = Color.FromArgb(255, 171, 150); progress.Text = "W"; break;

                    default: progress.Color = Color.FromArgb(143, 255, 173); progress.Text = "X"; break;
                    }
                    props.Progress = progress;
                }
            }