/[RomCheater]/trunk/RomCheater/Docking/FloatingRamDumperDialog.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/FloatingRamDumperDialog.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 153 by william, Mon May 28 02:20:29 2012 UTC revision 154 by william, Mon May 28 03:04:05 2012 UTC
# Line 14  namespace RomCheater.Docking Line 14  namespace RomCheater.Docking
14  {  {
15      public partial class FloatingRamDumperDialog : DockContent, IProcessConfig      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; }          public FloatingRamDumperDialog() { InitializeComponent(); this.AcceptedPlugin = null; this.AcceptedProcess = null; }
30          public FloatingRamDumperDialog(IConfigPlugin config) : this() { this.AcceptedPlugin = config; }          public FloatingRamDumperDialog(IConfigPlugin config) : this() { this.AcceptedPlugin = config; }
31          public FloatingRamDumperDialog(IConfigPlugin config, Process process) : this() { this.AcceptedPlugin = config; this.AcceptedProcess = process; }          public FloatingRamDumperDialog(IConfigPlugin config, Process process) : this() { this.AcceptedPlugin = config; this.AcceptedProcess = process; }
32                  
         //public IConfigPlugin AcceptedPlugin { get; set; }  
         //public Process AcceptedProcess { get; set; }  
   
33          private void FloatingRamDumperDialog_Load(object sender, EventArgs e)          private void FloatingRamDumperDialog_Load(object sender, EventArgs e)
34          {          {
35              txtStart.Value = 0;              txtStart.Value = 0;
# Line 34  namespace RomCheater.Docking Line 43  namespace RomCheater.Docking
43          #region IAcceptsPlugin<IConfigPlugin> Members          #region IAcceptsPlugin<IConfigPlugin> Members
44          public IConfigPlugin AcceptedPlugin { get; set; }          public IConfigPlugin AcceptedPlugin { get; set; }
45          #endregion          #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  }  }

Legend:
Removed from v.153  
changed lines
  Added in v.154

  ViewVC Help
Powered by ViewVC 1.1.22