public static bool LoadFromFile(string fileName, out ROM obj)
 {
     System.Exception exception = null;
     return LoadFromFile(fileName, out obj, out exception);
 }
 /// <summary>
 /// Deserializes xml markup from file into an ROM object
 /// </summary>
 /// <param name="fileName">string xml file to load and deserialize</param>
 /// <param name="obj">Output ROM object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this XmlSerializer can deserialize the object; otherwise, false</returns>
 public static bool LoadFromFile(string fileName, out ROM obj, out System.Exception exception)
 {
     exception = null;
     obj = default(ROM);
     try {
         obj = LoadFromFile(fileName);
         return true;
     }
     catch (System.Exception ex) {
         exception = ex;
         return false;
     }
 }
 /// <summary>
 /// Deserializes workflow markup into an ROM object
 /// </summary>
 /// <param name="xml">string workflow markup to deserialize</param>
 /// <param name="obj">Output ROM object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this XmlSerializer can deserialize the object; otherwise, false</returns>
 public static bool Deserialize(string xml, out ROM obj, out System.Exception exception)
 {
     exception = null;
     obj = default(ROM);
     try {
         obj = Deserialize(xml);
         return true;
     }
     catch (System.Exception ex) {
         exception = ex;
         return false;
     }
 }
 public static bool Deserialize(string xml, out ROM obj)
 {
     System.Exception exception = null;
     return Deserialize(xml, out obj, out exception);
 }
 private void SaveXML()
 {
     DefaultFreeSpace.ROM XMLOptions = new DefaultFreeSpace.ROM();
     XMLOptions.CRC32 = CRC32.CalculateCRC32(new BinaryReader(rom.GetStream()));
     XMLOptions.GameCode = rom.GameCode;
     XMLOptions.GameTitle = rom.GameTitle;
     XMLOptions.MakerCode = rom.MakerCode;
     var freeSpace2 = memoryManager.GetFreeSpace();
     List<GBAPointer> temp2 = new List<GBAPointer>(freeSpace2);
     var freeSpace = freeSpace2.ConvertAll(
         x =>
             (OffsetSizePair)
             (Nintenlord.MemoryManagement.OffsetSizePair)
             x
         );
     List<OffsetSizePair> temp = new List<OffsetSizePair>(freeSpace);
     XMLOptions.ROM_space.Add(new DefaultFreeSpace.Space("Free", freeSpace));
     XMLOptions.SaveToFile(Path.ChangeExtension(rom.ROMPath, ".xml"));
 }