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-09-16 18:38:51 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2020-09-16 18:38:51 +0300
commitb53656d50ced58b8ab867f1878f45825d41472a6 (patch)
tree4e7d66c4d8cd0487d039f9e70d3b4e322ef4093b /NesFile.cs
parent4dad10cc03d5c78ce20a4d79a0f37bc95339649a (diff)
Cleanup, size check
Diffstat (limited to 'NesFile.cs')
-rw-r--r--NesFile.cs4
1 files changed, 4 insertions, 0 deletions
diff --git a/NesFile.cs b/NesFile.cs
index 9396fc0..77caa76 100644
--- a/NesFile.cs
+++ b/NesFile.cs
@@ -715,7 +715,11 @@ namespace com.clusterrr.Famicom.Containers
throw new InvalidDataException("Mapper > 255 supported by NES 2.0 only");
if (Submapper != 0)
throw new InvalidDataException("Submapper supported by NES 2.0 only");
+ var length16k = PRG.Length / 0x4000;
+ if (length16k > 0xFF) throw new ArgumentOutOfRangeException("PRG size is too big for iNES, use NES 2.0 instead");
header[4] = (byte)(PRG.Length / 0x4000);
+ var length8k = CHR.Length / 0x2000;
+ if (length8k > 0xFF) throw new ArgumentOutOfRangeException("CHR size is too big for iNES, use NES 2.0 instead");
header[5] = (byte)(CHR.Length / 0x2000);
// Hard-wired nametable mirroring type
if (Mirroring == MirroringType.Vertical)