Files
SabreTools/SabreTools.Skippers/Detectors/CommodorePSID.cs
Matt Nadareski 01ce52ec35 Complete overhaul on Skippers
This change involves safety updates for serialization, better definitions of various classes, renames of some classes for accuracy, missing enum decoration, and various fixes.
2023-04-04 18:31:19 -04:00

121 lines
3.0 KiB
C#

using SabreTools.Skippers.Tests;
namespace SabreTools.Skippers.Detectors
{
/// <summary>
/// Detector for Commodore PSID headers
/// </summary>
/// <remarks>Originally from psid.xml</remarks>
internal class CommodorePSID : Detector
{
public CommodorePSID()
{
// Create tests
var rule1Test1 = new DataTest
{
Offset = "0",
Value = "5053494400010076",
Result = true,
};
var rule2Test1 = new DataTest
{
Offset = "0",
Value = "505349440003007c",
Result = true,
};
var rule3Test1 = new DataTest
{
Offset = "0",
Value = "505349440002007c",
Result = true,
};
var rule4Test1 = new DataTest
{
Offset = "0",
Value = "505349440001007c",
Result = true,
};
var rule5Test1 = new DataTest
{
Offset = "0",
Value = "525349440002007c",
Result = true,
};
// Create rules
var rule1 = new Rule
{
StartOffset = "76",
EndOffset = "EOF",
Operation = HeaderSkipOperation.None,
Tests = new Test[]
{
rule1Test1,
}
};
var rule2 = new Rule
{
StartOffset = "76",
EndOffset = "EOF",
Operation = HeaderSkipOperation.None,
Tests = new Test[]
{
rule2Test1,
}
};
var rule3 = new Rule
{
StartOffset = "7c",
EndOffset = "EOF",
Operation = HeaderSkipOperation.None,
Tests = new Test[]
{
rule3Test1,
}
};
var rule4 = new Rule
{
StartOffset = "7c",
EndOffset = "EOF",
Operation = HeaderSkipOperation.None,
Tests = new Test[]
{
rule4Test1,
}
};
var rule5 = new Rule
{
StartOffset = "7c",
EndOffset = "EOF",
Operation = HeaderSkipOperation.None,
Tests = new Test[]
{
rule5Test1,
}
};
// Create file
Name = "psid";
Author = "Yori Yoshizuki";
Version = "1.2";
SourceFile = "psid";
Rules = new Rule[]
{
rule1,
rule2,
rule3,
rule4,
rule5,
};
}
}
}