Added support for mapper 309 (LH-51)

This commit is contained in:
Sour 2018-07-08 14:36:30 -04:00
parent 2914078e8f
commit 2389e10a59
5 changed files with 39 additions and 1 deletions

View file

@ -541,6 +541,7 @@
<ClInclude Include="Kaiser7017.h" />
<ClInclude Include="Kaiser7031.h" />
<ClInclude Include="KeyManager.h" />
<ClInclude Include="Lh51.h" />
<ClInclude Include="Mapper116.h" />
<ClInclude Include="MMC3_198.h" />
<ClInclude Include="MMC3_208.h" />

View file

@ -1450,6 +1450,9 @@
<ClInclude Include="Gkcx1.h">
<Filter>Nes\Mappers\Unif</Filter>
</ClInclude>
<ClInclude Include="Lh51.h">
<Filter>Nes\Mappers\Unif</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">

32
Core/Lh51.h Normal file
View file

@ -0,0 +1,32 @@
#pragma once
#include "stdafx.h"
#include "BaseMapper.h"
class Lh51 : public BaseMapper
{
protected:
virtual uint16_t GetPRGPageSize() override { return 0x2000; }
virtual uint16_t GetCHRPageSize() override { return 0x2000; }
void InitMapper() override
{
SelectPRGPage(0, 0);
SelectPRGPage(1, 13);
SelectPRGPage(2, 14);
SelectPRGPage(3, 15);
SelectCHRPage(0, 0);
}
void WriteRegister(uint16_t addr, uint8_t value) override
{
switch(addr & 0xE000) {
case 0x8000:
SelectPRGPage(0, value & 0x0F);
break;
case 0xE000:
SetMirroringType(value & 0x08 ? MirroringType::Horizontal : MirroringType::Vertical);
break;
}
}
};

View file

@ -88,6 +88,7 @@
#include "Kaiser7058.h"
#include "Lh10.h"
#include "Lh32.h"
#include "Lh51.h"
#include "Malee.h"
#include "MagicKidGooGoo.h"
#include "Mapper15.h"
@ -576,7 +577,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
case 306: return new Kaiser7016();
case 307: return new Kaiser7037();
case 308: break; //TH2131-1
case 309: break; //LH51
case 309: return new Lh51();
//310-311
case 312: return new Kaiser7013B();
case 313: break; //RESET-TXROM

View file

@ -67,6 +67,7 @@ std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<
{ "LE05", UnifBoards::UnknownBoard },
{ "LH10", 522 },
{ "LH32", 125 },
{ "LH51", 309 },
{ "LH53", UnifBoards::UnknownBoard },
{ "MALISB", 325 },
{ "MARIO1-MALEE2", UnifBoards::Malee },