Mapper 197 support

This commit is contained in:
Souryo 2016-07-23 12:58:44 -04:00
parent 520478972d
commit 276b152fbc
4 changed files with 30 additions and 1 deletions

View file

@ -466,6 +466,7 @@
<ClInclude Include="MMC1_155.h" />
<ClInclude Include="MMC3_165.h" />
<ClInclude Include="MMC3_182.h" />
<ClInclude Include="MMC3_197.h" />
<ClInclude Include="MMC3_245.h" />
<ClInclude Include="MMC3_45.h" />
<ClInclude Include="Mapper57.h" />

View file

@ -802,6 +802,9 @@
<ClInclude Include="Mapper234.h">
<Filter>Nes\Mappers\Unnamed</Filter>
</ClInclude>
<ClInclude Include="MMC3_197.h">
<Filter>Nes\Mappers\MMC</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">

23
Core/MMC3_197.h Normal file
View file

@ -0,0 +1,23 @@
#pragma once
#include "stdafx.h"
#include "MMC3.h"
class MMC3_197 : public MMC3
{
protected:
virtual void UpdateChrMapping()
{
if(_chrMode == 0) {
SelectChrPage4x(0, _registers[0] << 1);
SelectChrPage2x(2, _registers[2] << 1);
SelectChrPage2x(3, _registers[3] << 1);
} else if(_chrMode == 1) {
SelectChrPage4x(0, _registers[2] << 1);
SelectChrPage2x(2, _registers[0] << 1);
SelectChrPage2x(3, _registers[0] << 1);
}
}
};

View file

@ -82,6 +82,7 @@
#include "MMC3_165.h"
#include "MMC3_182.h"
#include "MMC3_189.h"
#include "MMC3_197.h"
#include "MMC3_205.h"
#include "MMC3_245.h"
#include "MMC3_ChrRam.h"
@ -159,7 +160,7 @@ Supported mappers:
|144|145|146|147|148|149|150|151|152|153|154|155|156|157| |159|
| | | |163|164|165|166|167| | |170|171|172|173| |175|
|176|177|178|179|180| |182| |184|185| | | |189| |191|
|192|193|194|195| | | | |200|201|202|203| |205|206|207|
|192|193|194|195| |197| | |200|201|202|203| |205|206|207|
| |209|210|211| | | | | | |218| | | | | |
| |225|226|227|228| |230|231|232| |234|235| | | | |
|240|241|242|243| |245|246| | | | | |252| | | |
@ -323,6 +324,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
case 193: return new NtdecTc112();
case 194: return new MMC3_ChrRam(0x00, 0x01, 2);
case 195: return new MMC3_ChrRam(0x00, 0x03, 4);
case 197: return new MMC3_197();
case 200: return new Mapper200();
case 201: return new Mapper201();
case 202: return new Mapper202();