Added support for mapper 309 (LH-51)
This commit is contained in:
parent
2914078e8f
commit
2389e10a59
5 changed files with 39 additions and 1 deletions
|
@ -541,6 +541,7 @@
|
||||||
<ClInclude Include="Kaiser7017.h" />
|
<ClInclude Include="Kaiser7017.h" />
|
||||||
<ClInclude Include="Kaiser7031.h" />
|
<ClInclude Include="Kaiser7031.h" />
|
||||||
<ClInclude Include="KeyManager.h" />
|
<ClInclude Include="KeyManager.h" />
|
||||||
|
<ClInclude Include="Lh51.h" />
|
||||||
<ClInclude Include="Mapper116.h" />
|
<ClInclude Include="Mapper116.h" />
|
||||||
<ClInclude Include="MMC3_198.h" />
|
<ClInclude Include="MMC3_198.h" />
|
||||||
<ClInclude Include="MMC3_208.h" />
|
<ClInclude Include="MMC3_208.h" />
|
||||||
|
|
|
@ -1450,6 +1450,9 @@
|
||||||
<ClInclude Include="Gkcx1.h">
|
<ClInclude Include="Gkcx1.h">
|
||||||
<Filter>Nes\Mappers\Unif</Filter>
|
<Filter>Nes\Mappers\Unif</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Lh51.h">
|
||||||
|
<Filter>Nes\Mappers\Unif</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="stdafx.cpp">
|
<ClCompile Include="stdafx.cpp">
|
||||||
|
|
32
Core/Lh51.h
Normal file
32
Core/Lh51.h
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
|
@ -88,6 +88,7 @@
|
||||||
#include "Kaiser7058.h"
|
#include "Kaiser7058.h"
|
||||||
#include "Lh10.h"
|
#include "Lh10.h"
|
||||||
#include "Lh32.h"
|
#include "Lh32.h"
|
||||||
|
#include "Lh51.h"
|
||||||
#include "Malee.h"
|
#include "Malee.h"
|
||||||
#include "MagicKidGooGoo.h"
|
#include "MagicKidGooGoo.h"
|
||||||
#include "Mapper15.h"
|
#include "Mapper15.h"
|
||||||
|
@ -576,7 +577,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
|
||||||
case 306: return new Kaiser7016();
|
case 306: return new Kaiser7016();
|
||||||
case 307: return new Kaiser7037();
|
case 307: return new Kaiser7037();
|
||||||
case 308: break; //TH2131-1
|
case 308: break; //TH2131-1
|
||||||
case 309: break; //LH51
|
case 309: return new Lh51();
|
||||||
//310-311
|
//310-311
|
||||||
case 312: return new Kaiser7013B();
|
case 312: return new Kaiser7013B();
|
||||||
case 313: break; //RESET-TXROM
|
case 313: break; //RESET-TXROM
|
||||||
|
|
|
@ -67,6 +67,7 @@ std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<
|
||||||
{ "LE05", UnifBoards::UnknownBoard },
|
{ "LE05", UnifBoards::UnknownBoard },
|
||||||
{ "LH10", 522 },
|
{ "LH10", 522 },
|
||||||
{ "LH32", 125 },
|
{ "LH32", 125 },
|
||||||
|
{ "LH51", 309 },
|
||||||
{ "LH53", UnifBoards::UnknownBoard },
|
{ "LH53", UnifBoards::UnknownBoard },
|
||||||
{ "MALISB", 325 },
|
{ "MALISB", 325 },
|
||||||
{ "MARIO1-MALEE2", UnifBoards::Malee },
|
{ "MARIO1-MALEE2", UnifBoards::Malee },
|
||||||
|
|
Loading…
Add table
Reference in a new issue