diff --git a/FoenixIDE.sln b/FoenixIDE.sln index 6400b74..a998f80 100644 --- a/FoenixIDE.sln +++ b/FoenixIDE.sln @@ -6,6 +6,7 @@ MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{6F8BC56C-269E-4E6D-BC71-9A5A646BC9EE}" ProjectSection(SolutionItems) = preProject foenix-96x96.png = foenix-96x96.png + README.md = README.md Release Notes.txt = Release Notes.txt EndProjectSection EndProject diff --git a/Main/FoenixSystem.cs b/Main/FoenixSystem.cs index d7a03c2..4e62ce9 100644 --- a/Main/FoenixSystem.cs +++ b/Main/FoenixSystem.cs @@ -118,7 +118,22 @@ public FoenixSystem(BoardVersion version, string DefaultKernel) // Set board revision MemMgr.GABE.WriteByte(MemoryMap.REVOFPCB_C - MemoryMap.GABE_START, (byte)'E'); MemMgr.GABE.WriteByte(MemoryMap.REVOFPCB_4 - MemoryMap.GABE_START, (byte)'M'); - MemMgr.GABE.WriteByte(MemoryMap.REVOFPCB_A - MemoryMap.GABE_START, (byte)'U'); + switch (boardVersion) + { + case BoardVersion.RevB: + MemMgr.GABE.WriteByte(MemoryMap.REVOFPCB_A - MemoryMap.GABE_START, (byte)'B'); + break; + case BoardVersion.RevC: + MemMgr.GABE.WriteByte(MemoryMap.REVOFPCB_A - MemoryMap.GABE_START, (byte)'C'); + break; + case BoardVersion.RevU: + MemMgr.GABE.WriteByte(MemoryMap.REVOFPCB_A - MemoryMap.GABE_START, (byte)'U'); + break; + case BoardVersion.RevUPlus: + MemMgr.GABE.WriteByte(MemoryMap.REVOFPCB_A - MemoryMap.GABE_START, (byte)'+'); + break; + } + // Set the rev date } diff --git a/Main/UI/AssetLoader.cs b/Main/UI/AssetLoader.cs index e1292d9..7a792cb 100644 --- a/Main/UI/AssetLoader.cs +++ b/Main/UI/AssetLoader.cs @@ -316,7 +316,7 @@ private unsafe void ConvertBitmapToRaw(Bitmap bitmap, ResourceChecker.Resource r List lut = null; - while (!done && mask != 0xc0) + while (!done && mask != 0x80) { int transparentColor = 0; try @@ -379,6 +379,8 @@ private unsafe void ConvertBitmapToRaw(Bitmap bitmap, ResourceChecker.Resource r b = (byte)(bitmapPointer[line * bitmapData.Stride + col * bytesPerPixel] & mask); g = (byte)(bitmapPointer[line * bitmapData.Stride + col * bytesPerPixel + 1] & mask); r = (byte)(bitmapPointer[line * bitmapData.Stride + col * bytesPerPixel + 2] & mask); + // TODO - try this approximation + // break; case 4: b = (byte)(bitmapPointer[line * bitmapData.Stride + col * bytesPerPixel] & mask); @@ -388,7 +390,12 @@ private unsafe void ConvertBitmapToRaw(Bitmap bitmap, ResourceChecker.Resource r break; } - int rgb = b + g * 256 + r * 256 * 256; + int rgb = rgb = b + g * 256 + r * 256 * 256; + if (rgb != 0 && bytesPerPixel == 3 && mask == 0xc0) + { + rgb = (r * 7 / 255) << 5 + (g * 7 / 255) << 2 + (b * 3 / 255); + } + // Check if the RBG matches the transparent color int index = 0; if (rgb != transparentColor ) diff --git a/Main/UI/CPUWindow.Designer.cs b/Main/UI/CPUWindow.Designer.cs index edc38c4..bdb0464 100644 --- a/Main/UI/CPUWindow.Designer.cs +++ b/Main/UI/CPUWindow.Designer.cs @@ -98,16 +98,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(6, 6, 6, 6); this.HeaderPanel.Name = "HeaderPanel"; - this.HeaderPanel.Size = new System.Drawing.Size(608, 24); + this.HeaderPanel.Size = new System.Drawing.Size(1118, 44); this.HeaderPanel.TabIndex = 2; // // WatchButton // this.WatchButton.Dock = System.Windows.Forms.DockStyle.Left; - this.WatchButton.Location = new System.Drawing.Point(305, 0); + this.WatchButton.Location = new System.Drawing.Point(559, 0); + this.WatchButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.WatchButton.Name = "WatchButton"; - this.WatchButton.Size = new System.Drawing.Size(75, 24); + this.WatchButton.Size = new System.Drawing.Size(138, 44); this.WatchButton.TabIndex = 5; this.WatchButton.Text = "Watch"; this.WatchButton.UseVisualStyleBackColor = true; @@ -116,9 +118,10 @@ private void InitializeComponent() // ResetButton // this.ResetButton.Dock = System.Windows.Forms.DockStyle.Left; - this.ResetButton.Location = new System.Drawing.Point(235, 0); + this.ResetButton.Location = new System.Drawing.Point(431, 0); + this.ResetButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.ResetButton.Name = "ResetButton"; - this.ResetButton.Size = new System.Drawing.Size(70, 24); + this.ResetButton.Size = new System.Drawing.Size(128, 44); this.ResetButton.TabIndex = 4; this.ResetButton.Text = "Reset"; this.ResetButton.UseVisualStyleBackColor = true; @@ -127,9 +130,10 @@ private void InitializeComponent() // StepOverButton // this.StepOverButton.Dock = System.Windows.Forms.DockStyle.Left; - this.StepOverButton.Location = new System.Drawing.Point(145, 0); + this.StepOverButton.Location = new System.Drawing.Point(266, 0); + this.StepOverButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.StepOverButton.Name = "StepOverButton"; - this.StepOverButton.Size = new System.Drawing.Size(90, 24); + this.StepOverButton.Size = new System.Drawing.Size(165, 44); this.StepOverButton.TabIndex = 3; this.StepOverButton.Text = "Step Over (F7)"; this.StepOverButton.UseVisualStyleBackColor = true; @@ -137,10 +141,11 @@ private void InitializeComponent() // // BPLabel // - this.BPLabel.Location = new System.Drawing.Point(379, 2); + this.BPLabel.Location = new System.Drawing.Point(695, 4); + this.BPLabel.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); this.BPLabel.Name = "BPLabel"; - this.BPLabel.Padding = new System.Windows.Forms.Padding(0, 4, 0, 0); - this.BPLabel.Size = new System.Drawing.Size(58, 17); + this.BPLabel.Padding = new System.Windows.Forms.Padding(0, 7, 0, 0); + this.BPLabel.Size = new System.Drawing.Size(106, 31); this.BPLabel.TabIndex = 9; this.BPLabel.Text = "Breakpoint"; this.BPLabel.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -148,16 +153,18 @@ private void InitializeComponent() // BPCombo // this.BPCombo.FormattingEnabled = true; - this.BPCombo.Location = new System.Drawing.Point(439, 2); + this.BPCombo.Location = new System.Drawing.Point(805, 4); + this.BPCombo.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.BPCombo.Name = "BPCombo"; - this.BPCombo.Size = new System.Drawing.Size(121, 21); + this.BPCombo.Size = new System.Drawing.Size(219, 32); this.BPCombo.TabIndex = 6; // // AddBPButton // - this.AddBPButton.Location = new System.Drawing.Point(560, 0); + this.AddBPButton.Location = new System.Drawing.Point(1027, 0); + this.AddBPButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.AddBPButton.Name = "AddBPButton"; - this.AddBPButton.Size = new System.Drawing.Size(24, 24); + this.AddBPButton.Size = new System.Drawing.Size(44, 44); this.AddBPButton.TabIndex = 7; this.AddBPButton.Text = "+"; this.AddBPButton.UseVisualStyleBackColor = true; @@ -165,9 +172,10 @@ private void InitializeComponent() // // DeleteBPButton // - this.DeleteBPButton.Location = new System.Drawing.Point(584, 0); + this.DeleteBPButton.Location = new System.Drawing.Point(1071, 0); + this.DeleteBPButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.DeleteBPButton.Name = "DeleteBPButton"; - this.DeleteBPButton.Size = new System.Drawing.Size(24, 24); + this.DeleteBPButton.Size = new System.Drawing.Size(44, 44); this.DeleteBPButton.TabIndex = 8; this.DeleteBPButton.Text = "-"; this.DeleteBPButton.UseVisualStyleBackColor = true; @@ -176,9 +184,10 @@ private void InitializeComponent() // StepButton // this.StepButton.Dock = System.Windows.Forms.DockStyle.Left; - this.StepButton.Location = new System.Drawing.Point(75, 0); + this.StepButton.Location = new System.Drawing.Point(138, 0); + this.StepButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.StepButton.Name = "StepButton"; - this.StepButton.Size = new System.Drawing.Size(70, 24); + this.StepButton.Size = new System.Drawing.Size(128, 44); this.StepButton.TabIndex = 2; this.StepButton.Text = "Step (F6)"; this.StepButton.UseVisualStyleBackColor = true; @@ -188,8 +197,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(6, 6, 6, 6); this.RunButton.Name = "RunButton"; - this.RunButton.Size = new System.Drawing.Size(75, 24); + this.RunButton.Size = new System.Drawing.Size(138, 44); this.RunButton.TabIndex = 1; this.RunButton.Tag = "0"; this.RunButton.Text = "Run (F5)"; @@ -199,10 +209,11 @@ private void InitializeComponent() // locationLabel // this.locationLabel.Dock = System.Windows.Forms.DockStyle.Left; - this.locationLabel.Location = new System.Drawing.Point(145, 0); + this.locationLabel.Location = new System.Drawing.Point(266, 0); + this.locationLabel.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); this.locationLabel.Name = "locationLabel"; - this.locationLabel.Padding = new System.Windows.Forms.Padding(0, 4, 0, 0); - this.locationLabel.Size = new System.Drawing.Size(64, 24); + this.locationLabel.Padding = new System.Windows.Forms.Padding(0, 7, 0, 0); + this.locationLabel.Size = new System.Drawing.Size(117, 44); this.locationLabel.TabIndex = 9; this.locationLabel.Text = "Location $"; // @@ -210,9 +221,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(209, 0); + this.locationInput.Location = new System.Drawing.Point(383, 0); + this.locationInput.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.locationInput.Name = "locationInput"; - this.locationInput.Size = new System.Drawing.Size(64, 23); + this.locationInput.Size = new System.Drawing.Size(114, 27); this.locationInput.TabIndex = 10; this.locationInput.Text = "00:0000"; this.locationInput.Validated += new System.EventHandler(this.LocationInput_Validated); @@ -220,9 +232,10 @@ private void InitializeComponent() // JumpButton // this.JumpButton.Dock = System.Windows.Forms.DockStyle.Left; - this.JumpButton.Location = new System.Drawing.Point(75, 0); + this.JumpButton.Location = new System.Drawing.Point(138, 0); + this.JumpButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.JumpButton.Name = "JumpButton"; - this.JumpButton.Size = new System.Drawing.Size(70, 24); + this.JumpButton.Size = new System.Drawing.Size(128, 44); this.JumpButton.TabIndex = 10; this.JumpButton.Text = "Jump"; this.JumpButton.UseVisualStyleBackColor = true; @@ -234,10 +247,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(0, 493); + this.lastLine.Location = new System.Drawing.Point(0, 910); + this.lastLine.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.lastLine.Name = "lastLine"; this.lastLine.ReadOnly = true; - this.lastLine.Size = new System.Drawing.Size(605, 23); + this.lastLine.Size = new System.Drawing.Size(1106, 27); this.lastLine.TabIndex = 4; this.lastLine.Text = "Click [Step] to execute an instruction"; this.lastLine.WordWrap = false; @@ -248,11 +262,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(608, 0); + this.stackText.Location = new System.Drawing.Point(1118, 0); + this.stackText.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.stackText.Multiline = true; this.stackText.Name = "stackText"; this.stackText.ReadOnly = true; - this.stackText.Size = new System.Drawing.Size(150, 517); + this.stackText.Size = new System.Drawing.Size(272, 940); this.stackText.TabIndex = 3; // // UpdateTraceTimer @@ -265,17 +280,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, 25); + this.SecondPanel.Location = new System.Drawing.Point(0, 46); + this.SecondPanel.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.SecondPanel.Name = "SecondPanel"; - this.SecondPanel.Size = new System.Drawing.Size(366, 24); + this.SecondPanel.Size = new System.Drawing.Size(671, 44); 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(6, 6, 6, 6); this.ClearTraceButton.Name = "ClearTraceButton"; - this.ClearTraceButton.Size = new System.Drawing.Size(75, 24); + this.ClearTraceButton.Size = new System.Drawing.Size(138, 44); this.ClearTraceButton.TabIndex = 9; this.ClearTraceButton.Text = "Clear Trace"; this.ClearTraceButton.UseVisualStyleBackColor = true; @@ -287,10 +304,10 @@ private void InitializeComponent() | 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.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(605, 367); + this.DebugPanel.Size = new System.Drawing.Size(1108, 676); this.DebugPanel.TabIndex = 6; this.DebugPanel.TabStop = false; this.DebugPanel.MouseClick += new System.Windows.Forms.MouseEventHandler(this.DebugPanel_MouseClick); @@ -301,10 +318,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(99, 200); - this.AddBPOverlayButton.Margin = new System.Windows.Forms.Padding(2); + this.AddBPOverlayButton.Location = new System.Drawing.Point(182, 369); + this.AddBPOverlayButton.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.AddBPOverlayButton.Name = "AddBPOverlayButton"; - this.AddBPOverlayButton.Size = new System.Drawing.Size(18, 18); + this.AddBPOverlayButton.Size = new System.Drawing.Size(33, 33); this.AddBPOverlayButton.TabIndex = 7; this.AddBPOverlayButton.TabStop = false; this.AddBPOverlayButton.Text = "+"; @@ -317,10 +334,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(118, 200); - this.DeleteBPOverlayButton.Margin = new System.Windows.Forms.Padding(2); + this.DeleteBPOverlayButton.Location = new System.Drawing.Point(216, 369); + this.DeleteBPOverlayButton.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.DeleteBPOverlayButton.Name = "DeleteBPOverlayButton"; - this.DeleteBPOverlayButton.Size = new System.Drawing.Size(18, 18); + this.DeleteBPOverlayButton.Size = new System.Drawing.Size(33, 33); this.DeleteBPOverlayButton.TabIndex = 8; this.DeleteBPOverlayButton.TabStop = false; this.DeleteBPOverlayButton.Text = "-"; @@ -333,10 +350,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(137, 200); - this.InspectOverlayButton.Margin = new System.Windows.Forms.Padding(1); + this.InspectOverlayButton.Location = new System.Drawing.Point(251, 369); + this.InspectOverlayButton.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.InspectOverlayButton.Name = "InspectOverlayButton"; - this.InspectOverlayButton.Size = new System.Drawing.Size(38, 18); + this.InspectOverlayButton.Size = new System.Drawing.Size(70, 33); this.InspectOverlayButton.TabIndex = 9; this.InspectOverlayButton.TabStop = false; this.InspectOverlayButton.Text = "Mem"; @@ -350,10 +367,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(176, 200); - this.StepOverOverlayButton.Margin = new System.Windows.Forms.Padding(1); + this.StepOverOverlayButton.Location = new System.Drawing.Point(323, 369); + this.StepOverOverlayButton.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.StepOverOverlayButton.Name = "StepOverOverlayButton"; - this.StepOverOverlayButton.Size = new System.Drawing.Size(21, 18); + this.StepOverOverlayButton.Size = new System.Drawing.Size(39, 33); this.StepOverOverlayButton.TabIndex = 10; this.StepOverOverlayButton.TabStop = false; this.StepOverOverlayButton.Text = "►"; @@ -370,11 +387,11 @@ 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(2, 102); + this.HeaderTextbox.Location = new System.Drawing.Point(4, 188); this.HeaderTextbox.Margin = new System.Windows.Forms.Padding(0); this.HeaderTextbox.Name = "HeaderTextbox"; - this.HeaderTextbox.Padding = new System.Windows.Forms.Padding(2, 3, 2, 2); - this.HeaderTextbox.Size = new System.Drawing.Size(603, 22); + this.HeaderTextbox.Padding = new System.Windows.Forms.Padding(4, 6, 4, 4); + this.HeaderTextbox.Size = new System.Drawing.Size(1106, 41); this.HeaderTextbox.TabIndex = 11; this.HeaderTextbox.UseCompatibleTextRendering = true; this.HeaderTextbox.UseMnemonic = false; @@ -400,9 +417,10 @@ 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(372, 25); + this.irqPanel.Location = new System.Drawing.Point(682, 46); + this.irqPanel.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.irqPanel.Name = "irqPanel"; - this.irqPanel.Size = new System.Drawing.Size(230, 74); + this.irqPanel.Size = new System.Drawing.Size(422, 137); this.irqPanel.TabIndex = 12; // // SDCardCheckBox @@ -411,9 +429,10 @@ private void InitializeComponent() 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(88, 38); + this.SDCardCheckBox.Location = new System.Drawing.Point(161, 70); + this.SDCardCheckBox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.SDCardCheckBox.Name = "SDCardCheckBox"; - this.SDCardCheckBox.Size = new System.Drawing.Size(15, 14); + this.SDCardCheckBox.Size = new System.Drawing.Size(28, 26); this.SDCardCheckBox.TabIndex = 34; this.SDCardCheckBox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.SDCardCheckBox.UseVisualStyleBackColor = true; @@ -425,9 +444,10 @@ private void InitializeComponent() 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(189, 56); + this.OPL2LCheckbox.Location = new System.Drawing.Point(347, 103); + this.OPL2LCheckbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.OPL2LCheckbox.Name = "OPL2LCheckbox"; - this.OPL2LCheckbox.Size = new System.Drawing.Size(15, 14); + this.OPL2LCheckbox.Size = new System.Drawing.Size(28, 26); this.OPL2LCheckbox.TabIndex = 33; this.OPL2LCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.OPL2LCheckbox.UseVisualStyleBackColor = true; @@ -439,9 +459,10 @@ private void InitializeComponent() 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(206, 56); + this.OPL2RCheckbox.Location = new System.Drawing.Point(378, 103); + this.OPL2RCheckbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.OPL2RCheckbox.Name = "OPL2RCheckbox"; - this.OPL2RCheckbox.Size = new System.Drawing.Size(15, 14); + this.OPL2RCheckbox.Size = new System.Drawing.Size(28, 26); this.OPL2RCheckbox.TabIndex = 32; this.OPL2RCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.OPL2RCheckbox.UseVisualStyleBackColor = true; @@ -453,9 +474,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(122, 38); + this.MPU401Checkbox.Location = new System.Drawing.Point(224, 70); + this.MPU401Checkbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.MPU401Checkbox.Name = "MPU401Checkbox"; - this.MPU401Checkbox.Size = new System.Drawing.Size(15, 14); + this.MPU401Checkbox.Size = new System.Drawing.Size(28, 26); this.MPU401Checkbox.TabIndex = 31; this.MPU401Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.MPU401Checkbox.UseVisualStyleBackColor = true; @@ -467,9 +489,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(139, 38); + this.COM1Checkbox.Location = new System.Drawing.Point(255, 70); + this.COM1Checkbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.COM1Checkbox.Name = "COM1Checkbox"; - this.COM1Checkbox.Size = new System.Drawing.Size(15, 14); + this.COM1Checkbox.Size = new System.Drawing.Size(28, 26); this.COM1Checkbox.TabIndex = 30; this.COM1Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.COM1Checkbox.UseVisualStyleBackColor = true; @@ -481,9 +504,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(156, 38); + this.COM2Checkbox.Location = new System.Drawing.Point(286, 70); + this.COM2Checkbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.COM2Checkbox.Name = "COM2Checkbox"; - this.COM2Checkbox.Size = new System.Drawing.Size(15, 14); + this.COM2Checkbox.Size = new System.Drawing.Size(28, 26); this.COM2Checkbox.TabIndex = 29; this.COM2Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.COM2Checkbox.UseVisualStyleBackColor = true; @@ -495,9 +519,10 @@ 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(105, 21); + this.FDCCheckbox.Location = new System.Drawing.Point(193, 39); + this.FDCCheckbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.FDCCheckbox.Name = "FDCCheckbox"; - this.FDCCheckbox.Size = new System.Drawing.Size(15, 14); + this.FDCCheckbox.Size = new System.Drawing.Size(28, 26); this.FDCCheckbox.TabIndex = 28; this.FDCCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.FDCCheckbox.UseVisualStyleBackColor = true; @@ -508,9 +533,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(88, 21); + this.MouseCheckbox.Location = new System.Drawing.Point(161, 39); + this.MouseCheckbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.MouseCheckbox.Name = "MouseCheckbox"; - this.MouseCheckbox.Size = new System.Drawing.Size(15, 14); + this.MouseCheckbox.Size = new System.Drawing.Size(28, 26); this.MouseCheckbox.TabIndex = 27; this.MouseCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.MouseCheckbox.UseVisualStyleBackColor = true; @@ -522,9 +548,10 @@ 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(122, 21); + this.RTCCheckbox.Location = new System.Drawing.Point(224, 39); + this.RTCCheckbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.RTCCheckbox.Name = "RTCCheckbox"; - this.RTCCheckbox.Size = new System.Drawing.Size(15, 14); + this.RTCCheckbox.Size = new System.Drawing.Size(28, 26); this.RTCCheckbox.TabIndex = 26; this.RTCCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.RTCCheckbox.UseVisualStyleBackColor = true; @@ -535,9 +562,10 @@ 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(139, 21); + this.TMR2Checkbox.Location = new System.Drawing.Point(255, 39); + this.TMR2Checkbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.TMR2Checkbox.Name = "TMR2Checkbox"; - this.TMR2Checkbox.Size = new System.Drawing.Size(15, 14); + this.TMR2Checkbox.Size = new System.Drawing.Size(28, 26); this.TMR2Checkbox.TabIndex = 25; this.TMR2Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.TMR2Checkbox.UseVisualStyleBackColor = true; @@ -548,9 +576,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(156, 21); + this.TMR1Checkbox.Location = new System.Drawing.Point(286, 39); + this.TMR1Checkbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.TMR1Checkbox.Name = "TMR1Checkbox"; - this.TMR1Checkbox.Size = new System.Drawing.Size(15, 14); + this.TMR1Checkbox.Size = new System.Drawing.Size(28, 26); this.TMR1Checkbox.TabIndex = 24; this.TMR1Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.TMR1Checkbox.UseVisualStyleBackColor = true; @@ -563,9 +592,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(173, 21); + this.TMR0Checkbox.Location = new System.Drawing.Point(317, 39); + this.TMR0Checkbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.TMR0Checkbox.Name = "TMR0Checkbox"; - this.TMR0Checkbox.Size = new System.Drawing.Size(15, 14); + this.TMR0Checkbox.Size = new System.Drawing.Size(28, 26); this.TMR0Checkbox.TabIndex = 23; this.TMR0Checkbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.TMR0Checkbox.UseVisualStyleBackColor = false; @@ -577,9 +607,10 @@ 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(190, 21); + this.SOLCheckbox.Location = new System.Drawing.Point(348, 39); + this.SOLCheckbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.SOLCheckbox.Name = "SOLCheckbox"; - this.SOLCheckbox.Size = new System.Drawing.Size(15, 14); + this.SOLCheckbox.Size = new System.Drawing.Size(28, 26); this.SOLCheckbox.TabIndex = 22; this.SOLCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.SOLCheckbox.UseVisualStyleBackColor = true; @@ -588,27 +619,30 @@ private void InitializeComponent() // Reg2Label // this.Reg2Label.AutoSize = true; - this.Reg2Label.Location = new System.Drawing.Point(3, 57); + this.Reg2Label.Location = new System.Drawing.Point(6, 105); + this.Reg2Label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); this.Reg2Label.Name = "Reg2Label"; - this.Reg2Label.Size = new System.Drawing.Size(58, 13); + this.Reg2Label.Size = new System.Drawing.Size(102, 25); this.Reg2Label.TabIndex = 21; this.Reg2Label.Text = "IRQ Reg 2"; // // Reg1Label // this.Reg1Label.AutoSize = true; - this.Reg1Label.Location = new System.Drawing.Point(3, 39); + this.Reg1Label.Location = new System.Drawing.Point(6, 72); + this.Reg1Label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); this.Reg1Label.Name = "Reg1Label"; - this.Reg1Label.Size = new System.Drawing.Size(58, 13); + this.Reg1Label.Size = new System.Drawing.Size(102, 25); this.Reg1Label.TabIndex = 20; this.Reg1Label.Text = "IRQ Reg 1"; // // Reg0Label // this.Reg0Label.AutoSize = true; - this.Reg0Label.Location = new System.Drawing.Point(3, 22); + this.Reg0Label.Location = new System.Drawing.Point(6, 41); + this.Reg0Label.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); this.Reg0Label.Name = "Reg0Label"; - this.Reg0Label.Size = new System.Drawing.Size(58, 13); + this.Reg0Label.Size = new System.Drawing.Size(102, 25); this.Reg0Label.TabIndex = 19; this.Reg0Label.Text = "IRQ Reg 0"; // @@ -618,9 +652,10 @@ private void InitializeComponent() 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(206, 39); + this.KeyboardCheckBox.Location = new System.Drawing.Point(378, 72); + this.KeyboardCheckBox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.KeyboardCheckBox.Name = "KeyboardCheckBox"; - this.KeyboardCheckBox.Size = new System.Drawing.Size(15, 14); + this.KeyboardCheckBox.Size = new System.Drawing.Size(28, 26); this.KeyboardCheckBox.TabIndex = 18; this.KeyboardCheckBox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.KeyboardCheckBox.UseVisualStyleBackColor = true; @@ -632,9 +667,10 @@ 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(206, 21); + this.SOFCheckbox.Location = new System.Drawing.Point(378, 39); + this.SOFCheckbox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.SOFCheckbox.Name = "SOFCheckbox"; - this.SOFCheckbox.Size = new System.Drawing.Size(15, 14); + this.SOFCheckbox.Size = new System.Drawing.Size(28, 26); this.SOFCheckbox.TabIndex = 17; this.SOFCheckbox.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.SOFCheckbox.UseVisualStyleBackColor = true; @@ -646,9 +682,10 @@ private void InitializeComponent() 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(3, 3); + this.BreakOnIRQCheckBox.Location = new System.Drawing.Point(6, 6); + this.BreakOnIRQCheckBox.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.BreakOnIRQCheckBox.Name = "BreakOnIRQCheckBox"; - this.BreakOnIRQCheckBox.Size = new System.Drawing.Size(91, 17); + this.BreakOnIRQCheckBox.Size = new System.Drawing.Size(151, 29); this.BreakOnIRQCheckBox.TabIndex = 16; this.BreakOnIRQCheckBox.Text = "Break on IRQ"; this.BreakOnIRQCheckBox.UseVisualStyleBackColor = false; @@ -659,10 +696,10 @@ private void InitializeComponent() 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.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(18, 18); + this.LabelOverlayButton.Size = new System.Drawing.Size(33, 33); this.LabelOverlayButton.TabIndex = 13; this.LabelOverlayButton.TabStop = false; this.LabelOverlayButton.Text = "L"; @@ -673,18 +710,18 @@ private void InitializeComponent() // registerDisplay1 // this.registerDisplay1.CPU = null; - this.registerDisplay1.Location = new System.Drawing.Point(2, 50); - this.registerDisplay1.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5); + this.registerDisplay1.Location = new System.Drawing.Point(4, 92); + this.registerDisplay1.Margin = new System.Windows.Forms.Padding(11, 9, 11, 9); this.registerDisplay1.Name = "registerDisplay1"; - this.registerDisplay1.Size = new System.Drawing.Size(366, 49); + this.registerDisplay1.Size = new System.Drawing.Size(671, 90); this.registerDisplay1.TabIndex = 0; this.registerDisplay1.MouseEnter += new System.EventHandler(this.DebugPanel_Leave); // // CPUWindow // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(758, 517); + this.ClientSize = new System.Drawing.Size(1390, 940); this.Controls.Add(this.LabelOverlayButton); this.Controls.Add(this.irqPanel); this.Controls.Add(this.HeaderTextbox); @@ -702,10 +739,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(6, 6, 6, 6); this.MaximizeBox = false; - this.MaximumSize = new System.Drawing.Size(1024, 556); + this.MaximumSize = new System.Drawing.Size(1862, 987); this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(774, 556); + this.MinimumSize = new System.Drawing.Size(1404, 987); this.Name = "CPUWindow"; this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; this.Text = "CPU Window"; diff --git a/Main/UI/MainWindow.Designer.cs b/Main/UI/MainWindow.Designer.cs index f9aae32..86465cb 100644 --- a/Main/UI/MainWindow.Designer.cs +++ b/Main/UI/MainWindow.Designer.cs @@ -58,6 +58,7 @@ private void InitializeComponent() this.ConvertHexToPGXToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ConvertBinToPGXToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.gameEditorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.mIDIToVGMConvertToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.autorunEmulatorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.windowsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -69,12 +70,12 @@ private void InitializeComponent() this.resetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.RestartMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.DebugMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.DefaultKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.checkForUpdateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.Tooltip = new System.Windows.Forms.ToolTip(this.components); this.gpu = new FoenixIDE.Display.Gpu(); - this.mIDIToVGMConvertToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.statusStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout(); this.SuspendLayout(); @@ -338,6 +339,13 @@ private void InitializeComponent() this.gameEditorToolStripMenuItem.Text = "Game Editor"; this.gameEditorToolStripMenuItem.Click += new System.EventHandler(this.GameEditorToolStripMenuItem_Click); // + // mIDIToVGMConvertToolStripMenuItem + // + this.mIDIToVGMConvertToolStripMenuItem.Name = "mIDIToVGMConvertToolStripMenuItem"; + this.mIDIToVGMConvertToolStripMenuItem.Size = new System.Drawing.Size(233, 26); + this.mIDIToVGMConvertToolStripMenuItem.Text = "MIDI to VGM Convert"; + this.mIDIToVGMConvertToolStripMenuItem.Click += new System.EventHandler(this.mIDIToVGMConvertToolStripMenuItem_Click); + // // settingsToolStripMenuItem // this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -412,6 +420,7 @@ private void InitializeComponent() // resetToolStripMenuItem // this.resetToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.DefaultKernelToolStripMenuItem, this.RestartMenuItem, this.DebugMenuItem}); this.resetToolStripMenuItem.Name = "resetToolStripMenuItem"; @@ -424,7 +433,7 @@ private void InitializeComponent() // this.RestartMenuItem.Enabled = false; this.RestartMenuItem.Name = "RestartMenuItem"; - this.RestartMenuItem.Size = new System.Drawing.Size(138, 26); + this.RestartMenuItem.Size = new System.Drawing.Size(237, 26); this.RestartMenuItem.Text = "&Restart"; this.RestartMenuItem.Click += new System.EventHandler(this.RestartMenuItemClick); // @@ -432,10 +441,18 @@ private void InitializeComponent() // this.DebugMenuItem.Enabled = false; this.DebugMenuItem.Name = "DebugMenuItem"; - this.DebugMenuItem.Size = new System.Drawing.Size(138, 26); + this.DebugMenuItem.Size = new System.Drawing.Size(237, 26); this.DebugMenuItem.Text = "&Debug"; this.DebugMenuItem.Click += new System.EventHandler(this.DebugToolStripMenuItem_Click); // + // DefaultKernelToolStripMenuItem + // + this.DefaultKernelToolStripMenuItem.Enabled = false; + this.DefaultKernelToolStripMenuItem.Name = "DefaultKernelToolStripMenuItem"; + this.DefaultKernelToolStripMenuItem.Size = new System.Drawing.Size(237, 26); + this.DefaultKernelToolStripMenuItem.Text = "Restart Default &Kernel"; + this.DefaultKernelToolStripMenuItem.Click += new System.EventHandler(this.DefaultKernelToolStripMenuItem_Click); + // // helpToolStripMenuItem // this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -468,7 +485,7 @@ private void InitializeComponent() this.gpu.Font = new System.Drawing.Font("Consolas", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.gpu.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); this.gpu.Location = new System.Drawing.Point(0, 32); - this.gpu.Margin = new System.Windows.Forms.Padding(7, 7, 7, 7); + this.gpu.Margin = new System.Windows.Forms.Padding(7); this.gpu.MinimumSize = new System.Drawing.Size(1173, 886); this.gpu.Name = "gpu"; this.gpu.Size = new System.Drawing.Size(1228, 994); @@ -481,13 +498,6 @@ private void InitializeComponent() this.gpu.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Gpu_MouseMove); this.gpu.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Gpu_MouseUp); // - // mIDIToVGMConvertToolStripMenuItem - // - this.mIDIToVGMConvertToolStripMenuItem.Name = "mIDIToVGMConvertToolStripMenuItem"; - this.mIDIToVGMConvertToolStripMenuItem.Size = new System.Drawing.Size(233, 26); - this.mIDIToVGMConvertToolStripMenuItem.Text = "MIDI to VGM Convert"; - this.mIDIToVGMConvertToolStripMenuItem.Click += new System.EventHandler(this.mIDIToVGMConvertToolStripMenuItem_Click); - // // MainWindow // this.AllowDrop = true; @@ -502,7 +512,7 @@ private void InitializeComponent() this.KeyPreview = true; this.Location = new System.Drawing.Point(300, 300); this.MainMenuStrip = this.menuStrip1; - this.Margin = new System.Windows.Forms.Padding(7, 7, 7, 7); + this.Margin = new System.Windows.Forms.Padding(7); this.MinimumSize = new System.Drawing.Size(1243, 1086); this.Name = "MainWindow"; this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; @@ -567,6 +577,7 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem autorunEmulatorToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem assetListToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem mIDIToVGMConvertToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem DefaultKernelToolStripMenuItem; } } diff --git a/Main/UI/MainWindow.cs b/Main/UI/MainWindow.cs index c843317..7a2bc6f 100644 --- a/Main/UI/MainWindow.cs +++ b/Main/UI/MainWindow.cs @@ -600,6 +600,25 @@ private void DebugToolStripMenuItem_Click(object sender, EventArgs e) } } + private void DefaultKernelToolStripMenuItem_Click(object sender, EventArgs e) + { + previousCounter = 0; + debugWindow.Pause(); + if (kernel.ResetCPU(defaultKernel)) + { + gpu.Refresh(); + debugWindow.SetKernel(kernel); + debugWindow.ClearTrace(); + SetDipSwitchMemory(); + memoryWindow.Memory = kernel.CPU.MemMgr; + memoryWindow.UpdateMCRButtons(); + ResetSDCard(); + + // Restart the CPU + debugWindow.RunButton_Click(null, null); + } + } + private void MainWindow_FormClosing(object sender, FormClosingEventArgs e) { gpu.StartOfFrame = null; @@ -1019,6 +1038,7 @@ private void EnableMenuItems() { RestartMenuItem.Enabled = true; DebugMenuItem.Enabled = true; + DefaultKernelToolStripMenuItem.Enabled = true; } /* @@ -1049,16 +1069,17 @@ private void DipSwitch_Paint(object sender, PaintEventArgs e) int width = ((ToolStripLabel)sender).Width; int height = ((ToolStripLabel)sender).Height; e.Graphics.FillRectangle(Brushes.Red, new Rectangle(0, 0, width, height)); - e.Graphics.DrawString("OFF", SystemFonts.SmallCaptionFont, Brushes.White, 0, 9); - e.Graphics.DrawString("ON", SystemFonts.SmallCaptionFont, Brushes.White, 2, -2); + Font smallFont = new Font(FontFamily.GenericMonospace, 7.0f); + e.Graphics.DrawString("ON", smallFont, Brushes.White, 2, -1); // ON above + e.Graphics.DrawString("OFF", smallFont, Brushes.White, 0, 7); // OFF below for (int i = 0; i < 8; i++) { // Draw the switch slide - e.Graphics.FillRectangle(Brushes.LightGray, new Rectangle(textOffset + (i * switchWidth), offset, switchWidth - offset, bankHeight - offset * 2)); - e.Graphics.DrawRectangle(Pens.DarkGray, new Rectangle(textOffset + (i * switchWidth), offset, switchWidth - offset, bankHeight - offset * 2)); + e.Graphics.FillRectangle(Brushes.DarkSlateGray, new Rectangle(textOffset + (i * switchWidth), offset, switchWidth - offset, bankHeight - offset * 2)); + e.Graphics.DrawRectangle(Pens.LightGray, new Rectangle(textOffset + (i * switchWidth), offset, switchWidth - offset, bankHeight - offset * 2)); int top = (switches[i]) ? offset + 1 : offset + dipHeight; - e.Graphics.FillEllipse(Brushes.DarkSlateGray, new Rectangle(textOffset + (i * switchWidth) + 1, top, switchWidth - offset * 2, dipHeight)); + e.Graphics.FillEllipse(Brushes.Wheat, new Rectangle(textOffset + (i * switchWidth) + 1, top, switchWidth - offset * 2, dipHeight)); } } } diff --git a/Main/UI/MemoryWindow.Designer.cs b/Main/UI/MemoryWindow.Designer.cs index 266925d..ab00de3 100644 --- a/Main/UI/MemoryWindow.Designer.cs +++ b/Main/UI/MemoryWindow.Designer.cs @@ -31,6 +31,7 @@ private void InitializeComponent() this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MemoryWindow)); this.HeaderPanel = new System.Windows.Forms.Panel(); + this.ZeroButton = new System.Windows.Forms.Button(); this.SaveButton = new System.Windows.Forms.Button(); this.AddressCombo = new System.Windows.Forms.ComboBox(); this.PreviousButton = new System.Windows.Forms.Button(); @@ -56,7 +57,6 @@ private void InitializeComponent() this.HighlightPanel = new System.Windows.Forms.TextBox(); this.PositionLabel = new System.Windows.Forms.Label(); this.SaveDialog = new System.Windows.Forms.SaveFileDialog(); - this.ZeroButton = new System.Windows.Forms.Button(); this.HeaderPanel.SuspendLayout(); this.FooterPanel.SuspendLayout(); this.SuspendLayout(); @@ -75,15 +75,30 @@ private void InitializeComponent() this.HeaderPanel.Controls.Add(this.StartAddressText); this.HeaderPanel.ImeMode = System.Windows.Forms.ImeMode.Off; this.HeaderPanel.Location = new System.Drawing.Point(0, 0); + this.HeaderPanel.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.HeaderPanel.Name = "HeaderPanel"; - this.HeaderPanel.Size = new System.Drawing.Size(568, 25); + this.HeaderPanel.Size = new System.Drawing.Size(1041, 46); this.HeaderPanel.TabIndex = 0; // + // ZeroButton + // + this.ZeroButton.BackColor = System.Drawing.SystemColors.Control; + this.ZeroButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; + this.ZeroButton.Image = global::FoenixIDE.Simulator.Properties.Resources.zero; + this.ZeroButton.Location = new System.Drawing.Point(823, 2); + this.ZeroButton.Margin = new System.Windows.Forms.Padding(0); + this.ZeroButton.Name = "ZeroButton"; + this.ZeroButton.Size = new System.Drawing.Size(46, 42); + this.ZeroButton.TabIndex = 12; + this.ZeroButton.UseVisualStyleBackColor = false; + this.ZeroButton.Click += new System.EventHandler(this.ZeroButton_Click); + // // SaveButton // - this.SaveButton.Location = new System.Drawing.Point(490, 1); + this.SaveButton.Location = new System.Drawing.Point(898, 2); + this.SaveButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.SaveButton.Name = "SaveButton"; - this.SaveButton.Size = new System.Drawing.Size(75, 23); + this.SaveButton.Size = new System.Drawing.Size(138, 42); this.SaveButton.TabIndex = 11; this.SaveButton.Text = "Save"; this.SaveButton.UseVisualStyleBackColor = true; @@ -115,19 +130,20 @@ private void InitializeComponent() "Address $AF:C000 (Text Colors)", "Address $AF:E000 (Gabe)", "Unspecified Page"}); - this.AddressCombo.Location = new System.Drawing.Point(214, 2); - this.AddressCombo.Margin = new System.Windows.Forms.Padding(2); + this.AddressCombo.Location = new System.Drawing.Point(392, 4); + this.AddressCombo.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.AddressCombo.Name = "AddressCombo"; - this.AddressCombo.Size = new System.Drawing.Size(230, 21); + this.AddressCombo.Size = new System.Drawing.Size(418, 32); this.AddressCombo.TabIndex = 10; this.AddressCombo.SelectedIndexChanged += new System.EventHandler(this.AddressCombo_SelectedIndexChanged); // // PreviousButton // this.PreviousButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.142858F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.PreviousButton.Location = new System.Drawing.Point(188, 0); + this.PreviousButton.Location = new System.Drawing.Point(345, 0); + this.PreviousButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.PreviousButton.Name = "PreviousButton"; - this.PreviousButton.Size = new System.Drawing.Size(25, 24); + this.PreviousButton.Size = new System.Drawing.Size(46, 44); this.PreviousButton.TabIndex = 4; this.PreviousButton.Text = "←"; this.PreviousButton.UseVisualStyleBackColor = true; @@ -136,9 +152,10 @@ private void InitializeComponent() // NextButton // this.NextButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.142858F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.NextButton.Location = new System.Drawing.Point(162, 0); + this.NextButton.Location = new System.Drawing.Point(297, 0); + this.NextButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.NextButton.Name = "NextButton"; - this.NextButton.Size = new System.Drawing.Size(26, 24); + this.NextButton.Size = new System.Drawing.Size(48, 44); this.NextButton.TabIndex = 3; this.NextButton.Text = "→"; this.NextButton.UseVisualStyleBackColor = true; @@ -146,9 +163,10 @@ private void InitializeComponent() // // ViewButton // - this.ViewButton.Location = new System.Drawing.Point(109, 0); + this.ViewButton.Location = new System.Drawing.Point(200, 0); + this.ViewButton.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.ViewButton.Name = "ViewButton"; - this.ViewButton.Size = new System.Drawing.Size(52, 24); + this.ViewButton.Size = new System.Drawing.Size(95, 44); this.ViewButton.TabIndex = 2; this.ViewButton.Text = "View"; this.ViewButton.UseVisualStyleBackColor = true; @@ -157,11 +175,12 @@ private void InitializeComponent() // EndAddressText // this.EndAddressText.Font = new System.Drawing.Font("Consolas", 10F); - this.EndAddressText.Location = new System.Drawing.Point(55, 0); + this.EndAddressText.Location = new System.Drawing.Point(101, 0); + this.EndAddressText.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.EndAddressText.MaxLength = 6; this.EndAddressText.Name = "EndAddressText"; this.EndAddressText.ReadOnly = true; - this.EndAddressText.Size = new System.Drawing.Size(54, 23); + this.EndAddressText.Size = new System.Drawing.Size(96, 27); this.EndAddressText.TabIndex = 1; this.EndAddressText.TabStop = false; this.EndAddressText.Text = "0000FF"; @@ -172,9 +191,10 @@ private void InitializeComponent() this.StartAddressText.Dock = System.Windows.Forms.DockStyle.Left; this.StartAddressText.Font = new System.Drawing.Font("Consolas", 10F); this.StartAddressText.Location = new System.Drawing.Point(0, 0); + this.StartAddressText.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.StartAddressText.MaxLength = 6; this.StartAddressText.Name = "StartAddressText"; - this.StartAddressText.Size = new System.Drawing.Size(54, 23); + this.StartAddressText.Size = new System.Drawing.Size(96, 27); this.StartAddressText.TabIndex = 0; this.StartAddressText.Text = "000000"; this.StartAddressText.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; @@ -186,12 +206,13 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Left))); this.MemoryText.Cursor = System.Windows.Forms.Cursors.Hand; this.MemoryText.Font = new System.Drawing.Font("Consolas", 10F); - this.MemoryText.Location = new System.Drawing.Point(0, 28); + this.MemoryText.Location = new System.Drawing.Point(0, 52); + this.MemoryText.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.MemoryText.MaxLength = 4096; this.MemoryText.Multiline = true; this.MemoryText.Name = "MemoryText"; this.MemoryText.ReadOnly = true; - this.MemoryText.Size = new System.Drawing.Size(570, 280); + this.MemoryText.Size = new System.Drawing.Size(1042, 514); this.MemoryText.TabIndex = 0; this.MemoryText.TabStop = false; this.MemoryText.Text = resources.GetString("MemoryText.Text"); @@ -223,19 +244,19 @@ private void InitializeComponent() this.FooterPanel.Controls.Add(this.MCRBit6Button); this.FooterPanel.Controls.Add(this.MCRBit7Button); this.FooterPanel.Controls.Add(this.MasterControlLabel); - this.FooterPanel.Location = new System.Drawing.Point(0, 310); - this.FooterPanel.Margin = new System.Windows.Forms.Padding(2); + this.FooterPanel.Location = new System.Drawing.Point(0, 572); + this.FooterPanel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.FooterPanel.Name = "FooterPanel"; - this.FooterPanel.Size = new System.Drawing.Size(408, 30); + this.FooterPanel.Size = new System.Drawing.Size(748, 55); this.FooterPanel.TabIndex = 1; // // MCRBit8Button // this.MCRBit8Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit8Button.Location = new System.Drawing.Point(162, 2); + this.MCRBit8Button.Location = new System.Drawing.Point(297, 4); this.MCRBit8Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit8Button.Name = "MCRBit8Button"; - this.MCRBit8Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit8Button.Size = new System.Drawing.Size(48, 48); this.MCRBit8Button.TabIndex = 2; this.MCRBit8Button.Tag = "0"; this.MCRBit8Button.Text = "H"; @@ -246,10 +267,10 @@ private void InitializeComponent() // this.MCRBit9Button.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.MCRBit9Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit9Button.Location = new System.Drawing.Point(137, 2); + this.MCRBit9Button.Location = new System.Drawing.Point(251, 4); this.MCRBit9Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit9Button.Name = "MCRBit9Button"; - this.MCRBit9Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit9Button.Size = new System.Drawing.Size(48, 48); this.MCRBit9Button.TabIndex = 1; this.MCRBit9Button.Tag = "0"; this.MCRBit9Button.Text = "DP"; @@ -259,10 +280,10 @@ private void InitializeComponent() // MCRBit0Button // this.MCRBit0Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit0Button.Location = new System.Drawing.Point(379, 2); + this.MCRBit0Button.Location = new System.Drawing.Point(695, 4); this.MCRBit0Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit0Button.Name = "MCRBit0Button"; - this.MCRBit0Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit0Button.Size = new System.Drawing.Size(48, 48); this.MCRBit0Button.TabIndex = 10; this.MCRBit0Button.Tag = "0"; this.MCRBit0Button.Text = "Tx"; @@ -272,10 +293,10 @@ private void InitializeComponent() // MCRBit1Button // this.MCRBit1Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit1Button.Location = new System.Drawing.Point(354, 2); + this.MCRBit1Button.Location = new System.Drawing.Point(649, 4); this.MCRBit1Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit1Button.Name = "MCRBit1Button"; - this.MCRBit1Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit1Button.Size = new System.Drawing.Size(48, 48); this.MCRBit1Button.TabIndex = 9; this.MCRBit1Button.Tag = "0"; this.MCRBit1Button.Text = "Ov"; @@ -285,10 +306,10 @@ private void InitializeComponent() // MCRBit2Button // this.MCRBit2Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit2Button.Location = new System.Drawing.Point(329, 2); + this.MCRBit2Button.Location = new System.Drawing.Point(603, 4); this.MCRBit2Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit2Button.Name = "MCRBit2Button"; - this.MCRBit2Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit2Button.Size = new System.Drawing.Size(48, 48); this.MCRBit2Button.TabIndex = 8; this.MCRBit2Button.Tag = "0"; this.MCRBit2Button.Text = "G"; @@ -298,10 +319,10 @@ private void InitializeComponent() // MCRBit3Button // this.MCRBit3Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit3Button.Location = new System.Drawing.Point(304, 2); + this.MCRBit3Button.Location = new System.Drawing.Point(557, 4); this.MCRBit3Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit3Button.Name = "MCRBit3Button"; - this.MCRBit3Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit3Button.Size = new System.Drawing.Size(48, 48); this.MCRBit3Button.TabIndex = 7; this.MCRBit3Button.Tag = "0"; this.MCRBit3Button.Text = "B"; @@ -311,10 +332,10 @@ private void InitializeComponent() // MCRBit4Button // this.MCRBit4Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit4Button.Location = new System.Drawing.Point(271, 2); + this.MCRBit4Button.Location = new System.Drawing.Point(497, 4); this.MCRBit4Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit4Button.Name = "MCRBit4Button"; - this.MCRBit4Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit4Button.Size = new System.Drawing.Size(48, 48); this.MCRBit4Button.TabIndex = 6; this.MCRBit4Button.Tag = "0"; this.MCRBit4Button.Text = "Ti"; @@ -324,10 +345,10 @@ private void InitializeComponent() // MCRBit5Button // this.MCRBit5Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit5Button.Location = new System.Drawing.Point(246, 2); + this.MCRBit5Button.Location = new System.Drawing.Point(451, 4); this.MCRBit5Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit5Button.Name = "MCRBit5Button"; - this.MCRBit5Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit5Button.Size = new System.Drawing.Size(48, 48); this.MCRBit5Button.TabIndex = 5; this.MCRBit5Button.Tag = "0"; this.MCRBit5Button.Text = "S"; @@ -337,10 +358,10 @@ private void InitializeComponent() // MCRBit6Button // this.MCRBit6Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit6Button.Location = new System.Drawing.Point(221, 2); + this.MCRBit6Button.Location = new System.Drawing.Point(405, 4); this.MCRBit6Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit6Button.Name = "MCRBit6Button"; - this.MCRBit6Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit6Button.Size = new System.Drawing.Size(48, 48); this.MCRBit6Button.TabIndex = 4; this.MCRBit6Button.Tag = "0"; this.MCRBit6Button.Text = "Ga"; @@ -351,10 +372,10 @@ private void InitializeComponent() // this.MCRBit7Button.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.MCRBit7Button.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MCRBit7Button.Location = new System.Drawing.Point(196, 2); + this.MCRBit7Button.Location = new System.Drawing.Point(359, 4); this.MCRBit7Button.Margin = new System.Windows.Forms.Padding(0); this.MCRBit7Button.Name = "MCRBit7Button"; - this.MCRBit7Button.Size = new System.Drawing.Size(26, 26); + this.MCRBit7Button.Size = new System.Drawing.Size(48, 48); this.MCRBit7Button.TabIndex = 3; this.MCRBit7Button.Tag = "0"; this.MCRBit7Button.Text = "D"; @@ -365,10 +386,10 @@ private void InitializeComponent() // this.MasterControlLabel.AutoSize = true; this.MasterControlLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.MasterControlLabel.Location = new System.Drawing.Point(4, 8); + this.MasterControlLabel.Location = new System.Drawing.Point(7, 15); this.MasterControlLabel.Margin = new System.Windows.Forms.Padding(0); this.MasterControlLabel.Name = "MasterControlLabel"; - this.MasterControlLabel.Size = new System.Drawing.Size(131, 15); + this.MasterControlLabel.Size = new System.Drawing.Size(156, 18); this.MasterControlLabel.TabIndex = 0; this.MasterControlLabel.Text = "Master Control Reg"; this.MasterControlLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -379,11 +400,11 @@ private void InitializeComponent() this.HighlightPanel.BorderStyle = System.Windows.Forms.BorderStyle.None; this.HighlightPanel.CausesValidation = false; this.HighlightPanel.Font = new System.Drawing.Font("Consolas", 10F); - this.HighlightPanel.Location = new System.Drawing.Point(290, 269); - this.HighlightPanel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.HighlightPanel.Location = new System.Drawing.Point(532, 497); + this.HighlightPanel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.HighlightPanel.MaxLength = 2; this.HighlightPanel.Name = "HighlightPanel"; - this.HighlightPanel.Size = new System.Drawing.Size(20, 16); + this.HighlightPanel.Size = new System.Drawing.Size(37, 20); this.HighlightPanel.TabIndex = 4; this.HighlightPanel.TabStop = false; this.HighlightPanel.Text = "00"; @@ -396,10 +417,10 @@ private void InitializeComponent() this.PositionLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left))); this.PositionLabel.AutoSize = true; - this.PositionLabel.Location = new System.Drawing.Point(412, 318); - this.PositionLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.PositionLabel.Location = new System.Drawing.Point(755, 587); + this.PositionLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.PositionLabel.Name = "PositionLabel"; - this.PositionLabel.Size = new System.Drawing.Size(73, 13); + this.PositionLabel.Size = new System.Drawing.Size(134, 25); this.PositionLabel.TabIndex = 10; this.PositionLabel.Text = "Position Label"; this.PositionLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -409,25 +430,12 @@ private void InitializeComponent() this.SaveDialog.Filter = "Binary files|*.bin"; this.SaveDialog.Title = "Save Memory to File"; // - // ZeroButton - // - this.ZeroButton.BackColor = System.Drawing.SystemColors.Control; - this.ZeroButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; - this.ZeroButton.Image = global::FoenixIDE.Simulator.Properties.Resources.zero; - this.ZeroButton.Location = new System.Drawing.Point(449, 1); - this.ZeroButton.Margin = new System.Windows.Forms.Padding(0); - this.ZeroButton.Name = "ZeroButton"; - this.ZeroButton.Size = new System.Drawing.Size(25, 23); - this.ZeroButton.TabIndex = 12; - this.ZeroButton.UseVisualStyleBackColor = false; - this.ZeroButton.Click += new System.EventHandler(this.ZeroButton_Click); - // // MemoryWindow // this.AcceptButton = this.ViewButton; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(572, 340); + this.ClientSize = new System.Drawing.Size(1049, 628); this.Controls.Add(this.PositionLabel); this.Controls.Add(this.HighlightPanel); this.Controls.Add(this.FooterPanel); @@ -436,8 +444,9 @@ private void InitializeComponent() this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.KeyPreview = true; + this.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6); this.MaximizeBox = false; - this.MinimumSize = new System.Drawing.Size(582, 361); + this.MinimumSize = new System.Drawing.Size(1052, 627); this.Name = "MemoryWindow"; this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; this.Text = "Emulator Memory"; diff --git a/README.md b/README.md index a959768..02f5ff3 100644 --- a/README.md +++ b/README.md @@ -17,15 +17,24 @@ The FoenixIDE is a work in progress. The C256 Foenix and its associated materials are owned by Stefany Allaire. There are three versions of the Foenix: * RevB (2 MB RAM, 2xOPL2) * RevC - aka FMX (4 MB RAM, OPL3, OPN2, OPM and SN76489) -* RevU +* RevU - 1 MB RAM +* RevU+ - 2 MB RAM The FoenixIDE looks for kernel.hex and kernel.lst files in the ROMs folder colocated with the executable. Obtain the Kernel from the sister repository: https://github.com/Trinity-11/Kernel_FMX -# Keyboard shortcuts +# Keyboard shortcuts +## Main Window * Shift+F11 - toggle fullscreen * Shift+F5 - Run, or Pause in the debugger +_Other keyboard activity is forwarded to the emulated C256 itself._ -Other keyboard activity is forwarded to the emulated C256 itself. +## CPU/Debug Window +* F5 - Run +* F6 - Step (Execute a single opcode) +* F7 - Step Over (Execute a subroutine until RTS/RTL. Also applies to loops, until the next command is reached) + +## Memory Window +* Page Up/Page Down - display the next page (256 bytes) of memory. # License Please see License.txt. @@ -33,5 +42,3 @@ Please see License.txt. The CPU emulation is available for licensed use in other projects. Please contact us for details. Contributed Code: code and data contributed to the Nu256 project may be shared with the C256 Foenix, without restriction. By contributing materials to Nu64, you grant a non-exclusive license to the owners of both Nu256 and C256 Foenix to use for for any purpose. You also certify that contributed works are free of third party Copyright and patent restrictions. - - diff --git a/Release Notes.txt b/Release Notes.txt index 472c5c9..f3156fb 100644 --- a/Release Notes.txt +++ b/Release Notes.txt @@ -1,7 +1,8 @@ Release 0.5.6.5 --------------- Fixed the Asset Loader to use *.tlm for tilemaps, instead of .tls. - +Added the "Restart with Default Kernel" menu item to reload the default kernel, instead of the last program. +Changed the PCB Revision to EMB, EMC, EMU and EM+ for Rev B, Rev C, Rev U and Rev U+ respectively. Release 0.5.6.4 ---------------