diff --git a/SabreTools.Serialization/Models/NES/Cart.cs b/SabreTools.Serialization/Models/NES/Cart.cs
index fed87792..01011d0d 100644
--- a/SabreTools.Serialization/Models/NES/Cart.cs
+++ b/SabreTools.Serialization/Models/NES/Cart.cs
@@ -10,7 +10,7 @@ namespace SabreTools.Data.Models.NES
///
/// NES 1.0 or 2.0 header
///
- public Header? Header { get; set; }
+ public CartHeader? Header { get; set; }
///
/// Trainer, if present (0 or 512 bytes)
diff --git a/SabreTools.Serialization/Models/NES/Header.cs b/SabreTools.Serialization/Models/NES/CartHeader.cs
similarity index 98%
rename from SabreTools.Serialization/Models/NES/Header.cs
rename to SabreTools.Serialization/Models/NES/CartHeader.cs
index 43312544..5ec23d25 100644
--- a/SabreTools.Serialization/Models/NES/Header.cs
+++ b/SabreTools.Serialization/Models/NES/CartHeader.cs
@@ -5,7 +5,7 @@ namespace SabreTools.Data.Models.NES
///
///
///
- public abstract class Header
+ public abstract class CartHeader
{
///
/// Constant $4E $45 $53 $1A (ASCII "NES" followed by MS-DOS end-of-file)
diff --git a/SabreTools.Serialization/Models/NES/Header1.cs b/SabreTools.Serialization/Models/NES/CartHeader1.cs
similarity index 98%
rename from SabreTools.Serialization/Models/NES/Header1.cs
rename to SabreTools.Serialization/Models/NES/CartHeader1.cs
index 84da3d73..1f9ab7be 100644
--- a/SabreTools.Serialization/Models/NES/Header1.cs
+++ b/SabreTools.Serialization/Models/NES/CartHeader1.cs
@@ -13,7 +13,7 @@ namespace SabreTools.Data.Models.NES
/// not marked for NES 2.0 format, an emulator should either mask off the upper 4 bits
/// of the mapper number or simply refuse to load the ROM.
///
- public class Header1 : Header
+ public class CartHeader1 : CartHeader
{
// All common header parts take up bytes 0-7
diff --git a/SabreTools.Serialization/Models/NES/Header2.cs b/SabreTools.Serialization/Models/NES/CartHeader2.cs
similarity index 89%
rename from SabreTools.Serialization/Models/NES/Header2.cs
rename to SabreTools.Serialization/Models/NES/CartHeader2.cs
index c7d6b312..278b63d6 100644
--- a/SabreTools.Serialization/Models/NES/Header2.cs
+++ b/SabreTools.Serialization/Models/NES/CartHeader2.cs
@@ -4,7 +4,7 @@ namespace SabreTools.Data.Models.NES
/// NES 2.0 header information
///
///
- public class Header2 : Header
+ public class CartHeader2 : CartHeader
{
// All common header parts take up bytes 0-7
@@ -109,8 +109,8 @@ namespace SabreTools.Data.Models.NES
/// Reserved byte, unused
///
///
- /// Valid when == .
- /// Valid when == .
+ /// Valid when == .
+ /// Valid when == .
///
public byte Reserved13 { get; set; }
@@ -124,7 +124,7 @@ namespace SabreTools.Data.Models.NES
///
/// Byte 13, Bits 0-3
///
- /// Valid when ==
+ /// Valid when ==
///
public VsSystemType VsSystemType { get; set; }
@@ -134,7 +134,7 @@ namespace SabreTools.Data.Models.NES
///
/// Byte 13, Bits 4-7
///
- /// Valid when ==
+ /// Valid when ==
///
public VsHardwareType VsHardwareType { get; set; }
@@ -148,7 +148,7 @@ namespace SabreTools.Data.Models.NES
///
/// Byte 13, Bits 0-3
///
- /// Valid when ==
+ /// Valid when ==
///
public ExtendedConsoleType ExtendedConsoleType { get; set; }
diff --git a/SabreTools.Serialization/Models/NES/Constants.cs b/SabreTools.Serialization/Models/NES/Constants.cs
index 4f3f4ad3..8cb84071 100644
--- a/SabreTools.Serialization/Models/NES/Constants.cs
+++ b/SabreTools.Serialization/Models/NES/Constants.cs
@@ -5,11 +5,11 @@ namespace SabreTools.Data.Models.NES
///
/// NES
///
- public static readonly byte[] SignatureBytes = [0x4E, 0x45, 0x53, 0x1A];
+ public static readonly byte[] CartSignatureBytes = [0x4E, 0x45, 0x53, 0x1A];
///
/// NES
///
- public static readonly string SignatureString = "NES" + (char)0x1A;
+ public static readonly string CartSignatureString = "NES" + (char)0x1A;
}
}
diff --git a/SabreTools.Serialization/Readers/NESCart.cs b/SabreTools.Serialization/Readers/NESCart.cs
index c3ce7a4d..8d9abac5 100644
--- a/SabreTools.Serialization/Readers/NESCart.cs
+++ b/SabreTools.Serialization/Readers/NESCart.cs
@@ -42,7 +42,7 @@ namespace SabreTools.Serialization.Readers
// TODO: Make model for PRG-ROM data blocks
int prgRomSize = cart.Header.PrgRomSize * 16384;
int chrRomSize = cart.Header.ChrRomSize * 8192;
- if (cart.Header is Header2 header2)
+ if (cart.Header is CartHeader2 header2)
{
ushort extendedSize = (ushort)((header2.PrgRomSizeMSB << 8)
| header.PrgRomSize);
@@ -83,11 +83,11 @@ namespace SabreTools.Serialization.Readers
///
/// Stream to parse
/// Filled Header on success, null on error
- public static Header? ParseHeader(Stream data)
+ public static CartHeader? ParseHeader(Stream data)
{
// Cache data until NES 2.0 flag determined
byte[] identificationString = data.ReadBytes(4);
- if (!identificationString.EqualsExactly(SignatureBytes))
+ if (!identificationString.EqualsExactly(CartSignatureBytes))
return null;
byte prgRomSize = data.ReadByteValue();
@@ -108,7 +108,7 @@ namespace SabreTools.Serialization.Readers
// NES 2.0
if (nes20)
{
- var obj = new Header2();
+ var obj = new CartHeader2();
obj.IdentificationString = identificationString;
obj.PrgRomSize = prgRomSize;
@@ -174,7 +174,7 @@ namespace SabreTools.Serialization.Readers
// NES 1.0
else
{
- var obj = new Header1();
+ var obj = new CartHeader1();
obj.IdentificationString = identificationString;
obj.PrgRomSize = prgRomSize;
diff --git a/SabreTools.Serialization/WrapperFactory.cs b/SabreTools.Serialization/WrapperFactory.cs
index 4145d353..7119b1e3 100644
--- a/SabreTools.Serialization/WrapperFactory.cs
+++ b/SabreTools.Serialization/WrapperFactory.cs
@@ -477,7 +477,7 @@ namespace SabreTools.Serialization
#region NESCart
// NES 1.0 and 2.0 image with header
- if (magic.StartsWith(Data.Models.NES.Constants.SignatureBytes))
+ if (magic.StartsWith(Data.Models.NES.Constants.CartSignatureBytes))
return WrapperType.NESCart;
// NES 1.0 and 2.0 image
diff --git a/SabreTools.Serialization/Wrappers/NESCart.Extraction.cs b/SabreTools.Serialization/Wrappers/NESCart.Extraction.cs
index 73ae1a3a..f1192ecd 100644
--- a/SabreTools.Serialization/Wrappers/NESCart.Extraction.cs
+++ b/SabreTools.Serialization/Wrappers/NESCart.Extraction.cs
@@ -65,7 +65,7 @@ namespace SabreTools.Serialization.Wrappers
fs.Write(byte7);
fs.Flush();
- if (Header is Header1 header1)
+ if (Header is CartHeader1 header1)
{
// Byte 8
fs.Write(header1.PrgRamSize);
@@ -91,7 +91,7 @@ namespace SabreTools.Serialization.Wrappers
fs.Write(header1.Padding);
fs.Flush();
}
- else if (Header is Header2 header2)
+ else if (Header is CartHeader2 header2)
{
// Byte 8
byte byte8 = 0;
diff --git a/SabreTools.Serialization/Wrappers/NESCart.Printing.cs b/SabreTools.Serialization/Wrappers/NESCart.Printing.cs
index 3fc7c6aa..05ced275 100644
--- a/SabreTools.Serialization/Wrappers/NESCart.Printing.cs
+++ b/SabreTools.Serialization/Wrappers/NESCart.Printing.cs
@@ -33,7 +33,7 @@ namespace SabreTools.Serialization.Wrappers
builder.AppendLine(Model.Title, "Title");
}
- private static void Print(StringBuilder builder, Header? header)
+ private static void Print(StringBuilder builder, CartHeader? header)
{
builder.AppendLine(" Common Header Information:");
builder.AppendLine(" -------------------------");
@@ -86,7 +86,7 @@ namespace SabreTools.Serialization.Wrappers
builder.AppendLine(mapperNumber, " Mapper");
builder.AppendLine();
- if (header is Header1 header1)
+ if (header is CartHeader1 header1)
{
builder.AppendLine(" NES 1.0 Header Information:");
builder.AppendLine(" -------------------------");
@@ -125,7 +125,7 @@ namespace SabreTools.Serialization.Wrappers
// Bytes 11-15
builder.AppendLine(header1.Padding, " Padding");
}
- else if (header is Header2 header2)
+ else if (header is CartHeader2 header2)
{
builder.AppendLine(" NES 2.0 Header Information:");
builder.AppendLine(" -------------------------");
diff --git a/SabreTools.Serialization/Wrappers/NESCart.cs b/SabreTools.Serialization/Wrappers/NESCart.cs
index 1f8e674a..c8c4e080 100644
--- a/SabreTools.Serialization/Wrappers/NESCart.cs
+++ b/SabreTools.Serialization/Wrappers/NESCart.cs
@@ -17,12 +17,12 @@ namespace SabreTools.Serialization.Wrappers
#region Common
///
- public Header? Header => Model.Header;
+ public CartHeader? Header => Model.Header;
- ///
+ ///
public bool AlternativeNametableLayout => Header?.AlternativeNametableLayout ?? false;
- ///
+ ///
public bool BatteryBackedPrgRam => Header?.BatteryBackedPrgRam ?? false;
///
@@ -41,14 +41,14 @@ namespace SabreTools.Serialization.Wrappers
return 0;
int chrRomSize = Header.ChrRomSize * 8192;
- if (Header is Header2 header2)
+ if (Header is CartHeader2 header2)
chrRomSize = (header2.ChrRomSizeMSB << 8) | chrRomSize;
return chrRomSize;
}
}
- ///
+ ///
public ConsoleType ConsoleType => Header?.ConsoleType ?? ConsoleType.StandardSystem;
///
@@ -64,18 +64,18 @@ namespace SabreTools.Serialization.Wrappers
return 0;
int mapperNumber = (Header.MapperUpperNibble << 4) | Header.MapperLowerNibble;
- if (Header is Header2 header2)
+ if (Header is CartHeader2 header2)
mapperNumber = (header2.MapperMSB << 8) | mapperNumber;
return mapperNumber;
}
}
- ///
+ ///
public NametableArrangement NametableArrangement
=> Header?.NametableArrangement ?? NametableArrangement.Vertical;
- ///
+ ///
public bool NES20 => Header?.NES20 ?? false;
///
@@ -90,9 +90,9 @@ namespace SabreTools.Serialization.Wrappers
if (Header is null)
return 0;
- if (Header is Header1 header1)
+ if (Header is CartHeader1 header1)
return header1.PrgRamSize > 0 ? header1.PrgRamSize * 8192 : 8192;
- else if (Header is Header2 header2)
+ else if (Header is CartHeader2 header2)
return header2.PrgRamShiftCount > 0 ? 64 << header2.PrgRamShiftCount : 0;
else
return 0;
@@ -112,7 +112,7 @@ namespace SabreTools.Serialization.Wrappers
return 0;
int prgRomSize = Header.PrgRomSize * 16384;
- if (Header is Header2 header2)
+ if (Header is CartHeader2 header2)
prgRomSize = (header2.PrgRomSizeMSB << 8) | prgRomSize;
return prgRomSize;
@@ -134,63 +134,63 @@ namespace SabreTools.Serialization.Wrappers
///
public byte[] Trainer => Model.Trainer;
- ///
+ ///
public bool TrainerPresent => Header?.TrainerPresent ?? false;
#endregion
#region NES 1.0
- ///
+ ///
/// Defined only for NES 1.0
public bool HasBusConflicts
{
get
{
// Missing or invalid header
- if (Header is null || Header is not Header1 header1)
+ if (Header is null || Header is not CartHeader1 header1)
return false;
return header1.HasBusConflicts;
}
}
- ///
+ ///
/// Defined only for NES 1.0
public bool PrgRamPresent
{
get
{
// Missing or invalid header
- if (Header is null || Header is not Header1 header1)
+ if (Header is null || Header is not CartHeader1 header1)
return false;
return header1.PrgRamPresent;
}
}
- ///
+ ///
/// Defined only for NES 1.0
public TVSystem TVSystem
{
get
{
// Missing or invalid header
- if (Header is null || Header is not Header1 header1)
+ if (Header is null || Header is not CartHeader1 header1)
return TVSystem.NTSC;
return header1.TVSystem;
}
}
- ///
+ ///
/// Defined only for NES 1.0
public TVSystemExtended TVSystemExtended
{
get
{
// Missing or invalid header
- if (Header is null || Header is not Header1 header1)
+ if (Header is null || Header is not CartHeader1 header1)
return TVSystemExtended.NTSC;
return header1.TVSystemExtended;
@@ -210,7 +210,7 @@ namespace SabreTools.Serialization.Wrappers
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return 0;
return header2.ChrNvramShiftCount > 0 ? 64 << header2.ChrNvramShiftCount : 0;
@@ -226,7 +226,7 @@ namespace SabreTools.Serialization.Wrappers
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return 0;
return header2.ChrRamShiftCount > 0 ? 64 << header2.ChrRamShiftCount : 0;
@@ -242,7 +242,7 @@ namespace SabreTools.Serialization.Wrappers
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return CPUPPUTiming.RP2C02;
return header2.CPUPPUTiming;
@@ -258,7 +258,7 @@ namespace SabreTools.Serialization.Wrappers
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return DefaultExpansionDevice.Unspecified;
return header2.DefaultExpansionDevice;
@@ -274,7 +274,7 @@ namespace SabreTools.Serialization.Wrappers
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return ExtendedConsoleType.RegularSystem;
// Invalid console type
@@ -294,7 +294,7 @@ namespace SabreTools.Serialization.Wrappers
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return 0;
return header2.MiscellaneousROMs;
@@ -310,21 +310,21 @@ namespace SabreTools.Serialization.Wrappers
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return 0;
return header2.PrgNvramEepromShiftCount > 0 ? 64 << header2.PrgNvramEepromShiftCount : 0;
}
}
- ///
+ ///
/// Defined only for NES 2.0
public int Submapper
{
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return 0;
return header2.Submapper;
@@ -340,7 +340,7 @@ namespace SabreTools.Serialization.Wrappers
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return VsHardwareType.VsUnisystem;
// Invalid console type
@@ -360,7 +360,7 @@ namespace SabreTools.Serialization.Wrappers
get
{
// Missing or invalid header
- if (Header is null || Header is not Header2 header2)
+ if (Header is null || Header is not CartHeader2 header2)
return VsSystemType.AnyRP2C03RC2C03Variant;
// Invalid console type