UNIF HP898F board support

This commit is contained in:
Souryo 2016-11-10 16:57:19 -05:00
parent eeffa162e1
commit 1111399978
7 changed files with 194 additions and 155 deletions

View file

@ -446,6 +446,7 @@
<ClInclude Include="HdVideoFilter.h" /> <ClInclude Include="HdVideoFilter.h" />
<ClInclude Include="Henggedianzi177.h" /> <ClInclude Include="Henggedianzi177.h" />
<ClInclude Include="Henggedianzi179.h" /> <ClInclude Include="Henggedianzi179.h" />
<ClInclude Include="Hp898f.h" />
<ClInclude Include="iNesLoader.h" /> <ClInclude Include="iNesLoader.h" />
<ClInclude Include="IremH3001.h" /> <ClInclude Include="IremH3001.h" />
<ClInclude Include="IremLrog017.h" /> <ClInclude Include="IremLrog017.h" />
@ -678,6 +679,7 @@
<ClInclude Include="Txc22211B.h" /> <ClInclude Include="Txc22211B.h" />
<ClInclude Include="Txc22211C.h" /> <ClInclude Include="Txc22211C.h" />
<ClInclude Include="TxSRom.h" /> <ClInclude Include="TxSRom.h" />
<ClInclude Include="UnifBoards.h" />
<ClInclude Include="UnifLoader.h" /> <ClInclude Include="UnifLoader.h" />
<ClInclude Include="VideoHud.h" /> <ClInclude Include="VideoHud.h" />
<ClInclude Include="VideoRenderer.h" /> <ClInclude Include="VideoRenderer.h" />

View file

@ -1027,6 +1027,12 @@
<ClInclude Include="Rt01.h"> <ClInclude Include="Rt01.h">
<Filter>Nes\Mappers\Unif</Filter> <Filter>Nes\Mappers\Unif</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Hp898f.h">
<Filter>Nes\Mappers\Unif</Filter>
</ClInclude>
<ClInclude Include="UnifBoards.h">
<Filter>Nes\Mappers\Unif</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">

45
Core/Hp898f.h Normal file
View file

@ -0,0 +1,45 @@
#pragma once
#include "stdafx.h"
#include "BaseMapper.h"
class Hp898f : public BaseMapper
{
private:
uint8_t _regs[2];
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
{
_regs[0] = _regs[1] = 0;
UpdateState();
}
void StreamState(bool saving) override
{
BaseMapper::StreamState(saving);
Stream(_regs[0], _regs[1]);
}
void UpdateState()
{
uint8_t prgReg = (_regs[1] >> 3) & 7;
uint8_t prgMask = (_regs[1] >> 4) & 4;
SelectCHRPage(0, (((_regs[0] >> 4) & 0x07) & ~(((_regs[0] & 0x01) << 2) | (_regs[0] & 0x02))));
SelectPRGPage(0, prgReg & (~prgMask));
SelectPRGPage(1, prgReg | prgMask);
SetMirroringType(_regs[1] & 0x80 ? MirroringType::Vertical : MirroringType::Horizontal);
}
void WriteRegister(uint16_t addr, uint8_t value) override
{
if((addr & 0x6000) == 0x6000) {
_regs[(addr & 0x04) >> 2] = value;
UpdateState();
}
}
};

View file

