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();