mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
LoadFlag is Rom-only
This commit is contained in:
@@ -107,8 +107,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -70,8 +70,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -83,8 +83,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -101,8 +101,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -38,8 +38,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -112,8 +112,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -105,8 +105,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -146,8 +146,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -170,8 +170,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -102,17 +102,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
|
|
||||||
#endregion
|
#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
|
#region Metadata information
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -134,6 +123,7 @@ namespace SabreTools.Library.DatItems
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Fields unique to a DatItem
|
/// Fields unique to a DatItem
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// TODO: Update this once reshuffling is done
|
||||||
public static readonly List<Field> DatItemFields = new List<Field>()
|
public static readonly List<Field> DatItemFields = new List<Field>()
|
||||||
{
|
{
|
||||||
#region Common
|
#region Common
|
||||||
@@ -257,7 +247,7 @@ namespace SabreTools.Library.DatItems
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Fields unique to a Machine
|
/// Fields unique to a Machine
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// TODO: Ensure list
|
/// TODO: Update this once reshuffling is done
|
||||||
public static readonly List<Field> MachineFields = new List<Field>()
|
public static readonly List<Field> MachineFields = new List<Field>()
|
||||||
{
|
{
|
||||||
// Common
|
// Common
|
||||||
@@ -366,13 +356,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Boot = mappings[Field.DatItem_Boot];
|
Boot = mappings[Field.DatItem_Boot];
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region SoftwareList
|
|
||||||
|
|
||||||
if (mappings.Keys.Contains(Field.DatItem_LoadFlag))
|
|
||||||
LoadFlag = mappings[Field.DatItem_LoadFlag];
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -751,16 +734,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
|
|
||||||
#endregion
|
#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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -801,13 +774,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Boot = null;
|
Boot = null;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region SoftwareList
|
|
||||||
|
|
||||||
if (fields.Contains(Field.DatItem_LoadFlag))
|
|
||||||
LoadFlag = null;
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -925,13 +891,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Boot = item.Boot;
|
Boot = item.Boot;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region SoftwareList
|
|
||||||
|
|
||||||
if (fields.Contains(Field.DatItem_LoadFlag))
|
|
||||||
LoadFlag = item.LoadFlag;
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -121,8 +121,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -83,8 +83,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -89,6 +89,9 @@ namespace SabreTools.Library.DatItems
|
|||||||
base.SetFields(mappings);
|
base.SetFields(mappings);
|
||||||
|
|
||||||
// Handle DipSwitch-specific fields
|
// Handle DipSwitch-specific fields
|
||||||
|
|
||||||
|
#region Common
|
||||||
|
|
||||||
if (mappings.Keys.Contains(Field.DatItem_Name))
|
if (mappings.Keys.Contains(Field.DatItem_Name))
|
||||||
Name = mappings[Field.DatItem_Name];
|
Name = mappings[Field.DatItem_Name];
|
||||||
|
|
||||||
@@ -101,6 +104,30 @@ namespace SabreTools.Library.DatItems
|
|||||||
// TODO: Handle DatItem_Condition*
|
// TODO: Handle DatItem_Condition*
|
||||||
// TODO: Handle DatItem_Location*
|
// TODO: Handle DatItem_Location*
|
||||||
// TODO: Handle DatItem_Value*
|
// 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
|
#endregion
|
||||||
@@ -137,8 +164,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
@@ -256,6 +281,8 @@ namespace SabreTools.Library.DatItems
|
|||||||
if (filter.DatItem_Part_Interface.MatchesNegativeSet(Part?.Interface) == true)
|
if (filter.DatItem_Part_Interface.MatchesNegativeSet(Part?.Interface) == true)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
// TODO: Handle DatItem_Feature*
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -309,6 +336,8 @@ namespace SabreTools.Library.DatItems
|
|||||||
if (fields.Contains(Field.DatItem_Features) && Part != null)
|
if (fields.Contains(Field.DatItem_Features) && Part != null)
|
||||||
Part.Features = null;
|
Part.Features = null;
|
||||||
|
|
||||||
|
// TODO: Handle DatItem_Feature*
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -165,6 +165,24 @@ namespace SabreTools.Library.DatItems
|
|||||||
|
|
||||||
DiskArea.Name = mappings[Field.DatItem_AreaName];
|
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
|
#endregion
|
||||||
@@ -218,8 +236,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
@@ -259,8 +275,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
@@ -496,6 +510,8 @@ namespace SabreTools.Library.DatItems
|
|||||||
if (filter.DatItem_Part_Interface.MatchesNegativeSet(Part?.Interface) == true)
|
if (filter.DatItem_Part_Interface.MatchesNegativeSet(Part?.Interface) == true)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
// TODO: Handle DatItem_Feature*
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -560,6 +576,8 @@ namespace SabreTools.Library.DatItems
|
|||||||
if (fields.Contains(Field.DatItem_Features) && Part != null)
|
if (fields.Contains(Field.DatItem_Features) && Part != null)
|
||||||
Part.Features = null;
|
Part.Features = null;
|
||||||
|
|
||||||
|
// TODO: Handle DatItem_Feature*
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -187,8 +187,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -103,8 +103,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -83,8 +83,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -93,8 +93,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -91,8 +91,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -105,8 +105,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -92,8 +92,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -100,8 +100,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -148,8 +148,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
@@ -181,8 +179,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -80,8 +80,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -101,8 +101,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -123,8 +123,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -179,6 +179,13 @@ namespace SabreTools.Library.DatItems
|
|||||||
[JsonProperty("dataarea", DefaultValueHandling = DefaultValueHandling.Ignore)]
|
[JsonProperty("dataarea", DefaultValueHandling = DefaultValueHandling.Ignore)]
|
||||||
public DataArea DataArea { get; set; }
|
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>
|
/// <summary>
|
||||||
/// Original hardware part associated with the item
|
/// Original hardware part associated with the item
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -312,6 +319,27 @@ namespace SabreTools.Library.DatItems
|
|||||||
DataArea.Endianness = mappings[Field.DatItem_AreaEndianness];
|
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))
|
if (mappings.Keys.Contains(Field.DatItem_Value))
|
||||||
Value = mappings[Field.DatItem_Value];
|
Value = mappings[Field.DatItem_Value];
|
||||||
|
|
||||||
@@ -760,6 +788,12 @@ namespace SabreTools.Library.DatItems
|
|||||||
if (filter.DatItem_AreaEndianness.MatchesNegativeSet(DataArea?.Endianness) == true)
|
if (filter.DatItem_AreaEndianness.MatchesNegativeSet(DataArea?.Endianness) == true)
|
||||||
return false;
|
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
|
// Filter on part name
|
||||||
if (filter.DatItem_Part_Name.MatchesPositiveSet(Part?.Name) == false)
|
if (filter.DatItem_Part_Name.MatchesPositiveSet(Part?.Name) == false)
|
||||||
return false;
|
return false;
|
||||||
@@ -778,6 +812,8 @@ namespace SabreTools.Library.DatItems
|
|||||||
if (filter.DatItem_Value.MatchesNegativeSet(Value) == true)
|
if (filter.DatItem_Value.MatchesNegativeSet(Value) == true)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
// TODO: Handle DatItem_Feature*
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -877,6 +913,9 @@ namespace SabreTools.Library.DatItems
|
|||||||
DataArea.Endianness = null;
|
DataArea.Endianness = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fields.Contains(Field.DatItem_LoadFlag))
|
||||||
|
LoadFlag = null;
|
||||||
|
|
||||||
if (fields.Contains(Field.DatItem_Part_Name) && Part != null)
|
if (fields.Contains(Field.DatItem_Part_Name) && Part != null)
|
||||||
Part.Name = null;
|
Part.Name = null;
|
||||||
|
|
||||||
@@ -886,6 +925,8 @@ namespace SabreTools.Library.DatItems
|
|||||||
if (fields.Contains(Field.DatItem_Features) && Part != null)
|
if (fields.Contains(Field.DatItem_Features) && Part != null)
|
||||||
Part.Features = null;
|
Part.Features = null;
|
||||||
|
|
||||||
|
// TODO: Handle DatItem_Feature*
|
||||||
|
|
||||||
if (fields.Contains(Field.DatItem_Value))
|
if (fields.Contains(Field.DatItem_Value))
|
||||||
Value = null;
|
Value = null;
|
||||||
|
|
||||||
@@ -1094,6 +1135,9 @@ namespace SabreTools.Library.DatItems
|
|||||||
DataArea.Endianness = newItem.DataArea?.Endianness;
|
DataArea.Endianness = newItem.DataArea?.Endianness;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fields.Contains(Field.DatItem_LoadFlag))
|
||||||
|
LoadFlag = newItem.LoadFlag;
|
||||||
|
|
||||||
if (fields.Contains(Field.DatItem_Part_Name))
|
if (fields.Contains(Field.DatItem_Part_Name))
|
||||||
{
|
{
|
||||||
if (Part == null)
|
if (Part == null)
|
||||||
|
|||||||
@@ -83,8 +83,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -115,8 +115,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -91,8 +91,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -91,8 +91,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -100,8 +100,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -103,8 +103,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
@@ -70,8 +70,6 @@ namespace SabreTools.Library.DatItems
|
|||||||
Remark = this.Remark,
|
Remark = this.Remark,
|
||||||
Boot = this.Boot,
|
Boot = this.Boot,
|
||||||
|
|
||||||
LoadFlag = this.LoadFlag,
|
|
||||||
|
|
||||||
Machine = this.Machine.Clone() as Machine,
|
Machine = this.Machine.Clone() as Machine,
|
||||||
Source = this.Source.Clone() as Source,
|
Source = this.Source.Clone() as Source,
|
||||||
Remove = this.Remove,
|
Remove = this.Remove,
|
||||||
|
|||||||
Reference in New Issue
Block a user