@ -2,6 +2,8 @@
#include "MessageManager.h" #include "MessageManager.h"
#include "MapperFactory.h" #include "MapperFactory.h"
#include "RomLoader.h" #include "RomLoader.h"
#include "UnifBoards.h"
#include "A65AS.h" #include "A65AS.h"
#include "Action53.h" #include "Action53.h"
#include "ActionEnterprises.h" #include "ActionEnterprises.h"
@ -37,6 +39,7 @@
#include "GxRom.h" #include "GxRom.h"
#include "Henggedianzi177.h" #include "Henggedianzi177.h"
#include "Henggedianzi179.h" #include "Henggedianzi179.h"
#include "Hp898f.h"
#include "IremG101.h" #include "IremG101.h"
#include "IremH3001.h" #include "IremH3001.h"
#include "IremLrog017.h" #include "IremLrog017.h"
@ -236,34 +239,6 @@ Supported mappers:
----------------------------------------------------------------- -----------------------------------------------------------------
*/ */
const uint16_t MapperFactory::FdsMapperID;
const uint16_t MapperFactory::NsfMapperID;
const uint16_t MapperFactory::UnknownBoard;
const uint16_t MapperFactory::UnifA65AS;
const uint16_t MapperFactory::UnifAx5705;
const uint16_t MapperFactory::UnifBmc70in1;
const uint16_t MapperFactory::UnifBmc70in1B;
const uint16_t MapperFactory::UnifBmc190in1;
const uint16_t MapperFactory::UnifBs5;
const uint16_t MapperFactory::UnifCc21;
const uint16_t MapperFactory::UnifCoolboy;
const uint16_t MapperFactory::UnifDreamTech01;
const uint16_t MapperFactory::UnifEdu2000;
const uint16_t MapperFactory::UnifGhostbusters63in1;
const uint16_t MapperFactory::UnifGs2004;
const uint16_t MapperFactory::UnifGs2013;
const uint16_t MapperFactory::UnifKof97;
const uint16_t MapperFactory::UnifKs7016;
const uint16_t MapperFactory::UnifMalee;
const uint16_t MapperFactory::UnifNovelDiamond;
const uint16_t MapperFactory::UnifRt01;
const uint16_t MapperFactory::UnifStreetHeroes;
const uint16_t MapperFactory::UnifSmb2j;
const uint16_t MapperFactory::UnifSuper24in1Sc03;
const uint16_t MapperFactory::UnifSuper40in1Ws;
const uint16_t MapperFactory::UnifT262;
const uint16_t MapperFactory::UnifTf1201;
BaseMapper* MapperFactory::GetMapperFromID(RomData &romData) BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
{ {
#ifdef _DEBUG #ifdef _DEBUG
@ -491,30 +466,31 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
case 254: return new MMC3_254(); case 254: return new MMC3_254();
case 255: return new Bmc255(); case 255: return new Bmc255();
case MapperFactory::UnifA65AS: return new A65AS(); case UnifBoards::A65AS: return new A65AS();
case MapperFactory::UnifAx5705: return new Ax5705(); case UnifBoards::Ax5705: return new Ax5705();
case MapperFactory::UnifBmc70in1: return new Bmc70in1(); case UnifBoards::Bmc70in1: return new Bmc70in1();
case MapperFactory::UnifBmc70in1B: return new Bmc70in1(); case UnifBoards::Bmc70in1B: return new Bmc70in1();
case MapperFactory::UnifBmc190in1: return new Bmc190in1(); case UnifBoards::Bmc190in1: return new Bmc190in1();
case MapperFactory::UnifBs5: return new Bs5(); case UnifBoards::Bs5: return new Bs5();
case MapperFactory::UnifCc21: return new Cc21(); case UnifBoards::Cc21: return new Cc21();
case MapperFactory::UnifCoolboy: return new MMC3_Coolboy(); case UnifBoards::Coolboy: return new MMC3_Coolboy();
case MapperFactory::UnifDreamTech01: return new DreamTech01(); case UnifBoards::DreamTech01: return new DreamTech01();
case MapperFactory::UnifEdu2000: return new Edu2000(); case UnifBoards::Edu2000: return new Edu2000();
case MapperFactory::UnifGhostbusters63in1: return new Ghostbusters63in1(); case UnifBoards::Ghostbusters63in1: return new Ghostbusters63in1();
case MapperFactory::UnifGs2004: return new Gs2004(); case UnifBoards::Gs2004: return new Gs2004();
case MapperFactory::UnifGs2013: return new Gs2013(); case UnifBoards::Gs2013: return new Gs2013();
case MapperFactory::UnifKof97: return new MMC3_Kof97(); case UnifBoards::Hp898f: return new Hp898f();
case MapperFactory::UnifKs7016: return new Kaiser7016(); case UnifBoards::Kof97: return new MMC3_Kof97();
case MapperFactory::UnifMalee: return new Malee(); case UnifBoards::Ks7016: return new Kaiser7016();
case MapperFactory::UnifNovelDiamond: return new NovelDiamond(); case UnifBoards::Malee: return new Malee();
case MapperFactory::UnifRt01: return new Rt01(); case UnifBoards::NovelDiamond: return new NovelDiamond();
case MapperFactory::UnifSmb2j: return new Smb2j(); case UnifBoards::Rt01: return new Rt01();
case MapperFactory::UnifStreetHeroes: return new MMC3_StreetHeroes(); case UnifBoards::Smb2j: return new Smb2j();
case MapperFactory::UnifSuper24in1Sc03: return new MMC3_Super24in1Sc03(); case UnifBoards::StreetHeroes: return new MMC3_StreetHeroes();
case MapperFactory::UnifSuper40in1Ws: return new Super40in1Ws(); case UnifBoards::Super24in1Sc03: return new MMC3_Super24in1Sc03();
case MapperFactory::UnifT262: return new T262(); case UnifBoards::Super40in1Ws: return new Super40in1Ws();
case MapperFactory::UnifTf1201: return new Tf1201(); case UnifBoards::T262: return new T262();
case UnifBoards::Tf1201: return new Tf1201();
case MapperFactory::NsfMapperID: return new NsfMapper(); case MapperFactory::NsfMapperID: return new NsfMapper();
case MapperFactory::FdsMapperID: return new FDS(); case MapperFactory::FdsMapperID: return new FDS();

View file

@ -11,31 +11,6 @@ class MapperFactory
public: public:
static const uint16_t FdsMapperID = 65535; static const uint16_t FdsMapperID = 65535;
static const uint16_t NsfMapperID = 65534; static const uint16_t NsfMapperID = 65534;
static const uint16_t UnknownBoard = 65533;
static const uint16_t UnifTf1201 = 65532;
static const uint16_t UnifCoolboy = 65531;
static const uint16_t UnifSmb2j = 65530;
static const uint16_t UnifMalee = 65529;
static const uint16_t UnifStreetHeroes = 65528;
static const uint16_t UnifDreamTech01 = 65527;
static const uint16_t UnifEdu2000 = 65526;
static const uint16_t UnifGs2013 = 65525;
static const uint16_t UnifGs2004 = 65524;
static const uint16_t UnifNovelDiamond = 65523;
static const uint16_t UnifKof97 = 65522;
static const uint16_t UnifT262 = 65521;
static const uint16_t UnifA65AS = 65520;
static const uint16_t UnifBs5 = 65519;
static const uint16_t UnifBmc190in1 = 65518;
static const uint16_t UnifGhostbusters63in1 = 65517;
static const uint16_t UnifBmc70in1 = 65516;
static const uint16_t UnifBmc70in1B = 65515;
static const uint16_t UnifAx5705 = 65514;
static const uint16_t UnifSuper24in1Sc03 = 65513;
static const uint16_t UnifSuper40in1Ws = 65512;
static const uint16_t UnifCc21 = 65511;
static const uint16_t UnifKs7016 = 65510;
static const uint16_t UnifRt01 = 65509;
static shared_ptr<BaseMapper> InitializeFromFile(string romFilename, stringstream *filestream, string ipsFilename, int32_t archiveFileIndex); static shared_ptr<BaseMapper> InitializeFromFile(string romFilename, stringstream *filestream, string ipsFilename, int32_t archiveFileIndex);
}; };

