Esempio n. 1
0
        private void InitShortcuts()
        {
            mnuReset.InitShortcut(this, nameof(DebuggerShortcutsConfig.Reset));
            mnuPowerCycle.InitShortcut(this, nameof(DebuggerShortcutsConfig.PowerCycle));

            mnuContinue.InitShortcut(this, nameof(DebuggerShortcutsConfig.Continue));
            mnuBreak.InitShortcut(this, nameof(DebuggerShortcutsConfig.Break));
            mnuBreakIn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakIn));
            mnuBreakOn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakOn));

            mnuStepBack.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepBack));
            mnuStepOut.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepOut));
            mnuStepInto.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepInto));
            mnuStepOver.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepOver));

            mnuRunPpuCycle.InitShortcut(this, nameof(DebuggerShortcutsConfig.RunPpuCycle));
            mnuRunScanline.InitShortcut(this, nameof(DebuggerShortcutsConfig.RunPpuScanline));
            mnuRunOneFrame.InitShortcut(this, nameof(DebuggerShortcutsConfig.RunPpuFrame));

            mnuToggleBreakpoint.InitShortcut(this, nameof(DebuggerShortcutsConfig.CodeWindow_ToggleBreakpoint));
            mnuEnableDisableBreakpoint.InitShortcut(this, nameof(DebuggerShortcutsConfig.CodeWindow_DisableEnableBreakpoint));

            mnuReset.InitShortcut(this, nameof(DebuggerShortcutsConfig.Reset));
            mnuPowerCycle.InitShortcut(this, nameof(DebuggerShortcutsConfig.PowerCycle));

            mnuGoToAddress.InitShortcut(this, nameof(DebuggerShortcutsConfig.GoTo));
            mnuGoToProgramCounter.InitShortcut(this, nameof(DebuggerShortcutsConfig.GoToProgramCounter));

            mnuFind.InitShortcut(this, nameof(DebuggerShortcutsConfig.Find));
            mnuFindNext.InitShortcut(this, nameof(DebuggerShortcutsConfig.FindNext));
            mnuFindPrev.InitShortcut(this, nameof(DebuggerShortcutsConfig.FindPrev));

            mnuBreakIn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakIn));
            mnuBreakOn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakOn));

            mnuIncreaseFontSize.InitShortcut(this, nameof(DebuggerShortcutsConfig.IncreaseFontSize));
            mnuDecreaseFontSize.InitShortcut(this, nameof(DebuggerShortcutsConfig.DecreaseFontSize));
            mnuResetFontSize.InitShortcut(this, nameof(DebuggerShortcutsConfig.ResetFontSize));

            mnuStepInto.Click    += (s, e) => { DebugApi.Step(1, _cpuType == CpuType.Cpu ? StepType.CpuStep : StepType.SpcStep); };
            mnuStepOver.Click    += (s, e) => { DebugApi.Step(1, _cpuType == CpuType.Cpu ? StepType.CpuStepOver : StepType.SpcStepOver); };
            mnuStepOut.Click     += (s, e) => { DebugApi.Step(1, _cpuType == CpuType.Cpu ? StepType.CpuStepOut : StepType.SpcStepOut); };
            mnuRunPpuCycle.Click += (s, e) => { DebugApi.Step(1, StepType.PpuStep); };
            mnuRunScanline.Click += (s, e) => { DebugApi.Step(341, StepType.PpuStep); };
            mnuRunOneFrame.Click += (s, e) => { DebugApi.Step(341 * 262, StepType.PpuStep); };           //TODO ntsc/pal
            mnuContinue.Click    += (s, e) => { DebugApi.ResumeExecution(); };
            mnuBreak.Click       += (s, e) => { DebugApi.Step(1); };

            mnuReset.Click      += (s, e) => { EmuApi.Reset(); };
            mnuPowerCycle.Click += (s, e) => { EmuApi.PowerCycle(); };

            mnuToggleBreakpoint.Click        += (s, e) => { ctrlDisassemblyView.ToggleBreakpoint(); };
            mnuEnableDisableBreakpoint.Click += (s, e) => { ctrlDisassemblyView.EnableDisableBreakpoint(); };

            mnuGoToAddress.Click        += (s, e) => { GoToAddress(); };
            mnuGoToNmiHandler.Click     += (s, e) => { GoToVector(CpuVector.Nmi); };
            mnuGoToIrqHandler.Click     += (s, e) => { GoToVector(CpuVector.Irq); };
            mnuGoToResetHandler.Click   += (s, e) => { GoToVector(CpuVector.Reset); };
            mnuGoToBrkHandler.Click     += (s, e) => { GoToVector(CpuVector.Brk); };
            mnuGoToCopHandler.Click     += (s, e) => { GoToVector(CpuVector.Cop); };
            mnuGoToProgramCounter.Click += (s, e) => { ctrlDisassemblyView.GoToActiveAddress(); };

            mnuFind.Click     += (s, e) => { ctrlDisassemblyView.CodeViewer.OpenSearchBox(); };
            mnuFindNext.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.FindNext(); };
            mnuFindPrev.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.FindPrevious(); };

            mnuBreakIn.Click += (s, e) => { using (frmBreakIn frm = new frmBreakIn(_cpuType)) { frm.ShowDialog(); } };
            mnuBreakOn.Click += (s, e) => { using (frmBreakOn frm = new frmBreakOn()) { frm.ShowDialog(); } };

            mnuIncreaseFontSize.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.TextZoom += 10; };
            mnuDecreaseFontSize.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.TextZoom -= 10; };
            mnuResetFontSize.Click    += (s, e) => { ctrlDisassemblyView.CodeViewer.TextZoom = 100; };
        }
