namespace SabreTools.Data.Models.NES { /// /// NES headered cart /// /// /// public class Cart { /// /// NES 1.0 or 2.0 header /// public CartHeader? Header { get; set; } /// /// Trainer, if present (0 or 512 bytes) /// public byte[] Trainer { get; set; } = []; /// /// PRG ROM data (16384 * x bytes) /// public byte[] PrgRomData { get; set; } = []; /// /// CHR ROM data, if present (8192 * y bytes) /// public byte[] ChrRomData { get; set; } = []; /// /// PlayChoice INST-ROM, if present (0 or 8192 bytes) /// public byte[] PlayChoiceInstRom { get; set; } = []; /// /// PlayChoice PROM, if present (16 bytes Data, 16 bytes CounterOut) /// /// /// This is often missing; see PC10 ROM-Images for details /// 16 bytes RP5H01 PROM Data output (needed to decrypt the INST ROM) /// 16 bytes RP5H01 PROM CounterOut output (needed to decrypt the INST ROM) (usually constant: 00,00,00,00,FF,FF,FF,FF,00,00,00,00,FF,FF,FF,FF) /// /// TODO: Split into 2 parts public byte[] PlayChoiceProm { get; set; } = []; /// /// Some ROM-Images additionally contain a 128-byte (or sometimes 127-byte) /// title at the end of the file. /// public byte[] Title { get; set; } = []; } }