Hex Editor - implement 4 byte view, and add the all important icon!
This commit is contained in:
parent
9b496b872f
commit
b798ce1d88
|
@ -28,6 +28,7 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HexEditor));
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.dumpToFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -43,8 +44,8 @@
|
|||
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.restoreWindowSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer();
|
||||
this.enToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
|
@ -120,21 +121,21 @@
|
|||
// byteToolStripMenuItem
|
||||
//
|
||||
this.byteToolStripMenuItem.Name = "byteToolStripMenuItem";
|
||||
this.byteToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.byteToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
|
||||
this.byteToolStripMenuItem.Text = "1 Byte";
|
||||
this.byteToolStripMenuItem.Click += new System.EventHandler(this.byteToolStripMenuItem_Click);
|
||||
//
|
||||
// byteToolStripMenuItem1
|
||||
//
|
||||
this.byteToolStripMenuItem1.Name = "byteToolStripMenuItem1";
|
||||
this.byteToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
|
||||
this.byteToolStripMenuItem1.Size = new System.Drawing.Size(116, 22);
|
||||
this.byteToolStripMenuItem1.Text = "2 Byte";
|
||||
this.byteToolStripMenuItem1.Click += new System.EventHandler(this.byteToolStripMenuItem1_Click);
|
||||
//
|
||||
// byteToolStripMenuItem2
|
||||
//
|
||||
this.byteToolStripMenuItem2.Name = "byteToolStripMenuItem2";
|
||||
this.byteToolStripMenuItem2.Size = new System.Drawing.Size(152, 22);
|
||||
this.byteToolStripMenuItem2.Size = new System.Drawing.Size(116, 22);
|
||||
this.byteToolStripMenuItem2.Text = "4 Byte";
|
||||
this.byteToolStripMenuItem2.Click += new System.EventHandler(this.byteToolStripMenuItem2_Click);
|
||||
//
|
||||
|
@ -168,6 +169,13 @@
|
|||
this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
|
||||
this.autoloadToolStripMenuItem.Text = "Auto-load";
|
||||
//
|
||||
// enToolStripMenuItem
|
||||
//
|
||||
this.enToolStripMenuItem.Name = "enToolStripMenuItem";
|
||||
this.enToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||
this.enToolStripMenuItem.Text = "Big Endian";
|
||||
this.enToolStripMenuItem.Click += new System.EventHandler(this.enToolStripMenuItem_Click);
|
||||
//
|
||||
// MemoryViewer
|
||||
//
|
||||
this.MemoryViewer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
|
@ -180,13 +188,6 @@
|
|||
this.MemoryViewer.TabStop = false;
|
||||
this.MemoryViewer.Text = "RAM";
|
||||
//
|
||||
// enToolStripMenuItem
|
||||
//
|
||||
this.enToolStripMenuItem.Name = "enToolStripMenuItem";
|
||||
this.enToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||
this.enToolStripMenuItem.Text = "Big Endian";
|
||||
this.enToolStripMenuItem.Click += new System.EventHandler(this.enToolStripMenuItem_Click);
|
||||
//
|
||||
// HexEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
@ -194,6 +195,7 @@
|
|||
this.ClientSize = new System.Drawing.Size(531, 344);
|
||||
this.Controls.Add(this.MemoryViewer);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.Name = "HexEditor";
|
||||
this.Text = "HexEditor";
|
||||
|
|
|
@ -120,4 +120,29 @@
|
|||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADp6en/AAAA/wAAAAAAAAD/3Nzc/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAKioq/wAAAAAAAAAAAAAAAD4+Pv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAALy8vP8AAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+urq7/4ODg/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChoaH/AAAA/6CgoP8AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj/wAAAP+qqqr/AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACurq7/AAAA/+Dg
|
||||
4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLi/wAA
|
||||
AP+3t7f/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAD/r6+v/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAxMTE/wAAAP/Pz8//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAD/sbGx/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAA/6ioqP/l5eX/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAANLS0v8AAAD/xcbE/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7e4tv/o6ef/AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy8vP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6Oj/AAAA/wAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA5P8AAO7/AADl/wAA+P8AAPj/AAD4/wAA/H8AAPx/AAD+fwAA/j8AAP8/AAD/HwAA/x8AAP+P
|
||||
AAD/nwAA/58AAA==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
|
@ -84,6 +84,13 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
break;
|
||||
case 4:
|
||||
Header = " 0 4 8 C";
|
||||
for (int j = 0; j < 16; j += 4)
|
||||
{
|
||||
addr = (row * 16) + j;
|
||||
if (addr < Domain.Size)
|
||||
rowStr += String.Format("{0:X8}", MakeValue(addr, DataSize, BigEndian)) + " ";
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
@ -106,23 +113,11 @@ namespace BizHawk.MultiClient
|
|||
x = Domain.PeekByte(addr);
|
||||
break;
|
||||
case 2:
|
||||
if (Bigendian)
|
||||
{
|
||||
x = Domain.PeekByte(addr) + (Domain.PeekByte(addr + 1) * 255);
|
||||
}
|
||||
else
|
||||
{
|
||||
x = (Domain.PeekByte(addr) * 255) + Domain.PeekByte(addr + 1);
|
||||
}
|
||||
x = MakeWord(addr, Bigendian);
|
||||
break;
|
||||
case 3:
|
||||
if (Bigendian)
|
||||
{
|
||||
//TODO
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
case 4:
|
||||
x = (MakeWord(addr, Bigendian) * 65536) +
|
||||
MakeWord(addr + 2, Bigendian);
|
||||
break;
|
||||
}
|
||||
return x;
|
||||
|
@ -131,6 +126,14 @@ namespace BizHawk.MultiClient
|
|||
return 0; //fail
|
||||
}
|
||||
|
||||
private int MakeWord(int addr, bool endian)
|
||||
{
|
||||
if (endian)
|
||||
return Domain.PeekByte(addr) + (Domain.PeekByte(addr + 1) * 255);
|
||||
else
|
||||
return (Domain.PeekByte(addr) * 255) + Domain.PeekByte(addr + 1);
|
||||
}
|
||||
|
||||
public void ResetScrollBar()
|
||||
{
|
||||
vScrollBar1.Value = 0;
|
||||
|
|
Loading…
Reference in New Issue