namespace SabreTools.Models.ClrMamePro
{
/// rom
public class Rom
{
/// name
public string Name { get; set; }
/// size, Numeric
public string Size { get; set; }
/// crc
public string? CRC { get; set; }
/// md5
public string? MD5 { get; set; }
/// sha1
public string? SHA1 { get; set; }
/// merge
public string? Merge { get; set; }
/// status
public string? Status { get; set; }
/// flags
public string? Flags { get; set; }
/// date
public string? Date { get; set; }
#region Hash Extensions
/// sha256; Also in No-Intro spec; Appears after SHA1
public string? SHA256 { get; set; }
/// sha384; Appears after SHA256
public string? SHA384 { get; set; }
/// sha512; Appears after SHA384
public string? SHA512 { get; set; }
/// spamsum; Appears after SHA512
public string? SpamSum { get; set; }
#endregion
#region DiscImgeCreator Extensions
/// xxh3_64; Appears after SpamSum
public string? xxHash364 { get; set; }
/// xxh3_128; Appears after xxHash364
public string? xxHash3128 { get; set; }
#endregion
#region MAME Extensions
/// region; Appears after Status
public string? Region { get; set; }
/// offs; Appears after Flags
public string? Offs { get; set; }
#endregion
#region No-Intro Extensions
/// serial; Appears after Offs
public string? Serial { get; set; }
/// header; Appears after Serial
public string? Header { get; set; }
#endregion
#region RomVault Extensions
/// inverted; Boolean; Appears after Date
public string? Inverted { get; set; }
/// mia; Boolean; Appears after Inverted
public string? MIA { get; set; }
#endregion
#region DO NOT USE IN PRODUCTION
/// Should be empty
public string[]? ADDITIONAL_ELEMENTS { get; set; }
#endregion
}
}