Esempio n. 2
0
        private void InitShortcuts()
        {
            mnuReset.InitShortcut(this, nameof(DebuggerShortcutsConfig.Reset));
            mnuPowerCycle.InitShortcut(this, nameof(DebuggerShortcutsConfig.PowerCycle));

            mnuContinue.InitShortcut(this, nameof(DebuggerShortcutsConfig.Continue));
            mnuBreak.InitShortcut(this, nameof(DebuggerShortcutsConfig.Break));
            mnuBreakIn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakIn));
            mnuBreakOn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakOn));

            mnuStepBack.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepBack));
            mnuStepOut.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepOut));
            mnuStepInto.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepInto));
            mnuStepOver.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepOver));

            mnuRunPpuCycle.InitShortcut(this, nameof(DebuggerShortcutsConfig.RunPpuCycle));
            mnuRunScanline.InitShortcut(this, nameof(DebuggerShortcutsConfig.RunPpuScanline));
            mnuRunOneFrame.InitShortcut(this, nameof(DebuggerShortcutsConfig.RunPpuFrame));

            mnuToggleBreakpoint.InitShortcut(this, nameof(DebuggerShortcutsConfig.CodeWindow_ToggleBreakpoint));
            mnuEnableDisableBreakpoint.InitShortcut(this, nameof(DebuggerShortcutsConfig.CodeWindow_DisableEnableBreakpoint));

            mnuReset.InitShortcut(this, nameof(DebuggerShortcutsConfig.Reset));
            mnuPowerCycle.InitShortcut(this, nameof(DebuggerShortcutsConfig.PowerCycle));

            mnuGoToAddress.InitShortcut(this, nameof(DebuggerShortcutsConfig.GoTo));
            mnuGoToProgramCounter.InitShortcut(this, nameof(DebuggerShortcutsConfig.GoToProgramCounter));

            mnuFind.InitShortcut(this, nameof(DebuggerShortcutsConfig.Find));
            mnuFindNext.InitShortcut(this, nameof(DebuggerShortcutsConfig.FindNext));
            mnuFindPrev.InitShortcut(this, nameof(DebuggerShortcutsConfig.FindPrev));

            mnuBreakIn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakIn));
            mnuBreakOn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakOn));

            mnuIncreaseFontSize.InitShortcut(this, nameof(DebuggerShortcutsConfig.IncreaseFontSize));
            mnuDecreaseFontSize.InitShortcut(this, nameof(DebuggerShortcutsConfig.DecreaseFontSize));
            mnuResetFontSize.InitShortcut(this, nameof(DebuggerShortcutsConfig.ResetFontSize));

            mnuStepInto.Click    += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.Step); };
            mnuStepOver.Click    += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.StepOver); };
            mnuStepOut.Click     += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.StepOut); };
            mnuRunPpuCycle.Click += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.PpuStep); };
            mnuRunScanline.Click += (s, e) => { DebugApi.Step(_cpuType, 341, StepType.PpuStep); };
            mnuRunOneFrame.Click += (s, e) => { DebugApi.Step(_cpuType, 341 * 262, StepType.PpuStep); };             //TODO ntsc/pal
            mnuContinue.Click    += (s, e) => { DebugApi.ResumeExecution(); };
            mnuBreak.Click       += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.Step); };

            mnuReset.Click      += (s, e) => { EmuApi.Reset(); };
            mnuPowerCycle.Click += (s, e) => { EmuApi.PowerCycle(); };

            mnuToggleBreakpoint.Click        += (s, e) => { ctrlDisassemblyView.ToggleBreakpoint(); };
            mnuEnableDisableBreakpoint.Click += (s, e) => { ctrlDisassemblyView.EnableDisableBreakpoint(); };

            mnuGoToAddress.Click        += (s, e) => { GoToAddress(); };
            mnuGoToNmiHandler.Click     += (s, e) => { GoToVector(CpuVector.Nmi); };
            mnuGoToIrqHandler.Click     += (s, e) => { GoToVector(CpuVector.Irq); };
            mnuGoToResetHandler.Click   += (s, e) => { GoToVector(CpuVector.Reset); };
            mnuGoToBrkHandler.Click     += (s, e) => { GoToVector(CpuVector.Brk); };
            mnuGoToCopHandler.Click     += (s, e) => { GoToVector(CpuVector.Cop); };
            mnuGoToProgramCounter.Click += (s, e) => { ctrlDisassemblyView.GoToActiveAddress(); };

            mnuFind.Click     += (s, e) => { ctrlDisassemblyView.CodeViewer.OpenSearchBox(); };
            mnuFindNext.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.FindNext(); };
            mnuFindPrev.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.FindPrevious(); };

            mnuBreakIn.Click += (s, e) => { using (frmBreakIn frm = new frmBreakIn(_cpuType)) { frm.ShowDialog(); } };
            mnuBreakOn.Click += (s, e) => { using (frmBreakOn frm = new frmBreakOn()) { frm.ShowDialog(); } };

            mnuIncreaseFontSize.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.TextZoom += 10; };
            mnuDecreaseFontSize.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.TextZoom -= 10; };
            mnuResetFontSize.Click    += (s, e) => { ctrlDisassemblyView.CodeViewer.TextZoom = 100; };

            mnuBreakOnBrk.Click             += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnBrk); };
            mnuBreakOnCop.Click             += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnCop); };
            mnuBreakOnStp.Click             += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnStp); };
            mnuBreakOnWdm.Click             += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnWdm); };
            mnuBreakOnOpen.Click            += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnOpen); };
            mnuBreakOnPowerCycleReset.Click += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnPowerCycleReset); };
            mnuBreakOnUnitRead.Click        += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnUninitRead); };
            mnuBringToFrontOnBreak.Click    += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BringToFrontOnBreak); };
            mnuBringToFrontOnPause.Click    += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BringToFrontOnPause); };

            mnuHideUnident.Click        += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.UnidentifiedBlockDisplay, CodeDisplayMode.Hide);  RefreshDisassembly(); };
            mnuDisassembleUnident.Click += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.UnidentifiedBlockDisplay, CodeDisplayMode.Disassemble); RefreshDisassembly(); };
            mnuShowUnident.Click        += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.UnidentifiedBlockDisplay, CodeDisplayMode.Show); RefreshDisassembly(); };

            mnuHideData.Click        += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.VerifiedDataDisplay, CodeDisplayMode.Hide); RefreshDisassembly(); };
            mnuDisassembleData.Click += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.VerifiedDataDisplay, CodeDisplayMode.Disassemble); RefreshDisassembly(); };
            mnuShowData.Click        += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.VerifiedDataDisplay, CodeDisplayMode.Show); RefreshDisassembly(); };
        }
