ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/RomCheater/trunk/RomCheater/Docking/FloatingRamDumperDialog.cs
(Generate patch)

Comparing trunk/RomCheater/Docking/FloatingRamDumperDialog.cs (file contents):
Revision 153 by william, Mon May 28 02:20:29 2012 UTC vs.
Revision 154 by william, Mon May 28 03:04:05 2012 UTC

# Line 14 | Line 14 | namespace RomCheater.Docking
14   {
15      public partial class FloatingRamDumperDialog : DockContent, IProcessConfig
16      {
17 +        #region sub-classes
18 +        private const int BYTE_CORRECTION_VALUE = 23;
19 +        public enum DumpSize
20 +        {
21 +            Bytes,
22 +            KiloBytes,
23 +            MegaBytes,
24 +            GigaBytes,
25 +        }
26 +        #endregion
27 +        private DumpSize dumpSize = DumpSize.Bytes;
28 +
29          public FloatingRamDumperDialog() { InitializeComponent(); this.AcceptedPlugin = null; this.AcceptedProcess = null; }
30          public FloatingRamDumperDialog(IConfigPlugin config) : this() { this.AcceptedPlugin = config; }
31          public FloatingRamDumperDialog(IConfigPlugin config, Process process) : this() { this.AcceptedPlugin = config; this.AcceptedProcess = process; }
32 <        
21 <        //public IConfigPlugin AcceptedPlugin { get; set; }
22 <        //public Process AcceptedProcess { get; set; }
23 <
32 >      
33          private void FloatingRamDumperDialog_Load(object sender, EventArgs e)
34          {
35              txtStart.Value = 0;
# Line 34 | Line 43 | namespace RomCheater.Docking
43          #region IAcceptsPlugin<IConfigPlugin> Members
44          public IConfigPlugin AcceptedPlugin { get; set; }
45          #endregion
46 +
47 +        private void radioBTNBytes_CheckedChanged(object sender, EventArgs e)
48 +        {
49 +            dumpSize = DumpSize.Bytes;
50 +        }
51 +
52 +        private void radioBTNKiloBytes_CheckedChanged(object sender, EventArgs e)
53 +        {
54 +            dumpSize = DumpSize.KiloBytes;
55 +        }
56 +
57 +        private void radioBTNMegaBytes_CheckedChanged(object sender, EventArgs e)
58 +        {
59 +            dumpSize = DumpSize.MegaBytes;
60 +        }
61 +
62 +        private void radioBTNGigaBytes_CheckedChanged(object sender, EventArgs e)
63 +        {
64 +            dumpSize = DumpSize.GigaBytes;
65 +        }
66 +
67 +        private void btnCalcEndAddr_Click(object sender, EventArgs e)
68 +        {
69 +            ulong start = 0;
70 +            ulong end = 0;
71 +            start = txtStart.Value;
72 +            switch (dumpSize)
73 +            {
74 +                case DumpSize.Bytes:
75 +                    end = (ulong)(Convert.ToDouble(txtDumpSize.Text) * 1.0 + start) - BYTE_CORRECTION_VALUE;
76 +                    txtEnd.Value = end;
77 +                    break;
78 +                case DumpSize.KiloBytes:
79 +                    end = (ulong)(Convert.ToDouble(txtDumpSize.Text) * 1000.0 + start) - BYTE_CORRECTION_VALUE;
80 +                    txtEnd.Value = end;
81 +                    break;
82 +                case DumpSize.MegaBytes:
83 +                    end = (ulong)(Convert.ToDouble(txtDumpSize.Text) * 1000000.0 + start) - BYTE_CORRECTION_VALUE;
84 +                    txtEnd.Value = end;
85 +                    break;
86 +                case DumpSize.GigaBytes:
87 +                    end = (ulong)(Convert.ToDouble(txtDumpSize.Text) * 1000000000.0 + start) - BYTE_CORRECTION_VALUE;
88 +                    txtEnd.Value = end;
89 +                    break;
90 +            }
91 +        }
92 +
93 +        private void btnCalcStartAddr_Click(object sender, EventArgs e)
94 +        {
95 +            long start = 0;
96 +            long end = 0;
97 +            end = txtEnd.ToInt64();
98 +            switch (dumpSize)
99 +            {
100 +                case DumpSize.Bytes:
101 +                    start = (long)((double)end - (Convert.ToDouble(txtDumpSize.Text) * 1.0)) + BYTE_CORRECTION_VALUE;
102 +                    txtStart.Value = (ulong)start;;
103 +                    break;
104 +                case DumpSize.KiloBytes:
105 +                    start = (long)((double)end - (Convert.ToDouble(txtDumpSize.Text) * 1000.0)) + BYTE_CORRECTION_VALUE;
106 +                    txtStart.Value = (ulong)start;;
107 +                    break;
108 +                case DumpSize.MegaBytes:
109 +                    start = (long)((double)end - (Convert.ToDouble(txtDumpSize.Text) * 1000000.0)) + BYTE_CORRECTION_VALUE;
110 +                    txtStart.Value = (ulong)start;;
111 +                    break;
112 +                case DumpSize.GigaBytes:
113 +                    start = (long)((double)end - (Convert.ToDouble(txtDumpSize.Text) * 1000000000.0)) + BYTE_CORRECTION_VALUE;
114 +                    txtStart.Value = (ulong)start;
115 +                    break;
116 +            }
117 +        }
118 +
119 +        private void btnCalcDumpSize_Click(object sender, EventArgs e)
120 +        {
121 +            ulong start = txtStart.Value;
122 +            ulong end = txtEnd.Value;
123 +            ulong byte_diff = (end - start) + BYTE_CORRECTION_VALUE;
124 +            switch (dumpSize)
125 +            {
126 +                case DumpSize.Bytes:
127 +                    txtDumpSize.Text = string.Format("{0:n2}", (double)byte_diff);
128 +                    break;
129 +                case DumpSize.KiloBytes:
130 +                    txtDumpSize.Text = string.Format("{0:n3}", (double)byte_diff / 1000.0);
131 +                    break;
132 +                case DumpSize.MegaBytes:
133 +                    txtDumpSize.Text = string.Format("{0:n6}", (double)byte_diff / 1000000.0);
134 +                    break;
135 +                case DumpSize.GigaBytes:
136 +                    txtDumpSize.Text = string.Format("{0:n9}", (double)byte_diff / 1000000000.0);
137 +                    break;
138 +            }
139 +        }
140      }
141   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines