diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj
index df0d695f..622bcdbd 100644
--- a/Core/Core.vcxproj
+++ b/Core/Core.vcxproj
@@ -457,6 +457,7 @@
+
diff --git a/Core/Core.vcxproj.filters b/Core/Core.vcxproj.filters
index 21b76250..81899e6a 100644
--- a/Core/Core.vcxproj.filters
+++ b/Core/Core.vcxproj.filters
@@ -874,6 +874,9 @@
Nes\Mappers\Unnamed
+
+ Nes\Mappers\Unnamed
+
diff --git a/Core/Mapper214.h b/Core/Mapper214.h
new file mode 100644
index 00000000..f8fefe4c
--- /dev/null
+++ b/Core/Mapper214.h
@@ -0,0 +1,22 @@
+#pragma once
+#include "stdafx.h"
+#include "BaseMapper.h"
+
+class Mapper214 : public BaseMapper
+{
+protected:
+ virtual uint16_t GetPRGPageSize() { return 0x4000; }
+ virtual uint16_t GetCHRPageSize() { return 0x2000; }
+
+ void InitMapper()
+ {
+ WriteRegister(0x8000, 0);
+ }
+
+ void WriteRegister(uint16_t addr, uint8_t value)
+ {
+ SelectCHRPage(0, addr & 0x03);
+ SelectPRGPage(0, (addr >> 2) & 0x03);
+ SelectPRGPage(1, (addr >> 2) & 0x03);
+ }
+};
\ No newline at end of file
diff --git a/Core/MapperFactory.cpp b/Core/MapperFactory.cpp
index 678db466..cd5fa93b 100644
--- a/Core/MapperFactory.cpp
+++ b/Core/MapperFactory.cpp
@@ -62,6 +62,7 @@
#include "Mapper203.h"
#include "Mapper212.h"
#include "Mapper213.h"
+#include "Mapper214.h"
#include "Mapper218.h"
#include "Mapper221.h"
#include "Mapper222.h"
@@ -183,7 +184,7 @@ Supported mappers:
| |===| |163|164|165|166|167|168|===|170|171|172|173|===|175|
|176|177|178|179|180| |182| |184|185| |187|188|189|===|191|
|192|193|194|195| |197| | |200|201|202|203| |205|206|207|
-| |209|210|211|212|213| | | | |218| | |221|222| |
+| |209|210|211|212|213|214| | | |218| | |221|222| |
| |225|226|227|228|229|230|231|232|233|234|235| |===|238|===|
|240|241|242|243|244|245|246|===|===|249|250|===|252| |254| |
-----------------------------------------------------------------
@@ -369,6 +370,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
case 211: return new JyCompany();
case 212: return new Mapper212();
case 213: return new Mapper213();
+ case 214: return new Mapper214();
case 218: return new Mapper218();
case 221: return new Mapper221();
case 222: return new Mapper222();