LoadFlag is Rom-only

This commit is contained in:
Matt Nadareski
2020-09-03 12:06:54 -07:00
parent 6f72416947
commit da62c8b893
34 changed files with 99 additions and 111 deletions

View File

@@ -107,8 +107,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -70,8 +70,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -83,8 +83,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -101,8 +101,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -38,8 +38,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -112,8 +112,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -105,8 +105,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -146,8 +146,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -170,8 +170,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -102,17 +102,6 @@ namespace SabreTools.Library.DatItems
#endregion
#region SoftwareList Fields
/// <summary>
/// Loading flag
/// </summary>
/// TODO: Convert to Enum?
[JsonProperty("loadflag", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string LoadFlag { get; set; } // (load16_byte|load16_word|load16_word_swap|load32_byte|load32_word|load32_word_swap|load32_dword|load64_word|load64_word_swap|reload|fill|continue|reload_plain|ignore)
#endregion
#region Metadata information
/// <summary>
@@ -134,6 +123,7 @@ namespace SabreTools.Library.DatItems
/// <summary>
/// Fields unique to a DatItem
/// </summary>
/// TODO: Update this once reshuffling is done
public static readonly List<Field> DatItemFields = new List<Field>()
{
#region Common
@@ -257,7 +247,7 @@ namespace SabreTools.Library.DatItems
/// <summary>
/// Fields unique to a Machine
/// </summary>
/// TODO: Ensure list
/// TODO: Update this once reshuffling is done
public static readonly List<Field> MachineFields = new List<Field>()
{
// Common
@@ -366,13 +356,6 @@ namespace SabreTools.Library.DatItems
Boot = mappings[Field.DatItem_Boot];
#endregion
#region SoftwareList
if (mappings.Keys.Contains(Field.DatItem_LoadFlag))
LoadFlag = mappings[Field.DatItem_LoadFlag];
#endregion
}
#endregion
@@ -751,16 +734,6 @@ namespace SabreTools.Library.DatItems
#endregion
#region SoftwareList
// Filter on load flag
if (filter.DatItem_LoadFlag.MatchesPositiveSet(LoadFlag) == false)
return false;
if (filter.DatItem_LoadFlag.MatchesNegativeSet(LoadFlag) == true)
return false;
#endregion
return true;
}
@@ -801,13 +774,6 @@ namespace SabreTools.Library.DatItems
Boot = null;
#endregion
#region SoftwareList
if (fields.Contains(Field.DatItem_LoadFlag))
LoadFlag = null;
#endregion
}
/// <summary>
@@ -925,13 +891,6 @@ namespace SabreTools.Library.DatItems
Boot = item.Boot;
#endregion
#region SoftwareList
if (fields.Contains(Field.DatItem_LoadFlag))
LoadFlag = item.LoadFlag;
#endregion
}
#endregion

View File

@@ -121,8 +121,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -83,8 +83,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -89,6 +89,9 @@ namespace SabreTools.Library.DatItems
base.SetFields(mappings);
// Handle DipSwitch-specific fields
#region Common
if (mappings.Keys.Contains(Field.DatItem_Name))
Name = mappings[Field.DatItem_Name];
@@ -101,6 +104,30 @@ namespace SabreTools.Library.DatItems
// TODO: Handle DatItem_Condition*
// TODO: Handle DatItem_Location*
// TODO: Handle DatItem_Value*
#endregion
#region SoftwareList
if (mappings.Keys.Contains(Field.DatItem_Part_Name))
{
if (Part == null)
Part = new Part();
Part.Name = mappings[Field.DatItem_Part_Name];
}
if (mappings.Keys.Contains(Field.DatItem_Part_Interface))
{
if (Part == null)
Part = new Part();
Part.Interface = mappings[Field.DatItem_Part_Interface];
}
// TODO: Handle DatItem_Feature*
#endregion
}
#endregion
@@ -137,8 +164,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,
@@ -256,6 +281,8 @@ namespace SabreTools.Library.DatItems
if (filter.DatItem_Part_Interface.MatchesNegativeSet(Part?.Interface) == true)
return false;
// TODO: Handle DatItem_Feature*
#endregion
return true;
@@ -309,6 +336,8 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Features) && Part != null)
Part.Features = null;
// TODO: Handle DatItem_Feature*
#endregion
}

View File

