/[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

--- trunk/RomCheater/Docking/FloatingRamDumperDialog.cs	2012/05/28 08:31:56	167
+++ trunk/RomCheater/Docking/FloatingRamDumperDialog.cs	2012/05/28 08:32:18	168
@@ -158,21 +158,23 @@
         private void DumpRam(ulong start, ulong end, string filename)
         {
             uint byte_count = (uint)(end - start);
-
-            //string arch = ProcessorAssemblyArchitecture.GetProcessorArchitecture(typeof(FloatingRamDumperDialog).Assembly);
-            //if (arch == ProcessorAssemblyArchitecture.x86)
-            //{
+            string arch = ProcessorAssemblyArchitecture.GetProcessorArchitecture(typeof(FloatingRamDumperDialog).Assembly);
+            if (arch == ProcessorAssemblyArchitecture.x86)
+            {
+                // intptr is 4 bytes on x86
                 if (end > int.MaxValue)
-                    logger.Warn.WriteLine("Warning: DumpRam(): ending address is greater than 0x{0:x8} and we are running x86, this will exceed the ", int.MaxValue);                
-            //}
-            //else if (arch == ProcessorAssemblyArchitecture.x64)
-            //{
-            //}
-            //else
-            //{
-            //    // don't know
-            //}
-
+                    logger.Warn.WriteLine("Warning: DumpRam(): ending address is greater than 0x{0:x8} and we are running x86, this will exceed the max value for IntPtr", int.MaxValue);
+            }
+            else if (arch == ProcessorAssemblyArchitecture.x64)
+            {
+                // inptr is 8 bytes on x64
+                if (end > uint.MaxValue)
+                    logger.Warn.WriteLine("Warning: DumpRam(): ending address is greater than 0x{0:x8} and we are running x64, this will exceed the max value for UIntPtr", int.MaxValue);
+            }
+            else
+            {
+                throw new InvalidProgramException(string.Format("Unexcepted processor aritecture: expected x86 or x64 but we have: {0}", arch));
+            }
             DumpRam(start, byte_count, filename);
         }
         private void DumpRam(ulong start, uint count, string filename)

 

  ViewVC Help
Powered by ViewVC 1.1.22