diff --git a/Main/FoenixSystem.cs b/Main/FoenixSystem.cs
index 9c5e0e6..dce5404 100644
--- a/Main/FoenixSystem.cs
+++ b/Main/FoenixSystem.cs
@@ -493,7 +493,8 @@ public bool ResetCPU(string filename)
}
} while (!isAddressValid);
// Copy the data into memory
- MemMgr.CopyBuffer(DataBuffer, 0, DataStartAddress, flen);
+ MemMgr.RAM.CopyBuffer(DataBuffer, 0, DataStartAddress, flen);
+ //MemMgr.CopyBuffer(DataBuffer, 0, DataStartAddress, flen);
}
// Load the .LST file if it exists
diff --git a/Main/Properties/AssemblyInfo.cs b/Main/Properties/AssemblyInfo.cs
index dda2441..2b47a74 100644
--- a/Main/Properties/AssemblyInfo.cs
+++ b/Main/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.6.0.7")]
-[assembly: AssemblyFileVersion("0.6.0.7")]
+[assembly: AssemblyVersion("0.6.0.8")]
+[assembly: AssemblyFileVersion("0.6.0.8")]
diff --git a/Main/UI/About.Designer.cs b/Main/UI/About.Designer.cs
index da6d324..21cb1dc 100644
--- a/Main/UI/About.Designer.cs
+++ b/Main/UI/About.Designer.cs
@@ -51,7 +51,7 @@ private void InitializeComponent()
this.CloseButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.CloseButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.CloseButton.Location = new System.Drawing.Point(122, 258);
- this.CloseButton.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+ this.CloseButton.Margin = new System.Windows.Forms.Padding(2);
this.CloseButton.Name = "CloseButton";
this.CloseButton.Size = new System.Drawing.Size(70, 28);
this.CloseButton.TabIndex = 1;
@@ -63,14 +63,14 @@ private void InitializeComponent()
//
this.FoenixLogo.Image = ((System.Drawing.Image)(resources.GetObject("FoenixLogo.Image")));
this.FoenixLogo.Location = new System.Drawing.Point(2, -46);
- this.FoenixLogo.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+ this.FoenixLogo.Margin = new System.Windows.Forms.Padding(2);
this.FoenixLogo.Name = "FoenixLogo";
this.FoenixLogo.Size = new System.Drawing.Size(296, 319);
this.FoenixLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.FoenixLogo.TabIndex = 2;
this.FoenixLogo.TabStop = false;
//
- // AboutFrom
+ // AboutForm
//
this.AcceptButton = this.CloseButton;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -84,10 +84,10 @@ private void InitializeComponent()
this.Controls.Add(this.label1);
this.Controls.Add(this.FoenixLogo);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
- this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+ this.Margin = new System.Windows.Forms.Padding(2);
this.MaximizeBox = false;
this.MinimizeBox = false;
- this.Name = "AboutFrom";
+ this.Name = "AboutForm";
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
diff --git a/Main/UI/About.resx b/Main/UI/About.resx
index f290837..0ecfeb9 100644
--- a/Main/UI/About.resx
+++ b/Main/UI/About.resx
@@ -117,6 +117,15 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ True
+
+
+ True
+
+
+ True
+
@@ -1114,4 +1123,7 @@
hBAfQ4kTQoiPocQJIcS3nD37/z2zucqSCtrlAAAAAElFTkSuQmCC
+
+ True
+
\ No newline at end of file
diff --git a/Main/UI/CPUWindow.Designer.cs b/Main/UI/CPUWindow.Designer.cs
index 345342e..c681570 100644
--- a/Main/UI/CPUWindow.Designer.cs
+++ b/Main/UI/CPUWindow.Designer.cs
@@ -54,9 +54,24 @@ private void InitializeComponent()
this.StepOverOverlayButton = new System.Windows.Forms.Button();
this.HeaderTextbox = new System.Windows.Forms.Label();
this.irqPanel = new System.Windows.Forms.Panel();
+ this.Reg2Label = new System.Windows.Forms.Label();
+ this.Reg1Label = new System.Windows.Forms.Label();
+ this.Reg0Label = new System.Windows.Forms.Label();
+ this.BreakOnIRQCheckBox = new System.Windows.Forms.CheckBox();
+ this.LabelOverlayButton = new System.Windows.Forms.Button();
+ this.DebugPanel = new System.Windows.Forms.PictureBox();
+ this.GabeInt1Check = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.VDMACheck = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.V2TileColCheck = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.GabeInt2Check = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.ExtExpCheck = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.SDCardInsertCheck = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.ParallelPortCheck = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.V2BitColCheck = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.V2SprColCheck = new FoenixIDE.Simulator.Controls.ColorCheckBox();
this.SDCardCheckBox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
- this.OPL2LCheckbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
- this.OPL2RCheckbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.GabeInt0Check = new FoenixIDE.Simulator.Controls.ColorCheckBox();
+ this.OPL3Checkbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
this.MPU401Checkbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
this.COM1Checkbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
this.COM2Checkbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
@@ -67,14 +82,8 @@ private void InitializeComponent()
this.TMR1Checkbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
this.TMR0Checkbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
this.SOLCheckbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
- this.Reg2Label = new System.Windows.Forms.Label();
- this.Reg1Label = new System.Windows.Forms.Label();
- this.Reg0Label = new System.Windows.Forms.Label();
this.KeyboardCheckBox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
this.SOFCheckbox = new FoenixIDE.Simulator.Controls.ColorCheckBox();
- this.BreakOnIRQCheckBox = new System.Windows.Forms.CheckBox();
- this.LabelOverlayButton = new System.Windows.Forms.Button();
- this.DebugPanel = new System.Windows.Forms.PictureBox();
this.registerDisplay1 = new FoenixIDE.RegisterDisplay();
this.HeaderPanel.SuspendLayout();
this.SecondPanel.SuspendLayout();
@@ -92,18 +101,18 @@ private void InitializeComponent()
this.HeaderPanel.Controls.Add(this.RunButton);
this.HeaderPanel.Dock = System.Windows.Forms.DockStyle.Top;
this.HeaderPanel.Location = new System.Drawing.Point(0, 0);
- this.HeaderPanel.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.HeaderPanel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.HeaderPanel.Name = "HeaderPanel";
- this.HeaderPanel.Size = new System.Drawing.Size(1118, 44);
+ this.HeaderPanel.Size = new System.Drawing.Size(608, 24);
this.HeaderPanel.TabIndex = 2;
//
// BreakpointButton
//
this.BreakpointButton.Dock = System.Windows.Forms.DockStyle.Left;
- this.BreakpointButton.Location = new System.Drawing.Point(699, 0);
- this.BreakpointButton.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.BreakpointButton.Location = new System.Drawing.Point(382, 0);
+ this.BreakpointButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.BreakpointButton.Name = "BreakpointButton";
- this.BreakpointButton.Size = new System.Drawing.Size(139, 44);
+ this.BreakpointButton.Size = new System.Drawing.Size(76, 24);
this.BreakpointButton.TabIndex = 6;
this.BreakpointButton.Text = "Breakpoints";
this.BreakpointButton.UseVisualStyleBackColor = true;
@@ -112,10 +121,10 @@ private void InitializeComponent()
// WatchButton
//
this.WatchButton.Dock = System.Windows.Forms.DockStyle.Left;
- this.WatchButton.Location = new System.Drawing.Point(560, 0);
- this.WatchButton.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.WatchButton.Location = new System.Drawing.Point(306, 0);
+ this.WatchButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.WatchButton.Name = "WatchButton";
- this.WatchButton.Size = new System.Drawing.Size(139, 44);
+ this.WatchButton.Size = new System.Drawing.Size(76, 24);
this.WatchButton.TabIndex = 5;
this.WatchButton.Text = "Watch";
this.WatchButton.UseVisualStyleBackColor = true;
@@ -124,10 +133,10 @@ private void InitializeComponent()
// ResetButton
//
this.ResetButton.Dock = System.Windows.Forms.DockStyle.Left;
- this.ResetButton.Location = new System.Drawing.Point(432, 0);
- this.ResetButton.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.ResetButton.Location = new System.Drawing.Point(236, 0);
+ this.ResetButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.ResetButton.Name = "ResetButton";
- this.ResetButton.Size = new System.Drawing.Size(128, 44);
+ this.ResetButton.Size = new System.Drawing.Size(70, 24);
this.ResetButton.TabIndex = 4;
this.ResetButton.Text = "Reset";
this.ResetButton.UseVisualStyleBackColor = true;
@@ -136,10 +145,10 @@ private void InitializeComponent()
// StepOverButton
//
this.StepOverButton.Dock = System.Windows.Forms.DockStyle.Left;
- this.StepOverButton.Location = new System.Drawing.Point(267, 0);
- this.StepOverButton.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.StepOverButton.Location = new System.Drawing.Point(146, 0);
+ this.StepOverButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.StepOverButton.Name = "StepOverButton";
- this.StepOverButton.Size = new System.Drawing.Size(165, 44);
+ this.StepOverButton.Size = new System.Drawing.Size(90, 24);
this.StepOverButton.TabIndex = 3;
this.StepOverButton.Text = "Step Over (F7)";
this.StepOverButton.UseVisualStyleBackColor = true;
@@ -148,10 +157,10 @@ private void InitializeComponent()
// StepButton
//
this.StepButton.Dock = System.Windows.Forms.DockStyle.Left;
- this.StepButton.Location = new System.Drawing.Point(139, 0);
- this.StepButton.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.StepButton.Location = new System.Drawing.Point(76, 0);
+ this.StepButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.StepButton.Name = "StepButton";
- this.StepButton.Size = new System.Drawing.Size(128, 44);
+ this.StepButton.Size = new System.Drawing.Size(70, 24);
this.StepButton.TabIndex = 2;
this.StepButton.Text = "Step (F6)";
this.StepButton.UseVisualStyleBackColor = true;
@@ -161,9 +170,9 @@ private void InitializeComponent()
//
this.RunButton.Dock = System.Windows.Forms.DockStyle.Left;
this.RunButton.Location = new System.Drawing.Point(0, 0);
- this.RunButton.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.RunButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.RunButton.Name = "RunButton";
- this.RunButton.Size = new System.Drawing.Size(139, 44);
+ this.RunButton.Size = new System.Drawing.Size(76, 24);
this.RunButton.TabIndex = 1;
this.RunButton.Tag = "0";
this.RunButton.Text = "Run (F5)";
@@ -173,11 +182,11 @@ private void InitializeComponent()
// locationLabel
//
this.locationLabel.Dock = System.Windows.Forms.DockStyle.Left;
- this.locationLabel.Location = new System.Drawing.Point(267, 0);
- this.locationLabel.Margin = new System.Windows.Forms.Padding(7, 0, 7, 0);
+ this.locationLabel.Location = new System.Drawing.Point(146, 0);
+ this.locationLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.locationLabel.Name = "locationLabel";
- this.locationLabel.Padding = new System.Windows.Forms.Padding(0, 7, 0, 0);
- this.locationLabel.Size = new System.Drawing.Size(117, 44);
+ this.locationLabel.Padding = new System.Windows.Forms.Padding(0, 4, 0, 0);
+ this.locationLabel.Size = new System.Drawing.Size(64, 24);
this.locationLabel.TabIndex = 9;
this.locationLabel.Text = "Location $";
//
@@ -185,10 +194,10 @@ private void InitializeComponent()
//
this.locationInput.Dock = System.Windows.Forms.DockStyle.Left;
this.locationInput.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.locationInput.Location = new System.Drawing.Point(384, 0);
- this.locationInput.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.locationInput.Location = new System.Drawing.Point(210, 0);
+ this.locationInput.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.locationInput.Name = "locationInput";
- this.locationInput.Size = new System.Drawing.Size(114, 39);
+ this.locationInput.Size = new System.Drawing.Size(64, 23);
this.locationInput.TabIndex = 10;
this.locationInput.Text = "00:0000";
this.locationInput.Validated += new System.EventHandler(this.LocationInput_Validated);
@@ -196,10 +205,10 @@ private void InitializeComponent()
// JumpButton
//
this.JumpButton.Dock = System.Windows.Forms.DockStyle.Left;
- this.JumpButton.Location = new System.Drawing.Point(139, 0);
- this.JumpButton.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.JumpButton.Location = new System.Drawing.Point(76, 0);
+ this.JumpButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.JumpButton.Name = "JumpButton";
- this.JumpButton.Size = new System.Drawing.Size(128, 44);
+ this.JumpButton.Size = new System.Drawing.Size(70, 24);
this.JumpButton.TabIndex = 10;
this.JumpButton.Text = "Jump";
this.JumpButton.UseVisualStyleBackColor = true;
@@ -211,11 +220,11 @@ private void InitializeComponent()
| System.Windows.Forms.AnchorStyles.Right)));
this.lastLine.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.lastLine.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lastLine.Location = new System.Drawing.Point(2, 877);
- this.lastLine.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.lastLine.Location = new System.Drawing.Point(1, 462);
+ this.lastLine.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.lastLine.Name = "lastLine";
this.lastLine.ReadOnly = true;
- this.lastLine.Size = new System.Drawing.Size(1106, 39);
+ this.lastLine.Size = new System.Drawing.Size(605, 23);
this.lastLine.TabIndex = 4;
this.lastLine.Text = "Click [Step] to execute an instruction";
this.lastLine.WordWrap = false;
@@ -226,12 +235,12 @@ private void InitializeComponent()
this.stackText.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.stackText.Dock = System.Windows.Forms.DockStyle.Right;
this.stackText.Font = new System.Drawing.Font("Consolas", 10F);
- this.stackText.Location = new System.Drawing.Point(1118, 0);
- this.stackText.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.stackText.Location = new System.Drawing.Point(608, 0);
+ this.stackText.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.stackText.Multiline = true;
this.stackText.Name = "stackText";
this.stackText.ReadOnly = true;
- this.stackText.Size = new System.Drawing.Size(272, 864);
+ this.stackText.Size = new System.Drawing.Size(150, 485);
this.stackText.TabIndex = 3;
//
// UpdateTraceTimer
@@ -244,19 +253,19 @@ private void InitializeComponent()
this.SecondPanel.Controls.Add(this.locationLabel);
this.SecondPanel.Controls.Add(this.JumpButton);
this.SecondPanel.Controls.Add(this.ClearTraceButton);
- this.SecondPanel.Location = new System.Drawing.Point(0, 46);
- this.SecondPanel.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.SecondPanel.Location = new System.Drawing.Point(0, 25);
+ this.SecondPanel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.SecondPanel.Name = "SecondPanel";
- this.SecondPanel.Size = new System.Drawing.Size(671, 44);
+ this.SecondPanel.Size = new System.Drawing.Size(366, 24);
this.SecondPanel.TabIndex = 5;
//
// ClearTraceButton
//
this.ClearTraceButton.Dock = System.Windows.Forms.DockStyle.Left;
this.ClearTraceButton.Location = new System.Drawing.Point(0, 0);
- this.ClearTraceButton.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.ClearTraceButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.ClearTraceButton.Name = "ClearTraceButton";
- this.ClearTraceButton.Size = new System.Drawing.Size(139, 44);
+ this.ClearTraceButton.Size = new System.Drawing.Size(76, 24);
this.ClearTraceButton.TabIndex = 9;
this.ClearTraceButton.Text = "Clear Trace";
this.ClearTraceButton.UseVisualStyleBackColor = true;
@@ -267,10 +276,10 @@ private void InitializeComponent()
this.AddBPOverlayButton.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.AddBPOverlayButton.FlatAppearance.BorderSize = 0;
this.AddBPOverlayButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
- this.AddBPOverlayButton.Location = new System.Drawing.Point(183, 369);
- this.AddBPOverlayButton.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.AddBPOverlayButton.Location = new System.Drawing.Point(100, 200);
+ this.AddBPOverlayButton.Margin = new System.Windows.Forms.Padding(2);
this.AddBPOverlayButton.Name = "AddBPOverlayButton";
- this.AddBPOverlayButton.Size = new System.Drawing.Size(33, 33);
+ this.AddBPOverlayButton.Size = new System.Drawing.Size(18, 18);
this.AddBPOverlayButton.TabIndex = 7;
this.AddBPOverlayButton.TabStop = false;
this.AddBPOverlayButton.Text = "+";
@@ -283,10 +292,10 @@ private void InitializeComponent()
this.DeleteBPOverlayButton.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.DeleteBPOverlayButton.FlatAppearance.BorderSize = 0;
this.DeleteBPOverlayButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
- this.DeleteBPOverlayButton.Location = new System.Drawing.Point(216, 369);
- this.DeleteBPOverlayButton.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.DeleteBPOverlayButton.Location = new System.Drawing.Point(118, 200);
+ this.DeleteBPOverlayButton.Margin = new System.Windows.Forms.Padding(2);
this.DeleteBPOverlayButton.Name = "DeleteBPOverlayButton";
- this.DeleteBPOverlayButton.Size = new System.Drawing.Size(33, 33);
+ this.DeleteBPOverlayButton.Size = new System.Drawing.Size(18, 18);
this.DeleteBPOverlayButton.TabIndex = 8;
this.DeleteBPOverlayButton.TabStop = false;
this.DeleteBPOverlayButton.Text = "-";
@@ -299,10 +308,10 @@ private void InitializeComponent()
this.InspectOverlayButton.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.InspectOverlayButton.FlatAppearance.BorderSize = 0;
this.InspectOverlayButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
- this.InspectOverlayButton.Location = new System.Drawing.Point(251, 369);
- this.InspectOverlayButton.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+ this.InspectOverlayButton.Location = new System.Drawing.Point(137, 200);
+ this.InspectOverlayButton.Margin = new System.Windows.Forms.Padding(1);
this.InspectOverlayButton.Name = "InspectOverlayButton";
- this.InspectOverlayButton.Size = new System.Drawing.Size(70, 33);
+ this.InspectOverlayButton.Size = new System.Drawing.Size(38, 18);
this.InspectOverlayButton.TabIndex = 9;
this.InspectOverlayButton.TabStop = false;
this.InspectOverlayButton.Text = "Mem";
@@ -316,10 +325,10 @@ private void InitializeComponent()
this.StepOverOverlayButton.FlatAppearance.BorderSize = 0;
this.StepOverOverlayButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.StepOverOverlayButton.Font = new System.Drawing.Font("Arial Narrow", 9.857143F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.StepOverOverlayButton.Location = new System.Drawing.Point(323, 369);
- this.StepOverOverlayButton.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+ this.StepOverOverlayButton.Location = new System.Drawing.Point(176, 200);
+ this.StepOverOverlayButton.Margin = new System.Windows.Forms.Padding(1);
this.StepOverOverlayButton.Name = "StepOverOverlayButton";
- this.StepOverOverlayButton.Size = new System.Drawing.Size(40, 33);
+ this.StepOverOverlayButton.Size = new System.Drawing.Size(22, 18);
this.StepOverOverlayButton.TabIndex = 10;
this.StepOverOverlayButton.TabStop = false;
this.StepOverOverlayButton.Text = "►";
@@ -336,20 +345,29 @@ private void InitializeComponent()
this.HeaderTextbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HeaderTextbox.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.HeaderTextbox.ForeColor = System.Drawing.SystemColors.ControlLightLight;
- this.HeaderTextbox.Location = new System.Drawing.Point(4, 188);
+ this.HeaderTextbox.Location = new System.Drawing.Point(2, 102);
this.HeaderTextbox.Margin = new System.Windows.Forms.Padding(0);
this.HeaderTextbox.Name = "HeaderTextbox";
- this.HeaderTextbox.Padding = new System.Windows.Forms.Padding(4, 6, 4, 4);
- this.HeaderTextbox.Size = new System.Drawing.Size(1107, 41);
+ this.HeaderTextbox.Padding = new System.Windows.Forms.Padding(2, 3, 2, 2);
+ this.HeaderTextbox.Size = new System.Drawing.Size(604, 22);
this.HeaderTextbox.TabIndex = 11;
this.HeaderTextbox.UseCompatibleTextRendering = true;
this.HeaderTextbox.UseMnemonic = false;
//
// irqPanel
//
+ this.irqPanel.Controls.Add(this.GabeInt1Check);
+ this.irqPanel.Controls.Add(this.VDMACheck);
+ this.irqPanel.Controls.Add(this.V2TileColCheck);
+ this.irqPanel.Controls.Add(this.GabeInt2Check);
+ this.irqPanel.Controls.Add(this.ExtExpCheck);
+ this.irqPanel.Controls.Add(this.SDCardInsertCheck);
+ this.irqPanel.Controls.Add(this.ParallelPortCheck);
+ this.irqPanel.Controls.Add(this.V2BitColCheck);
+ this.irqPanel.Controls.Add(this.V2SprColCheck);
this.irqPanel.Controls.Add(this.SDCardCheckBox);
- this.irqPanel.Controls.Add(this.OPL2LCheckbox);
- this.irqPanel.Controls.Add(this.OPL2RCheckbox);
+ this.irqPanel.Controls.Add(this.GabeInt0Check);
+ this.irqPanel.Controls.Add(this.OPL3Checkbox);
this.irqPanel.Controls.Add(this.MPU401Checkbox);
this.irqPanel.Controls.Add(this.COM1Checkbox);
this.irqPanel.Controls.Add(this.COM2Checkbox);
@@ -366,56 +384,269 @@ private void InitializeComponent()
this.irqPanel.Controls.Add(this.KeyboardCheckBox);
this.irqPanel.Controls.Add(this.SOFCheckbox);
this.irqPanel.Controls.Add(this.BreakOnIRQCheckBox);
- this.irqPanel.Location = new System.Drawing.Point(682, 46);
- this.irqPanel.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.irqPanel.Location = new System.Drawing.Point(372, 25);
+ this.irqPanel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.irqPanel.Name = "irqPanel";
- this.irqPanel.Size = new System.Drawing.Size(414, 137);
+ this.irqPanel.Size = new System.Drawing.Size(226, 74);
this.irqPanel.TabIndex = 12;
//
+ // Reg2Label
+ //
+ this.Reg2Label.AutoSize = true;
+ this.Reg2Label.Location = new System.Drawing.Point(4, 57);
+ this.Reg2Label.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+ this.Reg2Label.Name = "Reg2Label";
+ this.Reg2Label.Size = new System.Drawing.Size(58, 13);
+ this.Reg2Label.TabIndex = 21;
+ this.Reg2Label.Text = "IRQ Reg 2";
+ //
+ // Reg1Label
+ //
+ this.Reg1Label.AutoSize = true;
+ this.Reg1Label.Location = new System.Drawing.Point(4, 39);
+ this.Reg1Label.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+ this.Reg1Label.Name = "Reg1Label";
+ this.Reg1Label.Size = new System.Drawing.Size(58, 13);
+ this.Reg1Label.TabIndex = 20;
+ this.Reg1Label.Text = "IRQ Reg 1";
+ //
+ // Reg0Label
+ //
+ this.Reg0Label.AutoSize = true;
+ this.Reg0Label.Location = new System.Drawing.Point(4, 22);
+ this.Reg0Label.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+ this.Reg0Label.Name = "Reg0Label";
+ this.Reg0Label.Size = new System.Drawing.Size(58, 13);
+ this.Reg0Label.TabIndex = 19;
+ this.Reg0Label.Text = "IRQ Reg 0";
+ //
+ // BreakOnIRQCheckBox
+ //
+ this.BreakOnIRQCheckBox.AutoSize = true;
+ this.BreakOnIRQCheckBox.BackColor = System.Drawing.SystemColors.Control;
+ this.BreakOnIRQCheckBox.Checked = true;
+ this.BreakOnIRQCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.BreakOnIRQCheckBox.Location = new System.Drawing.Point(4, 3);
+ this.BreakOnIRQCheckBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.BreakOnIRQCheckBox.Name = "BreakOnIRQCheckBox";
+ this.BreakOnIRQCheckBox.Size = new System.Drawing.Size(91, 17);
+ this.BreakOnIRQCheckBox.TabIndex = 16;
+ this.BreakOnIRQCheckBox.Text = "Break on IRQ";
+ this.BreakOnIRQCheckBox.UseVisualStyleBackColor = false;
+ this.BreakOnIRQCheckBox.CheckedChanged += new System.EventHandler(this.BreakOnIRQCheckBox_CheckedChanged);
+ //
+ // LabelOverlayButton
+ //
+ this.LabelOverlayButton.BackColor = System.Drawing.SystemColors.ActiveCaption;
+ this.LabelOverlayButton.FlatAppearance.BorderSize = 0;
+ this.LabelOverlayButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.LabelOverlayButton.Location = new System.Drawing.Point(198, 200);
+ this.LabelOverlayButton.Margin = new System.Windows.Forms.Padding(2);
+ this.LabelOverlayButton.Name = "LabelOverlayButton";
+ this.LabelOverlayButton.Size = new System.Drawing.Size(18, 18);
+ this.LabelOverlayButton.TabIndex = 13;
+ this.LabelOverlayButton.TabStop = false;
+ this.LabelOverlayButton.Text = "L";
+ this.LabelOverlayButton.UseVisualStyleBackColor = false;
+ this.LabelOverlayButton.Visible = false;
+ this.LabelOverlayButton.Click += new System.EventHandler(this.LabelOverlayButton_Click);
+ //
+ // DebugPanel
+ //
+ this.DebugPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.DebugPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.DebugPanel.Location = new System.Drawing.Point(0, 126);
+ this.DebugPanel.Margin = new System.Windows.Forms.Padding(2);
+ this.DebugPanel.Name = "DebugPanel";
+ this.DebugPanel.Size = new System.Drawing.Size(606, 334);
+ this.DebugPanel.TabIndex = 6;
+ this.DebugPanel.TabStop = false;
+ this.DebugPanel.MouseClick += new System.Windows.Forms.MouseEventHandler(this.DebugPanel_MouseClick);
+ this.DebugPanel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.DebugPanel_MouseMove);
+ //
+ // GabeInt1Check
+ //
+ this.GabeInt1Check.Checked = true;
+ this.GabeInt1Check.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.GabeInt1Check.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.GabeInt1Check.IsActive = false;
+ this.GabeInt1Check.Location = new System.Drawing.Point(173, 56);
+ this.GabeInt1Check.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.GabeInt1Check.Name = "GabeInt1Check";
+ this.GabeInt1Check.Size = new System.Drawing.Size(16, 14);
+ this.GabeInt1Check.TabIndex = 42;
+ this.GabeInt1Check.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.GabeInt1Check.UseVisualStyleBackColor = true;
+ this.GabeInt1Check.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
+ // VDMACheck
+ //
+ this.VDMACheck.Checked = true;
+ this.VDMACheck.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.VDMACheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.VDMACheck.IsActive = false;
+ this.VDMACheck.Location = new System.Drawing.Point(156, 56);
+ this.VDMACheck.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.VDMACheck.Name = "VDMACheck";
+ this.VDMACheck.Size = new System.Drawing.Size(16, 14);
+ this.VDMACheck.TabIndex = 41;
+ this.VDMACheck.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.VDMACheck.UseVisualStyleBackColor = true;
+ this.VDMACheck.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
+ // V2TileColCheck
+ //
+ this.V2TileColCheck.Checked = true;
+ this.V2TileColCheck.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.V2TileColCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.V2TileColCheck.IsActive = false;
+ this.V2TileColCheck.Location = new System.Drawing.Point(139, 56);
+ this.V2TileColCheck.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.V2TileColCheck.Name = "V2TileColCheck";
+ this.V2TileColCheck.Size = new System.Drawing.Size(16, 14);
+ this.V2TileColCheck.TabIndex = 40;
+ this.V2TileColCheck.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.V2TileColCheck.UseVisualStyleBackColor = true;
+ this.V2TileColCheck.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
+ // GabeInt2Check
+ //
+ this.GabeInt2Check.Checked = true;
+ this.GabeInt2Check.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.GabeInt2Check.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.GabeInt2Check.IsActive = false;
+ this.GabeInt2Check.Location = new System.Drawing.Point(122, 56);
+ this.GabeInt2Check.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.GabeInt2Check.Name = "GabeInt2Check";
+ this.GabeInt2Check.Size = new System.Drawing.Size(16, 14);
+ this.GabeInt2Check.TabIndex = 39;
+ this.GabeInt2Check.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.GabeInt2Check.UseVisualStyleBackColor = true;
+ this.GabeInt2Check.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
+ // ExtExpCheck
+ //
+ this.ExtExpCheck.Checked = true;
+ this.ExtExpCheck.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.ExtExpCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.ExtExpCheck.IsActive = false;
+ this.ExtExpCheck.Location = new System.Drawing.Point(106, 56);
+ this.ExtExpCheck.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.ExtExpCheck.Name = "ExtExpCheck";
+ this.ExtExpCheck.Size = new System.Drawing.Size(16, 14);
+ this.ExtExpCheck.TabIndex = 38;
+ this.ExtExpCheck.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ExtExpCheck.UseVisualStyleBackColor = true;
+ this.ExtExpCheck.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
+ // SDCardInsertCheck
+ //
+ this.SDCardInsertCheck.Checked = true;
+ this.SDCardInsertCheck.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.SDCardInsertCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.SDCardInsertCheck.IsActive = false;
+ this.SDCardInsertCheck.Location = new System.Drawing.Point(88, 56);
+ this.SDCardInsertCheck.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.SDCardInsertCheck.Name = "SDCardInsertCheck";
+ this.SDCardInsertCheck.Size = new System.Drawing.Size(16, 14);
+ this.SDCardInsertCheck.TabIndex = 34;
+ this.SDCardInsertCheck.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.SDCardInsertCheck.UseVisualStyleBackColor = true;
+ this.SDCardInsertCheck.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
+ // ParallelPortCheck
+ //
+ this.ParallelPortCheck.Checked = true;
+ this.ParallelPortCheck.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.ParallelPortCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.ParallelPortCheck.IsActive = false;
+ this.ParallelPortCheck.Location = new System.Drawing.Point(106, 39);
+ this.ParallelPortCheck.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.ParallelPortCheck.Name = "ParallelPortCheck";
+ this.ParallelPortCheck.Size = new System.Drawing.Size(16, 14);
+ this.ParallelPortCheck.TabIndex = 37;
+ this.ParallelPortCheck.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ParallelPortCheck.UseVisualStyleBackColor = true;
+ this.ParallelPortCheck.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
+ // V2BitColCheck
+ //
+ this.V2BitColCheck.BackColor = System.Drawing.SystemColors.Control;
+ this.V2BitColCheck.Checked = true;
+ this.V2BitColCheck.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.V2BitColCheck.FlatAppearance.BorderSize = 0;
+ this.V2BitColCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.V2BitColCheck.IsActive = false;
+ this.V2BitColCheck.Location = new System.Drawing.Point(173, 39);
+ this.V2BitColCheck.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.V2BitColCheck.Name = "V2BitColCheck";
+ this.V2BitColCheck.Size = new System.Drawing.Size(16, 14);
+ this.V2BitColCheck.TabIndex = 36;
+ this.V2BitColCheck.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.V2BitColCheck.UseVisualStyleBackColor = false;
+ this.V2BitColCheck.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
+ // V2SprColCheck
+ //
+ this.V2SprColCheck.Checked = true;
+ this.V2SprColCheck.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.V2SprColCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.V2SprColCheck.IsActive = false;
+ this.V2SprColCheck.Location = new System.Drawing.Point(190, 39);
+ this.V2SprColCheck.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.V2SprColCheck.Name = "V2SprColCheck";
+ this.V2SprColCheck.Size = new System.Drawing.Size(16, 14);
+ this.V2SprColCheck.TabIndex = 35;
+ this.V2SprColCheck.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.V2SprColCheck.UseVisualStyleBackColor = true;
+ this.V2SprColCheck.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
// SDCardCheckBox
//
this.SDCardCheckBox.Checked = true;
this.SDCardCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.SDCardCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.SDCardCheckBox.IsActive = false;
- this.SDCardCheckBox.Location = new System.Drawing.Point(161, 70);
- this.SDCardCheckBox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.SDCardCheckBox.Location = new System.Drawing.Point(88, 39);
+ this.SDCardCheckBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.SDCardCheckBox.Name = "SDCardCheckBox";
- this.SDCardCheckBox.Size = new System.Drawing.Size(29, 26);
+ this.SDCardCheckBox.Size = new System.Drawing.Size(16, 14);
this.SDCardCheckBox.TabIndex = 34;
this.SDCardCheckBox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.SDCardCheckBox.UseVisualStyleBackColor = true;
this.SDCardCheckBox.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
//
- // OPL2LCheckbox
- //
- this.OPL2LCheckbox.Checked = true;
- this.OPL2LCheckbox.CheckState = System.Windows.Forms.CheckState.Checked;
- this.OPL2LCheckbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.OPL2LCheckbox.IsActive = false;
- this.OPL2LCheckbox.Location = new System.Drawing.Point(348, 103);
- this.OPL2LCheckbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
- this.OPL2LCheckbox.Name = "OPL2LCheckbox";
- this.OPL2LCheckbox.Size = new System.Drawing.Size(29, 26);
- this.OPL2LCheckbox.TabIndex = 33;
- this.OPL2LCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
- this.OPL2LCheckbox.UseVisualStyleBackColor = true;
- this.OPL2LCheckbox.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
- //
- // OPL2RCheckbox
- //
- this.OPL2RCheckbox.Checked = true;
- this.OPL2RCheckbox.CheckState = System.Windows.Forms.CheckState.Checked;
- this.OPL2RCheckbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.OPL2RCheckbox.IsActive = false;
- this.OPL2RCheckbox.Location = new System.Drawing.Point(378, 103);
- this.OPL2RCheckbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
- this.OPL2RCheckbox.Name = "OPL2RCheckbox";
- this.OPL2RCheckbox.Size = new System.Drawing.Size(29, 26);
- this.OPL2RCheckbox.TabIndex = 32;
- this.OPL2RCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
- this.OPL2RCheckbox.UseVisualStyleBackColor = true;
- this.OPL2RCheckbox.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ // GabeInt0Check
+ //
+ this.GabeInt0Check.Checked = true;
+ this.GabeInt0Check.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.GabeInt0Check.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.GabeInt0Check.IsActive = false;
+ this.GabeInt0Check.Location = new System.Drawing.Point(190, 56);
+ this.GabeInt0Check.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.GabeInt0Check.Name = "GabeInt0Check";
+ this.GabeInt0Check.Size = new System.Drawing.Size(16, 14);
+ this.GabeInt0Check.TabIndex = 33;
+ this.GabeInt0Check.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.GabeInt0Check.UseVisualStyleBackColor = true;
+ this.GabeInt0Check.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
+ //
+ // OPL3Checkbox
+ //
+ this.OPL3Checkbox.Checked = true;
+ this.OPL3Checkbox.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.OPL3Checkbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.OPL3Checkbox.IsActive = false;
+ this.OPL3Checkbox.Location = new System.Drawing.Point(206, 56);
+ this.OPL3Checkbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.OPL3Checkbox.Name = "OPL3Checkbox";
+ this.OPL3Checkbox.Size = new System.Drawing.Size(16, 14);
+ this.OPL3Checkbox.TabIndex = 32;
+ this.OPL3Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.OPL3Checkbox.UseVisualStyleBackColor = true;
+ this.OPL3Checkbox.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
//
// MPU401Checkbox
//
@@ -423,10 +654,10 @@ private void InitializeComponent()
this.MPU401Checkbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.MPU401Checkbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.MPU401Checkbox.IsActive = false;
- this.MPU401Checkbox.Location = new System.Drawing.Point(224, 70);
- this.MPU401Checkbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.MPU401Checkbox.Location = new System.Drawing.Point(122, 39);
+ this.MPU401Checkbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.MPU401Checkbox.Name = "MPU401Checkbox";
- this.MPU401Checkbox.Size = new System.Drawing.Size(29, 26);
+ this.MPU401Checkbox.Size = new System.Drawing.Size(16, 14);
this.MPU401Checkbox.TabIndex = 31;
this.MPU401Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.MPU401Checkbox.UseVisualStyleBackColor = true;
@@ -438,10 +669,10 @@ private void InitializeComponent()
this.COM1Checkbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.COM1Checkbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.COM1Checkbox.IsActive = false;
- this.COM1Checkbox.Location = new System.Drawing.Point(255, 70);
- this.COM1Checkbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.COM1Checkbox.Location = new System.Drawing.Point(139, 39);
+ this.COM1Checkbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.COM1Checkbox.Name = "COM1Checkbox";
- this.COM1Checkbox.Size = new System.Drawing.Size(29, 26);
+ this.COM1Checkbox.Size = new System.Drawing.Size(16, 14);
this.COM1Checkbox.TabIndex = 30;
this.COM1Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.COM1Checkbox.UseVisualStyleBackColor = true;
@@ -453,10 +684,10 @@ private void InitializeComponent()
this.COM2Checkbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.COM2Checkbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.COM2Checkbox.IsActive = false;
- this.COM2Checkbox.Location = new System.Drawing.Point(286, 70);
- this.COM2Checkbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.COM2Checkbox.Location = new System.Drawing.Point(156, 39);
+ this.COM2Checkbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.COM2Checkbox.Name = "COM2Checkbox";
- this.COM2Checkbox.Size = new System.Drawing.Size(29, 26);
+ this.COM2Checkbox.Size = new System.Drawing.Size(16, 14);
this.COM2Checkbox.TabIndex = 29;
this.COM2Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.COM2Checkbox.UseVisualStyleBackColor = true;
@@ -468,13 +699,14 @@ private void InitializeComponent()
this.FDCCheckbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.FDCCheckbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.FDCCheckbox.IsActive = false;
- this.FDCCheckbox.Location = new System.Drawing.Point(194, 39);
- this.FDCCheckbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.FDCCheckbox.Location = new System.Drawing.Point(106, 21);
+ this.FDCCheckbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.FDCCheckbox.Name = "FDCCheckbox";
- this.FDCCheckbox.Size = new System.Drawing.Size(29, 26);
+ this.FDCCheckbox.Size = new System.Drawing.Size(16, 14);
this.FDCCheckbox.TabIndex = 28;
this.FDCCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.FDCCheckbox.UseVisualStyleBackColor = true;
+ this.FDCCheckbox.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
//
// MouseCheckbox
//
@@ -482,10 +714,10 @@ private void InitializeComponent()
this.MouseCheckbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.MouseCheckbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.MouseCheckbox.IsActive = false;
- this.MouseCheckbox.Location = new System.Drawing.Point(161, 39);
- this.MouseCheckbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.MouseCheckbox.Location = new System.Drawing.Point(88, 21);
+ this.MouseCheckbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.MouseCheckbox.Name = "MouseCheckbox";
- this.MouseCheckbox.Size = new System.Drawing.Size(29, 26);
+ this.MouseCheckbox.Size = new System.Drawing.Size(16, 14);
this.MouseCheckbox.TabIndex = 27;
this.MouseCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.MouseCheckbox.UseVisualStyleBackColor = true;
@@ -497,13 +729,14 @@ private void InitializeComponent()
this.RTCCheckbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.RTCCheckbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.RTCCheckbox.IsActive = false;
- this.RTCCheckbox.Location = new System.Drawing.Point(224, 39);
- this.RTCCheckbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.RTCCheckbox.Location = new System.Drawing.Point(122, 21);
+ this.RTCCheckbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.RTCCheckbox.Name = "RTCCheckbox";
- this.RTCCheckbox.Size = new System.Drawing.Size(29, 26);
+ this.RTCCheckbox.Size = new System.Drawing.Size(16, 14);
this.RTCCheckbox.TabIndex = 26;
this.RTCCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.RTCCheckbox.UseVisualStyleBackColor = true;
+ this.RTCCheckbox.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
//
// TMR2Checkbox
//
@@ -511,13 +744,14 @@ private void InitializeComponent()
this.TMR2Checkbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.TMR2Checkbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.TMR2Checkbox.IsActive = false;
- this.TMR2Checkbox.Location = new System.Drawing.Point(255, 39);
- this.TMR2Checkbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.TMR2Checkbox.Location = new System.Drawing.Point(139, 21);
+ this.TMR2Checkbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.TMR2Checkbox.Name = "TMR2Checkbox";
- this.TMR2Checkbox.Size = new System.Drawing.Size(29, 26);
+ this.TMR2Checkbox.Size = new System.Drawing.Size(16, 14);
this.TMR2Checkbox.TabIndex = 25;
this.TMR2Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.TMR2Checkbox.UseVisualStyleBackColor = true;
+ this.TMR2Checkbox.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
//
// TMR1Checkbox
//
@@ -525,10 +759,10 @@ private void InitializeComponent()
this.TMR1Checkbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.TMR1Checkbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.TMR1Checkbox.IsActive = false;
- this.TMR1Checkbox.Location = new System.Drawing.Point(286, 39);
- this.TMR1Checkbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.TMR1Checkbox.Location = new System.Drawing.Point(156, 21);
+ this.TMR1Checkbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.TMR1Checkbox.Name = "TMR1Checkbox";
- this.TMR1Checkbox.Size = new System.Drawing.Size(29, 26);
+ this.TMR1Checkbox.Size = new System.Drawing.Size(16, 14);
this.TMR1Checkbox.TabIndex = 24;
this.TMR1Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.TMR1Checkbox.UseVisualStyleBackColor = true;
@@ -541,10 +775,10 @@ private void InitializeComponent()
this.TMR0Checkbox.FlatAppearance.BorderSize = 0;
this.TMR0Checkbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.TMR0Checkbox.IsActive = false;
- this.TMR0Checkbox.Location = new System.Drawing.Point(317, 39);
- this.TMR0Checkbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.TMR0Checkbox.Location = new System.Drawing.Point(173, 21);
+ this.TMR0Checkbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.TMR0Checkbox.Name = "TMR0Checkbox";
- this.TMR0Checkbox.Size = new System.Drawing.Size(29, 26);
+ this.TMR0Checkbox.Size = new System.Drawing.Size(16, 14);
this.TMR0Checkbox.TabIndex = 23;
this.TMR0Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.TMR0Checkbox.UseVisualStyleBackColor = false;
@@ -556,55 +790,25 @@ private void InitializeComponent()
this.SOLCheckbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.SOLCheckbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.SOLCheckbox.IsActive = false;
- this.SOLCheckbox.Location = new System.Drawing.Point(348, 39);
- this.SOLCheckbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.SOLCheckbox.Location = new System.Drawing.Point(190, 21);
+ this.SOLCheckbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.SOLCheckbox.Name = "SOLCheckbox";
- this.SOLCheckbox.Size = new System.Drawing.Size(29, 26);
+ this.SOLCheckbox.Size = new System.Drawing.Size(16, 14);
this.SOLCheckbox.TabIndex = 22;
this.SOLCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.SOLCheckbox.UseVisualStyleBackColor = true;
this.SOLCheckbox.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
//
- // Reg2Label
- //
- this.Reg2Label.AutoSize = true;
- this.Reg2Label.Location = new System.Drawing.Point(7, 105);
- this.Reg2Label.Margin = new System.Windows.Forms.Padding(7, 0, 7, 0);
- this.Reg2Label.Name = "Reg2Label";
- this.Reg2Label.Size = new System.Drawing.Size(97, 24);
- this.Reg2Label.TabIndex = 21;
- this.Reg2Label.Text = "IRQ Reg 2";
- //
- // Reg1Label
- //
- this.Reg1Label.AutoSize = true;
- this.Reg1Label.Location = new System.Drawing.Point(7, 72);
- this.Reg1Label.Margin = new System.Windows.Forms.Padding(7, 0, 7, 0);
- this.Reg1Label.Name = "Reg1Label";
- this.Reg1Label.Size = new System.Drawing.Size(97, 24);
- this.Reg1Label.TabIndex = 20;
- this.Reg1Label.Text = "IRQ Reg 1";
- //
- // Reg0Label
- //
- this.Reg0Label.AutoSize = true;
- this.Reg0Label.Location = new System.Drawing.Point(7, 41);
- this.Reg0Label.Margin = new System.Windows.Forms.Padding(7, 0, 7, 0);
- this.Reg0Label.Name = "Reg0Label";
- this.Reg0Label.Size = new System.Drawing.Size(97, 24);
- this.Reg0Label.TabIndex = 19;
- this.Reg0Label.Text = "IRQ Reg 0";
- //
// KeyboardCheckBox
//
this.KeyboardCheckBox.Checked = true;
this.KeyboardCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.KeyboardCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.KeyboardCheckBox.IsActive = false;
- this.KeyboardCheckBox.Location = new System.Drawing.Point(378, 72);
- this.KeyboardCheckBox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.KeyboardCheckBox.Location = new System.Drawing.Point(206, 39);
+ this.KeyboardCheckBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.KeyboardCheckBox.Name = "KeyboardCheckBox";
- this.KeyboardCheckBox.Size = new System.Drawing.Size(29, 26);
+ this.KeyboardCheckBox.Size = new System.Drawing.Size(16, 14);
this.KeyboardCheckBox.TabIndex = 18;
this.KeyboardCheckBox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.KeyboardCheckBox.UseVisualStyleBackColor = true;
@@ -616,76 +820,30 @@ private void InitializeComponent()
this.SOFCheckbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.SOFCheckbox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.SOFCheckbox.IsActive = false;
- this.SOFCheckbox.Location = new System.Drawing.Point(378, 39);
- this.SOFCheckbox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.SOFCheckbox.Location = new System.Drawing.Point(206, 21);
+ this.SOFCheckbox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.SOFCheckbox.Name = "SOFCheckbox";
- this.SOFCheckbox.Size = new System.Drawing.Size(29, 26);
+ this.SOFCheckbox.Size = new System.Drawing.Size(16, 14);
this.SOFCheckbox.TabIndex = 17;
this.SOFCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.SOFCheckbox.UseVisualStyleBackColor = true;
this.SOFCheckbox.CheckedChanged += new System.EventHandler(this.IRQCheckbox_CheckedChanged);
//
- // BreakOnIRQCheckBox
- //
- this.BreakOnIRQCheckBox.AutoSize = true;
- this.BreakOnIRQCheckBox.BackColor = System.Drawing.SystemColors.Control;
- this.BreakOnIRQCheckBox.Checked = true;
- this.BreakOnIRQCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
- this.BreakOnIRQCheckBox.Location = new System.Drawing.Point(7, 6);
- this.BreakOnIRQCheckBox.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
- this.BreakOnIRQCheckBox.Name = "BreakOnIRQCheckBox";
- this.BreakOnIRQCheckBox.Size = new System.Drawing.Size(154, 28);
- this.BreakOnIRQCheckBox.TabIndex = 16;
- this.BreakOnIRQCheckBox.Text = "Break on IRQ";
- this.BreakOnIRQCheckBox.UseVisualStyleBackColor = false;
- this.BreakOnIRQCheckBox.CheckedChanged += new System.EventHandler(this.BreakOnIRQCheckBox_CheckedChanged);
- //
- // LabelOverlayButton
- //
- this.LabelOverlayButton.BackColor = System.Drawing.SystemColors.ActiveCaption;
- this.LabelOverlayButton.FlatAppearance.BorderSize = 0;
- this.LabelOverlayButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
- this.LabelOverlayButton.Location = new System.Drawing.Point(363, 369);
- this.LabelOverlayButton.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
- this.LabelOverlayButton.Name = "LabelOverlayButton";
- this.LabelOverlayButton.Size = new System.Drawing.Size(33, 33);
- this.LabelOverlayButton.TabIndex = 13;
- this.LabelOverlayButton.TabStop = false;
- this.LabelOverlayButton.Text = "L";
- this.LabelOverlayButton.UseVisualStyleBackColor = false;
- this.LabelOverlayButton.Visible = false;
- this.LabelOverlayButton.Click += new System.EventHandler(this.LabelOverlayButton_Click);
- //
- // DebugPanel
- //
- this.DebugPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.DebugPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.DebugPanel.Location = new System.Drawing.Point(0, 233);
- this.DebugPanel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
- this.DebugPanel.Name = "DebugPanel";
- this.DebugPanel.Size = new System.Drawing.Size(1109, 633);
- this.DebugPanel.TabIndex = 6;
- this.DebugPanel.TabStop = false;
- this.DebugPanel.MouseClick += new System.Windows.Forms.MouseEventHandler(this.DebugPanel_MouseClick);
- this.DebugPanel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.DebugPanel_MouseMove);
- //
// registerDisplay1
//
this.registerDisplay1.CPU = null;
- this.registerDisplay1.Location = new System.Drawing.Point(4, 92);
- this.registerDisplay1.Margin = new System.Windows.Forms.Padding(11, 9, 11, 9);
+ this.registerDisplay1.Location = new System.Drawing.Point(2, 50);
+ this.registerDisplay1.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.registerDisplay1.Name = "registerDisplay1";
- this.registerDisplay1.Size = new System.Drawing.Size(671, 90);
+ this.registerDisplay1.Size = new System.Drawing.Size(366, 49);
this.registerDisplay1.TabIndex = 0;
this.registerDisplay1.MouseEnter += new System.EventHandler(this.DebugPanel_Leave);
//
// CPUWindow
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F);
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(1390, 864);
+ this.ClientSize = new System.Drawing.Size(758, 485);
this.Controls.Add(this.LabelOverlayButton);
this.Controls.Add(this.irqPanel);
this.Controls.Add(this.HeaderTextbox);
@@ -703,11 +861,11 @@ private void InitializeComponent()
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.Location = new System.Drawing.Point(1280, 0);
- this.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
+ this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.MaximizeBox = false;
- this.MaximumSize = new System.Drawing.Size(1845, 935);
+ this.MaximumSize = new System.Drawing.Size(1014, 524);
this.MinimizeBox = false;
- this.MinimumSize = new System.Drawing.Size(1388, 935);
+ this.MinimumSize = new System.Drawing.Size(764, 524);
this.Name = "CPUWindow";
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "CPU Window";
@@ -764,12 +922,21 @@ private void InitializeComponent()
private ColorCheckBox TMR2Checkbox;
private ColorCheckBox TMR1Checkbox;
private ColorCheckBox TMR0Checkbox;
- private ColorCheckBox OPL2LCheckbox;
- private ColorCheckBox OPL2RCheckbox;
+ private ColorCheckBox GabeInt0Check;
+ private ColorCheckBox OPL3Checkbox;
private ColorCheckBox SDCardCheckBox;
private ColorCheckBox SOFCheckbox;
private ColorCheckBox KeyboardCheckBox;
private System.Windows.Forms.Button BreakpointButton;
public System.Windows.Forms.TextBox locationInput;
+ private ColorCheckBox V2BitColCheck;
+ private ColorCheckBox V2SprColCheck;
+ private ColorCheckBox GabeInt1Check;
+ private ColorCheckBox VDMACheck;
+ private ColorCheckBox V2TileColCheck;
+ private ColorCheckBox GabeInt2Check;
+ private ColorCheckBox ExtExpCheck;
+ private ColorCheckBox SDCardInsertCheck;
+ private ColorCheckBox ParallelPortCheck;
}
}
\ No newline at end of file
diff --git a/Main/UI/CPUWindow.cs b/Main/UI/CPUWindow.cs
index 7424502..6fe08cc 100644
--- a/Main/UI/CPUWindow.cs
+++ b/Main/UI/CPUWindow.cs
@@ -34,6 +34,8 @@ public partial class CPUWindow : Form
Point position = new Point();
private int MemoryLimit = 0;
+ // Depending on the board
+ private BoardVersion boardVersion;
public CPUWindow()
{
@@ -44,6 +46,17 @@ public CPUWindow()
breakpointWindow.DeleteEvent += DeleteEventHandler;
}
+ /**
+ * Change the board version.
+ * The interrupts for F256s are different than C256s.
+ */
+ public void SetBoardVersion(BoardVersion version)
+ {
+ boardVersion = version;
+ DisplayInterruptTooltips();
+ BreakOnIRQCheckBox_CheckedChanged(null, null);
+ }
+
public void SetKernel(FoenixSystem kernel)
{
this.kernel = kernel;
@@ -104,27 +117,9 @@ private void CPUWindow_Load(object sender, EventArgs e)
Tooltip.SetToolTip(DeleteBPOverlayButton, "Remove Breakpoint");
Tooltip.SetToolTip(InspectOverlayButton, "Browse Memory");
Tooltip.SetToolTip(StepOverOverlayButton, "Step Over");
- // Register 0
- Tooltip.SetToolTip(SOFCheckbox, "Break on SOF Interrupts");
- Tooltip.SetToolTip(SOLCheckbox, "Break on SOL Interrupts");
- Tooltip.SetToolTip(TMR0Checkbox, "Break on TMR0 Interrupts");
- Tooltip.SetToolTip(TMR1Checkbox, "Break on TMR1 Interrupts");
- Tooltip.SetToolTip(TMR2Checkbox, "Break on TMR2 Interrupts");
- Tooltip.SetToolTip(RTCCheckbox, "Break on RTC Interrupts");
- Tooltip.SetToolTip(FDCCheckbox, "Break on FDC Interrupts");
- Tooltip.SetToolTip(MouseCheckbox, "Break on Mouse Interrupts");
-
- // Register 1
- Tooltip.SetToolTip(KeyboardCheckBox, "Break on Keyboard Interrupts");
- Tooltip.SetToolTip(COM2Checkbox, "Break on COM2 Interrupts");
- Tooltip.SetToolTip(COM1Checkbox, "Break on COM1 Interrupts");
- Tooltip.SetToolTip(MPU401Checkbox, "Break on MPU401 Interrupts");
- Tooltip.SetToolTip(SDCardCheckBox, "Break on SD Card Interrupts");
-
- // Register 2
- Tooltip.SetToolTip(OPL2RCheckbox, "Break on OPL2 Right Interrupts");
- Tooltip.SetToolTip(OPL2LCheckbox, "Break on OPL2 Left Interrupts");
+
DebugPanel.Paint += new System.Windows.Forms.PaintEventHandler(DebugPanel_Paint);
+ DisplayInterruptTooltips();
}
@@ -243,6 +238,65 @@ private void DebugPanel_Paint(object sender, PaintEventArgs e)
}
}
+ private void DisplayInterruptTooltips()
+ {
+ bool isJunior = BoardVersionHelpers.IsJr(boardVersion);
+ if (isJunior)
+ {
+ // this is going to be confusing - the F256 Interrupts are different
+ // Register 0
+ Tooltip.SetToolTip(SOFCheckbox, "Break on SOF Interrupts");
+ Tooltip.SetToolTip(SOLCheckbox, "Break on SOL Interrupts");
+ Tooltip.SetToolTip(TMR0Checkbox, "Break on Keyboard Interrupts");
+ Tooltip.SetToolTip(TMR1Checkbox, "Break on Mouse Interrupts");
+ Tooltip.SetToolTip(TMR2Checkbox, "Break on Timer0 Interrupts");
+ Tooltip.SetToolTip(RTCCheckbox, "Break on Timer1 Interrupts");
+ Tooltip.SetToolTip(FDCCheckbox, "Break on DMA Interrupts");
+ Tooltip.SetToolTip(MouseCheckbox, "Break on Reserved Interrupts");
+
+ // Register 1
+ Tooltip.SetToolTip(KeyboardCheckBox, "Break on UART Interrupts");
+ Tooltip.SetToolTip(V2SprColCheck, "Break on Vicky Int2 Interrupts");
+ Tooltip.SetToolTip(V2BitColCheck, "Break on Vicky Int3 Interrupts");
+ Tooltip.SetToolTip(COM2Checkbox, "Break on Vicky Int4 Interrupts");
+ Tooltip.SetToolTip(COM1Checkbox, "Break on RTC Interrupts");
+ Tooltip.SetToolTip(MPU401Checkbox, "Break on VIA Interrupts");
+ Tooltip.SetToolTip(ParallelPortCheck, "Break on IEC Interrupts");
+ Tooltip.SetToolTip(SDCardCheckBox, "Break on SD Card Interrupts");
+ }
+ else
+ {
+ // Register 0
+ Tooltip.SetToolTip(SOFCheckbox, "Break on SOF Interrupts");
+ Tooltip.SetToolTip(SOLCheckbox, "Break on SOL Interrupts");
+ Tooltip.SetToolTip(TMR0Checkbox, "Break on TMR0 Interrupts");
+ Tooltip.SetToolTip(TMR1Checkbox, "Break on TMR1 Interrupts");
+ Tooltip.SetToolTip(TMR2Checkbox, "Break on TMR2 Interrupts");
+ Tooltip.SetToolTip(RTCCheckbox, "Break on RTC Interrupts");
+ Tooltip.SetToolTip(FDCCheckbox, "Break on FDC Interrupts");
+ Tooltip.SetToolTip(MouseCheckbox, "Break on Mouse Interrupts");
+
+ // Register 1
+ Tooltip.SetToolTip(KeyboardCheckBox, "Break on Keyboard Interrupts");
+ Tooltip.SetToolTip(V2SprColCheck, "Break on Sprite Collision Interrupts");
+ Tooltip.SetToolTip(V2BitColCheck, "Break on Bitmap Collision Interrupts");
+ Tooltip.SetToolTip(COM2Checkbox, "Break on COM2 Interrupts");
+ Tooltip.SetToolTip(COM1Checkbox, "Break on COM1 Interrupts");
+ Tooltip.SetToolTip(MPU401Checkbox, "Break on MIDI Ctrlr Interrupts");
+ Tooltip.SetToolTip(ParallelPortCheck, "Break on Parallel Interrupts");
+ Tooltip.SetToolTip(SDCardCheckBox, "Break on SD Card Interrupts");
+
+ // Register 2
+ Tooltip.SetToolTip(OPL3Checkbox, "Break on OPL3 Interrupts");
+ Tooltip.SetToolTip(GabeInt0Check, "Break on Gabe INT0 Interrupts");
+ Tooltip.SetToolTip(GabeInt1Check, "Break on Gabe INT1 Interrupts");
+ Tooltip.SetToolTip(VDMACheck, "Break on VDMA Interrupts");
+ Tooltip.SetToolTip(V2TileColCheck, "Break on Tile Collision Interrupts");
+ Tooltip.SetToolTip(GabeInt2Check, "Break on Gabe INT2 Interrupts");
+ Tooltip.SetToolTip(ExtExpCheck, "Break on External Expansion Interrupts");
+ Tooltip.SetToolTip(SDCardInsertCheck, "Break on SDCard Insertion Interrupts");
+ }
+ }
private void DebugPanel_MouseMove(object sender, MouseEventArgs e)
{
if (kernel.CPU.DebugPause)
@@ -825,23 +879,70 @@ private void CPUWindow_KeyDown(object sender, KeyEventArgs e)
private void BreakOnIRQCheckBox_CheckedChanged(object sender, EventArgs e)
{
bool visible = BreakOnIRQCheckBox.Checked;
- SOFCheckbox.Visible = visible;
- SOLCheckbox.Visible = visible;
- TMR0Checkbox.Visible = visible;
- TMR1Checkbox.Visible = visible;
- TMR2Checkbox.Visible = visible;
- RTCCheckbox.Visible = visible;
- FDCCheckbox.Visible = visible;
- MouseCheckbox.Visible = visible;
-
- KeyboardCheckBox.Visible = visible;
- COM2Checkbox.Visible = visible;
- COM1Checkbox.Visible = visible;
- MPU401Checkbox.Visible = visible;
- SDCardCheckBox.Visible = visible;
-
- OPL2LCheckbox.Visible = visible;
- OPL2RCheckbox.Visible = visible;
+ if (BoardVersionHelpers.IsJr(boardVersion))
+ {
+ // Row 1
+ SOFCheckbox.Visible = visible;
+ SOLCheckbox.Visible = visible;
+ TMR0Checkbox.Visible = visible;
+ TMR1Checkbox.Visible = visible;
+ TMR2Checkbox.Visible = visible;
+ RTCCheckbox.Visible = visible;
+ FDCCheckbox.Visible = visible;
+ MouseCheckbox.Visible = visible;
+
+ // Row 2
+ KeyboardCheckBox.Visible = visible;
+ V2SprColCheck.Visible = visible;
+ V2BitColCheck.Visible = visible;
+ COM2Checkbox.Visible = visible;
+ COM1Checkbox.Visible = visible;
+ MPU401Checkbox.Visible = visible;
+ ParallelPortCheck.Visible = visible;
+ SDCardCheckBox.Visible = visible;
+
+ // Row 3
+ OPL3Checkbox.Visible = false;
+ GabeInt0Check.Visible = false;
+ GabeInt1Check.Visible = false;
+ VDMACheck.Visible = false;
+ V2TileColCheck.Visible = false;
+ GabeInt2Check.Visible = false;
+ ExtExpCheck.Visible = false;
+ SDCardInsertCheck.Visible = false;
+ }
+ else
+ {
+ // Row 1
+ SOFCheckbox.Visible = visible;
+ SOLCheckbox.Visible = visible;
+ TMR0Checkbox.Visible = visible;
+ TMR1Checkbox.Visible = visible;
+ TMR2Checkbox.Visible = visible;
+ RTCCheckbox.Visible = visible;
+ FDCCheckbox.Visible = visible;
+ MouseCheckbox.Visible = visible;
+
+ // Row 2
+ KeyboardCheckBox.Visible = visible;
+ V2SprColCheck.Visible = visible;
+ V2BitColCheck.Visible = visible;
+ COM2Checkbox.Visible = visible;
+ COM1Checkbox.Visible = visible;
+ MPU401Checkbox.Visible = visible;
+ ParallelPortCheck.Visible = visible;
+ SDCardCheckBox.Visible = visible;
+
+ // Row 3
+ OPL3Checkbox.Visible = visible;
+ GabeInt0Check.Visible = visible;
+ GabeInt1Check.Visible = visible;
+ VDMACheck.Visible = visible;
+ V2TileColCheck.Visible = visible;
+ GabeInt2Check.Visible = visible;
+ ExtExpCheck.Visible = visible;
+ SDCardInsertCheck.Visible = visible;
+ }
}
///
@@ -853,93 +954,58 @@ private bool InterruptMatchesCheckboxes()
// Read Interrupt Register 0
byte reg0 = kernel.MemMgr.INTERRUPT.ReadByte(0);
bool result = false;
- if (SOFCheckbox.Checked && (reg0 & (byte)Register0.FNX0_INT00_SOF) != 0)
+ ColorCheckBox[] row1 = { SOFCheckbox, SOLCheckbox, TMR0Checkbox, TMR1Checkbox, TMR2Checkbox, RTCCheckbox, FDCCheckbox, MouseCheckbox };
+ for (int i =0; i<8;i++)
{
- SOFCheckbox.IsActive = true;
- result = true;
- }
- else
- {
- if (SOFCheckbox.IsActive) SOFCheckbox.IsActive = false;
- }
- if (SOLCheckbox.Checked && (reg0 & (byte)Register0.FNX0_INT01_SOL) != 0)
- {
- SOLCheckbox.IsActive = true;
- result = true;
- }
- else
- {
- if (SOLCheckbox.IsActive) SOLCheckbox.IsActive = false;
- }
- if (TMR0Checkbox.Checked && (reg0 & (byte)Register0.FNX0_INT02_TMR0) != 0)
- {
- TMR0Checkbox.IsActive = true;
- result = true;
- }
- else
- {
- if (TMR0Checkbox.IsActive) TMR0Checkbox.IsActive = false;
- }
-
- if (TMR1Checkbox.Checked && (reg0 & (byte)Register0.FNX0_INT03_TMR1) != 0)
- {
- TMR1Checkbox.IsActive = true;
- result = true;
- }
- else
- {
- if (TMR1Checkbox.IsActive)
- TMR1Checkbox.IsActive = false;
- }
- if (TMR2Checkbox.Checked && (reg0 & (byte)Register0.FNX0_INT04_TMR2) != 0)
- {
- TMR2Checkbox.IsActive = true;
- result = true;
- }
- else
- {
- if (TMR2Checkbox.IsActive)
- TMR2Checkbox.IsActive = false;
- }
- if (MouseCheckbox.Checked && (reg0 & (byte)Register0.FNX0_INT07_MOUSE) != 0)
- {
- MouseCheckbox.IsActive = true;
- result = true;
- }
- else
- {
- if (MouseCheckbox.IsActive)
- MouseCheckbox.IsActive = false;
+ if (row1[i].Checked && (reg0 & 1 << i) != 0)
+ {
+ row1[i].IsActive = true;
+ result = true;
+ }
+ else
+ {
+ row1[i].IsActive = false;
+ }
}
// Read Interrupt Register 1
byte reg1 = kernel.MemMgr.INTERRUPT.ReadByte(1);
- if (SDCardCheckBox.Checked && (reg1 & (byte)Register1.FNX1_INT07_SDCARD ) != 0)
- {
- SDCardCheckBox.IsActive = true;
- result = true;
- }
- else
- {
- if (SDCardCheckBox.IsActive)
- SDCardCheckBox.IsActive = false;
- }
- if (KeyboardCheckBox.Checked && (reg1 & (byte)Register1.FNX1_INT00_KBD) != 0)
+ ColorCheckBox[] row2 = { KeyboardCheckBox, V2SprColCheck, V2BitColCheck, COM2Checkbox, COM1Checkbox, MPU401Checkbox, ParallelPortCheck, SDCardCheckBox };
+ for (int i = 0; i < 8; i++)
{
- KeyboardCheckBox.IsActive = true;
- result = true;
- }
- else
- {
- if (KeyboardCheckBox.IsActive)
- KeyboardCheckBox.IsActive = false;
+ if (row2[i].Checked && (reg1 & 1 << i) != 0)
+ {
+ row2[i].IsActive = true;
+ result = true;
+ }
+ else
+ {
+ row2[i].IsActive = false;
+ }
}
+
+ // The F256s do not have the following registers
if (!BoardVersionHelpers.IsJr(kernel.GetVersion()))
{
//Read Interrupt Register 2 - we don't handle these yet
byte reg2 = kernel.MemMgr.INTERRUPT.ReadByte(2);
+ ColorCheckBox[] row3 = { OPL3Checkbox, GabeInt0Check, GabeInt1Check, VDMACheck, V2TileColCheck, GabeInt2Check, ExtExpCheck, SDCardInsertCheck };
+ for (int i = 0; i < 8; i++)
+ {
+ if (row3[i].Checked && (reg1 & 1 << i) != 0)
+ {
+ row3[i].IsActive = true;
+ result = true;
+ }
+ else
+ {
+ row3[i].IsActive = false;
+ }
+ }
+
//Read Interrupt Register 3 - we don't handle these yet
byte reg3 = kernel.MemMgr.INTERRUPT.ReadByte(3);
+ // As you can see, row4 is not implemented
}
return result;
}
diff --git a/Main/UI/CPUWindow.resx b/Main/UI/CPUWindow.resx
index 3e1ee34..64d63c1 100644
--- a/Main/UI/CPUWindow.resx
+++ b/Main/UI/CPUWindow.resx
@@ -117,12 +117,168 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
17, 17
+
+ True
+
+
+ True
+
259, 17
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
65
diff --git a/Main/UI/MainWindow.Designer.cs b/Main/UI/MainWindow.Designer.cs
index c2d389d..427baf8 100644
--- a/Main/UI/MainWindow.Designer.cs
+++ b/Main/UI/MainWindow.Designer.cs
@@ -180,7 +180,7 @@ private void InitializeComponent()
this.SDCardPath.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
this.SDCardPath.Name = "SDCardPath";
this.SDCardPath.Overflow = System.Windows.Forms.ToolStripItemOverflow.Always;
- this.SDCardPath.Size = new System.Drawing.Size(173, 25);
+ this.SDCardPath.Size = new System.Drawing.Size(204, 25);
this.SDCardPath.Spring = true;
this.SDCardPath.Text = "SD Card Disabled";
this.SDCardPath.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -371,7 +371,7 @@ private void InitializeComponent()
this.autorunEmulatorToolStripMenuItem.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
this.autorunEmulatorToolStripMenuItem.Name = "autorunEmulatorToolStripMenuItem";
this.autorunEmulatorToolStripMenuItem.Padding = new System.Windows.Forms.Padding(0, 2, 0, 1);
- this.autorunEmulatorToolStripMenuItem.Size = new System.Drawing.Size(169, 23);
+ this.autorunEmulatorToolStripMenuItem.Size = new System.Drawing.Size(180, 23);
this.autorunEmulatorToolStripMenuItem.Text = "Autorun Emulator";
this.autorunEmulatorToolStripMenuItem.Click += new System.EventHandler(this.AutorunEmulatorToolStripMenuItem_Click);
//
@@ -390,7 +390,7 @@ private void InitializeComponent()
// terminalToolStripMenuItem
//
this.terminalToolStripMenuItem.Name = "terminalToolStripMenuItem";
- this.terminalToolStripMenuItem.Size = new System.Drawing.Size(129, 22);
+ this.terminalToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.terminalToolStripMenuItem.Text = "&Terminal";
this.terminalToolStripMenuItem.Click += new System.EventHandler(this.TerminalToolStripMenuItem_Click);
//
@@ -398,7 +398,7 @@ private void InitializeComponent()
//
this.cPUToolStripMenuItem.Enabled = false;
this.cPUToolStripMenuItem.Name = "cPUToolStripMenuItem";
- this.cPUToolStripMenuItem.Size = new System.Drawing.Size(129, 22);
+ this.cPUToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.cPUToolStripMenuItem.Text = "&CPU";
this.cPUToolStripMenuItem.Click += new System.EventHandler(this.CPUToolStripMenuItem_Click);
//
@@ -406,21 +406,21 @@ private void InitializeComponent()
//
this.memoryToolStripMenuItem.Enabled = false;
this.memoryToolStripMenuItem.Name = "memoryToolStripMenuItem";
- this.memoryToolStripMenuItem.Size = new System.Drawing.Size(129, 22);
+ this.memoryToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.memoryToolStripMenuItem.Text = "&Memory";
this.memoryToolStripMenuItem.Click += new System.EventHandler(this.MemoryToolStripMenuItem_Click);
//
// watchListToolStripMenuItem
//
this.watchListToolStripMenuItem.Name = "watchListToolStripMenuItem";
- this.watchListToolStripMenuItem.Size = new System.Drawing.Size(129, 22);
+ this.watchListToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.watchListToolStripMenuItem.Text = "Watch List";
this.watchListToolStripMenuItem.Click += new System.EventHandler(this.WatchListToolStripMenuItem_Click);
//
// assetListToolStripMenuItem
//
this.assetListToolStripMenuItem.Name = "assetListToolStripMenuItem";
- this.assetListToolStripMenuItem.Size = new System.Drawing.Size(129, 22);
+ this.assetListToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.assetListToolStripMenuItem.Text = "Asset List";
this.assetListToolStripMenuItem.Click += new System.EventHandler(this.AssetListToolStripMenuItem_Click);
//
diff --git a/Main/UI/MainWindow.cs b/Main/UI/MainWindow.cs
index 1fc75a3..8992536 100644
--- a/Main/UI/MainWindow.cs
+++ b/Main/UI/MainWindow.cs
@@ -127,7 +127,7 @@ public MainWindow(Dictionary context)
case "Jr":
version = BoardVersion.RevJr_6502;
break;
- case "Jr816":
+ case "Jr(816)":
version = BoardVersion.RevJr_65816;
break;
}
@@ -165,7 +165,7 @@ private void BasicWindow_Load(object sender, EventArgs e)
{
kernel = new FoenixSystem(version, defaultKernel);
terminal = new SerialTerminal();
- ShowDebugWindow();
+ ShowDebugWindow(version);
ShowMemoryWindow();
// Now that the kernel is initialized, allocate variables to the GPU
@@ -308,7 +308,7 @@ private void LoadExecutableFile(string Filename)
gpu.Refresh();
if (kernel.lstFile != null)
{
- ShowDebugWindow();
+ ShowDebugWindow(version);
ShowMemoryWindow();
}
ResetSDCard();
@@ -316,7 +316,7 @@ private void LoadExecutableFile(string Filename)
}
}
- private void ShowDebugWindow()
+ private void ShowDebugWindow(BoardVersion ver)
{
cPUToolStripMenuItem.Enabled = true;
if (debugWindow == null || debugWindow.IsDisposed)
@@ -327,11 +327,13 @@ private void ShowDebugWindow()
Top = Screen.PrimaryScreen.WorkingArea.Top,
};
debugWindow.Left = Screen.PrimaryScreen.WorkingArea.Width - debugWindow.Width;
+ debugWindow.SetBoardVersion(ver);
debugWindow.SetKernel(kernel);
debugWindow.Show();
}
else
{
+ debugWindow.SetBoardVersion(ver);
debugWindow.SetKernel(kernel);
debugWindow.BringToFront();
}
@@ -750,7 +752,7 @@ private void Gpu_Update_Cps_Fps()
private void CPUToolStripMenuItem_Click(object sender, EventArgs e)
{
- ShowDebugWindow();
+ ShowDebugWindow(version);
}
private void MemoryToolStripMenuItem_Click(object sender, EventArgs e)
@@ -933,7 +935,7 @@ private void LoadFNXMLFileToolStripMenuItem_Click(object sender, EventArgs e)
gpu.Refresh();
debugWindow.Pause();
SetDipSwitchMemory();
- ShowDebugWindow();
+ ShowDebugWindow(version);
if (BoardVersionHelpers.IsJr(version))
{
// Now update other registers
@@ -1539,7 +1541,7 @@ private void MainWindow_DragEnter(object sender, DragEventArgs e)
{
FileInfo info = new FileInfo(obj[0]);
string extension = info.Extension.ToUpper();
- if (extension.Equals(".HEX") || extension.Equals(".PGX") || extension.Equals(".PGZ"))
+ if (extension.Equals(".HEX") || extension.Equals(".PGX") || extension.Equals(".PGZ") || extension.Equals(".BIN"))
{
e.Effect = DragDropEffects.Copy;
return;
diff --git a/Main/UI/MainWindow.resx b/Main/UI/MainWindow.resx
index b1b21a5..7abef5a 100644
--- a/Main/UI/MainWindow.resx
+++ b/Main/UI/MainWindow.resx
@@ -120,12 +120,24 @@
17, 17
+
+ True
+
128, 18
+
+ True
+
253, 18
+
+ True
+
+
+ True
+
36
diff --git a/Main/UI/MemoryWindow.resx b/Main/UI/MemoryWindow.resx
index 5fc1bf9..ddae62c 100644
--- a/Main/UI/MemoryWindow.resx
+++ b/Main/UI/MemoryWindow.resx
@@ -117,6 +117,36 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
>000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
>000010 00 00 00 00 00 00 00 FF FF 00 FF 00 FF 00 00 00 ........ ........
@@ -141,9 +171,54 @@
35, 9
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
448, 11
+
+ True
+
71
diff --git a/Release Notes.txt b/Release Notes.txt
index 8313d90..a648095 100644
--- a/Release Notes.txt
+++ b/Release Notes.txt
@@ -1,3 +1,15 @@
+Release 0.6.0.8
+---------------
+Fixed the interrupt checkboxes and the tooltips in the CPU Window to match the F256 or C256 registers.
+Fixed an issue when loading .bin files - this now goes only to RAM, not devices.
+Re-adjusted controls position in the Main and CPU windows and locked the forms.
+Fixed issue when the machine was left in Jr(816) it would restart in C mode.
+Changing the board version in the Main Window now is properly reflected in the CPU Window.
+** TODO: Update the Keyboard device for F256Jr (ScanCode Set 2).
+** TODO: Users can now modify the CPU registers when in debug mode. The registers have a white background when editable.
+** TODO: Implemented the various cursor modes and rates.
+** TODO: Add breaklines in debugger listing, when memory is not contiguous.
+
Release 0.6.0.7
---------------
Added new breakpoint window that will break upon detection of Program Counter and memory addresses read and writes.
@@ -8,11 +20,6 @@ Closes issue #26: https://github.com/Trinity-11/FoenixIDE/issues/26 - crash when
When detecting the out of order lines, the LoadHex file will create a new block and change the cursor to the new address.
Added drag-n-drop for .bin files.
-** TODO: Update the Keyboard device for F256Jr (ScanCode Set 2).
-** TODO: Users can now modify the CPU registers when in debug mode. The registers have a white background when editable.
-** TODO: Implemented the various cursor modes and rates.
-** TODO: Add breaklines in debugger listing, when memory is not contiguous.
-
Release 0.6.0.6
---------------
Fixed sprite layer ordering for the F256Jr.