diff --git a/GUI.NET/Config/DebugInfo.cs b/GUI.NET/Config/DebugInfo.cs index c7613028..3dd3e8d8 100644 --- a/GUI.NET/Config/DebugInfo.cs +++ b/GUI.NET/Config/DebugInfo.cs @@ -164,6 +164,7 @@ namespace Mesen.GUI.Config public XmlColor CodeActiveStatementColor = Color.Yellow; public XmlColor CodeEffectiveAddressColor = Color.SteelBlue; + public bool RamHighDensityTextMode = false; public bool RamAutoRefresh = true; public RefreshSpeed RamAutoRefreshSpeed = RefreshSpeed.Normal; public bool RamIgnoreRedundantWrites = false; diff --git a/GUI.NET/Debugger/Controls/ctrlHexViewer.cs b/GUI.NET/Debugger/Controls/ctrlHexViewer.cs index f3c5ce78..ebcddaa0 100644 --- a/GUI.NET/Debugger/Controls/ctrlHexViewer.cs +++ b/GUI.NET/Debugger/Controls/ctrlHexViewer.cs @@ -336,6 +336,13 @@ namespace Mesen.GUI.Debugger.Controls set { this.ctrlHexBox.ReadOnly = value; } } + [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + public bool HighDensityMode + { + get { return this.ctrlHexBox.HighDensityMode; } + set { this.ctrlHexBox.HighDensityMode = value; } + } + public delegate void ByteMouseHoverHandler(int address); public event ByteMouseHoverHandler ByteMouseHover; private void ctrlHexBox_MouseMove(object sender, MouseEventArgs e) diff --git a/GUI.NET/Debugger/HexBox/HexBox.cs b/GUI.NET/Debugger/HexBox/HexBox.cs index fc2609c6..cdece50c 100644 --- a/GUI.NET/Debugger/HexBox/HexBox.cs +++ b/GUI.NET/Debugger/HexBox/HexBox.cs @@ -2824,7 +2824,7 @@ namespace Be.Windows.Forms { charSize = this.CreateGraphics().MeasureString("A", Font, 100, _stringFormat); } - CharSize = new SizeF((float)charSize.Width, (float)Math.Ceiling(charSize.Height)); + CharSize = new SizeF((float)charSize.Width, (float)Math.Ceiling(charSize.Height) * 100 / (this.HighDensityMode ? 133 : 100)); int requiredWidth = 0; @@ -3541,6 +3541,20 @@ namespace Be.Windows.Forms } } SizeF _charSize; + public bool HighDensityMode + { + get { return _highDensityMode; } + set + { + if (_highDensityMode == value) + return; + _highDensityMode = value; + this.UpdateCaret(); + this.Invalidate(); + this.UpdateRectanglePositioning(); + } + } bool _highDensityMode; + /// /// Gets the width required for the content /// diff --git a/GUI.NET/Debugger/frmMemoryViewer.Designer.cs b/GUI.NET/Debugger/frmMemoryViewer.Designer.cs index 701416fb..6221a269 100644 --- a/GUI.NET/Debugger/frmMemoryViewer.Designer.cs +++ b/GUI.NET/Debugger/frmMemoryViewer.Designer.cs @@ -77,6 +77,8 @@ this.mnuIncreaseFontSize = new System.Windows.Forms.ToolStripMenuItem(); this.mnuDecreaseFontSize = new System.Windows.Forms.ToolStripMenuItem(); this.mnuResetFontSize = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem12 = new System.Windows.Forms.ToolStripSeparator(); + this.mnuHighDensityMode = new System.Windows.Forms.ToolStripMenuItem(); this.autorefreshSpeedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.mnuAutoRefreshLow = new System.Windows.Forms.ToolStripMenuItem(); this.mnuAutoRefreshNormal = new System.Windows.Forms.ToolStripMenuItem(); @@ -94,9 +96,6 @@ this.mnuFindNext = new System.Windows.Forms.ToolStripMenuItem(); this.mnuFindPrev = new System.Windows.Forms.ToolStripMenuItem(); this.mnuGoTo = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStrip1 = new System.Windows.Forms.ToolStrip(); - this.btnImport = new System.Windows.Forms.ToolStripButton(); - this.btnExport = new System.Windows.Forms.ToolStripButton(); this.tabMain = new System.Windows.Forms.TabControl(); this.tpgMemoryViewer = new System.Windows.Forms.TabPage(); this.panel1 = new System.Windows.Forms.Panel(); @@ -106,7 +105,6 @@ this.ctrlProfiler = new Mesen.GUI.Debugger.Controls.ctrlProfiler(); this.flowLayoutPanel1.SuspendLayout(); this.menuStrip1.SuspendLayout(); - this.toolStrip1.SuspendLayout(); this.tabMain.SuspendLayout(); this.tpgMemoryViewer.SuspendLayout(); this.panel1.SuspendLayout(); @@ -120,7 +118,7 @@ this.ctrlHexViewer.Location = new System.Drawing.Point(0, 0); this.ctrlHexViewer.Margin = new System.Windows.Forms.Padding(0); this.ctrlHexViewer.Name = "ctrlHexViewer"; - this.ctrlHexViewer.Size = new System.Drawing.Size(606, 318); + this.ctrlHexViewer.Size = new System.Drawing.Size(606, 343); this.ctrlHexViewer.TabIndex = 0; this.ctrlHexViewer.RequiredWidthChanged += new System.EventHandler(this.ctrlHexViewer_RequiredWidthChanged); this.ctrlHexViewer.InitializeContextMenu += new System.EventHandler(this.ctrlHexViewer_InitializeContextMenu); @@ -133,7 +131,7 @@ this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.flowLayoutPanel1.Controls.Add(this.lblViewMemoryType); this.flowLayoutPanel1.Controls.Add(this.cboMemoryType); - this.flowLayoutPanel1.Location = new System.Drawing.Point(5, 0); + this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0); this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0); this.flowLayoutPanel1.Name = "flowLayoutPanel1"; this.flowLayoutPanel1.Size = new System.Drawing.Size(166, 27); @@ -483,7 +481,9 @@ this.fontSizeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.mnuIncreaseFontSize, this.mnuDecreaseFontSize, - this.mnuResetFontSize}); + this.mnuResetFontSize, + this.toolStripMenuItem12, + this.mnuHighDensityMode}); this.fontSizeToolStripMenuItem.Image = global::Mesen.GUI.Properties.Resources.Font; this.fontSizeToolStripMenuItem.Name = "fontSizeToolStripMenuItem"; this.fontSizeToolStripMenuItem.Size = new System.Drawing.Size(256, 22); @@ -494,7 +494,7 @@ this.mnuIncreaseFontSize.Name = "mnuIncreaseFontSize"; this.mnuIncreaseFontSize.ShortcutKeyDisplayString = "Ctrl++"; this.mnuIncreaseFontSize.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Oemplus))); - this.mnuIncreaseFontSize.Size = new System.Drawing.Size(197, 22); + this.mnuIncreaseFontSize.Size = new System.Drawing.Size(217, 22); this.mnuIncreaseFontSize.Text = "Increase"; this.mnuIncreaseFontSize.Click += new System.EventHandler(this.mnuIncreaseFontSize_Click); // @@ -503,7 +503,7 @@ this.mnuDecreaseFontSize.Name = "mnuDecreaseFontSize"; this.mnuDecreaseFontSize.ShortcutKeyDisplayString = "Ctrl+-"; this.mnuDecreaseFontSize.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.OemMinus))); - this.mnuDecreaseFontSize.Size = new System.Drawing.Size(197, 22); + this.mnuDecreaseFontSize.Size = new System.Drawing.Size(217, 22); this.mnuDecreaseFontSize.Text = "Decrease"; this.mnuDecreaseFontSize.Click += new System.EventHandler(this.mnuDecreaseFontSize_Click); // @@ -512,10 +512,23 @@ this.mnuResetFontSize.Name = "mnuResetFontSize"; this.mnuResetFontSize.ShortcutKeyDisplayString = "Ctrl+0"; this.mnuResetFontSize.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D0))); - this.mnuResetFontSize.Size = new System.Drawing.Size(197, 22); + this.mnuResetFontSize.Size = new System.Drawing.Size(217, 22); this.mnuResetFontSize.Text = "Reset to Default"; this.mnuResetFontSize.Click += new System.EventHandler(this.mnuResetFontSize_Click); // + // toolStripMenuItem12 + // + this.toolStripMenuItem12.Name = "toolStripMenuItem12"; + this.toolStripMenuItem12.Size = new System.Drawing.Size(214, 6); + // + // mnuHighDensityMode + // + this.mnuHighDensityMode.CheckOnClick = true; + this.mnuHighDensityMode.Name = "mnuHighDensityMode"; + this.mnuHighDensityMode.Size = new System.Drawing.Size(217, 22); + this.mnuHighDensityMode.Text = "Use high text density mode"; + this.mnuHighDensityMode.CheckedChanged += new System.EventHandler(this.mnuHighDensityMode_CheckedChanged); + // // autorefreshSpeedToolStripMenuItem // this.autorefreshSpeedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -651,38 +664,6 @@ this.mnuGoTo.Text = "Go To..."; this.mnuGoTo.Click += new System.EventHandler(this.mnuGoTo_Click); // - // toolStrip1 - // - this.toolStrip1.BackColor = System.Drawing.SystemColors.ControlLightLight; - this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; - this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.btnImport, - this.btnExport}); - this.toolStrip1.Location = new System.Drawing.Point(0, 0); - this.toolStrip1.Name = "toolStrip1"; - this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; - this.toolStrip1.Size = new System.Drawing.Size(606, 25); - this.toolStrip1.TabIndex = 3; - this.toolStrip1.Text = "toolStrip1"; - // - // btnImport - // - this.btnImport.Image = global::Mesen.GUI.Properties.Resources.Import; - this.btnImport.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnImport.Name = "btnImport"; - this.btnImport.Size = new System.Drawing.Size(63, 22); - this.btnImport.Text = "Import"; - this.btnImport.Click += new System.EventHandler(this.mnuImport_Click); - // - // btnExport - // - this.btnExport.Image = global::Mesen.GUI.Properties.Resources.Export; - this.btnExport.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnExport.Name = "btnExport"; - this.btnExport.Size = new System.Drawing.Size(60, 22); - this.btnExport.Text = "Export"; - this.btnExport.Click += new System.EventHandler(this.mnuExport_Click); - // // tabMain // this.tabMain.Controls.Add(this.tpgMemoryViewer); @@ -699,7 +680,6 @@ // tpgMemoryViewer // this.tpgMemoryViewer.Controls.Add(this.panel1); - this.tpgMemoryViewer.Controls.Add(this.toolStrip1); this.tpgMemoryViewer.Location = new System.Drawing.Point(4, 22); this.tpgMemoryViewer.Margin = new System.Windows.Forms.Padding(0); this.tpgMemoryViewer.Name = "tpgMemoryViewer"; @@ -713,10 +693,10 @@ this.panel1.Controls.Add(this.flowLayoutPanel1); this.panel1.Controls.Add(this.ctrlHexViewer); this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel1.Location = new System.Drawing.Point(0, 25); + this.panel1.Location = new System.Drawing.Point(0, 0); this.panel1.Margin = new System.Windows.Forms.Padding(0); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(606, 318); + this.panel1.Size = new System.Drawing.Size(606, 343); this.panel1.TabIndex = 4; // // tpgAccessCounters @@ -774,11 +754,8 @@ this.flowLayoutPanel1.PerformLayout(); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); - this.toolStrip1.ResumeLayout(false); - this.toolStrip1.PerformLayout(); this.tabMain.ResumeLayout(false); this.tpgMemoryViewer.ResumeLayout(false); - this.tpgMemoryViewer.PerformLayout(); this.panel1.ResumeLayout(false); this.panel1.PerformLayout(); this.tpgAccessCounters.ResumeLayout(false); @@ -813,9 +790,6 @@ private System.Windows.Forms.ToolStripMenuItem mnuImport; private System.Windows.Forms.ToolStripMenuItem mnuExport; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3; - private System.Windows.Forms.ToolStrip toolStrip1; - private System.Windows.Forms.ToolStripButton btnImport; - private System.Windows.Forms.ToolStripButton btnExport; private System.Windows.Forms.TabControl tabMain; private System.Windows.Forms.TabPage tpgMemoryViewer; private System.Windows.Forms.TabPage tpgAccessCounters; @@ -863,5 +837,7 @@ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem9; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem10; private System.Windows.Forms.ToolStripMenuItem mnuIgnoreRedundantWrites; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem12; + private System.Windows.Forms.ToolStripMenuItem mnuHighDensityMode; } } \ No newline at end of file diff --git a/GUI.NET/Debugger/frmMemoryViewer.cs b/GUI.NET/Debugger/frmMemoryViewer.cs index b8b13d7f..f40a9b3b 100644 --- a/GUI.NET/Debugger/frmMemoryViewer.cs +++ b/GUI.NET/Debugger/frmMemoryViewer.cs @@ -37,6 +37,7 @@ namespace Mesen.GUI.Debugger base.OnLoad(e); this.mnuAutoRefresh.Checked = ConfigManager.Config.DebugInfo.RamAutoRefresh; + this.mnuHighDensityMode.Checked = ConfigManager.Config.DebugInfo.RamHighDensityTextMode; UpdateRefreshSpeedMenu(); this.mnuIgnoreRedundantWrites.Checked = ConfigManager.Config.DebugInfo.RamIgnoreRedundantWrites; @@ -347,11 +348,11 @@ namespace Mesen.GUI.Debugger case DebugMemoryType.SpriteMemory: case DebugMemoryType.WorkRam: case DebugMemoryType.SaveRam: - btnImport.Enabled = mnuImport.Enabled = true; + mnuImport.Enabled = true; break; default: - btnImport.Enabled = mnuImport.Enabled = false; + mnuImport.Enabled = false; break; } } @@ -775,5 +776,12 @@ namespace Mesen.GUI.Debugger mnuAutoRefreshNormal.Checked = ConfigManager.Config.DebugInfo.RamAutoRefreshSpeed == RefreshSpeed.Normal; mnuAutoRefreshHigh.Checked = ConfigManager.Config.DebugInfo.RamAutoRefreshSpeed == RefreshSpeed.High; } + + private void mnuHighDensityMode_CheckedChanged(object sender, EventArgs e) + { + ConfigManager.Config.DebugInfo.RamHighDensityTextMode = mnuHighDensityMode.Checked; + ConfigManager.ApplyChanges(); + ctrlHexViewer.HighDensityMode = ConfigManager.Config.DebugInfo.RamHighDensityTextMode; + } } } diff --git a/GUI.NET/Debugger/frmMemoryViewer.resx b/GUI.NET/Debugger/frmMemoryViewer.resx index 4e7f6e36..e83821e0 100644 --- a/GUI.NET/Debugger/frmMemoryViewer.resx +++ b/GUI.NET/Debugger/frmMemoryViewer.resx @@ -123,7 +123,4 @@ 107, 17 - - 222, 17 - \ No newline at end of file