/[RomCheater]/trunk/RomCheater/Docking/UI/UIMemoryViewer.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/UI/UIMemoryViewer.cs

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

revision 243 by william, Sun Jun 3 13:21:51 2012 UTC revision 245 by william, Sun Jun 3 14:50:09 2012 UTC
# Line 54  namespace RomCheater.Docking.UI Line 54  namespace RomCheater.Docking.UI
54              if (!DesignMode)              if (!DesignMode)
55              {              {
56                  GenericMemoryProvider provider = new GenericMemoryProvider((IAcceptsProcessAndConfig)this);                  GenericMemoryProvider provider = new GenericMemoryProvider((IAcceptsProcessAndConfig)this);
57                    provider.OpenProvider();
58                  uint addr = 0;                  uint addr = 0;
59                  provider.ReadFirstNonZeroByte(MemoryStart, MemorySize, out addr);                  provider.ReadFirstNonZeroByte(MemoryStart, MemorySize, out addr);
60                    provider.CloseProvider();
61                  GotoAddress(addr);                  GotoAddress(addr);
62              }              }
63          }          }
# Line 190  namespace RomCheater.Docking.UI Line 192  namespace RomCheater.Docking.UI
192          }          }
193          private byte[] GetMemory()          private byte[] GetMemory()
194          {          {
195                byte[] data = new byte[] { };
196              try              try
197              {              {
198                  GenericMemoryProvider provider = new GenericMemoryProvider((IAcceptsProcessAndConfig)this);                  GenericMemoryProvider provider = new GenericMemoryProvider((IAcceptsProcessAndConfig)this);
199                    provider.OpenProvider();
200                  int bytesReadSize;                  int bytesReadSize;
                 byte[] data;  
201                  provider.ReadProcessMemory(CURRENT_TOP_ADDR, max_ram_view, out bytesReadSize, out data);                  provider.ReadProcessMemory(CURRENT_TOP_ADDR, max_ram_view, out bytesReadSize, out data);
202                  //this.Logger.LogDebugMessage(string.Format("GetMemory() -> Memory Size: {0}0x{2:X8}{1}", "{", "}", data.Length));                  provider.CloseProvider();
203                  return data;  
204              }              }
205              catch (Exception ex)              catch (Exception ex)
206              {              {
207                  logger.Error.WriteLine("{0}.GetMemory():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString());                  logger.Error.WriteLine("{0}.GetMemory():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString());
                 byte[] data = new byte[max_ram_view];  
                 for (int i = 0; i < data.Length; i++) { data[i] = 0x0; }  
                 return data;  
208              }              }
209                finally
210                {
211                    if (data.Length == 0)
212                    {
213                        data = new byte[max_ram_view];
214                        for (int i = 0; i < data.Length; i++) { data[i] = 0x0; }
215                    }
216                }
217                return data;
218          }          }
219          private void UpdateMemroyView() { this.UpdateMemroyView(this.CURRENT_TOP_ADDR); }          private void UpdateMemroyView() { this.UpdateMemroyView(this.CURRENT_TOP_ADDR); }
220          private void UpdateMemroyView(uint address)          private void UpdateMemroyView(uint address)
# Line 282  namespace RomCheater.Docking.UI Line 291  namespace RomCheater.Docking.UI
291                  // Byte changed                  // Byte changed
292                  //byte[] data = (txtData.ByteProvider as DynamicByteProvider).Bytes.ToArray();                  //byte[] data = (txtData.ByteProvider as DynamicByteProvider).Bytes.ToArray();
293                  GenericMemoryProvider provider = new GenericMemoryProvider((IAcceptsProcessAndConfig)this);                  GenericMemoryProvider provider = new GenericMemoryProvider((IAcceptsProcessAndConfig)this);
294                    provider.OpenProvider();
295                  int bytesReadSize;                  int bytesReadSize;
296    
297                  for (int i = 0; i < data.Length; i ++)                  for (int i = 0; i < data.Length; i ++)
# Line 290  namespace RomCheater.Docking.UI Line 300  namespace RomCheater.Docking.UI
300                      byte data_to_write = data[i];                      byte data_to_write = data[i];
301                      provider.WriteProcessMemory(addr, data_to_write, out bytesReadSize);                      provider.WriteProcessMemory(addr, data_to_write, out bytesReadSize);
302                  }                  }
303                    provider.CloseProvider();
304              }              }
305              catch (Exception ex) { logger.Error.WriteLine("{0}.WriteCurrentBytes():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); }              catch (Exception ex) { logger.Error.WriteLine("{0}.WriteCurrentBytes():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); }
306          }          }

Legend:
Removed from v.243  
changed lines
  Added in v.245

  ViewVC Help
Powered by ViewVC 1.1.22