mirror of
https://github.com/livingcomputermuseum/ContrAlto.git
synced 2026-01-18 00:52:47 +00:00
Implemented disk writes (roughly). Bravo now works. DIEX passes with writes enabled. Begun investigation into drive selection logic. Added Mesa source code with annotation, is displayed in ROM1 tab.
This commit is contained in:
parent
f256042cf4
commit
2c2ea68a63
@ -73,6 +73,14 @@ namespace Contralto.CPU
|
||||
// Dispatch function to Ethernet I/O based on contents of AC0... (TBD: what are these?)
|
||||
// For now do nothing, since we have no Ethernet implemented
|
||||
//throw new NotImplementedException();
|
||||
if ((_busData & 0x8000) != 0)
|
||||
{
|
||||
Console.WriteLine("Emulator STARTF -- boot");
|
||||
}
|
||||
else if(_busData != 0)
|
||||
{
|
||||
Console.WriteLine("Emulator STARTF -- {0}", Conversion.ToOctal(_busData));
|
||||
}
|
||||
break;
|
||||
|
||||
case EmulatorF1.SWMODE:
|
||||
|
||||
@ -102,8 +102,7 @@ namespace Contralto.CPU
|
||||
{
|
||||
Logging.Log.Write(Logging.LogComponent.Microcode, "SWMODE: Current Bank {0}", _microcodeBank);
|
||||
|
||||
// 2K ROM
|
||||
/*
|
||||
// 2K ROM
|
||||
switch(_microcodeBank)
|
||||
{
|
||||
case MicrocodeBank.ROM0:
|
||||
@ -117,10 +116,10 @@ namespace Contralto.CPU
|
||||
case MicrocodeBank.RAM0:
|
||||
_microcodeBank = (nextAddress & 0x100) == 0 ? MicrocodeBank.ROM0 : MicrocodeBank.ROM1;
|
||||
break;
|
||||
} */
|
||||
}
|
||||
|
||||
// for 1K ROM
|
||||
_microcodeBank = _microcodeBank == MicrocodeBank.ROM0 ? MicrocodeBank.RAM0 : MicrocodeBank.ROM0;
|
||||
//_microcodeBank = _microcodeBank == MicrocodeBank.ROM0 ? MicrocodeBank.RAM0 : MicrocodeBank.ROM0;
|
||||
|
||||
Logging.Log.Write(Logging.LogComponent.Microcode, "SWMODE: New Bank {0}", _microcodeBank);
|
||||
}
|
||||
|
||||
@ -108,7 +108,9 @@
|
||||
<None Include="Disassembly\altoIIcode3.mu">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Disassembly\MesaROM-full-annotated.mu" />
|
||||
<None Include="Disassembly\MesaROM.mu">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Disk\bcpl.dsk">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
||||
352
Contralto/Debugger.Designer.cs
generated
352
Contralto/Debugger.Designer.cs
generated
@ -28,31 +28,31 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle76 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle80 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle77 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle78 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle79 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle81 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle85 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle82 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle83 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle84 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle86 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle90 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle87 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle88 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle89 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle91 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle92 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle93 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle94 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle95 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle96 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle97 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle98 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle99 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle100 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle25 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.Microcode = new System.Windows.Forms.GroupBox();
|
||||
this.SourceTabs = new System.Windows.Forms.TabControl();
|
||||
this.Rom0Page = new System.Windows.Forms.TabPage();
|
||||
@ -63,10 +63,6 @@
|
||||
this.Source = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Rom1Page = new System.Windows.Forms.TabPage();
|
||||
this._rom1SourceViewer = new System.Windows.Forms.DataGridView();
|
||||
this.dataGridViewCheckBoxColumn1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Rom2Page = new System.Windows.Forms.TabPage();
|
||||
this._ram0SourceViewer = new System.Windows.Forms.DataGridView();
|
||||
this.dataGridViewCheckBoxColumn2 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
@ -110,6 +106,10 @@
|
||||
this.NovaStep = new System.Windows.Forms.Button();
|
||||
this.groupBox6 = new System.Windows.Forms.GroupBox();
|
||||
this.DisplayBox = new System.Windows.Forms.PictureBox();
|
||||
this.dataGridViewCheckBoxColumn1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Microcode.SuspendLayout();
|
||||
this.SourceTabs.SuspendLayout();
|
||||
this.Rom0Page.SuspendLayout();
|
||||
@ -173,8 +173,8 @@
|
||||
this._rom0SourceViewer.AllowUserToDeleteRows = false;
|
||||
this._rom0SourceViewer.AllowUserToResizeColumns = false;
|
||||
this._rom0SourceViewer.AllowUserToResizeRows = false;
|
||||
dataGridViewCellStyle76.BackColor = System.Drawing.Color.Silver;
|
||||
this._rom0SourceViewer.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle76;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.Silver;
|
||||
this._rom0SourceViewer.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this._rom0SourceViewer.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.SingleVertical;
|
||||
this._rom0SourceViewer.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this._rom0SourceViewer.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
@ -187,14 +187,14 @@
|
||||
this._rom0SourceViewer.Name = "_rom0SourceViewer";
|
||||
this._rom0SourceViewer.ReadOnly = true;
|
||||
this._rom0SourceViewer.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
|
||||
dataGridViewCellStyle80.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle80.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle80.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle80.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle80.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle80.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle80.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this._rom0SourceViewer.RowHeadersDefaultCellStyle = dataGridViewCellStyle80;
|
||||
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle5.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this._rom0SourceViewer.RowHeadersDefaultCellStyle = dataGridViewCellStyle5;
|
||||
this._rom0SourceViewer.RowHeadersVisible = false;
|
||||
this._rom0SourceViewer.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
|
||||
this._rom0SourceViewer.RowTemplate.Height = 18;
|
||||
@ -223,9 +223,9 @@
|
||||
// T
|
||||
//
|
||||
this.T.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
|
||||
dataGridViewCellStyle77.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle77.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.T.DefaultCellStyle = dataGridViewCellStyle77;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.T.DefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.T.HeaderText = "T";
|
||||
this.T.Name = "T";
|
||||
this.T.ReadOnly = true;
|
||||
@ -236,8 +236,8 @@
|
||||
// Addr
|
||||
//
|
||||
this.Addr.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
|
||||
dataGridViewCellStyle78.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Addr.DefaultCellStyle = dataGridViewCellStyle78;
|
||||
dataGridViewCellStyle3.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Addr.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.Addr.HeaderText = "Addr";
|
||||
this.Addr.Name = "Addr";
|
||||
this.Addr.ReadOnly = true;
|
||||
@ -248,8 +248,8 @@
|
||||
// Source
|
||||
//
|
||||
this.Source.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
dataGridViewCellStyle79.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Source.DefaultCellStyle = dataGridViewCellStyle79;
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Source.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.Source.HeaderText = "Source Code";
|
||||
this.Source.Name = "Source";
|
||||
this.Source.ReadOnly = true;
|
||||
@ -273,8 +273,8 @@
|
||||
this._rom1SourceViewer.AllowUserToDeleteRows = false;
|
||||
this._rom1SourceViewer.AllowUserToResizeColumns = false;
|
||||
this._rom1SourceViewer.AllowUserToResizeRows = false;
|
||||
dataGridViewCellStyle81.BackColor = System.Drawing.Color.Silver;
|
||||
this._rom1SourceViewer.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle81;
|
||||
dataGridViewCellStyle6.BackColor = System.Drawing.Color.Silver;
|
||||
this._rom1SourceViewer.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6;
|
||||
this._rom1SourceViewer.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.SingleVertical;
|
||||
this._rom1SourceViewer.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this._rom1SourceViewer.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
@ -287,14 +287,14 @@
|
||||
this._rom1SourceViewer.Name = "_rom1SourceViewer";
|
||||
this._rom1SourceViewer.ReadOnly = true;
|
||||
this._rom1SourceViewer.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
|
||||
dataGridViewCellStyle85.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle85.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle85.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle85.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle85.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle85.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle85.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this._rom1SourceViewer.RowHeadersDefaultCellStyle = dataGridViewCellStyle85;
|
||||
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle10.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this._rom1SourceViewer.RowHeadersDefaultCellStyle = dataGridViewCellStyle10;
|
||||
this._rom1SourceViewer.RowHeadersVisible = false;
|
||||
this._rom1SourceViewer.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
|
||||
this._rom1SourceViewer.RowTemplate.Height = 18;
|
||||
@ -306,55 +306,6 @@
|
||||
this._rom1SourceViewer.TabIndex = 2;
|
||||
this._rom1SourceViewer.TabStop = false;
|
||||
//
|
||||
// dataGridViewCheckBoxColumn1
|
||||
//
|
||||
this.dataGridViewCheckBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
|
||||
this.dataGridViewCheckBoxColumn1.FalseValue = "false";
|
||||
this.dataGridViewCheckBoxColumn1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.dataGridViewCheckBoxColumn1.HeaderText = "B";
|
||||
this.dataGridViewCheckBoxColumn1.IndeterminateValue = "null";
|
||||
this.dataGridViewCheckBoxColumn1.Name = "dataGridViewCheckBoxColumn1";
|
||||
this.dataGridViewCheckBoxColumn1.ReadOnly = true;
|
||||
this.dataGridViewCheckBoxColumn1.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewCheckBoxColumn1.TrueValue = "true";
|
||||
this.dataGridViewCheckBoxColumn1.Width = 20;
|
||||
//
|
||||
// dataGridViewTextBoxColumn4
|
||||
//
|
||||
this.dataGridViewTextBoxColumn4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
|
||||
dataGridViewCellStyle82.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dataGridViewTextBoxColumn4.DefaultCellStyle = dataGridViewCellStyle82;
|
||||
this.dataGridViewTextBoxColumn4.HeaderText = "Addr";
|
||||
this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
|
||||
this.dataGridViewTextBoxColumn4.ReadOnly = true;
|
||||
this.dataGridViewTextBoxColumn4.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
this.dataGridViewTextBoxColumn4.Width = 5;
|
||||
//
|
||||
// dataGridViewTextBoxColumn3
|
||||
//
|
||||
this.dataGridViewTextBoxColumn3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
|
||||
dataGridViewCellStyle83.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle83.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn3.DefaultCellStyle = dataGridViewCellStyle83;
|
||||
this.dataGridViewTextBoxColumn3.HeaderText = "Word";
|
||||
this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
|
||||
this.dataGridViewTextBoxColumn3.ReadOnly = true;
|
||||
this.dataGridViewTextBoxColumn3.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
this.dataGridViewTextBoxColumn3.Width = 5;
|
||||
//
|
||||
// dataGridViewTextBoxColumn5
|
||||
//
|
||||
this.dataGridViewTextBoxColumn5.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
dataGridViewCellStyle84.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dataGridViewTextBoxColumn5.DefaultCellStyle = dataGridViewCellStyle84;
|
||||
this.dataGridViewTextBoxColumn5.HeaderText = "Disassembly";
|
||||
this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
|
||||
this.dataGridViewTextBoxColumn5.ReadOnly = true;
|
||||
this.dataGridViewTextBoxColumn5.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn5.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
//
|
||||
// Rom2Page
|
||||
//
|
||||
this.Rom2Page.Controls.Add(this._ram0SourceViewer);
|
||||
@ -372,8 +323,8 @@
|
||||
this._ram0SourceViewer.AllowUserToDeleteRows = false;
|
||||
this._ram0SourceViewer.AllowUserToResizeColumns = false;
|
||||
this._ram0SourceViewer.AllowUserToResizeRows = false;
|
||||
dataGridViewCellStyle86.BackColor = System.Drawing.Color.Silver;
|
||||
this._ram0SourceViewer.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle86;
|
||||
dataGridViewCellStyle11.BackColor = System.Drawing.Color.Silver;
|
||||
this._ram0SourceViewer.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11;
|
||||
this._ram0SourceViewer.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.SingleVertical;
|
||||
this._ram0SourceViewer.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this._ram0SourceViewer.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
@ -386,14 +337,14 @@
|
||||
this._ram0SourceViewer.Name = "_ram0SourceViewer";
|
||||
this._ram0SourceViewer.ReadOnly = true;
|
||||
this._ram0SourceViewer.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
|
||||
dataGridViewCellStyle90.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle90.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle90.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle90.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle90.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle90.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle90.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this._ram0SourceViewer.RowHeadersDefaultCellStyle = dataGridViewCellStyle90;
|
||||
dataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle15.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle15.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle15.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle15.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle15.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this._ram0SourceViewer.RowHeadersDefaultCellStyle = dataGridViewCellStyle15;
|
||||
this._ram0SourceViewer.RowHeadersVisible = false;
|
||||
this._ram0SourceViewer.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
|
||||
this._ram0SourceViewer.RowTemplate.Height = 18;
|
||||
@ -421,8 +372,8 @@
|
||||
// dataGridViewTextBoxColumn7
|
||||
//
|
||||
this.dataGridViewTextBoxColumn7.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
|
||||
dataGridViewCellStyle87.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dataGridViewTextBoxColumn7.DefaultCellStyle = dataGridViewCellStyle87;
|
||||
dataGridViewCellStyle12.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dataGridViewTextBoxColumn7.DefaultCellStyle = dataGridViewCellStyle12;
|
||||
this.dataGridViewTextBoxColumn7.HeaderText = "Addr";
|
||||
this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7";
|
||||
this.dataGridViewTextBoxColumn7.ReadOnly = true;
|
||||
@ -433,9 +384,9 @@
|
||||
// dataGridViewTextBoxColumn6
|
||||
//
|
||||
this.dataGridViewTextBoxColumn6.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
|
||||
dataGridViewCellStyle88.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle88.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn6.DefaultCellStyle = dataGridViewCellStyle88;
|
||||
dataGridViewCellStyle13.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn6.DefaultCellStyle = dataGridViewCellStyle13;
|
||||
this.dataGridViewTextBoxColumn6.HeaderText = "Word";
|
||||
this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6";
|
||||
this.dataGridViewTextBoxColumn6.ReadOnly = true;
|
||||
@ -446,8 +397,8 @@
|
||||
// dataGridViewTextBoxColumn8
|
||||
//
|
||||
this.dataGridViewTextBoxColumn8.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
dataGridViewCellStyle89.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dataGridViewTextBoxColumn8.DefaultCellStyle = dataGridViewCellStyle89;
|
||||
dataGridViewCellStyle14.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dataGridViewTextBoxColumn8.DefaultCellStyle = dataGridViewCellStyle14;
|
||||
this.dataGridViewTextBoxColumn8.HeaderText = "Disassembly";
|
||||
this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8";
|
||||
this.dataGridViewTextBoxColumn8.ReadOnly = true;
|
||||
@ -488,21 +439,21 @@
|
||||
this._registerData.AllowUserToDeleteRows = false;
|
||||
this._registerData.AllowUserToResizeColumns = false;
|
||||
this._registerData.AllowUserToResizeRows = false;
|
||||
dataGridViewCellStyle91.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._registerData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle91;
|
||||
dataGridViewCellStyle16.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._registerData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle16;
|
||||
this._registerData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this._registerData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.RegNum,
|
||||
this.R,
|
||||
this.S});
|
||||
dataGridViewCellStyle92.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle92.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle92.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle92.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle92.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle92.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle92.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._registerData.DefaultCellStyle = dataGridViewCellStyle92;
|
||||
dataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle17.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle17.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle17.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle17.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle17.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle17.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._registerData.DefaultCellStyle = dataGridViewCellStyle17;
|
||||
this._registerData.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||
this._registerData.Location = new System.Drawing.Point(7, 19);
|
||||
this._registerData.MultiSelect = false;
|
||||
@ -608,21 +559,21 @@
|
||||
//
|
||||
this._taskData.AllowUserToAddRows = false;
|
||||
this._taskData.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle93.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._taskData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle93;
|
||||
dataGridViewCellStyle18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._taskData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle18;
|
||||
this._taskData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this._taskData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.TaskName,
|
||||
this.TaskState,
|
||||
this.TaskPC});
|
||||
dataGridViewCellStyle94.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle94.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle94.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle94.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle94.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle94.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle94.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._taskData.DefaultCellStyle = dataGridViewCellStyle94;
|
||||
dataGridViewCellStyle19.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle19.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle19.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle19.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle19.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle19.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle19.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._taskData.DefaultCellStyle = dataGridViewCellStyle19;
|
||||
this._taskData.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||
this._taskData.Location = new System.Drawing.Point(7, 19);
|
||||
this._taskData.MultiSelect = false;
|
||||
@ -679,20 +630,20 @@
|
||||
//
|
||||
this._otherRegs.AllowUserToAddRows = false;
|
||||
this._otherRegs.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle95.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._otherRegs.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle95;
|
||||
dataGridViewCellStyle20.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._otherRegs.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle20;
|
||||
this._otherRegs.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this._otherRegs.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.Reg,
|
||||
this.RegValue});
|
||||
dataGridViewCellStyle96.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle96.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle96.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle96.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle96.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle96.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle96.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._otherRegs.DefaultCellStyle = dataGridViewCellStyle96;
|
||||
dataGridViewCellStyle21.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle21.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle21.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle21.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle21.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle21.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle21.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._otherRegs.DefaultCellStyle = dataGridViewCellStyle21;
|
||||
this._otherRegs.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||
this._otherRegs.Location = new System.Drawing.Point(7, 19);
|
||||
this._otherRegs.MultiSelect = false;
|
||||
@ -745,8 +696,8 @@
|
||||
this._memoryData.AllowUserToAddRows = false;
|
||||
this._memoryData.AllowUserToDeleteRows = false;
|
||||
this._memoryData.AllowUserToResizeRows = false;
|
||||
dataGridViewCellStyle97.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._memoryData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle97;
|
||||
dataGridViewCellStyle22.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._memoryData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle22;
|
||||
this._memoryData.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
|
||||
this._memoryData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this._memoryData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
@ -754,14 +705,14 @@
|
||||
this.Address,
|
||||
this.Data,
|
||||
this.Disassembly});
|
||||
dataGridViewCellStyle98.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle98.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle98.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle98.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle98.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle98.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle98.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._memoryData.DefaultCellStyle = dataGridViewCellStyle98;
|
||||
dataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle23.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle23.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle23.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle23.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle23.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._memoryData.DefaultCellStyle = dataGridViewCellStyle23;
|
||||
this._memoryData.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||
this._memoryData.Location = new System.Drawing.Point(6, 19);
|
||||
this._memoryData.MultiSelect = false;
|
||||
@ -858,20 +809,20 @@
|
||||
//
|
||||
this._diskData.AllowUserToAddRows = false;
|
||||
this._diskData.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle99.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._diskData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle99;
|
||||
dataGridViewCellStyle24.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this._diskData.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle24;
|
||||
this._diskData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this._diskData.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.dataGridViewTextBoxColumn1,
|
||||
this.dataGridViewTextBoxColumn2});
|
||||
dataGridViewCellStyle100.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle100.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle100.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle100.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle100.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle100.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle100.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._diskData.DefaultCellStyle = dataGridViewCellStyle100;
|
||||
dataGridViewCellStyle25.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle25.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle25.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle25.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle25.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle25.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle25.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this._diskData.DefaultCellStyle = dataGridViewCellStyle25;
|
||||
this._diskData.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||
this._diskData.Location = new System.Drawing.Point(6, 19);
|
||||
this._diskData.MultiSelect = false;
|
||||
@ -962,6 +913,55 @@
|
||||
this.DisplayBox.MouseUp += new System.Windows.Forms.MouseEventHandler(this.OnDisplayMouseUp);
|
||||
this.DisplayBox.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.DisplayBox_PreviewKeyDown);
|
||||
//
|
||||
// dataGridViewCheckBoxColumn1
|
||||
//
|
||||
this.dataGridViewCheckBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells;
|
||||
this.dataGridViewCheckBoxColumn1.FalseValue = "false";
|
||||
this.dataGridViewCheckBoxColumn1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.dataGridViewCheckBoxColumn1.HeaderText = "B";
|
||||
this.dataGridViewCheckBoxColumn1.IndeterminateValue = "null";
|
||||
this.dataGridViewCheckBoxColumn1.Name = "dataGridViewCheckBoxColumn1";
|
||||
this.dataGridViewCheckBoxColumn1.ReadOnly = true;
|
||||
this.dataGridViewCheckBoxColumn1.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewCheckBoxColumn1.TrueValue = "true";
|
||||
this.dataGridViewCheckBoxColumn1.Width = 20;
|
||||
//
|
||||
// dataGridViewTextBoxColumn4
|
||||
//
|
||||
this.dataGridViewTextBoxColumn4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
|
||||
dataGridViewCellStyle7.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dataGridViewTextBoxColumn4.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.dataGridViewTextBoxColumn4.HeaderText = "Addr";
|
||||
this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
|
||||
this.dataGridViewTextBoxColumn4.ReadOnly = true;
|
||||
this.dataGridViewTextBoxColumn4.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
this.dataGridViewTextBoxColumn4.Width = 5;
|
||||
//
|
||||
// dataGridViewTextBoxColumn3
|
||||
//
|
||||
this.dataGridViewTextBoxColumn3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
|
||||
dataGridViewCellStyle8.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn3.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.dataGridViewTextBoxColumn3.HeaderText = "Word";
|
||||
this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
|
||||
this.dataGridViewTextBoxColumn3.ReadOnly = true;
|
||||
this.dataGridViewTextBoxColumn3.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
this.dataGridViewTextBoxColumn3.Width = 5;
|
||||
//
|
||||
// dataGridViewTextBoxColumn5
|
||||
//
|
||||
this.dataGridViewTextBoxColumn5.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
dataGridViewCellStyle9.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.dataGridViewTextBoxColumn5.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.dataGridViewTextBoxColumn5.HeaderText = "Source Code";
|
||||
this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
|
||||
this.dataGridViewTextBoxColumn5.ReadOnly = true;
|
||||
this.dataGridViewTextBoxColumn5.Resizable = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dataGridViewTextBoxColumn5.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
//
|
||||
// Debugger
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
@ -1067,13 +1067,13 @@
|
||||
private System.Windows.Forms.DataGridView _rom1SourceViewer;
|
||||
private System.Windows.Forms.TabPage Rom2Page;
|
||||
private System.Windows.Forms.DataGridView _ram0SourceViewer;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn1;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn2;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn1;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
|
||||
}
|
||||
}
|
||||
@ -32,13 +32,15 @@ namespace Contralto
|
||||
RefreshUI();
|
||||
}
|
||||
|
||||
public void LoadSourceCode(string path)
|
||||
public void LoadSourceCode(MicrocodeBank bank, string path)
|
||||
{
|
||||
if (path == null)
|
||||
{
|
||||
throw new ArgumentNullException(path, "Microcode path must be specified.");
|
||||
}
|
||||
|
||||
DataGridView view = bank == MicrocodeBank.ROM0 ? _rom0SourceViewer : _rom1SourceViewer;
|
||||
|
||||
StreamReader sr = new StreamReader(path);
|
||||
|
||||
while (!sr.EndOfStream)
|
||||
@ -47,19 +49,19 @@ namespace Contralto
|
||||
|
||||
SourceLine src = new SourceLine(line);
|
||||
|
||||
int i = _rom0SourceViewer.Rows.Add(
|
||||
int i = view.Rows.Add(
|
||||
false, // breakpoint
|
||||
GetTextForTask(src.Task),
|
||||
src.Address,
|
||||
src.Text);
|
||||
|
||||
// Give the row a color based on the task
|
||||
_rom0SourceViewer.Rows[i].DefaultCellStyle.BackColor = GetColorForTask(src.Task);
|
||||
view.Rows[i].DefaultCellStyle.BackColor = GetColorForTask(src.Task);
|
||||
|
||||
// Tag the row based on the PROM address (if any) to make it easy to find.
|
||||
if (!String.IsNullOrEmpty(src.Address))
|
||||
{
|
||||
_rom0SourceViewer.Rows[i].Tag = Convert.ToUInt16(src.Address, 8);
|
||||
view.Rows[i].Tag = Convert.ToUInt16(src.Address, 8);
|
||||
}
|
||||
}
|
||||
|
||||
@ -272,8 +274,7 @@ namespace Contralto
|
||||
break;
|
||||
|
||||
case 1:
|
||||
SourceTabs.TabIndex = 1;
|
||||
RefreshMicrocodeDisassembly(MicrocodeBank.ROM1);
|
||||
SourceTabs.TabIndex = 1;
|
||||
HighlightMicrocodeSourceLine(_rom1SourceViewer, _system.CPU.CurrentTask.MPC);
|
||||
break;
|
||||
|
||||
@ -596,7 +597,7 @@ namespace Contralto
|
||||
Task = TaskType.Invalid;
|
||||
|
||||
if (tokens.Length > 0 &&
|
||||
tokens[0].Length == 8 &&
|
||||
tokens[0].Length == 7 &&
|
||||
tokens[0].EndsWith(">"))
|
||||
{
|
||||
// Close enough. Look for the task tag and parse out the (octal) address
|
||||
@ -642,6 +643,10 @@ namespace Contralto
|
||||
Task = TaskType.DiskWord;
|
||||
break;
|
||||
|
||||
case "XM": //XMesa code, which runs in the Emulator task
|
||||
Task = TaskType.Emulator;
|
||||
break;
|
||||
|
||||
default:
|
||||
Task = TaskType.Invalid;
|
||||
break;
|
||||
@ -652,7 +657,7 @@ namespace Contralto
|
||||
try
|
||||
{
|
||||
// Belongs to a task, so we can grab the address out as well
|
||||
Address = sourceText.Substring(2, 5);
|
||||
Address = sourceText.Substring(2, 4);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
File diff suppressed because one or more lines are too long
1
Contralto/Disassembly/MesaROM.mu
Normal file
1
Contralto/Disassembly/MesaROM.mu
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -16,7 +16,7 @@ namespace Contralto.IO
|
||||
_pack = new DiabloPack(DiabloDiskType.Diablo31);
|
||||
|
||||
// TODO: this does not belong here.
|
||||
FileStream fs = new FileStream("Disk\\games.dsk", FileMode.Open, FileAccess.Read);
|
||||
FileStream fs = new FileStream("Disk\\nonprog.dsk", FileMode.Open, FileAccess.Read);
|
||||
|
||||
_pack.Load(fs);
|
||||
|
||||
@ -38,6 +38,7 @@ namespace Contralto.IO
|
||||
set
|
||||
{
|
||||
_kDataWrite = value;
|
||||
_kDataWriteLatch = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,10 +49,13 @@ namespace Contralto.IO
|
||||
{
|
||||
_kAdr = value;
|
||||
_recNo = 0;
|
||||
_syncWordWritten = false;
|
||||
|
||||
// "In addition, it causes the head address bit to be loaded from KDATA[13]."
|
||||
int newHead = (_kDataWrite & 0x4) >> 2;
|
||||
|
||||
|
||||
_disk = ((_kDataWrite & 0x2) >> 1) ^ (_kAdr & 0x1);
|
||||
|
||||
if (newHead != _head)
|
||||
{
|
||||
// If we switch heads, we need to reload the sector
|
||||
@ -79,8 +83,24 @@ namespace Contralto.IO
|
||||
(_kDataWrite & 0x2) >> 1,
|
||||
(_kDataWrite & 0x1));
|
||||
|
||||
Log.Write(LogComponent.DiskController, " -Selected disk is {0}", ((_kDataWrite & 0x2) >> 1) ^ (_kAdr & 0x1));
|
||||
Log.Write(LogComponent.DiskController, " -Selected disk is {0}", _disk);
|
||||
|
||||
if (((_kAdr & 0xc) >> 2) == 2 ||
|
||||
((_kAdr & 0xc) >> 2) == 3)
|
||||
{
|
||||
Console.WriteLine("DATA WRITE");
|
||||
}
|
||||
|
||||
if (_disk != 0)
|
||||
{
|
||||
Console.WriteLine("*** DISK 1 SELECTED ***");
|
||||
}
|
||||
|
||||
if ((_kDataWrite & 0x1) != 0)
|
||||
{
|
||||
// Restore operation to cyl. 0:
|
||||
InitSeek(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -121,7 +141,8 @@ namespace Contralto.IO
|
||||
{
|
||||
get
|
||||
{
|
||||
// Bits 4-7 of KSTAT are always 1s.
|
||||
// Bits 4-7 of KSTAT are always 1s (it's a shortcut allowing the disk microcode to write
|
||||
// "-1" to bits 4-7 of the disk status word at 522 without extra code.)
|
||||
return (ushort)(_kStat | (0x0f00));
|
||||
}
|
||||
set
|
||||
@ -139,12 +160,7 @@ namespace Contralto.IO
|
||||
{
|
||||
get { return _dataXfer; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This is a hack to see how the microcode expects INIT to work
|
||||
/// </summary>
|
||||
|
||||
|
||||
|
||||
public int Cylinder
|
||||
{
|
||||
get { return _cylinder; }
|
||||
@ -179,9 +195,8 @@ namespace Contralto.IO
|
||||
{
|
||||
get
|
||||
{
|
||||
// TODO: verify if this is correct.
|
||||
// Not ready if we're in the middle of a seek.
|
||||
return (_kStat & 0x0040) == 0;
|
||||
// TODO: verify what generates this signal
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -192,9 +207,11 @@ namespace Contralto.IO
|
||||
_cylinder = _destCylinder = 0;
|
||||
_sector = 0;
|
||||
_head = 0;
|
||||
_disk = 0;
|
||||
_kStat = 0;
|
||||
_kDataRead = 0;
|
||||
_kDataWrite = 0;
|
||||
_kDataWriteLatch = false;
|
||||
_sendAdr = false;
|
||||
|
||||
_wdInhib = true;
|
||||
@ -202,6 +219,9 @@ namespace Contralto.IO
|
||||
|
||||
_wdInit = false;
|
||||
|
||||
_syncWordWritten = false;
|
||||
_sectorModified = false;
|
||||
|
||||
_diskBitCounterEnable = false;
|
||||
_sectorWordIndex = 0;
|
||||
|
||||
@ -229,7 +249,14 @@ namespace Contralto.IO
|
||||
}
|
||||
|
||||
private void SectorCallback(ulong timeNsec, ulong skewNsec, object context)
|
||||
{
|
||||
{
|
||||
// Write last sector out if it was modified
|
||||
if (_sectorModified)
|
||||
{
|
||||
CommitSector();
|
||||
_sectorModified = false;
|
||||
}
|
||||
|
||||
//
|
||||
// Next sector; move to next sector and wake up Disk Sector task.
|
||||
//
|
||||
@ -238,9 +265,10 @@ namespace Contralto.IO
|
||||
_kStat = (ushort)((_kStat & 0x0fff) | (_sector << 12));
|
||||
|
||||
// Reset internal state machine for sector data
|
||||
_sectorWordIndex = 0;
|
||||
_sectorWordIndex = 0;
|
||||
_syncWordWritten = false;
|
||||
|
||||
_kDataRead = 0;
|
||||
_kDataRead = 0;
|
||||
|
||||
// Load new sector in
|
||||
LoadSector();
|
||||
@ -346,6 +374,8 @@ namespace Contralto.IO
|
||||
_kAdr = (ushort)(_kAdr << 2);
|
||||
_recNo++;
|
||||
|
||||
_syncWordWritten = false;
|
||||
|
||||
if (_recNo > 3)
|
||||
{
|
||||
// sanity check for now
|
||||
@ -370,7 +400,12 @@ namespace Contralto.IO
|
||||
|
||||
Log.Write(LogComponent.DiskController, "STROBE: Seek initialized.");
|
||||
|
||||
_destCylinder = (_kDataWrite & 0x0ff8) >> 3;
|
||||
InitSeek((_kDataWrite & 0x0ff8) >> 3);
|
||||
}
|
||||
|
||||
private void InitSeek(int destCylinder)
|
||||
{
|
||||
_destCylinder = destCylinder;
|
||||
|
||||
// set "seek fail" bit based on selected cylinder (if out of bounds) and do not
|
||||
// commence a seek if so.
|
||||
@ -395,7 +430,7 @@ namespace Contralto.IO
|
||||
|
||||
_seekEvent.TimestampNsec = _seekDuration;
|
||||
_system.Scheduler.Schedule(_seekEvent);
|
||||
|
||||
|
||||
Log.Write(LogComponent.DiskController, "Seek to {0} from {1} commencing. Will take {2} nsec.", _destCylinder, _cylinder, _seekDuration);
|
||||
}
|
||||
}
|
||||
@ -411,7 +446,7 @@ namespace Contralto.IO
|
||||
//
|
||||
double seekTimeMsec = 15.0 + 8.6 * Math.Sqrt(dt);
|
||||
|
||||
return (ulong)(seekTimeMsec * Conversion.MsecToNsec); // hack to speed things up
|
||||
return (ulong)(seekTimeMsec * Conversion.MsecToNsec);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -465,16 +500,47 @@ namespace Contralto.IO
|
||||
{
|
||||
if (!_xferOff)
|
||||
{
|
||||
// Debugging: on a read/check, if we are overwriting a word that was never read by the
|
||||
// microcode via KDATA, log it.
|
||||
if (_debugRead && (((KADR & 0x00c0) >> 6) == 0 || ((KADR & 0x00c0) >> 6) == 1))
|
||||
if (!IsWrite())
|
||||
{
|
||||
Console.WriteLine("--- missed sector word {0}({1}) ---", _sectorWordIndex, _kDataRead);
|
||||
}
|
||||
// Read operation:
|
||||
// Debugging: on a read/check, if we are overwriting a word that was never read by the
|
||||
// microcode via KDATA, log it.
|
||||
if (_debugRead)
|
||||
{
|
||||
Console.WriteLine("--- missed sector word {0}({1}) ---", _sectorWordIndex, _kDataRead);
|
||||
}
|
||||
|
||||
Log.Write(LogType.Verbose, LogComponent.DiskWordTask, "Sector {0} Word {1} read into KDATA", _sector, Conversion.ToOctal(diskWord));
|
||||
_kDataRead = diskWord;
|
||||
_debugRead = _sectorData[_sectorWordIndex].Type == CellType.Data;
|
||||
Log.Write(LogType.Verbose, LogComponent.DiskWordTask, "Sector {0} Word {1} read into KDATA", _sector, Conversion.ToOctal(diskWord));
|
||||
_kDataRead = diskWord;
|
||||
_debugRead = _sectorData[_sectorWordIndex].Type == CellType.Data;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Write
|
||||
Log.Write(LogType.Normal, LogComponent.DiskController, "Sector {0} Word {1} (rec {2}) to be written with {3} from KDATA", _sector, _sectorWordIndex, _recNo, Conversion.ToOctal(_kDataWrite));
|
||||
|
||||
if (_kDataWriteLatch)
|
||||
{
|
||||
_kDataRead = _kDataWrite;
|
||||
_kDataWriteLatch = false;
|
||||
}
|
||||
|
||||
if (_syncWordWritten && _sectorWordIndex < _sectorData.Length)
|
||||
{
|
||||
if (_sectorData[_sectorWordIndex].Type == CellType.Data)
|
||||
{
|
||||
Console.WriteLine("Data written to data section.");
|
||||
_sectorData[_sectorWordIndex].Data = _kDataWrite;
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Data written to non-data section.");
|
||||
_sectorData[_sectorWordIndex].Data = _kDataWrite;
|
||||
}
|
||||
|
||||
_sectorModified = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!_wdInhib)
|
||||
@ -489,16 +555,38 @@ namespace Contralto.IO
|
||||
// the clock. This occurs late in the cycle so that the NEXT word
|
||||
// (not the sync word) is actually read. TODO: this should only happen on reads.
|
||||
//
|
||||
if (!_wffo && diskWord == 1)
|
||||
if (!IsWrite() && !_wffo && diskWord == 1)
|
||||
{
|
||||
_diskBitCounterEnable = true;
|
||||
}
|
||||
else if (IsWrite() && _wffo && _kDataWrite == 1 && !_syncWordWritten)
|
||||
{
|
||||
Log.Write(LogType.Normal, LogComponent.DiskController, "Sector {0} Sync Word {1} (rec {2}) written.", _sector, _sectorWordIndex, _recNo);
|
||||
_syncWordWritten = true;
|
||||
|
||||
// "Adjust" the write index to the start of the data area for the current record.
|
||||
// This is cheating.
|
||||
switch(_recNo)
|
||||
{
|
||||
case 0:
|
||||
_sectorWordIndex = _headerOffset;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
_sectorWordIndex = _labelOffset;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
_sectorWordIndex = _dataOffset;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (bWakeup)
|
||||
{
|
||||
Log.Write(LogType.Verbose, LogComponent.DiskWordTask, "Word task awoken for word {0}.", _sectorWordIndex);
|
||||
_system.CPU.WakeupTask(TaskType.DiskWord);
|
||||
}
|
||||
}
|
||||
|
||||
// Last, move to the next word.
|
||||
_sectorWordIndex++;
|
||||
@ -549,6 +637,37 @@ namespace Contralto.IO
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Commits modified sector data back to the emulated disk.
|
||||
/// Intended to be called at the end of the sector / beginning of the next.
|
||||
/// TODO: we should modify this so that checksums are persisted, possibly...
|
||||
/// </summary>
|
||||
private void CommitSector()
|
||||
{
|
||||
DiabloDiskSector sector = _pack.GetSector(_cylinder, _head, _sector);
|
||||
|
||||
// Header (2 words data, 1 word cksum)
|
||||
for (int i = _headerOffset + 1, j = 1; i < _headerOffset + 3; i++, j--)
|
||||
{
|
||||
// actual data to be loaded from disk / cksum calculated
|
||||
sector.Header[j] = _sectorData[i].Data;
|
||||
}
|
||||
|
||||
// Label (8 words data, 1 word cksum)
|
||||
for (int i = _labelOffset + 1, j = 7; i < _labelOffset + 9; i++, j--)
|
||||
{
|
||||
// actual data to be loaded from disk / cksum calculated
|
||||
sector.Label[j] = _sectorData[i].Data;
|
||||
}
|
||||
|
||||
// sector data (256 words data, 1 word cksum)
|
||||
for (int i = _dataOffset + 1, j = 255; i < _dataOffset + 257; i++, j--)
|
||||
{
|
||||
// actual data to be loaded from disk / cksum calculated
|
||||
sector.Data[j] = _sectorData[i].Data;
|
||||
}
|
||||
}
|
||||
|
||||
private void InitSector()
|
||||
{
|
||||
// Fill in sector with default data (basically, fill in non-data areas).
|
||||
@ -576,7 +695,7 @@ namespace Contralto.IO
|
||||
|
||||
_sectorData[_dataOffset] = new DataCell(1, CellType.Sync);
|
||||
// read-postamble
|
||||
for (int i = _dataOffset + 257; i < _sectorWordCount;i++)
|
||||
for (int i = _dataOffset + 258; i < _sectorWordCount;i++)
|
||||
{
|
||||
_sectorData[i] = new DataCell(0, CellType.Gap);
|
||||
}
|
||||
@ -606,8 +725,14 @@ namespace Contralto.IO
|
||||
return checksum;
|
||||
}
|
||||
|
||||
private bool IsWrite()
|
||||
{
|
||||
return ((_kAdr & 0x00c0) >> 6) == 2 || ((_kAdr & 0x00c0) >> 6) == 3;
|
||||
}
|
||||
|
||||
private ushort _kDataRead;
|
||||
private ushort _kDataWrite;
|
||||
private bool _kDataWriteLatch;
|
||||
private ushort _kAdr;
|
||||
private ushort _kCom;
|
||||
private ushort _kStat;
|
||||
@ -634,12 +759,18 @@ namespace Contralto.IO
|
||||
private int _head;
|
||||
private int _sector;
|
||||
|
||||
// Selected disk
|
||||
private int _disk;
|
||||
|
||||
// bit clock flag
|
||||
private bool _diskBitCounterEnable;
|
||||
|
||||
// WDINIT signal
|
||||
private bool _wdInit;
|
||||
|
||||
private bool _syncWordWritten;
|
||||
private bool _sectorModified;
|
||||
|
||||
// Sector timing. Based on table on pg. 43 of the Alto Hardware Manual
|
||||
|
||||
// From altoconsts23.mu: [all constants in octal, for reference]
|
||||
|
||||
@ -44,7 +44,7 @@ namespace Contralto.Logging
|
||||
static Log()
|
||||
{
|
||||
// TODO: make configurable
|
||||
_components = LogComponent.Memory; // LogComponent.DiskController | LogComponent.DiskSectorTask;
|
||||
_components = LogComponent.DiskController | LogComponent.DiskSectorTask;
|
||||
_type = LogType.Normal | LogType.Warning | LogType.Error;
|
||||
}
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ namespace Contralto.Memory
|
||||
if (extendedMemory)
|
||||
{
|
||||
Log.Write(LogComponent.Memory, "Extended memory read, bank {0} address {1}, read {2}", GetBankNumber(task, extendedMemory), Conversion.ToOctal(address), Conversion.ToOctal(_mem[address + 0x10000 * GetBankNumber(task, extendedMemory)]));
|
||||
} */
|
||||
} */
|
||||
address += 0x10000 * GetBankNumber(task, extendedMemory);
|
||||
return _mem[address];
|
||||
}
|
||||
@ -62,7 +62,8 @@ namespace Contralto.Memory
|
||||
{
|
||||
Log.Write(LogComponent.Memory, "Extended memory write, bank {0} address {1}, data {2}", GetBankNumber(task, extendedMemory), Conversion.ToOctal(address), Conversion.ToOctal(data));
|
||||
} */
|
||||
address += 0x10000 * GetBankNumber(task, extendedMemory);
|
||||
address += 0x10000 * GetBankNumber(task, extendedMemory);
|
||||
|
||||
_mem[address] = data;
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,7 +11,8 @@ namespace Contralto
|
||||
// for now everything is driven through the debugger
|
||||
Debugger d = new Debugger(system);
|
||||
system.AttachDisplay(d);
|
||||
d.LoadSourceCode("Disassembly\\altoIIcode3.mu");
|
||||
d.LoadSourceCode(MicrocodeBank.ROM0, "Disassembly\\altoIIcode3.mu");
|
||||
d.LoadSourceCode(MicrocodeBank.ROM1, "Disassembly\\MesaROM.mu");
|
||||
d.ShowDialog();
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user