UNIF KS7013B board support

This commit is contained in:
Souryo 2016-11-12 10:21:04 -05:00
parent ddfe9fb4f5
commit dda0bfe346
6 changed files with 37 additions and 1 deletions

View file

@ -465,6 +465,7 @@
<ClInclude Include="JalecoJf17_19.h" /> <ClInclude Include="JalecoJf17_19.h" />
<ClInclude Include="JyCompany.h" /> <ClInclude Include="JyCompany.h" />
<ClInclude Include="Kaiser202.h" /> <ClInclude Include="Kaiser202.h" />
<ClInclude Include="Kaiser7013B.h" />
<ClInclude Include="Kaiser7022.h" /> <ClInclude Include="Kaiser7022.h" />
<ClInclude Include="Kaiser7037.h" /> <ClInclude Include="Kaiser7037.h" />
<ClInclude Include="Kaiser7057.h" /> <ClInclude Include="Kaiser7057.h" />

View file

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

29
Core/Kaiser7013B.h Normal file
View file

@ -0,0 +1,29 @@
#pragma once
#include "stdafx.h"
#include "BaseMapper.h"
class Kaiser7013B : public BaseMapper
{
protected:
uint16_t GetPRGPageSize() override { return 0x4000; }
uint16_t GetCHRPageSize() override { return 0x2000; }
uint16_t RegisterStartAddress() override { return 0x6000; }
uint16_t RegisterEndAddress() override { return 0xFFFF; }
void InitMapper() override
{
SelectPRGPage(0, 0);
SelectPRGPage(1, -1);
SelectCHRPage(0, 0);
SetMirroringType(MirroringType::Vertical);
}
void WriteRegister(uint16_t addr, uint8_t value) override
{
if(addr < 0x8000) {
SelectPRGPage(0, value);
} else {
SetMirroringType(value & 0x01 ? MirroringType::Horizontal : MirroringType::Vertical);
}
}
};

View file

@ -60,6 +60,7 @@
#include "JalecoSs88006.h" #include "JalecoSs88006.h"
#include "JyCompany.h" #include "JyCompany.h"
#include "Kaiser202.h" #include "Kaiser202.h"
#include "Kaiser7013B.h"
#include "Kaiser7016.h" #include "Kaiser7016.h"
#include "Kaiser7022.h" #include "Kaiser7022.h"
#include "Kaiser7037.h" #include "Kaiser7037.h"
@ -502,6 +503,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
case UnifBoards::Gs2013: return new Gs2013(); case UnifBoards::Gs2013: return new Gs2013();
case UnifBoards::Hp898f: return new Hp898f(); case UnifBoards::Hp898f: return new Hp898f();
case UnifBoards::Kof97: return new MMC3_Kof97(); case UnifBoards::Kof97: return new MMC3_Kof97();
case UnifBoards::Ks7013B: return new Kaiser7013B();
case UnifBoards::Ks7016: return new Kaiser7016(); case UnifBoards::Ks7016: return new Kaiser7016();
case UnifBoards::Ks7037: return new Kaiser7037(); case UnifBoards::Ks7037: return new Kaiser7037();
case UnifBoards::Ks7057: return new Kaiser7057(); case UnifBoards::Ks7057: return new Kaiser7057();

View file

@ -42,5 +42,6 @@ namespace UnifBoards {
Lh10, Lh10,
Ks7037, Ks7037,
Ks7057, Ks7057,
Ks7013B,
}; };
} }

View file

@ -62,7 +62,7 @@ private:
{ "KONAMI-QTAI", UnifBoards::UnknownBoard }, { "KONAMI-QTAI", UnifBoards::UnknownBoard },
{ "KS7010", UnifBoards::UnknownBoard }, { "KS7010", UnifBoards::UnknownBoard },
{ "KS7012", UnifBoards::UnknownBoard }, { "KS7012", UnifBoards::UnknownBoard },
{ "KS7013B", UnifBoards::UnknownBoard }, { "KS7013B", UnifBoards::Ks7013B },
{ "KS7016", UnifBoards::Ks7016 }, { "KS7016", UnifBoards::Ks7016 },
{ "KS7017", UnifBoards::UnknownBoard }, { "KS7017", UnifBoards::UnknownBoard },
{ "KS7030", UnifBoards::UnknownBoard }, { "KS7030", UnifBoards::UnknownBoard },