@@ -165,6 +165,24 @@ namespace SabreTools.Library.DatItems
DiskArea.Name = mappings[Field.DatItem_AreaName];
}
if (mappings.Keys.Contains(Field.DatItem_Part_Name))
{
if (Part == null)
Part = new Part();
Part.Name = mappings[Field.DatItem_Part_Name];
}
if (mappings.Keys.Contains(Field.DatItem_Part_Interface))
{
if (Part == null)
Part = new Part();
Part.Interface = mappings[Field.DatItem_Part_Interface];
}
// TODO: Handle DatItem_Feature*
}
#endregion
@@ -218,8 +236,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,
@@ -259,8 +275,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,
@@ -496,6 +510,8 @@ namespace SabreTools.Library.DatItems
if (filter.DatItem_Part_Interface.MatchesNegativeSet(Part?.Interface) == true)
return false;
// TODO: Handle DatItem_Feature*
#endregion
return true;
@@ -560,6 +576,8 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Features) && Part != null)
Part.Features = null;
// TODO: Handle DatItem_Feature*
#endregion
}

View File

@@ -187,8 +187,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -103,8 +103,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -83,8 +83,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -93,8 +93,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -91,8 +91,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -105,8 +105,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -92,8 +92,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -100,8 +100,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -148,8 +148,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,
@@ -181,8 +179,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -80,8 +80,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -101,8 +101,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -123,8 +123,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -179,6 +179,13 @@ namespace SabreTools.Library.DatItems
[JsonProperty("dataarea", DefaultValueHandling = DefaultValueHandling.Ignore)]
public DataArea DataArea { get; set; }
/// <summary>
/// Loading flag
/// </summary>
[JsonProperty("loadflag", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string LoadFlag { get; set; } // TODO: (load16_byte|load16_word|load16_word_swap|load32_byte|load32_word|load32_word_swap|load32_dword|load64_word|load64_word_swap|reload|fill|continue|reload_plain|ignore)
/// <summary>
/// Original hardware part associated with the item
/// </summary>
@@ -312,6 +319,27 @@ namespace SabreTools.Library.DatItems
DataArea.Endianness = mappings[Field.DatItem_AreaEndianness];
}
if (mappings.Keys.Contains(Field.DatItem_LoadFlag))
LoadFlag = mappings[Field.DatItem_LoadFlag];
if (mappings.Keys.Contains(Field.DatItem_Part_Name))
{
if (Part == null)
Part = new Part();
Part.Name = mappings[Field.DatItem_Part_Name];
}
if (mappings.Keys.Contains(Field.DatItem_Part_Interface))
{
if (Part == null)
Part = new Part();
Part.Interface = mappings[Field.DatItem_Part_Interface];
}
// TODO: Handle DatItem_Feature*
if (mappings.Keys.Contains(Field.DatItem_Value))
Value = mappings[Field.DatItem_Value];
@@ -760,6 +788,12 @@ namespace SabreTools.Library.DatItems
if (filter.DatItem_AreaEndianness.MatchesNegativeSet(DataArea?.Endianness) == true)
return false;
// Filter on load flag
if (filter.DatItem_LoadFlag.MatchesPositiveSet(LoadFlag) == false)
return false;
if (filter.DatItem_LoadFlag.MatchesNegativeSet(LoadFlag) == true)
return false;
// Filter on part name
if (filter.DatItem_Part_Name.MatchesPositiveSet(Part?.Name) == false)
return false;
@@ -778,6 +812,8 @@ namespace SabreTools.Library.DatItems
if (filter.DatItem_Value.MatchesNegativeSet(Value) == true)
return false;
// TODO: Handle DatItem_Feature*
#endregion
return true;
@@ -877,6 +913,9 @@ namespace SabreTools.Library.DatItems
DataArea.Endianness = null;
}
if (fields.Contains(Field.DatItem_LoadFlag))
LoadFlag = null;
if (fields.Contains(Field.DatItem_Part_Name) && Part != null)
Part.Name = null;
@@ -886,6 +925,8 @@ namespace SabreTools.Library.DatItems
if (fields.Contains(Field.DatItem_Features) && Part != null)
Part.Features = null;
// TODO: Handle DatItem_Feature*
if (fields.Contains(Field.DatItem_Value))
Value = null;
@@ -1094,6 +1135,9 @@ namespace SabreTools.Library.DatItems
DataArea.Endianness = newItem.DataArea?.Endianness;
}
if (fields.Contains(Field.DatItem_LoadFlag))
LoadFlag = newItem.LoadFlag;
if (fields.Contains(Field.DatItem_Part_Name))
{
if (Part == null)

View File

@@ -83,8 +83,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -115,8 +115,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -91,8 +91,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -91,8 +91,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -100,8 +100,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -103,8 +103,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,

View File

@@ -70,8 +70,6 @@ namespace SabreTools.Library.DatItems
Remark = this.Remark,
Boot = this.Boot,
LoadFlag = this.LoadFlag,
Machine = this.Machine.Clone() as Machine,
Source = this.Source.Clone() as Source,
Remove = this.Remove,