Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/nes-containers.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2020-12-16 19:10:33 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2020-12-16 19:10:33 +0300
commit806278297c5939fcb645a06a6dbbb45eacff938b (patch)
treeda1e694c8aadcc01b0d19e1ad56b6263b225057e /NesFile.cs
parentcd2cfcd941ba3acba938fef4d2259e72b9a224c7 (diff)
Trainer fixes
Diffstat (limited to 'NesFile.cs')
-rw-r--r--NesFile.cs13
1 files changed, 7 insertions, 6 deletions
diff --git a/NesFile.cs b/NesFile.cs
index 0f7f455..908c7c3 100644
--- a/NesFile.cs
+++ b/NesFile.cs
@@ -83,9 +83,9 @@ namespace com.clusterrr.Famicom.Containers
/// </summary>
public uint ChrRamSize { get; set; } = 0;
private uint chrNvRamSize = 0;
- private byte[] prg = null;
- private byte[] chr = null;
- private byte[] trainer = null;
+ private byte[] prg = new byte[0];
+ private byte[] chr = new byte[0];
+ private byte[] trainer = new byte[0];
/// <summary>
/// CHR NVRAM Size (NES 2.0 only)
@@ -711,6 +711,7 @@ namespace com.clusterrr.Famicom.Containers
header[3] = 0x1A;
if (prg == null) prg = new byte[0];
if (chr == null) chr = new byte[0];
+ if (trainer == null) trainer = new byte[0];
if ((prg.Length % 0x4000) != 0)
{
var padding = 0x4000 - (prg.Length % 4000);
@@ -744,7 +745,7 @@ namespace com.clusterrr.Famicom.Containers
if (Battery)
header[6] |= (1 << 1);
// 512-byte Trainer
- if (Trainer != null)
+ if (trainer.Length > 0)
header[6] |= (1 << 2);
// Hard-wired four-screen mode
if (Mirroring == MirroringType.FourScreenVram)
@@ -757,8 +758,8 @@ namespace com.clusterrr.Famicom.Containers
header[7] |= (byte)(Mapper & 0xF0);
data.AddRange(header);
- if (Trainer != null)
- data.AddRange(Trainer);
+ if (trainer.Length > 0)
+ data.AddRange(trainer);
data.AddRange(prg);
data.AddRange(chr);
}