Mapper 229 support

This commit is contained in:
Souryo 2016-08-12 20:16:18 -04:00
parent 873c5fcdc4
commit 0755b51558
4 changed files with 34 additions and 1 deletions

View file

@ -461,6 +461,7 @@
<ClInclude Include="Mapper225.h" />
<ClInclude Include="Mapper226.h" />
<ClInclude Include="Mapper227.h" />
<ClInclude Include="Mapper229.h" />
<ClInclude Include="Mapper230.h" />
<ClInclude Include="Mapper233.h" />
<ClInclude Include="Mapper234.h" />

View file

@ -865,6 +865,9 @@
<ClInclude Include="Mapper233.h">
<Filter>Nes\Mappers\Unnamed</Filter>
</ClInclude>
<ClInclude Include="Mapper229.h">
<Filter>Nes\Mappers\Unnamed</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">

27
Core/Mapper229.h Normal file
View file

@ -0,0 +1,27 @@
#pragma once
#include "stdafx.h"
#include "BaseMapper.h"
class Mapper229 : 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 & 0xFF);
if(!(addr & 0x1E)) {
SelectPrgPage2x(0, 0);
} else {
SelectPRGPage(0, addr & 0x1F);
SelectPRGPage(1, addr & 0x1F);
}
SetMirroringType(addr & 0x20 ? MirroringType::Horizontal : MirroringType::Vertical);
}
};

View file

@ -66,6 +66,7 @@
#include "Mapper225.h"
#include "Mapper226.h"
#include "Mapper227.h"
#include "Mapper229.h"
#include "Mapper230.h"
#include "Mapper231.h"
#include "Mapper233.h"
@ -181,7 +182,7 @@ Supported mappers:
|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| | | | | |218| | |221| | |
| |225|226|227|228| |230|231|232|233|234|235| |===|238|===|
| |225|226|227|228|229|230|231|232|233|234|235| |===|238|===|
|240|241|242|243|244|245|246|===|===|249|250|===|252| |254| |
-----------------------------------------------------------------
*/
@ -371,6 +372,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
case 226: return new Mapper226();
case 227: return new Mapper227();
case 228: return new ActionEnterprises();
case 229: return new Mapper229();
case 230: return new Mapper230();
case 231: return new Mapper231();
case 232: return new BF9096();