diff --git a/BizHawk.MultiClient/tools/HexEditor.Designer.cs b/BizHawk.MultiClient/tools/HexEditor.Designer.cs index 2362393977..5be5c87bb4 100644 --- a/BizHawk.MultiClient/tools/HexEditor.Designer.cs +++ b/BizHawk.MultiClient/tools/HexEditor.Designer.cs @@ -28,6 +28,7 @@ /// 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"; diff --git a/BizHawk.MultiClient/tools/HexEditor.resx b/BizHawk.MultiClient/tools/HexEditor.resx index 69c56499b0..63ec1f833f 100644 --- a/BizHawk.MultiClient/tools/HexEditor.resx +++ b/BizHawk.MultiClient/tools/HexEditor.resx @@ -120,4 +120,29 @@ 17, 17 + + + + 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== + + \ No newline at end of file diff --git a/BizHawk.MultiClient/tools/MemoryViewer.cs b/BizHawk.MultiClient/tools/MemoryViewer.cs index 6b5321734a..b278660328 100644 --- a/BizHawk.MultiClient/tools/MemoryViewer.cs +++ b/BizHawk.MultiClient/tools/MemoryViewer.cs @@ -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;