Esempio n. 3
0
        private void InitShortcuts()
        {
            mnuReloadRom.InitShortcut(this, nameof(DebuggerShortcutsConfig.ReloadRom));
            mnuReset.InitShortcut(this, nameof(DebuggerShortcutsConfig.Reset));
            mnuPowerCycle.InitShortcut(this, nameof(DebuggerShortcutsConfig.PowerCycle));

            mnuContinue.InitShortcut(this, nameof(DebuggerShortcutsConfig.Continue));
            mnuBreak.InitShortcut(this, nameof(DebuggerShortcutsConfig.Break));
            mnuBreakIn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakIn));
            mnuBreakOn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakOn));

            mnuStepBack.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepBack));
            mnuStepOut.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepOut));
            mnuStepInto.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepInto));
            mnuStepOver.InitShortcut(this, nameof(DebuggerShortcutsConfig.StepOver));

            mnuRunPpuCycle.InitShortcut(this, nameof(DebuggerShortcutsConfig.RunPpuCycle));
            mnuRunScanline.InitShortcut(this, nameof(DebuggerShortcutsConfig.RunPpuScanline));
            mnuRunOneFrame.InitShortcut(this, nameof(DebuggerShortcutsConfig.RunPpuFrame));

            mnuToggleBreakpoint.InitShortcut(this, nameof(DebuggerShortcutsConfig.CodeWindow_ToggleBreakpoint));
            mnuEnableDisableBreakpoint.InitShortcut(this, nameof(DebuggerShortcutsConfig.CodeWindow_DisableEnableBreakpoint));

            mnuGoToAll.InitShortcut(this, nameof(DebuggerShortcutsConfig.GoToAll));
            mnuGoToAddress.InitShortcut(this, nameof(DebuggerShortcutsConfig.GoTo));
            mnuGoToProgramCounter.InitShortcut(this, nameof(DebuggerShortcutsConfig.GoToProgramCounter));

            mnuFind.InitShortcut(this, nameof(DebuggerShortcutsConfig.Find));
            mnuFindNext.InitShortcut(this, nameof(DebuggerShortcutsConfig.FindNext));
            mnuFindPrev.InitShortcut(this, nameof(DebuggerShortcutsConfig.FindPrev));

            mnuBreakIn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakIn));
            mnuBreakOn.InitShortcut(this, nameof(DebuggerShortcutsConfig.BreakOn));

            mnuIncreaseFontSize.InitShortcut(this, nameof(DebuggerShortcutsConfig.IncreaseFontSize));
            mnuDecreaseFontSize.InitShortcut(this, nameof(DebuggerShortcutsConfig.DecreaseFontSize));
            mnuResetFontSize.InitShortcut(this, nameof(DebuggerShortcutsConfig.ResetFontSize));

            mnuSaveRomAs.InitShortcut(this, nameof(DebuggerShortcutsConfig.SaveRomAs));
            mnuSaveAsIps.InitShortcut(this, nameof(DebuggerShortcutsConfig.SaveEditAsIps));

            mnuSaveRomAs.Click          += (s, e) => { SaveRomAs(false, CdlStripOption.StripNone); };
            mnuSaveAsIps.Click          += (s, e) => { SaveRomAs(true, CdlStripOption.StripNone); };
            mnuCdlStripUnusedData.Click += (s, e) => { SaveRomAs(false, CdlStripOption.StripUnused); };
            mnuCdlStripUsedData.Click   += (s, e) => { SaveRomAs(false, CdlStripOption.StripUsed); };

            mnuStepInto.Click    += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.Step); };
            mnuStepOver.Click    += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.StepOver); };
            mnuStepOut.Click     += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.StepOut); };
            mnuRunPpuCycle.Click += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.PpuStep); };
            mnuRunScanline.Click += (s, e) => {
                if (_cpuType == CpuType.Gameboy)
                {
                    DebugApi.Step(_cpuType, 456, StepType.PpuStep);
                }
                else
                {
                    DebugApi.Step(_cpuType, 341, StepType.PpuStep);
                }
            };
            mnuRunOneFrame.Click += (s, e) => {
                if (_cpuType == CpuType.Gameboy)
                {
                    DebugApi.Step(_cpuType, 456 * 154, StepType.PpuStep);
                }
                else
                {
                    //TODO ntsc/pal
                    DebugApi.Step(_cpuType, 341 * 262, StepType.PpuStep);
                }
            };
            mnuContinue.Click += (s, e) => { DebugApi.ResumeExecution(); };
            mnuBreak.Click    += (s, e) => { DebugApi.Step(_cpuType, 1, StepType.Step); };

            mnuReloadRom.Click  += (s, e) => { Task.Run(() => { EmuApi.ReloadRom(); }); };
            mnuReset.Click      += (s, e) => { EmuApi.Reset(); };
            mnuPowerCycle.Click += (s, e) => { EmuApi.PowerCycle(); };

            mnuToggleBreakpoint.Click        += (s, e) => { ctrlDisassemblyView.ToggleBreakpoint(); };
            mnuEnableDisableBreakpoint.Click += (s, e) => { ctrlDisassemblyView.EnableDisableBreakpoint(); };

            mnuGoToAddress.Click        += (s, e) => { GoToAddress(); };
            mnuGoToNmiHandler.Click     += (s, e) => { GoToVector(CpuVector.Nmi); };
            mnuGoToIrqHandler.Click     += (s, e) => { GoToVector(CpuVector.Irq); };
            mnuGoToResetHandler.Click   += (s, e) => { GoToVector(CpuVector.Reset); };
            mnuGoToBrkHandler.Click     += (s, e) => { GoToVector(CpuVector.Brk); };
            mnuGoToCopHandler.Click     += (s, e) => { GoToVector(CpuVector.Cop); };
            mnuGoToProgramCounter.Click += (s, e) => { ctrlDisassemblyView.GoToActiveAddress(); };

            mnuFind.Click     += (s, e) => { ctrlDisassemblyView.CodeViewer.OpenSearchBox(); };
            mnuFindNext.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.FindNext(); };
            mnuFindPrev.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.FindPrevious(); };

            mnuBreakIn.Click += (s, e) => { using (frmBreakIn frm = new frmBreakIn(_cpuType)) { frm.ShowDialog(); } };
            mnuBreakOn.Click += (s, e) => { using (frmBreakOn frm = new frmBreakOn()) { frm.ShowDialog(); } };

            mnuIncreaseFontSize.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.TextZoom += 10; };
            mnuDecreaseFontSize.Click += (s, e) => { ctrlDisassemblyView.CodeViewer.TextZoom -= 10; };
            mnuResetFontSize.Click    += (s, e) => { ctrlDisassemblyView.CodeViewer.TextZoom = 100; };

            mnuBreakOnBrk.Click  += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnBrk); };
            mnuBreakOnCop.Click  += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnCop); };
            mnuBreakOnStp.Click  += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnStp); };
            mnuBreakOnWdm.Click  += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnWdm); };
            mnuBreakOnOpen.Click += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnOpen); };

            mnuBreakOnPowerCycleReset.Click += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnPowerCycleReset); };
            mnuBreakOnUnitRead.Click        += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BreakOnUninitRead); };

            mnuGbBreakOnDisableLcdOutsideVblank.Click += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.GbBreakOnDisableLcdOutsideVblank); };
            mnuGbBreakOnInvalidOamAccess.Click        += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.GbBreakOnInvalidOamAccess); };
            mnuGbBreakOnInvalidOpCode.Click           += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.GbBreakOnInvalidOpCode); };
            mnuGbBreakOnInvalidVramAccess.Click       += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.GbBreakOnInvalidVramAccess); };
            mnuGbBreakOnNopLoad.Click       += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.GbBreakOnNopLoad); };
            mnuGbBreakOnOamCorruption.Click += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.GbBreakOnOamCorruption); };

            mnuBringToFrontOnBreak.Click += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BringToFrontOnBreak); };
            mnuBringToFrontOnPause.Click += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.BringToFrontOnPause); };
            mnuAutoResetCdl.Click        += (s, e) => { InvertFlag(ref ConfigManager.Config.Debug.Debugger.AutoResetCdl); };

            mnuHideUnident.Click        += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.UnidentifiedBlockDisplay, CodeDisplayMode.Hide);  RefreshDisassembly(); };
            mnuDisassembleUnident.Click += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.UnidentifiedBlockDisplay, CodeDisplayMode.Disassemble); RefreshDisassembly(); };
            mnuShowUnident.Click        += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.UnidentifiedBlockDisplay, CodeDisplayMode.Show); RefreshDisassembly(); };

            mnuHideData.Click        += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.VerifiedDataDisplay, CodeDisplayMode.Hide); RefreshDisassembly(); };
            mnuDisassembleData.Click += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.VerifiedDataDisplay, CodeDisplayMode.Disassemble); RefreshDisassembly(); };
            mnuShowData.Click        += (s, e) => { SetValue(ref ConfigManager.Config.Debug.Debugger.VerifiedDataDisplay, CodeDisplayMode.Show); RefreshDisassembly(); };
        }