diff --git a/SabreTools.Library/DatFiles/SoftwareList.cs b/SabreTools.Library/DatFiles/SoftwareList.cs
index 60ef5224..cb2ecfa9 100644
--- a/SabreTools.Library/DatFiles/SoftwareList.cs
+++ b/SabreTools.Library/DatFiles/SoftwareList.cs
@@ -60,21 +60,13 @@ namespace SabreTools.Library.DatFiles
case "softwarelist":
Header.Name = (Header.Name == null ? xtr.GetAttribute("name") ?? string.Empty : Header.Name);
Header.Description = (Header.Description == null ? xtr.GetAttribute("description") ?? string.Empty : Header.Description);
- if (Header.ForceMerging == MergingFlag.None)
- Header.ForceMerging = xtr.GetAttribute("forcemerging").AsMergingFlag();
-
- if (Header.ForceNodump == NodumpFlag.None)
- Header.ForceNodump = xtr.GetAttribute("forcenodump").AsNodumpFlag();
-
- if (Header.ForcePacking == PackingFlag.None)
- Header.ForcePacking = xtr.GetAttribute("forcepacking").AsPackingFlag();
xtr.Read();
break;
// We want to process the entire subtree of the machine
case "software":
- ReadSoftware(xtr.ReadSubtree(), filename, indexId, keep);
+ ReadSoftware(xtr.ReadSubtree(), filename, indexId);
// Skip the software now that we've processed it
xtr.Skip();
@@ -103,8 +95,7 @@ namespace SabreTools.Library.DatFiles
/// XmlReader representing a software block
/// Name of the file to be parsed
/// Index ID for the DAT
- /// True if full pathnames are to be kept, false otherwise (default)
- private void ReadSoftware(XmlReader reader, string filename, int indexId, bool keep)
+ private void ReadSoftware(XmlReader reader, string filename, int indexId)
{
// If we have an empty software, skip it
if (reader == null)
@@ -116,24 +107,11 @@ namespace SabreTools.Library.DatFiles
bool containsItems = false;
// Create a new machine
- MachineType machineType = 0x0;
- if (reader.GetAttribute("isbios").AsYesNo() == true)
- machineType |= MachineType.Bios;
-
- if (reader.GetAttribute("isdevice").AsYesNo() == true)
- machineType |= MachineType.Device;
-
- if (reader.GetAttribute("ismechanical").AsYesNo() == true)
- machineType |= MachineType.Mechanical;
-
Machine machine = new Machine
{
Name = reader.GetAttribute("name"),
- Description = reader.GetAttribute("name"),
- Supported = reader.GetAttribute("supported").AsSupported(),
-
CloneOf = reader.GetAttribute("cloneof"),
- MachineType = (machineType == 0x0 ? MachineType.NULL : machineType),
+ Supported = reader.GetAttribute("supported").AsSupported(),
};
while (!reader.EOF)
@@ -160,10 +138,6 @@ namespace SabreTools.Library.DatFiles
machine.Publisher = reader.ReadElementContentAsString();
break;
- case "category":
- machine.Category = reader.ReadElementContentAsString();
- break;
-
case "info":
ParseAddHelper(new Info
{
@@ -197,7 +171,14 @@ namespace SabreTools.Library.DatFiles
break;
case "part": // Contains all rom and disk information
- containsItems = ReadPart(reader.ReadSubtree(), machine, filename, indexId, keep);
+ var part = new Part()
+ {
+ Name = reader.GetAttribute("name"),
+ Interface = reader.GetAttribute("interface"),
+ };
+
+ // Now read the internal tags
+ containsItems = ReadPart(reader.ReadSubtree(), machine, part, filename, indexId);
// Skip the part now that we've processed it
reader.Skip();
@@ -233,26 +214,17 @@ namespace SabreTools.Library.DatFiles
///
/// XmlReader representing a part block
/// Machine information to pass to contained items
+ /// Part information to pass to contained items
/// Name of the file to be parsed
/// Index ID for the DAT
- /// True if full pathnames are to be kept, false otherwise (default)
- private bool ReadPart(
- XmlReader reader,
- Machine machine,
-
- // Standard Dat parsing
- string filename,
- int indexId,
-
- // Miscellaneous
- bool keep)
+ private bool ReadPart(XmlReader reader, Machine machine, Part part, string filename, int indexId)
{
- string areaname,
- areaWidth,
- areaEndinaness;
- long? areasize = null;
- SoftwareListPart part = null;
- List features = null;
+ // If we have an empty port, skip it
+ if (reader == null)
+ return false;
+
+ // Get lists ready
+ part.Features = new List();
List items = new List();
while (!reader.EOF)
@@ -260,15 +232,6 @@ namespace SabreTools.Library.DatFiles
// We only want elements
if (reader.NodeType != XmlNodeType.Element)
{
- if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "part")
- {
- part = null;
- features = null;
- }
-
- if (reader.NodeType == XmlNodeType.EndElement && (reader.Name == "dataarea" || reader.Name == "diskarea"))
- areasize = null;
-
reader.Read();
continue;
}
@@ -276,45 +239,28 @@ namespace SabreTools.Library.DatFiles
// Get the elements from the software
switch (reader.Name)
{
- case "part":
- part = new SoftwareListPart();
- part.Name = reader.GetAttribute("name");
- part.Interface = reader.GetAttribute("interface");
- reader.Read();
- break;
-
case "feature":
- var feature = new PartFeature();
- feature.Name = reader.GetAttribute("name");
- feature.Value = reader.GetAttribute("value");
+ var feature = new PartFeature()
+ {
+ Name = reader.GetAttribute("name"),
+ Value = reader.GetAttribute("value"),
+ };
- // Ensure the list exists
- if (features == null)
- features = new List();
-
- features.Add(feature);
+ part.Features.Add(feature);
reader.Read();
break;
case "dataarea":
- areaname = reader.GetAttribute("name");
- if (reader.GetAttribute("size") != null)
+ var dataArea = new DataArea
{
- if (Int64.TryParse(reader.GetAttribute("size"), out long tempas))
- areasize = tempas;
- }
+ Name = reader.GetAttribute("name"),
+ Size = Sanitizer.CleanSize(reader.GetAttribute("size")),
+ Width = reader.GetAttribute("width"),
+ Endianness = reader.GetAttribute("endianness"),
+ };
- areaWidth = reader.GetAttribute("width");
- areaEndinaness = reader.GetAttribute("endianness");
-
- List roms = ReadDataArea(
- reader.ReadSubtree(),
- areaname,
- areasize,
- areaWidth,
- areaEndinaness,
- keep);
+ List roms = ReadDataArea(reader.ReadSubtree(), dataArea);
// If we got valid roms, add them to the list
if (roms != null)
@@ -325,12 +271,12 @@ namespace SabreTools.Library.DatFiles
break;
case "diskarea":
- areaname = reader.GetAttribute("name");
+ var diskArea = new DiskArea
+ {
+ Name = reader.GetAttribute("name"),
+ };
- List disks = ReadDiskArea(
- reader.ReadSubtree(),
- areaname,
- areasize);
+ List disks = ReadDiskArea(reader.ReadSubtree(), diskArea);
// If we got valid disks, add them to the list
if (disks != null)
@@ -346,9 +292,6 @@ namespace SabreTools.Library.DatFiles
Name = reader.GetAttribute("name"),
Tag = reader.GetAttribute("tag"),
Mask = reader.GetAttribute("mask"),
- Conditions = new List(),
- Locations = new List(),
- Values = new List(),
};
// Now read the internal tags
@@ -370,7 +313,6 @@ namespace SabreTools.Library.DatFiles
foreach (DatItem item in items)
{
// Add all missing information
- item.Features = features;
item.Part = part;
item.Source = new Source(indexId, filename);
item.CopyMachineInformation(machine);
@@ -386,23 +328,10 @@ namespace SabreTools.Library.DatFiles
/// Read dataarea information
///
/// XmlReader representing a dataarea block
- /// Name of the containing area
- /// Size of the containing area
- /// Byte width of the containing area
- /// Endianness of the containing area
- /// True if full pathnames are to be kept, false otherwise (default)
- private List ReadDataArea(
- XmlReader reader,
- string areaName,
- long? areaSize,
- string areaWidth,
- string areaEndianness,
-
- // Miscellaneous
- bool keep)
+ /// DataArea representing the enclosing area
+ private List ReadDataArea(XmlReader reader, DataArea dataArea)
{
string key = string.Empty;
- string temptype = reader.Name;
List items = new List();
while (!reader.EOF)
@@ -439,23 +368,13 @@ namespace SabreTools.Library.DatFiles
Name = reader.GetAttribute("name"),
Size = Sanitizer.CleanSize(reader.GetAttribute("size")),
CRC = reader.GetAttribute("crc"),
- MD5 = reader.GetAttribute("md5"),
-#if NET_FRAMEWORK
- RIPEMD160 = reader.GetAttribute("ripemd160"),
-#endif
SHA1 = reader.GetAttribute("sha1"),
- SHA256 = reader.GetAttribute("sha256"),
- SHA384 = reader.GetAttribute("sha384"),
- SHA512 = reader.GetAttribute("sha512"),
Offset = reader.GetAttribute("offset"),
- ItemStatus = reader.GetAttribute("status").AsItemStatus(),
-
- AreaName = areaName,
- AreaSize = areaSize,
- AreaWidth = areaWidth,
- AreaEndianness = areaEndianness,
Value = reader.GetAttribute("value"),
+ ItemStatus = reader.GetAttribute("status").AsItemStatus(),
LoadFlag = reader.GetAttribute("loadflag"),
+
+ DataArea = dataArea,
};
items.Add(rom);
@@ -475,9 +394,8 @@ namespace SabreTools.Library.DatFiles
/// Read diskarea information
///
/// XmlReader representing a diskarea block
- /// Name of the containing area
- /// Size of the containing area
- private List ReadDiskArea(XmlReader reader, string areaname, long? areasize)
+ /// DiskArea representing the enclosing area
+ private List ReadDiskArea(XmlReader reader, DiskArea diskArea)
{
List items = new List();
@@ -497,13 +415,11 @@ namespace SabreTools.Library.DatFiles
DatItem disk = new Disk
{
Name = reader.GetAttribute("name"),
- MD5 = reader.GetAttribute("md5"),
SHA1 = reader.GetAttribute("sha1"),
ItemStatus = reader.GetAttribute("status").AsItemStatus(),
Writable = reader.GetAttribute("writable").AsYesNo(),
- AreaName = areaname,
- AreaSize = areasize,
+ DiskArea = diskArea,
};
items.Add(disk);
@@ -549,10 +465,12 @@ namespace SabreTools.Library.DatFiles
switch (reader.Name)
{
case "dipvalue":
- var dipValue = new Setting();
- dipValue.Name = reader.GetAttribute("name");
- dipValue.Value = reader.GetAttribute("value");
- dipValue.Default = reader.GetAttribute("default").AsYesNo();
+ var dipValue = new Setting
+ {
+ Name = reader.GetAttribute("name"),
+ Value = reader.GetAttribute("value"),
+ Default = reader.GetAttribute("default").AsYesNo(),
+ };
dipSwitch.Values.Add(dipValue);
@@ -746,7 +664,6 @@ namespace SabreTools.Library.DatFiles
ProcessItemName(datItem, true);
// Build the state
- string areaName = datItem.AreaName;
switch (datItem.ItemType)
{
case ItemType.DipSwitch:
@@ -771,16 +688,17 @@ namespace SabreTools.Library.DatFiles
case ItemType.Disk:
var disk = datItem as Disk;
- if (string.IsNullOrWhiteSpace(areaName))
- areaName = "cdrom";
+ string diskAreaName = disk.DiskArea?.Name;
+ if (string.IsNullOrWhiteSpace(diskAreaName))
+ diskAreaName = "cdrom";
xtw.WriteStartElement("part");
xtw.WriteRequiredAttributeString("name", datItem.Part?.Name);
xtw.WriteRequiredAttributeString("interface", datItem.Part?.Interface);
- if (datItem.Features != null && datItem.Features.Count > 0)
+ if (datItem.Part?.Features != null && datItem.Part?.Features.Count > 0)
{
- foreach (PartFeature partFeature in datItem.Features)
+ foreach (PartFeature partFeature in datItem.Part.Features)
{
xtw.WriteStartElement("feature");
xtw.WriteRequiredAttributeString("name", partFeature.Name);
@@ -790,8 +708,7 @@ namespace SabreTools.Library.DatFiles
}
xtw.WriteStartElement("diskarea");
- xtw.WriteRequiredAttributeString("name", areaName);
- xtw.WriteOptionalAttributeString("size", disk.AreaSize.ToString());
+ xtw.WriteRequiredAttributeString("name", diskAreaName);
xtw.WriteStartElement("disk");
xtw.WriteRequiredAttributeString("name", disk.Name);
@@ -818,16 +735,17 @@ namespace SabreTools.Library.DatFiles
case ItemType.Rom:
var rom = datItem as Rom;
- if (string.IsNullOrWhiteSpace(areaName))
- areaName = "rom";
+ string dataAreaName = rom.DataArea?.Name;
+ if (string.IsNullOrWhiteSpace(dataAreaName))
+ dataAreaName = "rom";
xtw.WriteStartElement("part");
xtw.WriteRequiredAttributeString("name", datItem.Part?.Name);
xtw.WriteRequiredAttributeString("interface", datItem.Part?.Interface);
- if (datItem.Features != null && datItem.Features.Count > 0)
+ if (datItem.Part?.Features != null && datItem.Part?.Features.Count > 0)
{
- foreach (PartFeature kvp in datItem.Features)
+ foreach (PartFeature kvp in datItem.Part.Features)
{
xtw.WriteStartElement("feature");
xtw.WriteRequiredAttributeString("name", kvp.Name);
@@ -837,10 +755,10 @@ namespace SabreTools.Library.DatFiles
}
xtw.WriteStartElement("dataarea");
- xtw.WriteRequiredAttributeString("name", areaName);
- xtw.WriteOptionalAttributeString("size", rom.AreaSize.ToString());
- xtw.WriteOptionalAttributeString("width", rom.AreaWidth);
- xtw.WriteOptionalAttributeString("endianness", rom.AreaEndianness);
+ xtw.WriteRequiredAttributeString("name", dataAreaName);
+ xtw.WriteOptionalAttributeString("size", rom.DataArea?.Size.ToString());
+ xtw.WriteOptionalAttributeString("width", rom.DataArea?.Width);
+ xtw.WriteOptionalAttributeString("endianness", rom.DataArea?.Endianness);
xtw.WriteStartElement("rom");
xtw.WriteRequiredAttributeString("name", rom.Name);
diff --git a/SabreTools.Library/DatItems/Adjuster.cs b/SabreTools.Library/DatItems/Adjuster.cs
index 26608ea6..e732bdcc 100644
--- a/SabreTools.Library/DatItems/Adjuster.cs
+++ b/SabreTools.Library/DatItems/Adjuster.cs
@@ -108,11 +108,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Analog.cs b/SabreTools.Library/DatItems/Analog.cs
index df401b77..5f87b7e9 100644
--- a/SabreTools.Library/DatItems/Analog.cs
+++ b/SabreTools.Library/DatItems/Analog.cs
@@ -71,11 +71,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Archive.cs b/SabreTools.Library/DatItems/Archive.cs
index 170abdcd..5121e88f 100644
--- a/SabreTools.Library/DatItems/Archive.cs
+++ b/SabreTools.Library/DatItems/Archive.cs
@@ -84,11 +84,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Auxiliary.cs b/SabreTools.Library/DatItems/Auxiliary.cs
index 2dd7586b..487f2e34 100644
--- a/SabreTools.Library/DatItems/Auxiliary.cs
+++ b/SabreTools.Library/DatItems/Auxiliary.cs
@@ -34,6 +34,75 @@ namespace SabreTools.Library.DatItems
#region SoftwareList
+ ///
+ /// Represents one SoftwareList dataarea object
+ ///
+ ///
+ /// One DataArea can contain multiple Rom items
+ ///
+ [JsonObject("dataarea")]
+ public class DataArea
+ {
+ ///
+ /// Name of the item
+ ///
+ [JsonProperty("name", DefaultValueHandling = DefaultValueHandling.Ignore)]
+ public string Name { get; set; }
+
+ ///
+ /// Total size of the area
+ ///
+ [JsonProperty("size", DefaultValueHandling = DefaultValueHandling.Ignore)]
+ public long? Size { get; set; }
+
+ ///
+ /// Byte width of the area
+ ///
+ [JsonProperty("width", DefaultValueHandling = DefaultValueHandling.Ignore)]
+ public string Width { get; set; } // TODO: (8|16|32|64) "8"
+
+ ///
+ /// Byte endianness of the area
+ ///
+ [JsonProperty("endianness", DefaultValueHandling = DefaultValueHandling.Ignore)]
+ public string Endianness { get; set; } // TODO: (big|little) "little"
+ }
+
+ ///
+ /// Represents one SoftwareList diskarea object
+ ///
+ ///
+ /// One DiskArea can contain multiple Disk items
+ ///
+ [JsonObject("diskarea")]
+ public class DiskArea
+ {
+ ///
+ /// Name of the item
+ ///
+ [JsonProperty("name", DefaultValueHandling = DefaultValueHandling.Ignore)]
+ public string Name { get; set; }
+ }
+
+ ///
+ /// Represents one SoftwareList part object
+ ///
+ ///
+ /// One Part can contain multiple PartFeature, DataArea, DiskArea, and DipSwitch items
+ ///
+ [JsonObject("part")]
+ public class Part
+ {
+ [JsonProperty("name")]
+ public string Name { get; set; }
+
+ [JsonProperty("interface")]
+ public string Interface { get; set; }
+
+ [JsonProperty("features", DefaultValueHandling = DefaultValueHandling.Ignore)]
+ public List Features { get; set; }
+ }
+
///
/// Represents one SoftwareList feature object
///
@@ -48,19 +117,6 @@ namespace SabreTools.Library.DatItems
public string Value { get; set; }
}
- ///
- /// Represents one SoftwareList part object
- ///
- [JsonObject("part")]
- public class SoftwareListPart
- {
- [JsonProperty("name")]
- public string Name { get; set; }
-
- [JsonProperty("interface")]
- public string Interface { get; set; }
- }
-
#endregion
#endregion //DatItem
diff --git a/SabreTools.Library/DatItems/BiosSet.cs b/SabreTools.Library/DatItems/BiosSet.cs
index 56cb14e2..f7b4403c 100644
--- a/SabreTools.Library/DatItems/BiosSet.cs
+++ b/SabreTools.Library/DatItems/BiosSet.cs
@@ -102,11 +102,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Blank.cs b/SabreTools.Library/DatItems/Blank.cs
index 69bab4a6..030e688d 100644
--- a/SabreTools.Library/DatItems/Blank.cs
+++ b/SabreTools.Library/DatItems/Blank.cs
@@ -39,11 +39,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Chip.cs b/SabreTools.Library/DatItems/Chip.cs
index 9ea35ba7..8ed3d6ee 100644
--- a/SabreTools.Library/DatItems/Chip.cs
+++ b/SabreTools.Library/DatItems/Chip.cs
@@ -113,11 +113,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Condition.cs b/SabreTools.Library/DatItems/Condition.cs
index f99100dc..03898c57 100644
--- a/SabreTools.Library/DatItems/Condition.cs
+++ b/SabreTools.Library/DatItems/Condition.cs
@@ -106,11 +106,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Configuration.cs b/SabreTools.Library/DatItems/Configuration.cs
index fdbfbb14..6e071fb8 100644
--- a/SabreTools.Library/DatItems/Configuration.cs
+++ b/SabreTools.Library/DatItems/Configuration.cs
@@ -147,11 +147,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Control.cs b/SabreTools.Library/DatItems/Control.cs
index 60ba0809..a82c4abb 100644
--- a/SabreTools.Library/DatItems/Control.cs
+++ b/SabreTools.Library/DatItems/Control.cs
@@ -171,11 +171,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/DatItem.cs b/SabreTools.Library/DatItems/DatItem.cs
index d0ba7b53..308d1549 100644
--- a/SabreTools.Library/DatItems/DatItem.cs
+++ b/SabreTools.Library/DatItems/DatItem.cs
@@ -108,39 +108,7 @@ namespace SabreTools.Library.DatItems
/// Original hardware part associated with the item
///
[JsonProperty("part", DefaultValueHandling = DefaultValueHandling.Ignore)]
- public SoftwareListPart Part { get; set; }
-
- ///
- /// Features provided to/by the item
- ///
- [JsonProperty("features", DefaultValueHandling = DefaultValueHandling.Ignore)]
- public List Features { get; set; }
-
- ///
- /// Original hardware part name within an item
- ///
- [JsonProperty("areaname", DefaultValueHandling = DefaultValueHandling.Ignore)]
- public string AreaName { get; set; }
-
- ///
- /// Original hardware size within the part
- ///
- [JsonProperty("areasize", DefaultValueHandling = DefaultValueHandling.Ignore)]
- public long? AreaSize { get; set; }
-
- ///
- /// Width of the data area in bytes
- ///
- /// TODO: Convert to Int32
- [JsonProperty("width", DefaultValueHandling = DefaultValueHandling.Ignore)]
- public string AreaWidth { get; set; } // (8|16|32|64) "8"
-
- ///
- /// Endianness of the data area
- ///
- /// TODO: Convert to Enum?
- [JsonProperty("endianness", DefaultValueHandling = DefaultValueHandling.Ignore)]
- public string AreaEndianness { get; set; } // (big|little) "little"
+ public Part Part { get; set; }
///
/// SoftwareList value associated with the item
@@ -414,22 +382,6 @@ namespace SabreTools.Library.DatItems
// TODO: Add DatItem_Part*
// TODO: Add DatItem_Feature*
- // TODO: These might be replaced by dataarea/diskarea
- if (mappings.Keys.Contains(Field.DatItem_AreaName))
- AreaName = mappings[Field.DatItem_AreaName];
-
- if (mappings.Keys.Contains(Field.DatItem_AreaSize))
- {
- if (Int64.TryParse(mappings[Field.DatItem_AreaSize], out long areaSize))
- AreaSize = areaSize;
- }
-
- if (mappings.Keys.Contains(Field.DatItem_AreaWidth))
- AreaWidth = mappings[Field.DatItem_AreaWidth];
-
- if (mappings.Keys.Contains(Field.DatItem_AreaEndianness))
- AreaEndianness = mappings[Field.DatItem_AreaEndianness];
-
if (mappings.Keys.Contains(Field.DatItem_Value))
Value = mappings[Field.DatItem_Value];
@@ -829,32 +781,6 @@ namespace SabreTools.Library.DatItems
if (filter.DatItem_Part_Interface.MatchesNegativeSet(Part?.Interface) == true)
return false;
- // Filter on area name
- if (filter.DatItem_AreaName.MatchesPositiveSet(AreaName) == false)
- return false;
- if (filter.DatItem_AreaName.MatchesNegativeSet(AreaName) == true)
- return false;
-
- // Filter on area size
- if (filter.DatItem_AreaSize.MatchesNeutral(null, AreaSize) == false)
- return false;
- else if (filter.DatItem_AreaSize.MatchesPositive(null, AreaSize) == false)
- return false;
- else if (filter.DatItem_AreaSize.MatchesNegative(null, AreaSize) == false)
- return false;
-
- // Filter on area byte width
- if (filter.DatItem_AreaWidth.MatchesPositiveSet(AreaWidth) == false)
- return false;
- if (filter.DatItem_AreaWidth.MatchesNegativeSet(AreaWidth) == true)
- return false;
-
- // Filter on area endianness
- if (filter.DatItem_AreaEndianness.MatchesPositiveSet(AreaEndianness) == false)
- return false;
- if (filter.DatItem_AreaEndianness.MatchesNegativeSet(AreaEndianness) == true)
- return false;
-
// Filter on softwarelist value
if (filter.DatItem_Value.MatchesPositiveSet(Value) == false)
return false;
@@ -918,20 +844,8 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Part_Interface) && Part != null)
Part.Interface = null;
- if (fields.Contains(Field.DatItem_Features))
- Features = null;
-
- if (fields.Contains(Field.DatItem_AreaName))
- AreaName = null;
-
- if (fields.Contains(Field.DatItem_AreaSize))
- AreaSize = null;
-
- if (fields.Contains(Field.DatItem_AreaWidth))
- AreaWidth = null;
-
- if (fields.Contains(Field.DatItem_AreaEndianness))
- AreaEndianness = null;
+ if (fields.Contains(Field.DatItem_Features) && Part != null)
+ Part.Features = null;
if (fields.Contains(Field.DatItem_Value))
Value = null;
@@ -1063,7 +977,7 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Part_Name))
{
if (Part == null)
- Part = new SoftwareListPart();
+ Part = new Part();
Part.Name = item.Part?.Name;
}
@@ -1071,25 +985,18 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Part_Interface))
{
if (Part == null)
- Part = new SoftwareListPart();
+ Part = new Part();
Part.Interface = item.Part?.Interface;
}
if (fields.Contains(Field.DatItem_Features))
- Features = item.Features;
+ {
+ if (Part == null)
+ Part = new Part();
- if (fields.Contains(Field.DatItem_AreaName))
- AreaName = item.AreaName;
-
- if (fields.Contains(Field.DatItem_AreaSize))
- AreaSize = item.AreaSize;
-
- if (fields.Contains(Field.DatItem_AreaWidth))
- AreaWidth = item.AreaWidth;
-
- if (fields.Contains(Field.DatItem_AreaEndianness))
- AreaEndianness = item.AreaEndianness;
+ Part.Features = item.Part?.Features;
+ }
if (fields.Contains(Field.DatItem_Value))
Value = item.Value;
diff --git a/SabreTools.Library/DatItems/Device.cs b/SabreTools.Library/DatItems/Device.cs
index 152a8b84..89d9fa3b 100644
--- a/SabreTools.Library/DatItems/Device.cs
+++ b/SabreTools.Library/DatItems/Device.cs
@@ -122,11 +122,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/DeviceReference.cs b/SabreTools.Library/DatItems/DeviceReference.cs
index 7170141d..ab79f5e0 100644
--- a/SabreTools.Library/DatItems/DeviceReference.cs
+++ b/SabreTools.Library/DatItems/DeviceReference.cs
@@ -84,11 +84,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/DipSwitch.cs b/SabreTools.Library/DatItems/DipSwitch.cs
index 5f764018..8e3b1a9e 100644
--- a/SabreTools.Library/DatItems/DipSwitch.cs
+++ b/SabreTools.Library/DatItems/DipSwitch.cs
@@ -124,11 +124,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Disk.cs b/SabreTools.Library/DatItems/Disk.cs
index b173a025..03816d31 100644
--- a/SabreTools.Library/DatItems/Disk.cs
+++ b/SabreTools.Library/DatItems/Disk.cs
@@ -25,6 +25,8 @@ namespace SabreTools.Library.DatItems
#region Fields
+ #region Common
+
///
/// Name of the item
///
@@ -90,6 +92,18 @@ namespace SabreTools.Library.DatItems
#endregion
+ #region SoftwareList
+
+ ///
+ /// Disk area information
+ ///
+ [JsonProperty("diskarea", DefaultValueHandling = DefaultValueHandling.Ignore)]
+ public DiskArea DiskArea { get; set; }
+
+ #endregion
+
+ #endregion // Fields
+
#region Accessors
///
@@ -137,6 +151,14 @@ namespace SabreTools.Library.DatItems
if (mappings.Keys.Contains(Field.DatItem_Optional))
Optional = mappings[Field.DatItem_Optional].AsYesNo();
+
+ if (mappings.Keys.Contains(Field.DatItem_AreaName))
+ {
+ if (DiskArea == null)
+ DiskArea = new DiskArea();
+
+ DiskArea.Name = mappings[Field.DatItem_AreaName];
+ }
}
#endregion
@@ -191,11 +213,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
@@ -211,6 +228,8 @@ namespace SabreTools.Library.DatItems
Writable = this.Writable,
ItemStatus = this.ItemStatus,
Optional = this.Optional,
+
+ DiskArea = this.DiskArea,
};
}
@@ -236,11 +255,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
@@ -255,6 +269,8 @@ namespace SabreTools.Library.DatItems
MD5 = this.MD5,
SHA1 = this.SHA1,
+
+ DataArea = new DataArea { Name = this.DiskArea.Name },
};
return rom;
@@ -452,6 +468,12 @@ namespace SabreTools.Library.DatItems
if (filter.DatItem_Optional.MatchesNeutral(null, Optional) == false)
return false;
+ // Filter on area name
+ if (filter.DatItem_AreaName.MatchesPositiveSet(DiskArea?.Name) == false)
+ return false;
+ if (filter.DatItem_AreaName.MatchesNegativeSet(DiskArea?.Name) == true)
+ return false;
+
return true;
}
@@ -491,6 +513,12 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Optional))
Optional = null;
+
+ if (fields.Contains(Field.DatItem_AreaName))
+ {
+ if (DiskArea != null)
+ DiskArea.Name = null;
+ }
}
///
@@ -592,6 +620,14 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Optional))
Optional = newItem.Optional;
+
+ if (fields.Contains(Field.DatItem_AreaName))
+ {
+ if (DiskArea == null)
+ DiskArea = new DiskArea();
+
+ DiskArea.Name = newItem.DiskArea?.Name;
+ }
}
#endregion
diff --git a/SabreTools.Library/DatItems/Display.cs b/SabreTools.Library/DatItems/Display.cs
index b0acc58a..c4ade817 100644
--- a/SabreTools.Library/DatItems/Display.cs
+++ b/SabreTools.Library/DatItems/Display.cs
@@ -188,11 +188,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Driver.cs b/SabreTools.Library/DatItems/Driver.cs
index 44cc5a31..b9fd39cd 100644
--- a/SabreTools.Library/DatItems/Driver.cs
+++ b/SabreTools.Library/DatItems/Driver.cs
@@ -104,11 +104,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Extension.cs b/SabreTools.Library/DatItems/Extension.cs
index 2e4e2d9c..781162f5 100644
--- a/SabreTools.Library/DatItems/Extension.cs
+++ b/SabreTools.Library/DatItems/Extension.cs
@@ -84,11 +84,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Feature.cs b/SabreTools.Library/DatItems/Feature.cs
index 292f798f..da1e669d 100644
--- a/SabreTools.Library/DatItems/Feature.cs
+++ b/SabreTools.Library/DatItems/Feature.cs
@@ -94,11 +94,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Info.cs b/SabreTools.Library/DatItems/Info.cs
index 0ab7bca1..996b10dc 100644
--- a/SabreTools.Library/DatItems/Info.cs
+++ b/SabreTools.Library/DatItems/Info.cs
@@ -92,11 +92,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Input.cs b/SabreTools.Library/DatItems/Input.cs
index 4b4bffb9..400a767e 100644
--- a/SabreTools.Library/DatItems/Input.cs
+++ b/SabreTools.Library/DatItems/Input.cs
@@ -106,11 +106,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Instance.cs b/SabreTools.Library/DatItems/Instance.cs
index 1880ffd1..ef0de7ca 100644
--- a/SabreTools.Library/DatItems/Instance.cs
+++ b/SabreTools.Library/DatItems/Instance.cs
@@ -93,11 +93,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Location.cs b/SabreTools.Library/DatItems/Location.cs
index 33a0dc42..024bf023 100644
--- a/SabreTools.Library/DatItems/Location.cs
+++ b/SabreTools.Library/DatItems/Location.cs
@@ -101,11 +101,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Media.cs b/SabreTools.Library/DatItems/Media.cs
index 1ad694f4..cf96aa19 100644
--- a/SabreTools.Library/DatItems/Media.cs
+++ b/SabreTools.Library/DatItems/Media.cs
@@ -149,11 +149,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
@@ -189,11 +184,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Port.cs b/SabreTools.Library/DatItems/Port.cs
index e8e5c965..f3299831 100644
--- a/SabreTools.Library/DatItems/Port.cs
+++ b/SabreTools.Library/DatItems/Port.cs
@@ -81,11 +81,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/RamOption.cs b/SabreTools.Library/DatItems/RamOption.cs
index f3d1ab82..89a85c3d 100644
--- a/SabreTools.Library/DatItems/RamOption.cs
+++ b/SabreTools.Library/DatItems/RamOption.cs
@@ -102,11 +102,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Release.cs b/SabreTools.Library/DatItems/Release.cs
index 83ac1cdc..d8033461 100644
--- a/SabreTools.Library/DatItems/Release.cs
+++ b/SabreTools.Library/DatItems/Release.cs
@@ -124,11 +124,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Rom.cs b/SabreTools.Library/DatItems/Rom.cs
index b0a83f8a..0e18de15 100644
--- a/SabreTools.Library/DatItems/Rom.cs
+++ b/SabreTools.Library/DatItems/Rom.cs
@@ -34,6 +34,8 @@ namespace SabreTools.Library.DatItems
#region Fields
+ #region Common
+
///
/// Name of the item
///
@@ -169,6 +171,18 @@ namespace SabreTools.Library.DatItems
#endregion
+ #region SoftwareList
+
+ ///
+ /// Data area information
+ ///
+ [JsonProperty("dataarea", DefaultValueHandling = DefaultValueHandling.Ignore)]
+ public DataArea DataArea { get; set; }
+
+ #endregion
+
+ #endregion // Fields
+
#region Accessors
///
@@ -245,6 +259,39 @@ namespace SabreTools.Library.DatItems
if (mappings.Keys.Contains(Field.DatItem_Inverted))
Inverted = mappings[Field.DatItem_Optional].AsYesNo();
+
+ if (mappings.Keys.Contains(Field.DatItem_AreaName))
+ {
+ if (DataArea == null)
+ DataArea = new DataArea();
+
+ DataArea.Name = mappings[Field.DatItem_AreaName];
+ }
+
+ if (mappings.Keys.Contains(Field.DatItem_AreaSize))
+ {
+ if (DataArea == null)
+ DataArea = new DataArea();
+
+ if (Int64.TryParse(mappings[Field.DatItem_AreaSize], out long areaSize))
+ DataArea.Size = areaSize;
+ }
+
+ if (mappings.Keys.Contains(Field.DatItem_AreaWidth))
+ {
+ if (DataArea == null)
+ DataArea = new DataArea();
+
+ DataArea.Width = mappings[Field.DatItem_AreaWidth];
+ }
+
+ if (mappings.Keys.Contains(Field.DatItem_AreaEndianness))
+ {
+ if (DataArea == null)
+ DataArea = new DataArea();
+
+ DataArea.Endianness = mappings[Field.DatItem_AreaEndianness];
+ }
}
#endregion
@@ -328,11 +375,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
@@ -358,6 +400,8 @@ namespace SabreTools.Library.DatItems
ItemStatus = this.ItemStatus,
Optional = this.Optional,
Inverted = this.Inverted,
+
+ DataArea = this.DataArea,
};
}
@@ -660,6 +704,32 @@ namespace SabreTools.Library.DatItems
if (filter.DatItem_Inverted.MatchesNeutral(null, Inverted) == false)
return false;
+ // Filter on area name
+ if (filter.DatItem_AreaName.MatchesPositiveSet(DataArea?.Name) == false)
+ return false;
+ if (filter.DatItem_AreaName.MatchesNegativeSet(DataArea?.Name) == true)
+ return false;
+
+ // Filter on area size
+ if (filter.DatItem_AreaSize.MatchesNeutral(null, DataArea?.Size) == false)
+ return false;
+ else if (filter.DatItem_AreaSize.MatchesPositive(null, DataArea?.Size) == false)
+ return false;
+ else if (filter.DatItem_AreaSize.MatchesNegative(null, DataArea?.Size) == false)
+ return false;
+
+ // Filter on area byte width
+ if (filter.DatItem_AreaWidth.MatchesPositiveSet(DataArea?.Width) == false)
+ return false;
+ if (filter.DatItem_AreaWidth.MatchesNegativeSet(DataArea?.Width) == true)
+ return false;
+
+ // Filter on area endianness
+ if (filter.DatItem_AreaEndianness.MatchesPositiveSet(DataArea?.Endianness) == false)
+ return false;
+ if (filter.DatItem_AreaEndianness.MatchesNegativeSet(DataArea?.Endianness) == true)
+ return false;
+
return true;
}
@@ -725,6 +795,30 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Inverted))
Inverted = null;
+
+ if (fields.Contains(Field.DatItem_AreaName))
+ {
+ if (DataArea != null)
+ DataArea.Name = null;
+ }
+
+ if (fields.Contains(Field.DatItem_AreaSize))
+ {
+ if (DataArea != null)
+ DataArea.Size = null;
+ }
+
+ if (fields.Contains(Field.DatItem_AreaWidth))
+ {
+ if (DataArea != null)
+ DataArea.Width = null;
+ }
+
+ if (fields.Contains(Field.DatItem_AreaEndianness))
+ {
+ if (DataArea != null)
+ DataArea.Endianness = null;
+ }
}
///
@@ -889,6 +983,38 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Inverted))
Inverted = newItem.Inverted;
+
+ if (fields.Contains(Field.DatItem_AreaName))
+ {
+ if (DataArea == null)
+ DataArea = new DataArea();
+
+ DataArea.Name = newItem.DataArea?.Name;
+ }
+
+ if (fields.Contains(Field.DatItem_AreaSize))
+ {
+ if (DataArea == null)
+ DataArea = new DataArea();
+
+ DataArea.Size = newItem.DataArea?.Size;
+ }
+
+ if (fields.Contains(Field.DatItem_AreaWidth))
+ {
+ if (DataArea == null)
+ DataArea = new DataArea();
+
+ DataArea.Width = newItem.DataArea?.Width;
+ }
+
+ if (fields.Contains(Field.DatItem_AreaEndianness))
+ {
+ if (DataArea == null)
+ DataArea = new DataArea();
+
+ DataArea.Endianness = newItem.DataArea?.Endianness;
+ }
}
#endregion
diff --git a/SabreTools.Library/DatItems/Sample.cs b/SabreTools.Library/DatItems/Sample.cs
index 9f8a0ccb..590bacc8 100644
--- a/SabreTools.Library/DatItems/Sample.cs
+++ b/SabreTools.Library/DatItems/Sample.cs
@@ -84,11 +84,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Setting.cs b/SabreTools.Library/DatItems/Setting.cs
index 62702781..f1604dc0 100644
--- a/SabreTools.Library/DatItems/Setting.cs
+++ b/SabreTools.Library/DatItems/Setting.cs
@@ -116,11 +116,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/SharedFeature.cs b/SabreTools.Library/DatItems/SharedFeature.cs
index 62ba583c..73f050f5 100644
--- a/SabreTools.Library/DatItems/SharedFeature.cs
+++ b/SabreTools.Library/DatItems/SharedFeature.cs
@@ -92,11 +92,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Slot.cs b/SabreTools.Library/DatItems/Slot.cs
index 64e529ec..43260024 100644
--- a/SabreTools.Library/DatItems/Slot.cs
+++ b/SabreTools.Library/DatItems/Slot.cs
@@ -92,11 +92,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/SlotOption.cs b/SabreTools.Library/DatItems/SlotOption.cs
index 55f23050..73a68a2c 100644
--- a/SabreTools.Library/DatItems/SlotOption.cs
+++ b/SabreTools.Library/DatItems/SlotOption.cs
@@ -101,11 +101,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/SoftwareList.cs b/SabreTools.Library/DatItems/SoftwareList.cs
index 3b24806f..c731068a 100644
--- a/SabreTools.Library/DatItems/SoftwareList.cs
+++ b/SabreTools.Library/DatItems/SoftwareList.cs
@@ -104,11 +104,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,
diff --git a/SabreTools.Library/DatItems/Sound.cs b/SabreTools.Library/DatItems/Sound.cs
index 78cba145..12187c63 100644
--- a/SabreTools.Library/DatItems/Sound.cs
+++ b/SabreTools.Library/DatItems/Sound.cs
@@ -71,11 +71,6 @@ namespace SabreTools.Library.DatItems
Boot = this.Boot,
Part = this.Part,
- Features = this.Features,
- AreaName = this.AreaName,
- AreaSize = this.AreaSize,
- AreaWidth = this.AreaWidth,
- AreaEndianness = this.AreaEndianness,
Value = this.Value,
LoadFlag = this.LoadFlag,