UNIF BB board support
This commit is contained in:
parent
1111399978
commit
eb67d54e69
6 changed files with 57 additions and 1 deletions
49
Core/Bb.h
Normal file
49
Core/Bb.h
Normal file
|
@ -0,0 +1,49 @@
|
|||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "BaseMapper.h"
|
||||
|
||||
class Bb : public BaseMapper
|
||||
{
|
||||
private:
|
||||
uint8_t _prgReg;
|
||||
uint8_t _chrReg;
|
||||
|
||||
protected:
|
||||
uint16_t GetPRGPageSize() override { return 0x2000; }
|
||||
uint16_t GetCHRPageSize() override { return 0x2000; }
|
||||
|
||||
void InitMapper() override
|
||||
{
|
||||
_prgReg = -1;
|
||||
_chrReg = 0;
|
||||
|
||||
SelectPrgPage4x(0, -4);
|
||||
UpdateState();
|
||||
}
|
||||
|
||||
void StreamState(bool saving)
|
||||
{
|
||||
BaseMapper::StreamState(saving);
|
||||
Stream(_prgReg, _chrReg);
|
||||
if(!saving) {
|
||||
UpdateState();
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateState()
|
||||
{
|
||||
SetCpuMemoryMapping(0x6000, 0x7FFF, _prgReg & 0x03, PrgMemoryType::PrgRom);
|
||||
SelectCHRPage(0, _chrReg);
|
||||
}
|
||||
|
||||
void WriteRegister(uint16_t addr, uint8_t value) override
|
||||
{
|
||||
if((addr & 0x9000) == 0x8000){
|
||||
_prgReg = _chrReg = value;
|
||||
} else {
|
||||
//For ProWres
|
||||
_chrReg = value & 0x01;
|
||||
}
|
||||
UpdateState();
|
||||
}
|
||||
};
|
|
@ -413,6 +413,7 @@
|
|||
<ClInclude Include="BaseFdsChannel.h" />
|
||||
<ClInclude Include="BaseMapper.h" />
|
||||
<ClInclude Include="BaseSoundFilter.h" />
|
||||
<ClInclude Include="Bb.h" />
|
||||
<ClInclude Include="BF9096.h" />
|
||||
<ClInclude Include="BF909x.h" />
|
||||
<ClInclude Include="Bmc190in1.h" />
|
||||
|
|
|
@ -1033,6 +1033,9 @@
|
|||
<ClInclude Include="UnifBoards.h">
|
||||
<Filter>Nes\Mappers\Unif</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Bb.h">
|
||||
<Filter>Nes\Mappers\Unif</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include "Bandai74161_7432.h"
|
||||
#include "BandaiFcg.h"
|
||||
#include "BandaiKaraoke.h"
|
||||
#include "Bb.h"
|
||||
#include "BF909x.h"
|
||||
#include "BF9096.h"
|
||||
#include "Bmc51.h"
|
||||
|
@ -468,6 +469,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
|
|||
|
||||
case UnifBoards::A65AS: return new A65AS();
|
||||
case UnifBoards::Ax5705: return new Ax5705();
|
||||
case UnifBoards::Bb: return new Bb();
|
||||
case UnifBoards::Bmc70in1: return new Bmc70in1();
|
||||
case UnifBoards::Bmc70in1B: return new Bmc70in1();
|
||||
case UnifBoards::Bmc190in1: return new Bmc190in1();
|
||||
|
|
|
@ -30,5 +30,6 @@ namespace UnifBoards {
|
|||
Ks7016,
|
||||
Rt01,
|
||||
Hp898f,
|
||||
Bb,
|
||||
};
|
||||
}
|
|
@ -31,7 +31,7 @@ private:
|
|||
{ "AC08", UnifBoards::UnknownBoard },
|
||||
{ "ANROM", 7 },
|
||||
{ "AX5705", UnifBoards::Ax5705 },
|
||||
{ "BB", UnifBoards::UnknownBoard },
|
||||
{ "BB", UnifBoards::Bb },
|
||||
{ "BS-5", UnifBoards::Bs5 },
|
||||
{ "CC-21", UnifBoards::Cc21 },
|
||||
{ "CITYFIGHT", UnifBoards::UnknownBoard },
|
||||
|
|
Loading…
Add table
Reference in a new issue