34
Core/UnifBoards.h Normal file
View file

@ -0,0 +1,34 @@
#pragma once
#include "stdafx.h"
namespace UnifBoards {
enum UnifBoards
{
UnknownBoard = 32768,
Tf1201,
Coolboy,
Smb2j,
Malee,
StreetHeroes,
DreamTech01,
Edu2000,
Gs2013,
Gs2004,
NovelDiamond,
Kof97,
T262,
A65AS,
Bs5,
Bmc190in1,
Ghostbusters63in1,
Bmc70in1,
Bmc70in1B,
Ax5705,
Super24in1Sc03,
Super40in1Ws,
Cc21,
Ks7016,
Rt01,
Hp898f,
};
}

View file

@ -2,89 +2,90 @@
#include "stdafx.h" #include "stdafx.h"
#include "RomData.h" #include "RomData.h"
#include "GameDatabase.h" #include "GameDatabase.h"
#include "UnifBoards.h"
#include <unordered_map> #include <unordered_map>
class UnifLoader class UnifLoader
{ {
private: private:
std::unordered_map<string, int> _boardMappings = { std::unordered_map<string, int> _boardMappings = {
{ "11160", MapperFactory::UnknownBoard }, { "11160", UnifBoards::UnknownBoard },
{ "12-IN-1", MapperFactory::UnknownBoard }, { "12-IN-1", UnifBoards::UnknownBoard },
{ "13in1JY110", MapperFactory::UnknownBoard }, { "13in1JY110", UnifBoards::UnknownBoard },
{ "190in1", MapperFactory::UnifBmc190in1 }, { "190in1", UnifBoards::Bmc190in1 },
{ "22211", 132 }, { "22211", 132 },
{ "3D-BLOCK", MapperFactory::UnknownBoard }, { "3D-BLOCK", UnifBoards::UnknownBoard },
{ "411120-C", MapperFactory::UnknownBoard }, { "411120-C", UnifBoards::UnknownBoard },
{ "42in1ResetSwitch", 226 }, { "42in1ResetSwitch", 226 },
{ "43272", MapperFactory::UnknownBoard }, { "43272", UnifBoards::UnknownBoard },
{ "603-5052", 238 }, { "603-5052", 238 },
{ "64in1NoRepeat", MapperFactory::UnknownBoard }, { "64in1NoRepeat", UnifBoards::UnknownBoard },
{ "70in1", MapperFactory::UnifBmc70in1 }, { "70in1", UnifBoards::Bmc70in1 },
{ "70in1B", MapperFactory::UnifBmc70in1B }, { "70in1B", UnifBoards::Bmc70in1B },
{ "810544-C-A1", MapperFactory::UnknownBoard }, { "810544-C-A1", UnifBoards::UnknownBoard },
{ "8157", MapperFactory::UnknownBoard }, { "8157", UnifBoards::UnknownBoard },
{ "8237", 215 }, { "8237", 215 },
{ "8237A", MapperFactory::UnknownBoard }, { "8237A", UnifBoards::UnknownBoard },
{ "830118C", MapperFactory::UnknownBoard }, { "830118C", UnifBoards::UnknownBoard },
{ "A65AS", MapperFactory::UnifA65AS }, { "A65AS", UnifBoards::A65AS },
{ "AC08", MapperFactory::UnknownBoard }, { "AC08", UnifBoards::UnknownBoard },
{ "ANROM", 7 }, { "ANROM", 7 },
{ "AX5705", MapperFactory::UnifAx5705 }, { "AX5705", UnifBoards::Ax5705 },
{ "BB", MapperFactory::UnknownBoard }, { "BB", UnifBoards::UnknownBoard },
{ "BS-5", MapperFactory::UnifBs5 }, { "BS-5", UnifBoards::Bs5 },
{ "CC-21", MapperFactory::UnifCc21 }, { "CC-21", UnifBoards::Cc21 },
{ "CITYFIGHT", MapperFactory::UnknownBoard }, { "CITYFIGHT", UnifBoards::UnknownBoard },
{ "COOLBOY", MapperFactory::UnifCoolboy }, { "COOLBOY", UnifBoards::Coolboy },
{ "10-24-C-A1", MapperFactory::UnknownBoard }, { "10-24-C-A1", UnifBoards::UnknownBoard },
{ "CNROM", 3 }, { "CNROM", 3 },
{ "CPROM", 13 }, { "CPROM", 13 },
{ "D1038", 60 }, { "D1038", 60 },
{ "DANCE", MapperFactory::UnknownBoard }, { "DANCE", UnifBoards::UnknownBoard },
{ "DANCE2000", MapperFactory::UnknownBoard }, { "DANCE2000", UnifBoards::UnknownBoard },
{ "DREAMTECH01", MapperFactory::UnifDreamTech01 }, { "DREAMTECH01", UnifBoards::DreamTech01 },
{ "EDU2000", MapperFactory::UnifEdu2000 }, { "EDU2000", UnifBoards::Edu2000 },
{ "EKROM", 5 }, { "EKROM", 5 },
{ "ELROM", 5 }, { "ELROM", 5 },
{ "ETROM", 5 }, { "ETROM", 5 },
{ "EWROM", 5 }, { "EWROM", 5 },
{ "FK23C", MapperFactory::UnknownBoard }, { "FK23C", UnifBoards::UnknownBoard },
{ "FK23CA", MapperFactory::UnknownBoard }, { "FK23CA", UnifBoards::UnknownBoard },
{ "FS304", 162 }, { "FS304", 162 },
{ "G-146", MapperFactory::UnknownBoard }, { "G-146", UnifBoards::UnknownBoard },
{ "GK-192", 58 }, { "GK-192", 58 },
{ "GS-2004", MapperFactory::UnifGs2004 }, { "GS-2004", UnifBoards::Gs2004 },
{ "GS-2013", MapperFactory::UnifGs2013 }, { "GS-2013", UnifBoards::Gs2013 },
{ "Ghostbusters63in1", MapperFactory::UnifGhostbusters63in1 }, { "Ghostbusters63in1", UnifBoards::Ghostbusters63in1 },
{ "H2288", 123 }, { "H2288", 123 },
{ "HKROM", MapperFactory::UnknownBoard }, { "HKROM", UnifBoards::UnknownBoard },
{ "KOF97", MapperFactory::UnifKof97 }, { "KOF97", UnifBoards::Kof97 },
{ "KONAMI-QTAI", MapperFactory::UnknownBoard }, { "KONAMI-QTAI", UnifBoards::UnknownBoard },
{ "KS7010", MapperFactory::UnknownBoard }, { "KS7010", UnifBoards::UnknownBoard },
{ "KS7012", MapperFactory::UnknownBoard }, { "KS7012", UnifBoards::UnknownBoard },
{ "KS7013B", MapperFactory::UnknownBoard }, { "KS7013B", UnifBoards::UnknownBoard },
{ "KS7016", MapperFactory::UnifKs7016 }, { "KS7016", UnifBoards::Ks7016 },
{ "KS7017", MapperFactory::UnknownBoard }, { "KS7017", UnifBoards::UnknownBoard },
{ "KS7030", MapperFactory::UnknownBoard }, { "KS7030", UnifBoards::UnknownBoard },
{ "KS7031", MapperFactory::UnknownBoard }, { "KS7031", UnifBoards::UnknownBoard },
{ "KS7032", 142 }, { "KS7032", 142 },
{ "KS7037", MapperFactory::UnknownBoard }, { "KS7037", UnifBoards::UnknownBoard },
{ "KS7057", MapperFactory::UnknownBoard }, { "KS7057", UnifBoards::UnknownBoard },
{ "LE05", MapperFactory::UnknownBoard }, { "LE05", UnifBoards::UnknownBoard },
{ "LH10", MapperFactory::UnknownBoard }, { "LH10", UnifBoards::UnknownBoard },
{ "LH32", 125 }, { "LH32", 125 },
{ "LH53", MapperFactory::UnknownBoard }, { "LH53", UnifBoards::UnknownBoard },
{ "MALISB", MapperFactory::UnknownBoard }, { "MALISB", UnifBoards::UnknownBoard },
{ "MARIO1-MALEE2", MapperFactory::UnifMalee }, { "MARIO1-MALEE2", UnifBoards::Malee },
{ "MHROM", 66 }, { "MHROM", 66 },
{ "N625092", 221 }, { "N625092", 221 },
{ "NROM", 0 }, { "NROM", 0 },
{ "NROM-128", 0 }, { "NROM-128", 0 },
{ "NROM-256", 0 }, { "NROM-256", 0 },
{ "NTBROM", 68 }, { "NTBROM", 68 },
{ "NTD-03", MapperFactory::UnknownBoard }, { "NTD-03", UnifBoards::UnknownBoard },
{ "NovelDiamond9999999in1", MapperFactory::UnifNovelDiamond }, { "NovelDiamond9999999in1", UnifBoards::NovelDiamond },
{ "OneBus", MapperFactory::UnknownBoard }, { "OneBus", UnifBoards::UnknownBoard },
{ "PEC-586", MapperFactory::UnknownBoard }, { "PEC-586", UnifBoards::UnknownBoard },
{ "RET-CUFROM", 29 }, { "RET-CUFROM", 29 },
{ "RROM", 0 }, { "RROM", 0 },
{ "RROM-128", 0 }, { "RROM-128", 0 },
@ -95,7 +96,7 @@ private:
{ "SA-016-1M", 146 }, { "SA-016-1M", 146 },
{ "SA-72007", 145 }, { "SA-72007", 145 },
{ "SA-72008", 133 }, { "SA-72008", 133 },
{ "SA-9602B", MapperFactory::UnknownBoard }, { "SA-9602B", UnifBoards::UnknownBoard },
{ "SA-NROM", 143 }, { "SA-NROM", 143 },
{ "SAROM", 1 }, { "SAROM", 1 },
{ "SBROM", 1 }, { "SBROM", 1 },
@ -103,16 +104,16 @@ private:
{ "SCROM", 1 }, { "SCROM", 1 },
{ "SEROM", 1 }, { "SEROM", 1 },
{ "SGROM", 1 }, { "SGROM", 1 },
{ "SHERO", MapperFactory::UnifStreetHeroes }, { "SHERO", UnifBoards::StreetHeroes },
{ "SKROM", 1 }, { "SKROM", 1 },
{ "SL12", 116 }, { "SL12", 116 },
{ "SL1632", 14 }, { "SL1632", 14 },
{ "SL1ROM", 1 }, { "SL1ROM", 1 },
{ "SLROM", 1 }, { "SLROM", 1 },
{ "SMB2J", MapperFactory::UnifSmb2j }, { "SMB2J", UnifBoards::Smb2j },
{ "SNROM", 1 }, { "SNROM", 1 },
{ "SOROM", 1 }, { "SOROM", 1 },
{ "SSS-NROM-256", MapperFactory::UnknownBoard }, { "SSS-NROM-256", UnifBoards::UnknownBoard },
{ "SUNSOFT_UNROM", 93 }, { "SUNSOFT_UNROM", 93 },
{ "Sachen-74LS374N", 150 }, { "Sachen-74LS374N", 150 },
{ "Sachen-74LS374NA", 243 }, { "Sachen-74LS374NA", 243 },
@ -120,17 +121,17 @@ private:
{ "Sachen-8259B", 138 }, { "Sachen-8259B", 138 },
{ "Sachen-8259C", 139 }, { "Sachen-8259C", 139 },
{ "Sachen-8259D", 137 }, { "Sachen-8259D", 137 },
{ "Super24in1SC03", MapperFactory::UnifSuper24in1Sc03 }, { "Super24in1SC03", UnifBoards::Super24in1Sc03 },
{ "SuperHIK8in1", 45 }, { "SuperHIK8in1", 45 },
{ "Supervision16in1", 53 }, { "Supervision16in1", 53 },
{ "T-227-1", MapperFactory::UnknownBoard }, { "T-227-1", UnifBoards::UnknownBoard },
{ "T-230", MapperFactory::UnknownBoard }, { "T-230", UnifBoards::UnknownBoard },
{ "T-262", MapperFactory::UnifT262 }, { "T-262", UnifBoards::T262 },
{ "TBROM", 4 }, { "TBROM", 4 },
{ "TC-U01-1.5M", 147 }, { "TC-U01-1.5M", 147 },
{ "TEK90", 90 }, { "TEK90", 90 },
{ "TEROM", 4 }, { "TEROM", 4 },
{ "TF1201", MapperFactory::UnifTf1201 }, { "TF1201", UnifBoards::Tf1201 },
{ "TFROM", 4 }, { "TFROM", 4 },
{ "TGROM", 4 }, { "TGROM", 4 },
{ "TKROM", 4 }, { "TKROM", 4 },
@ -141,24 +142,24 @@ private:
{ "TR1ROM", 4 }, { "TR1ROM", 4 },
{ "TSROM", 4 }, { "TSROM", 4 },
{ "TVROM", 4 }, { "TVROM", 4 },
{ "Transformer", MapperFactory::UnknownBoard }, { "Transformer", UnifBoards::UnknownBoard },
{ "UNROM", 2 }, { "UNROM", 2 },
{ "UNROM-512-8", 30 }, { "UNROM-512-8", 30 },
{ "UNROM-512-16", 30 }, { "UNROM-512-16", 30 },
{ "UNROM-512-32", 30 }, { "UNROM-512-32", 30 },
{ "UOROM", 2 }, { "UOROM", 2 },
{ "VRC7", MapperFactory::UnknownBoard }, { "VRC7", UnifBoards::UnknownBoard },
{ "YOKO", MapperFactory::UnknownBoard }, { "YOKO", UnifBoards::UnknownBoard },
{ "SB-2000", MapperFactory::UnknownBoard }, { "SB-2000", UnifBoards::UnknownBoard },
{ "158B", MapperFactory::UnknownBoard }, { "158B", UnifBoards::UnknownBoard },
{ "DRAGONFIGHTER", MapperFactory::UnknownBoard }, { "DRAGONFIGHTER", UnifBoards::UnknownBoard },
{ "EH8813A", MapperFactory::UnknownBoard }, { "EH8813A", UnifBoards::UnknownBoard },
{ "HP898F", MapperFactory::UnknownBoard }, { "HP898F", UnifBoards::Hp898f },
{ "F-15", MapperFactory::UnknownBoard }, { "F-15", UnifBoards::UnknownBoard },
{ "RT-01", MapperFactory::UnifRt01 }, { "RT-01", UnifBoards::Rt01 },
{ "81-01-31-C", MapperFactory::UnknownBoard }, { "81-01-31-C", UnifBoards::UnknownBoard },
{ "8-IN-1", MapperFactory::UnknownBoard }, { "8-IN-1", UnifBoards::UnknownBoard },
{ "WS", MapperFactory::UnifSuper40in1Ws } { "WS", UnifBoards::Super40in1Ws }
}; };
vector<uint8_t> _prgChunks[16]; vector<uint8_t> _prgChunks[16];
@ -297,7 +298,7 @@ private:
MessageManager::Log("[UNIF] Error: Unknown board"); MessageManager::Log("[UNIF] Error: Unknown board");
return MapperFactory::UnknownBoard; return UnifBoards::UnknownBoard;
} }
public: public:
@ -353,7 +354,7 @@ public:
GameDatabase::SetGameInfo(romData.Crc32, romData, !EmulationSettings::CheckFlag(EmulationFlags::DisableGameDatabase)); GameDatabase::SetGameInfo(romData.Crc32, romData, !EmulationSettings::CheckFlag(EmulationFlags::DisableGameDatabase));
if(romData.MapperID == MapperFactory::UnknownBoard) { if(romData.MapperID == UnifBoards::UnknownBoard) {
MessageManager::DisplayMessage("Error", "UnsupportedMapper", "UNIF: " + _mapperName); MessageManager::DisplayMessage("Error", "UnsupportedMapper", "UNIF: " + _mapperName);
romData.Error = true; romData.Error = true;
} }