using System; using System.ComponentModel.DataAnnotations; using Aaru.CommonTypes.Enums; namespace Aaru.Database.Models; /// /// Information needed to rebuild an iNES/NES 2.0 header from a ROM hash public class NesHeaderInfo : BaseModel { /// ROM hash [StringLength(64)] [Required] public string Sha256 { get; set; } /// If true vertical mirroring is hard-wired, horizontal or mapper defined otherwise public bool NametableMirroring { get; set; } /// If true a battery is present public bool BatteryPresent { get; set; } /// If true the four player screen mode is hardwired public bool FourScreenMode { get; set; } /// Mapper number (NES 2.0 when in conflict) public ushort Mapper { get; set; } /// Console type public NesConsoleType ConsoleType { get; set; } /// Submapper number public byte Submapper { get; set; } /// Timing mode public NesTimingMode TimingMode { get; set; } /// Vs. PPU type public NesVsPpuType VsPpuType { get; set; } /// Vs. hardware type public NesVsHardwareType VsHardwareType { get; set; } /// Extended console type public NesExtendedConsoleType ExtendedConsoleType { get; set; } /// Default expansion device public NesDefaultExpansionDevice DefaultExpansionDevice { get; set; } /// Date when model has been added to the database public DateTime AddedWhen { get; set; } /// Date when model was last modified public DateTime ModifiedWhen { get; set; } }