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 14:10:34 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2020-09-16 14:10:34 +0300
commit98d19160032f630c54dcbbd9a396342dd3acbaf2 (patch)
tree3d7c403c1af3f8cb679a599357749a00d380c7eb
parent5d144bc1ed096cedcd5c68c1d0a932815442663d (diff)
Mirroring values
-rw-r--r--NesFile.cs34
-rw-r--r--NesHeaderFixer.cs6
2 files changed, 32 insertions, 8 deletions
diff --git a/NesFile.cs b/NesFile.cs
index 6d0123a..b389c47 100644
--- a/NesFile.cs
+++ b/NesFile.cs
@@ -116,15 +116,39 @@ namespace com.clusterrr.Famicom.Containers
/// </summary>
public byte MiscellaneousROMsCount { get; set; } = 0;
+ /// <summary>
+ /// What CIRAM A10 is connected to
+ /// </summary>
public enum MirroringType
{
+ /// <summary>
+ /// PPU A11 (horizontal mirroring)
+ /// </summary>
Horizontal = 0,
+ /// <summary>
+ /// PPU A10 (vertical mirroring)
+ /// </summary>
Vertical = 1,
- FourScreenVram = 2,
- OneScreenA = 3,
- OneScreenB = 4,
- Unknown_both = 0xfe,
- Unknown_none = 0xff
+ /// <summary>
+ /// Ground (one-screen A)
+ /// </summary>
+ OneScreenA = 2,
+ /// <summary>
+ /// Vcc (one-screen B)
+ /// </summary>
+ OneScreenB = 3,
+ /// <summary>
+ /// Extra memory has been added (four-screen)
+ /// </summary>
+ FourScreenVram = 4,
+ /// <summary>
+ /// Mapper controlled
+ /// </summary>
+ MapperControlled = 5, // for UNIF
+ /// <summary>
+ /// Unknown value
+ /// </summary>
+ Unknown = 0xff
};
/// <summary>
diff --git a/NesHeaderFixer.cs b/NesHeaderFixer.cs
index c52d397..997388a 100644
--- a/NesHeaderFixer.cs
+++ b/NesHeaderFixer.cs
@@ -50,13 +50,13 @@ namespace com.clusterrr.Famicom.Containers.HeaderFixer
}
if (mirroring >= 0)
{
- // Anything but hard-wired(four screen)
if (mirroring == 8 && nes.Mirroring == NesFile.MirroringType.FourScreenVram)
{
+ // no four-screen
nes.Mirroring = NesFile.MirroringType.Horizontal;
fixType |= NesFixType.Mirroring;
}
- NesFile.MirroringType needMirroring = NesFile.MirroringType.Unknown_none;
+ NesFile.MirroringType needMirroring = NesFile.MirroringType.Unknown;
switch (mirroring)
{
case 0:
@@ -69,7 +69,7 @@ namespace com.clusterrr.Famicom.Containers.HeaderFixer
needMirroring = NesFile.MirroringType.FourScreenVram;
break;
}
- if (needMirroring != NesFile.MirroringType.Unknown_none && needMirroring != nes.Mirroring)
+ if (needMirroring != NesFile.MirroringType.Unknown && needMirroring != nes.Mirroring)
{
nes.Mirroring = needMirroring;
fixType |= NesFixType.Mirroring;