diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj
index 5ba0f5ce..b40cb0f6 100644
--- a/Core/Core.vcxproj
+++ b/Core/Core.vcxproj
@@ -816,6 +816,7 @@
+
diff --git a/Core/Core.vcxproj.filters b/Core/Core.vcxproj.filters
index 9d1f47a0..ec0f5b66 100644
--- a/Core/Core.vcxproj.filters
+++ b/Core/Core.vcxproj.filters
@@ -1323,5 +1323,8 @@
Debugger
+
+ Nes\RomLoader
+
\ No newline at end of file
diff --git a/Core/GameDatabase.cpp b/Core/GameDatabase.cpp
index 24e74bb9..4a679691 100644
--- a/Core/GameDatabase.cpp
+++ b/Core/GameDatabase.cpp
@@ -6,6 +6,7 @@
#include "../Utilities/StringUtilities.h"
#include "GameDatabase.h"
#include "EmulationSettings.h"
+#include "UnifLoader.h"
std::unordered_map GameDatabase::_gameDatabase;
@@ -37,7 +38,7 @@ void GameDatabase::InitDatabase()
values[2],
values[3],
values[4],
- ToInt(values[5]),
+ (uint16_t)ToInt(values[5]),
ToInt(values[6]),
ToInt(values[7]),
ToInt(values[8]),
@@ -49,6 +50,10 @@ void GameDatabase::InitDatabase()
values[14]
};
+ if(gameInfo.MapperID == 65000) {
+ gameInfo.MapperID = UnifLoader::GetMapperID(gameInfo.Board);
+ }
+
if(!gameInfo.InputType.empty() && gameInfo.InputType[gameInfo.InputType.size() - 1] == '\r') {
gameInfo.InputType = gameInfo.InputType.substr(0, gameInfo.InputType.size() - 1);
}
@@ -309,8 +314,10 @@ void GameDatabase::SetGameInfo(uint32_t romCrc, RomData &romData, bool updateRom
MessageManager::Log("[DB] Game found in database");
info = result->second;
+ if(info.MapperID < UnifBoards::UnknownBoard) {
+ MessageManager::Log("[DB] Mapper: " + std::to_string(info.MapperID) + " Sub: " + std::to_string(GetSubMapper(info)));
+ }
- MessageManager::Log("[DB] Mapper: " + std::to_string(info.MapperID) + " Sub: " + std::to_string(GetSubMapper(info)));
MessageManager::Log("[DB] System : " + info.System);
if(!info.Board.empty()) {
MessageManager::Log("[DB] Board: " + info.Board);
diff --git a/Core/Sachen_148.h b/Core/Sachen_148.h
index 5c4a4603..9f91221b 100644
--- a/Core/Sachen_148.h
+++ b/Core/Sachen_148.h
@@ -7,6 +7,7 @@ class Sachen_148 : public BaseMapper
protected:
virtual uint16_t GetPRGPageSize() override { return 0x8000; }
virtual uint16_t GetCHRPageSize() override { return 0x2000; }
+ virtual bool HasBusConflicts() override { return true; }
void InitMapper() override
{
diff --git a/Core/UnifLoader.cpp b/Core/UnifLoader.cpp
new file mode 100644
index 00000000..c19f56c2
--- /dev/null
+++ b/Core/UnifLoader.cpp
@@ -0,0 +1,156 @@
+#include "stdafx.h"
+#include "UnifLoader.h"
+
+std::unordered_map UnifLoader::_boardMappings = std::unordered_map {
+ { "11160", UnifBoards::Bmc11160 },
+ { "12-IN-1", UnifBoards::Bmc12in1 },
+ { "13in1JY110", UnifBoards::UnknownBoard },
+ { "190in1", UnifBoards::Bmc190in1 },
+ { "22211", 132 },
+ { "3D-BLOCK", UnifBoards::UnknownBoard },
+ { "411120-C", UnifBoards::Bmc411120C },
+ { "42in1ResetSwitch", 226 },
+ { "43272", UnifBoards::Unl43272 },
+ { "603-5052", 238 },
+ { "64in1NoRepeat", UnifBoards::Bmc64in1NoRepeat },
+ { "70in1", UnifBoards::Bmc70in1 },
+ { "70in1B", UnifBoards::Bmc70in1B },
+ { "810544-C-A1", UnifBoards::Bmc810544CA1 },
+ { "8157", UnifBoards::UnknownBoard },
+ { "8237", 215 },
+ { "8237A", UnifBoards::UnknownBoard },
+ { "830118C", UnifBoards::UnknownBoard },
+ { "A65AS", UnifBoards::A65AS },
+ { "AC08", UnifBoards::Ac08 },
+ { "ANROM", 7 },
+ { "AX5705", UnifBoards::Ax5705 },
+ { "BB", UnifBoards::Bb },
+ { "BS-5", UnifBoards::Bs5 },
+ { "CC-21", UnifBoards::Cc21 },
+ { "CITYFIGHT", UnifBoards::UnknownBoard },
+ { "COOLBOY", UnifBoards::Coolboy },
+ { "10-24-C-A1", UnifBoards::UnknownBoard },
+ { "CNROM", 3 },
+ { "CPROM", 13 },
+ { "D1038", 60 },
+ { "DANCE", UnifBoards::UnknownBoard },
+ { "DANCE2000", UnifBoards::UnknownBoard },
+ { "DREAMTECH01", UnifBoards::DreamTech01 },
+ { "EDU2000", UnifBoards::Edu2000 },
+ { "EKROM", 5 },
+ { "ELROM", 5 },
+ { "ETROM", 5 },
+ { "EWROM", 5 },
+ { "FK23C", UnifBoards::UnknownBoard },
+ { "FK23CA", UnifBoards::UnknownBoard },
+ { "FS304", 162 },
+ { "G-146", UnifBoards::BmcG146 },
+ { "GK-192", 58 },
+ { "GS-2004", UnifBoards::Gs2004 },
+ { "GS-2013", UnifBoards::Gs2013 },
+ { "Ghostbusters63in1", UnifBoards::Ghostbusters63in1 },
+ { "H2288", 123 },
+ { "HKROM", UnifBoards::UnknownBoard },
+ { "KOF97", UnifBoards::Kof97 },
+ { "KONAMI-QTAI", UnifBoards::UnknownBoard },
+ { "KS7010", UnifBoards::UnknownBoard },
+ { "KS7012", UnifBoards::Ks7012 },
+ { "KS7013B", UnifBoards::Ks7013B },
+ { "KS7016", UnifBoards::Ks7016 },
+ { "KS7017", UnifBoards::UnknownBoard },
+ { "KS7030", UnifBoards::UnknownBoard },
+ { "KS7031", UnifBoards::UnknownBoard },
+ { "KS7032", 142 },
+ { "KS7037", UnifBoards::Ks7037 },
+ { "KS7057", UnifBoards::Ks7057 },
+ { "LE05", UnifBoards::UnknownBoard },
+ { "LH10", UnifBoards::Lh10 },
+ { "LH32", 125 },
+ { "LH53", UnifBoards::UnknownBoard },
+ { "MALISB", UnifBoards::MaliSB },
+ { "MARIO1-MALEE2", UnifBoards::Malee },
+ { "MHROM", 66 },
+ { "N625092", 221 },
+ { "NROM", 0 },
+ { "NROM-128", 0 },
+ { "NROM-256", 0 },
+ { "NTBROM", 68 },
+ { "NTD-03", UnifBoards::BmdNtd03 },
+ { "NovelDiamond9999999in1", UnifBoards::NovelDiamond },
+ { "OneBus", UnifBoards::UnknownBoard },
+ { "PEC-586", UnifBoards::UnknownBoard },
+ { "RET-CUFROM", 29 },
+ { "RROM", 0 },
+ { "RROM-128", 0 },
+ { "SA-002", 136 },
+ { "SA-0036", 149 },
+ { "SA-0037", 148 },
+ { "SA-009", 160 },
+ { "SA-016-1M", 146 },
+ { "SA-72007", 145 },
+ { "SA-72008", 133 },
+ { "SA-9602B", UnifBoards::UnknownBoard },
+ { "SA-NROM", 143 },
+ { "SAROM", 1 },
+ { "SBROM", 1 },
+ { "SC-127", 35 },
+ { "SCROM", 1 },
+ { "SEROM", 1 },
+ { "SGROM", 1 },
+ { "SHERO", UnifBoards::StreetHeroes },
+ { "SKROM", 1 },
+ { "SL12", 116 },
+ { "SL1632", 14 },
+ { "SL1ROM", 1 },
+ { "SLROM", 1 },
+ { "SMB2J", UnifBoards::Smb2j },
+ { "SNROM", 1 },
+ { "SOROM", 1 },
+ { "SSS-NROM-256", UnifBoards::UnknownBoard },
+ { "SUNSOFT_UNROM", 93 },
+ { "Sachen-74LS374N", 150 },
+ { "Sachen-74LS374NA", 243 },
+ { "Sachen-8259A", 141 },
+ { "Sachen-8259B", 138 },
+ { "Sachen-8259C", 139 },
+ { "Sachen-8259D", 137 },
+ { "Super24in1SC03", UnifBoards::Super24in1Sc03 },
+ { "SuperHIK8in1", 45 },
+ { "Supervision16in1", 53 },
+ { "T-227-1", UnifBoards::UnknownBoard },
+ { "T-230", UnifBoards::UnknownBoard },
+ { "T-262", UnifBoards::T262 },
+ { "TBROM", 4 },
+ { "TC-U01-1.5M", 147 },
+ { "TEK90", 90 },
+ { "TEROM", 4 },
+ { "TF1201", UnifBoards::Tf1201 },
+ { "TFROM", 4 },
+ { "TGROM", 4 },
+ { "TKROM", 4 },
+ { "TKSROM", 4 },
+ { "TLROM", 4 },
+ { "TLSROM", 4 },
+ { "TQROM", 4 },
+ { "TR1ROM", 4 },
+ { "TSROM", 4 },
+ { "TVROM", 4 },
+ { "Transformer", UnifBoards::UnknownBoard },
+ { "UNROM", 2 },
+ { "UNROM-512-8", 30 },
+ { "UNROM-512-16", 30 },
+ { "UNROM-512-32", 30 },
+ { "UOROM", 2 },
+ { "VRC7", UnifBoards::UnknownBoard },
+ { "YOKO", UnifBoards::UnknownBoard },
+ { "SB-2000", UnifBoards::UnknownBoard },
+ { "158B", UnifBoards::UnknownBoard },
+ { "DRAGONFIGHTER", UnifBoards::UnknownBoard },
+ { "EH8813A", UnifBoards::Eh8813A },
+ { "HP898F", UnifBoards::Hp898f },
+ { "F-15", UnifBoards::BmcF15 },
+ { "RT-01", UnifBoards::Rt01 },
+ { "81-01-31-C", UnifBoards::UnknownBoard },
+ { "8-IN-1", UnifBoards::UnknownBoard },
+ { "WS", UnifBoards::Super40in1Ws }
+};
\ No newline at end of file
diff --git a/Core/UnifLoader.h b/Core/UnifLoader.h
index 0e3fbac9..1d9626fc 100644
--- a/Core/UnifLoader.h
+++ b/Core/UnifLoader.h
@@ -1,166 +1,17 @@
#pragma once
#include "stdafx.h"
+#include "../Utilities/CRC32.h"
#include "RomData.h"
#include "GameDatabase.h"
#include "UnifBoards.h"
+#include "MessageManager.h"
+#include "EmulationSettings.h"
#include
class UnifLoader
{
private:
- std::unordered_map _boardMappings = {
- { "11160", UnifBoards::Bmc11160 },
- { "12-IN-1", UnifBoards::Bmc12in1 },
- { "13in1JY110", UnifBoards::UnknownBoard },
- { "190in1", UnifBoards::Bmc190in1 },
- { "22211", 132 },
- { "3D-BLOCK", UnifBoards::UnknownBoard },
- { "411120-C", UnifBoards::Bmc411120C },
- { "42in1ResetSwitch", 226 },
- { "43272", UnifBoards::Unl43272 },
- { "603-5052", 238 },
- { "64in1NoRepeat", UnifBoards::Bmc64in1NoRepeat },
- { "70in1", UnifBoards::Bmc70in1 },
- { "70in1B", UnifBoards::Bmc70in1B },
- { "810544-C-A1", UnifBoards::Bmc810544CA1 },
- { "8157", UnifBoards::UnknownBoard },
- { "8237", 215 },
- { "8237A", UnifBoards::UnknownBoard },
- { "830118C", UnifBoards::UnknownBoard },
- { "A65AS", UnifBoards::A65AS },
- { "AC08", UnifBoards::Ac08 },
- { "ANROM", 7 },
- { "AX5705", UnifBoards::Ax5705 },
- { "BB", UnifBoards::Bb },
- { "BS-5", UnifBoards::Bs5 },
- { "CC-21", UnifBoards::Cc21 },
- { "CITYFIGHT", UnifBoards::UnknownBoard },
- { "COOLBOY", UnifBoards::Coolboy },
- { "10-24-C-A1", UnifBoards::UnknownBoard },
- { "CNROM", 3 },
- { "CPROM", 13 },
- { "D1038", 60 },
- { "DANCE", UnifBoards::UnknownBoard },
- { "DANCE2000", UnifBoards::UnknownBoard },
- { "DREAMTECH01", UnifBoards::DreamTech01 },
- { "EDU2000", UnifBoards::Edu2000 },
- { "EKROM", 5 },
- { "ELROM", 5 },
- { "ETROM", 5 },
- { "EWROM", 5 },
- { "FK23C", UnifBoards::UnknownBoard },
- { "FK23CA", UnifBoards::UnknownBoard },
- { "FS304", 162 },
- { "G-146", UnifBoards::BmcG146 },
- { "GK-192", 58 },
- { "GS-2004", UnifBoards::Gs2004 },
- { "GS-2013", UnifBoards::Gs2013 },
- { "Ghostbusters63in1", UnifBoards::Ghostbusters63in1 },
- { "H2288", 123 },
- { "HKROM", UnifBoards::UnknownBoard },
- { "KOF97", UnifBoards::Kof97 },
- { "KONAMI-QTAI", UnifBoards::UnknownBoard },
- { "KS7010", UnifBoards::UnknownBoard },
- { "KS7012", UnifBoards::Ks7012 },
- { "KS7013B", UnifBoards::Ks7013B },
- { "KS7016", UnifBoards::Ks7016 },
- { "KS7017", UnifBoards::UnknownBoard },
- { "KS7030", UnifBoards::UnknownBoard },
- { "KS7031", UnifBoards::UnknownBoard },
- { "KS7032", 142 },
- { "KS7037", UnifBoards::Ks7037 },
- { "KS7057", UnifBoards::Ks7057 },
- { "LE05", UnifBoards::UnknownBoard },
- { "LH10", UnifBoards::Lh10 },
- { "LH32", 125 },
- { "LH53", UnifBoards::UnknownBoard },
- { "MALISB", UnifBoards::MaliSB },
- { "MARIO1-MALEE2", UnifBoards::Malee },
- { "MHROM", 66 },
- { "N625092", 221 },
- { "NROM", 0 },
- { "NROM-128", 0 },
- { "NROM-256", 0 },
- { "NTBROM", 68 },
- { "NTD-03", UnifBoards::BmdNtd03 },
- { "NovelDiamond9999999in1", UnifBoards::NovelDiamond },
- { "OneBus", UnifBoards::UnknownBoard },
- { "PEC-586", UnifBoards::UnknownBoard },
- { "RET-CUFROM", 29 },
- { "RROM", 0 },
- { "RROM-128", 0 },
- { "SA-002", 136 },
- { "SA-0036", 149 },
- { "SA-0037", 148 },
- { "SA-009", 160 },
- { "SA-016-1M", 146 },
- { "SA-72007", 145 },
- { "SA-72008", 133 },
- { "SA-9602B", UnifBoards::UnknownBoard },
- { "SA-NROM", 143 },
- { "SAROM", 1 },
- { "SBROM", 1 },
- { "SC-127", 35 },
- { "SCROM", 1 },
- { "SEROM", 1 },
- { "SGROM", 1 },
- { "SHERO", UnifBoards::StreetHeroes },
- { "SKROM", 1 },
- { "SL12", 116 },
- { "SL1632", 14 },
- { "SL1ROM", 1 },
- { "SLROM", 1 },
- { "SMB2J", UnifBoards::Smb2j },
- { "SNROM", 1 },
- { "SOROM", 1 },
- { "SSS-NROM-256", UnifBoards::UnknownBoard },
- { "SUNSOFT_UNROM", 93 },
- { "Sachen-74LS374N", 150 },
- { "Sachen-74LS374NA", 243 },
- { "Sachen-8259A", 141 },
- { "Sachen-8259B", 138 },
- { "Sachen-8259C", 139 },
- { "Sachen-8259D", 137 },
- { "Super24in1SC03", UnifBoards::Super24in1Sc03 },
- { "SuperHIK8in1", 45 },
- { "Supervision16in1", 53 },
- { "T-227-1", UnifBoards::UnknownBoard },
- { "T-230", UnifBoards::UnknownBoard },
- { "T-262", UnifBoards::T262 },
- { "TBROM", 4 },
- { "TC-U01-1.5M", 147 },
- { "TEK90", 90 },
- { "TEROM", 4 },
- { "TF1201", UnifBoards::Tf1201 },
- { "TFROM", 4 },
- { "TGROM", 4 },
- { "TKROM", 4 },
- { "TKSROM", 4 },
- { "TLROM", 4 },
- { "TLSROM", 4 },
- { "TQROM", 4 },
- { "TR1ROM", 4 },
- { "TSROM", 4 },
- { "TVROM", 4 },
- { "Transformer", UnifBoards::UnknownBoard },
- { "UNROM", 2 },
- { "UNROM-512-8", 30 },
- { "UNROM-512-16", 30 },
- { "UNROM-512-32", 30 },
- { "UOROM", 2 },
- { "VRC7", UnifBoards::UnknownBoard },
- { "YOKO", UnifBoards::UnknownBoard },
- { "SB-2000", UnifBoards::UnknownBoard },
- { "158B", UnifBoards::UnknownBoard },
- { "DRAGONFIGHTER", UnifBoards::UnknownBoard },
- { "EH8813A", UnifBoards::Eh8813A },
- { "HP898F", UnifBoards::Hp898f },
- { "F-15", UnifBoards::BmcF15 },
- { "RT-01", UnifBoards::Rt01 },
- { "81-01-31-C", UnifBoards::UnknownBoard },
- { "8-IN-1", UnifBoards::UnknownBoard },
- { "WS", UnifBoards::Super40in1Ws }
- };
+ static std::unordered_map _boardMappings;
vector _prgChunks[16];
vector _chrChunks[16];
@@ -282,7 +133,8 @@ private:
return true;
}
- int32_t GetMapperID(string mapperName)
+public:
+ static int32_t GetMapperID(string mapperName)
{
string prefix = mapperName.substr(0, 4);
if(prefix.compare("NES-") == 0 || prefix.compare("UNL-") == 0 || prefix.compare("HVC-") == 0 || prefix.compare("BTL-") == 0 || prefix.compare("BMC-") == 0) {
@@ -299,7 +151,6 @@ private:
return UnifBoards::UnknownBoard;
}
-public:
RomData LoadRom(vector& romFile)
{
RomData romData;
diff --git a/GUI.NET/Dependencies/MesenDB.txt b/GUI.NET/Dependencies/MesenDB.txt
index c62d0114..6e26fea8 100644
--- a/GUI.NET/Dependencies/MesenDB.txt
+++ b/GUI.NET/Dependencies/MesenDB.txt
@@ -305,6 +305,7 @@
194942DB,NesNtsc,,,,11,64,64,,0,0,0,v,,
1973AEA8,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,
198C2F41,Famicom,HVC-SEROM,HVC-SEROM-01,MMC1B2,1,32,32,,0,0,0,,,
+198F1C37,NesNtsc,Sachen-8259A,,,65000,64,32,,0,0,0,h,,
1992D163,NesNtsc,NES-TEROM,NES-TEROM-03,MMC3B,4,32,32,,0,0,0,,,
19A7F794,Famicom,,,,2,128,,8,0,0,0,h,,
19C1ED51,Famicom,,,,243,64,64,,0,0,0,h,,
@@ -861,6 +862,7 @@
490E8A4C,Famicom,KONAMI-VRC-4,352400,VRC4,25,256,256,,0,0,0,,,
49123146,Famicom,KONAMI-VRC-2,350636,VRC2,23,128,128,,0,0,0,,,
491ACB83,NesNtsc,,,,3,32,32,,0,0,0,h,,
+491CD95E,NesNtsc,,,,4,128,256,,0,0,0,,,
491D8CDB,Famicom,NAMCOT-3406,LROG052-00,109,206,128,64,,0,0,0,h,,
493BD2FF,Famicom,HVC-NROM-128,9011-04,,0,16,8,,0,0,0,v,,
4942BDA8,Famicom,,,,4,256,128,,0,8,1,,,
@@ -1800,6 +1802,7 @@
9A808C3B,Famicom,HVC-CNROM,CN-04B,,3,32,32,,0,0,0,h,,
9AACD75D,Famicom,,,,3,32,32,,0,0,0,v,,
9AB274AE,NesNtsc,,,,228,256,128,,0,0,0,,,
+9ACE456E,NesNtsc,,,,138,128,128,,0,0,0,h,,
9ADB2AF7,Famicom,,,,0,32,8,,0,0,0,v,,
9ADFC8F0,Famicom,HVC-TLROM,HVC-TLROM-04,MMC3C,4,128,256,,0,0,0,,,
9AE2BAA0,VsUni,,,,99,32,8,4,0,0,0,,,
@@ -1903,6 +1906,7 @@ A1A33B85,Famicom,,,,1,128,128,,0,8,1,,,
A1C0DA00,NesPal,NES-NROM-256,NES-NROM-256-06,,0,32,8,,0,0,0,h,,
A1F90826,NesPal,NES-SJROM,NES-SJROM-03,MMC1B3,1,128,32,,8,0,0,,,
A1FF4E1D,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,
+A20B4983,NesNtsc,Sachen-8259A,,,65000,128,64,,0,0,0,h,,
A2194CAD,NesNtsc,NES-UNROM,NES-UN-ROM-07,,2,128,,8,0,0,0,v,,
A21E675C,Famicom,IREM-BNROM,IREM-I-IM,,34,128,,8,0,0,0,h,,
A222F5A0,Famicom,JALECO-JF-03,JF-03,,0,16,8,,0,0,0,h,,
@@ -1968,6 +1972,7 @@ A7D227EF,Famicom,,,,2,128,,8,0,0,0,v,,
A7D3635E,Famicom,HVC-UNROM,HVC-UNROM-02,,2,128,,8,0,0,0,v,,
A7DE65E4,NesNtsc,NES-SLROM,NES-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,
A7E784ED,Famicom,,,,1,128,32,,0,0,0,,,
+A7EF8F80,NesNtsc,,,,4,128,256,,0,0,0,,,
A80A0F01,NesNtsc,ACCLAIM-MC-ACC,55741,MC-ACC,4,128,256,,0,0,0,,,
A80FA181,Famicom,HVC-SGROM,HVC-SGROM-02,MMC1,1,256,,8,0,0,0,,,
A851CAE9,Famicom,IREM-FCG-1,BLUE TRAIN,FCG-1,16,128,256,,0,0,0,,,
@@ -1980,6 +1985,7 @@ A8A9B982,Famicom,HVC-CNROM+SECURITY,HVC-CNROM-256K-01,,185,16,8,,0,0,0,v,,
A8B0DA56,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,
A8D93537,NesPal,NES-SLROM,NES-SLROM-06,MMC1B3,1,128,128,,0,0,0,,,
A8E39EC6,Famicom,,,,0,32,8,,0,0,0,v,,
+A8E6A7C2,Dendy,,,,148,64,64,,0,0,0,h,,
A8F4D99E,NesNtsc,NES-SEROM,NES-SEROM-04,MMC1B2,1,32,32,,0,0,0,,,
A8F5C2AB,NesNtsc,TENGEN-800030,800030-01 REV A,337001,206,64,32,,0,0,0,v,,
A9068D17,NesNtsc,NES-NROM-256,NES-NROM-256-02,,0,32,8,,0,0,0,h,,
@@ -2207,6 +2213,7 @@ BBA58BE5,Famicom,,,,70,128,128,,0,0,0,v,FamilyTrainer,
BBB710D9,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,256,256,,0,0,0,,,
BBE40DC4,NesNtsc,COLORDREAMS-74*377,UNK-COLORDREAMS-REVA,,11,64,16,,0,0,0,v,Zapper,
BBED6E6E,NesNtsc,NES-CNROM,NES-CN-ROM-256-02,,3,32,16,,0,0,0,h,,
+BBF464EB,NesNtsc,,,,146,64,16,,0,0,0,v,,
BBFE23F4,NesPal,NES-TLROM,NES-TLROM-03,MMC3C,4,128,128,,0,0,0,,,
BC06543C,NesPal,NTDEC-N715062,N715062,,3,16,8,,0,0,0,v,,
BC11E61A,Famicom,NAMCOT-163,111F0,163,19,128,128,,0,0,1,,,
@@ -2669,6 +2676,7 @@ E1C03EB6,Famicom,HVC-CNROM,HVC-CNROM-2,,3,32,32,,0,0,0,h,,
E1C41D7C,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,
E1C59D94,NesPal,NES-TLROM,NES-TLROM-03,MMC3B,4,128,128,,0,0,0,,,
E211B93A,Famicom,,,,0,16,8,,0,0,0,v,,
+E2265BF4,NesNtsc,,,,141,64,64,,0,0,0,h,,
E2281986,Famicom,HVC-SLROM,HVC-SLROM-03,MMC1B2,1,128,128,,0,0,0,,,
E2313813,NesNtsc,NES-TLROM,NES-TLROM-02,MMC3B,4,128,128,,0,0,0,,,
E24483B1,Famicom,HVC-SKROM,HVC-SKROM-05,MMC1B2,1,128,128,,0,8,1,,,
@@ -2944,6 +2952,7 @@ F927FA43,Famicom,,,,4,128,128,,0,0,0,,,
F92BE3EC,NesNtsc,TENGEN-800032,800032 REV A,337006,64,128,128,,0,0,0,,,
F92BE7F2,NesNtsc,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,
F9443A53,Famicom,,,,3,32,16,,0,0,0,h,,
+F956FCEA,NesNtsc,DREAMTECH01,,,65000,144,,8,0,0,0,h,,
F96D07C8,Famicom,,,,1,128,128,,0,0,0,,,
F989296C,Famicom,HVC-UNROM,HVC-UNROM-03,,2,128,,8,0,0,0,v,,
F99525B7,Famicom,,,,3,32,32,,0,0,0,h,,
@@ -2978,6 +2987,7 @@ FC3236D1,NesPal,NES-UNROM,NES-UNROM-09,,2,128,,8,0,0,0,v,,
FC3E5C86,NesNtsc,NES-UNROM,NES-UN-ROM-04,,2,128,,8,0,0,0,v,,
FC5026EE,NesPal,NES-CNROM,NES-CNROM-08,,3,32,32,,0,0,0,h,,
FC5783A7,NesNtsc,NES-SLROM,NES-SLROM-06,MMC1B2,1,128,128,,0,0,0,,,
+FC778215,NesNtsc,,,,148,64,64,,0,0,0,h,,
FC78ACAF,Famicom,,,,90,128,512,,0,0,0,,,
FC889532,Famicom,,,,4,128,256,,0,0,0,,,
FCB13110,Famicom,HVC-SLROM,HVC-SLROM-02,MMC1A,1,128,128,,0,0,0,,,