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,,,