Sachen mapper 148 & 149 support
This commit is contained in:
parent
da335335bc
commit
af0741b50b
5 changed files with 53 additions and 0 deletions
|
@ -318,6 +318,8 @@
|
|||
<ClInclude Include="Nina03_06.h" />
|
||||
<ClInclude Include="NoiseChannel.h" />
|
||||
<ClInclude Include="Sachen_147.h" />
|
||||
<ClInclude Include="Sachen_148.h" />
|
||||
<ClInclude Include="Sachen_149.h" />
|
||||
<ClInclude Include="SquareChannel.h" />
|
||||
<ClInclude Include="StandardController.h" />
|
||||
<ClInclude Include="MessageManager.h" />
|
||||
|
|
|
@ -299,6 +299,12 @@
|
|||
<ClInclude Include="Sachen_145.h">
|
||||
<Filter>Header Files\Mappers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Sachen_149.h">
|
||||
<Filter>Header Files\Mappers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Sachen_148.h">
|
||||
<Filter>Header Files\Mappers</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CPU.cpp">
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include "NROM.h"
|
||||
#include "Sachen_145.h"
|
||||
#include "Sachen_147.h"
|
||||
#include "Sachen_148.h"
|
||||
#include "Sachen_149.h"
|
||||
#include "Sunsoft89.h"
|
||||
#include "Sunsoft93.h"
|
||||
#include "Sunsoft184.h"
|
||||
|
@ -80,6 +82,8 @@ BaseMapper* MapperFactory::GetMapperFromID(ROMLoader &romLoader)
|
|||
case 145: return new Sachen_145();
|
||||
case 146: return new Nina03_06(false);
|
||||
case 147: return new Sachen_147();
|
||||
case 148: return new Sachen_148();
|
||||
case 149: return new Sachen_149();
|
||||
case 152: return new Bandai74161_7432(true);
|
||||
case 163: return new Nanjing();
|
||||
case 184: return new Sunsoft184();
|
||||
|
|
21
Core/Sachen_148.h
Normal file
21
Core/Sachen_148.h
Normal file
|
@ -0,0 +1,21 @@
|
|||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "BaseMapper.h"
|
||||
|
||||
class Sachen_148 : public BaseMapper
|
||||
{
|
||||
protected:
|
||||
virtual uint16_t GetPRGPageSize() { return 0x8000; }
|
||||
virtual uint16_t GetCHRPageSize() { return 0x2000; }
|
||||
|
||||
void InitMapper()
|
||||
{
|
||||
SelectPRGPage(0, 0);
|
||||
}
|
||||
|
||||
void WriteRegister(uint16_t addr, uint8_t value)
|
||||
{
|
||||
SelectPRGPage(0, (value >> 3) & 0x01);
|
||||
SelectCHRPage(0, value & 0x07);
|
||||
}
|
||||
};
|
20
Core/Sachen_149.h
Normal file
20
Core/Sachen_149.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "BaseMapper.h"
|
||||
|
||||
class Sachen_149 : public BaseMapper
|
||||
{
|
||||
protected:
|
||||
virtual uint16_t GetPRGPageSize() { return 0x8000; }
|
||||
virtual uint16_t GetCHRPageSize() { return 0x2000; }
|
||||
|
||||
void InitMapper()
|
||||
{
|
||||
SelectPRGPage(0, 0);
|
||||
}
|
||||
|
||||
void WriteRegister(uint16_t addr, uint8_t value)
|
||||
{
|
||||
SelectCHRPage(0, (value >> 7) & 0x01);
|
||||
}
|
||||
};
|
Loading…
Add table
Reference in a new issue