Add NES 2.0 <-> UNIF board mappings (mapper #256+)

This commit is contained in:
Sour 2018-07-08 12:32:14 -04:00
parent 6fe1661e1d
commit d2da208167
5 changed files with 150 additions and 152 deletions

View file

@ -536,74 +536,121 @@ 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 UnifBoards::A65AS: return new A65AS(); case 256: break; //ONEBUS
case 257: break; //PEC-586
case 258: return new Unl158B();
case 259: return new MMC3_BmcF15();
case 260: return new BmcHpxx();
case 261: return new Bmc810544CA1();
case 262: return new MMC3_StreetHeroes();
case 263: return new MMC3_Kof97();
case 264: return new Yoko();
case 265: return new T262();
case 266: return new CityFighter();
//267
case 268: return new MMC3_Coolboy();
//269-270
case 271: break; //22026
//272-273
case 274: return new Bmc80013B();
//275-282
case 283: return new Gs2004();
case 284: return new UnlDripGame();
case 285: return new A65AS();
case 286: return new Bs5();
case 287: return new MMC3_Bmc411120C(); //+ K-3088
case 288: break; //GKCXIN1
case 289: return new Bmc60311C();
case 290: return new BmcNtd03();
//291
case 292: return new DragonFighter();
//293-294
case 295: break; //13IN1JY110
//296-297
case 298: return new Tf1201();
case 299: return new Bmc11160();
case 300: return new Bmc190in1();
case 301: return new Bmc8157();
case 302: return new Kaiser7057();
case 303: return new Kaiser7017();
case 304: return new Smb2j();
case 305: return new Kaiser7031();
case 306: return new Kaiser7016();
case 307: return new Kaiser7037();
case 308: break; //TH2131-1
case 309: break; //LH51
//310-311
case 312: return new Kaiser7013B();
case 313: break; //RESET-TXROM
case 314: return new Bmc64in1NoRepeat();
case 315: break; //830134C
//316-318
case 319: return new Hp898f();
case 320: break; //830425C-4391T
//321
case 322: break; //K-3033
case 323: break; //FARID_SLROM_8-IN-1
case 324: break; //FARID_UNROM_8-IN-1
case 325: return new MMC3_MaliSB();
case 327: break; //10-24-C-A1
case 328: return new Rt01();
case 329: return new Edu2000();
//330
case 331: return new Bmc12in1();
case 332: return new Super40in1Ws();
case 333: return new Bmc8in1(); // + NEWSTAR-GRM070-8IN1
//334
case 335: break; //CTC-09
case 336: break; //K-3046
case 337: break; //CTC-12IN1
case 338: break; //SA005-A
case 339: break; //K-3006
case 340: break; //K-3036
case 341: break; //TJ-03
case 342: break; //COOLGIRL
//343
case 344: break; //GN26
case 345: break; //L6IN1
case 346: return new Kaiser7012();
//347
case 348: return new Bmc830118C();
case 349: return new BmcG146();
case 350: break; //891227
case 513: return new Sachen9602();
//514-517
case 518: return new Dance2000();
case 519: return new Eh8813A();
//520
case 521: return new DreamTech01();
case 522: return new Lh10();
//523
case 524: break; //900218
case 525: break; //KS7021A
case 526: break; //BJ56
case 527: break; //AX40G
case 528: break; //831128C
case 529: return new T230();
case 530: return new Ax5705();
case UnifBoards::Ac08: return new Ac08(); case UnifBoards::Ac08: return new Ac08();
case UnifBoards::Ax5705: return new Ax5705();
case UnifBoards::Bb: return new Bb(); case UnifBoards::Bb: return new Bb();
case UnifBoards::Bmc11160: return new Bmc11160();
case UnifBoards::Bmc12in1: return new Bmc12in1();
case UnifBoards::Bmc411120C: return new MMC3_Bmc411120C();
case UnifBoards::Bmc64in1NoRepeat: return new Bmc64in1NoRepeat();
case UnifBoards::Bmc70in1: return new Bmc70in1();
case UnifBoards::Bmc70in1B: return new Bmc70in1();
case UnifBoards::Bmc190in1: return new Bmc190in1();
case UnifBoards::Bmc60311C: return new Bmc60311C();
case UnifBoards::Bmc810544CA1: return new Bmc810544CA1();
case UnifBoards::Bmc830118C: return new Bmc830118C();
case UnifBoards::Bmc80013B: return new Bmc80013B();
case UnifBoards::Bmc8157: return new Bmc8157();
case UnifBoards::Bmc8in1: return new Bmc8in1();
case UnifBoards::BmcF15: return new MMC3_BmcF15();
case UnifBoards::BmcG146: return new BmcG146();
case UnifBoards::BmcGn45: return new BmcGn45(); case UnifBoards::BmcGn45: return new BmcGn45();
case UnifBoards::BmcHpxx: return new BmcHpxx();
case UnifBoards::BmcNtd03: return new BmcNtd03();
case UnifBoards::Bs5: return new Bs5();
case UnifBoards::Cc21: return new Cc21(); case UnifBoards::Cc21: return new Cc21();
case UnifBoards::CityFighter: return new CityFighter();
case UnifBoards::Coolboy: return new MMC3_Coolboy();
case UnifBoards::Dance2000: return new Dance2000();
case UnifBoards::DragonFighter: return new DragonFighter();
case UnifBoards::DreamTech01: return new DreamTech01();
case UnifBoards::Edu2000: return new Edu2000();
case UnifBoards::Eh8813A: return new Eh8813A();
case UnifBoards::Fk23C: return new MMC3_Fk23C(false); case UnifBoards::Fk23C: return new MMC3_Fk23C(false);
case UnifBoards::Fk23Ca: return new MMC3_Fk23C(true); case UnifBoards::Fk23Ca: return new MMC3_Fk23C(true);
case UnifBoards::Ghostbusters63in1: return new Ghostbusters63in1(); case UnifBoards::Ghostbusters63in1: return new Ghostbusters63in1();
case UnifBoards::Gs2004: return new Gs2004();
case UnifBoards::Gs2013: return new Gs2013(); case UnifBoards::Gs2013: return new Gs2013();
case UnifBoards::Hp898f: return new Hp898f();
case UnifBoards::Kof97: return new MMC3_Kof97();
case UnifBoards::Ks7012: return new Kaiser7012();
case UnifBoards::Ks7013B: return new Kaiser7013B();
case UnifBoards::Ks7016: return new Kaiser7016();
case UnifBoards::Ks7017: return new Kaiser7017();
case UnifBoards::Ks7031: return new Kaiser7031();
case UnifBoards::Ks7037: return new Kaiser7037();
case UnifBoards::Ks7057: return new Kaiser7057();
case UnifBoards::Lh10: return new Lh10();
case UnifBoards::Malee: return new Malee(); case UnifBoards::Malee: return new Malee();
case UnifBoards::MaliSB: return new MMC3_MaliSB();
case UnifBoards::NovelDiamond: return new NovelDiamond(); case UnifBoards::NovelDiamond: return new NovelDiamond();
case UnifBoards::Rt01: return new Rt01();
case UnifBoards::Sachen9602: return new Sachen9602();
case UnifBoards::Smb2j: return new Smb2j();
case UnifBoards::SssNrom256: return new FamicomBox(); case UnifBoards::SssNrom256: return new FamicomBox();
case UnifBoards::StreetHeroes: return new MMC3_StreetHeroes();
case UnifBoards::Super24in1Sc03: return new MMC3_Super24in1Sc03(); case UnifBoards::Super24in1Sc03: return new MMC3_Super24in1Sc03();
case UnifBoards::Super40in1Ws: return new Super40in1Ws();
case UnifBoards::T230: return new T230();
case UnifBoards::T262: return new T262();
case UnifBoards::Tf1201: return new Tf1201();
case UnifBoards::Unl158B: return new Unl158B();
case UnifBoards::Unl255in1: return new Unl255in1(); case UnifBoards::Unl255in1: return new Unl255in1();
case UnifBoards::Unl43272: return new Unl43272(); case UnifBoards::Unl43272: return new Unl43272();
case UnifBoards::Unl8237A: return new Unl8237A(); case UnifBoards::Unl8237A: return new Unl8237A();
case UnifBoards::UnlD1038: return new UnlD1038(); case UnifBoards::UnlD1038: return new UnlD1038();
case UnifBoards::UnlDripGame: return new UnlDripGame();
case UnifBoards::UnlPuzzle: return new UnlPuzzle(); case UnifBoards::UnlPuzzle: return new UnlPuzzle();
case UnifBoards::UnlVrc7: return new UnlVrc7(); case UnifBoards::UnlVrc7: return new UnlVrc7();
case UnifBoards::Yoko: return new Yoko();
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

@ -7,7 +7,7 @@ uint16_t NESHeader::GetMapperID()
{ {
switch(GetRomHeaderVersion()) { switch(GetRomHeaderVersion()) {
case RomHeaderVersion::Nes2_0: case RomHeaderVersion::Nes2_0:
return ((Byte8 & 0x0F) << 4) | (Byte7 & 0xF0) | (Byte6 >> 4); return ((Byte8 & 0x0F) << 8) | (Byte7 & 0xF0) | (Byte6 >> 4);
default: default:
case RomHeaderVersion::iNes: case RomHeaderVersion::iNes:
return (Byte7 & 0xF0) | (Byte6 >> 4); return (Byte7 & 0xF0) | (Byte6 >> 4);

View file

@ -5,73 +5,23 @@ namespace UnifBoards {
enum UnifBoards enum UnifBoards
{ {
UnknownBoard = 32768, UnknownBoard = 32768,
Tf1201,
Coolboy,
Smb2j,
Malee, Malee,
StreetHeroes,
DreamTech01,
Edu2000,
Eh8813A,
Gs2013, Gs2013,
Gs2004,
NovelDiamond, NovelDiamond,
Kof97,
T230,
T262,
A65AS,
Bs5,
Bmc190in1,
Ghostbusters63in1, Ghostbusters63in1,
Bmc70in1,
Bmc70in1B,
Ax5705,
Super24in1Sc03, Super24in1Sc03,
Super40in1Ws,
Cc21, Cc21,
Rt01,
Hp898f,
Bb, Bb,
Ac08, Ac08,
Bmc11160,
Bmc12in1,
Bmc64in1NoRepeat,
Bmc810544CA1,
Bmc8157,
Bmc830118C,
Bmc8in1,
BmcF15,
BmcG146,
BmcNtd03,
Lh10,
Ks7012,
Ks7013B,
Ks7016,
Ks7017,
Ks7031,
Ks7037,
Ks7057,
MaliSB,
Unl43272, Unl43272,
Bmc411120C,
UnlPuzzle, UnlPuzzle,
Fk23C, Fk23C,
Fk23Ca, Fk23Ca,
Unl255in1, Unl255in1,
UnlD1038, UnlD1038,
Sachen9602,
Unl158B,
Bmc80013B,
Dance2000,
CityFighter,
UnlVrc7, UnlVrc7,
Yoko,
Unl8237A, Unl8237A,
BmcHpxx,
DragonFighter,
BmcGn45, BmcGn45,
UnlDripGame,
SssNrom256, SssNrom256,
Bmc60311C,
}; };
} }

View file

@ -2,42 +2,42 @@
#include "UnifLoader.h" #include "UnifLoader.h"
std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<string, int> { std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<string, int> {
{ "11160", UnifBoards::Bmc11160 }, { "11160", 299 },
{ "12-IN-1", UnifBoards::Bmc12in1 }, { "12-IN-1", 331 },
{ "13in1JY110", UnifBoards::UnknownBoard }, { "13in1JY110", UnifBoards::UnknownBoard },
{ "190in1", UnifBoards::Bmc190in1 }, { "190in1", 300 },
{ "22211", 132 }, { "22211", 132 },
{ "255in1", UnifBoards::Unl255in1 }, //Doesn't actually exist as a UNIF file (used to assign a mapper to the 255-in-1 rom) { "255in1", UnifBoards::Unl255in1 }, //Doesn't actually exist as a UNIF file (used to assign a mapper to the 255-in-1 rom)
{ "3D-BLOCK", UnifBoards::UnknownBoard }, { "3D-BLOCK", UnifBoards::UnknownBoard },
{ "411120-C", UnifBoards::Bmc411120C }, { "411120-C", 287 },
{ "42in1ResetSwitch", 226 }, { "42in1ResetSwitch", 226 },
{ "43272", UnifBoards::Unl43272 }, { "43272", UnifBoards::Unl43272 },
{ "603-5052", 238 }, { "603-5052", 238 },
{ "64in1NoRepeat", UnifBoards::Bmc64in1NoRepeat }, { "64in1NoRepeat", 314 },
{ "70in1", UnifBoards::Bmc70in1 }, { "70in1", 236 },
{ "70in1B", UnifBoards::Bmc70in1B }, { "70in1B", 236 },
{ "810544-C-A1", UnifBoards::Bmc810544CA1 }, { "810544-C-A1", 261 },
{ "8157", UnifBoards::Bmc8157 }, { "8157", 301 },
{ "8237", 215 }, { "8237", 215 },
{ "8237A", UnifBoards::Unl8237A }, { "8237A", UnifBoards::Unl8237A },
{ "830118C", UnifBoards::Bmc830118C }, { "830118C", 348 },
{ "A65AS", UnifBoards::A65AS }, { "A65AS", 285 },
{ "AC08", UnifBoards::Ac08 }, { "AC08", UnifBoards::Ac08 },
{ "ANROM", 7 }, { "ANROM", 7 },
{ "AX5705", UnifBoards::Ax5705 }, { "AX5705", 530 },
{ "BB", UnifBoards::Bb }, { "BB", UnifBoards::Bb },
{ "BS-5", UnifBoards::Bs5 }, { "BS-5", 286 },
{ "CC-21", UnifBoards::Cc21 }, { "CC-21", UnifBoards::Cc21 },
{ "CITYFIGHT", UnifBoards::CityFighter }, { "CITYFIGHT", 266 },
{ "COOLBOY", UnifBoards::Coolboy }, { "COOLBOY", 268 },
{ "10-24-C-A1", UnifBoards::UnknownBoard }, { "10-24-C-A1", UnifBoards::UnknownBoard },
{ "CNROM", 3 }, { "CNROM", 3 },
{ "CPROM", 13 }, { "CPROM", 13 },
{ "D1038", UnifBoards::UnlD1038 }, { "D1038", UnifBoards::UnlD1038 },
{ "DANCE", UnifBoards::UnknownBoard }, { "DANCE", UnifBoards::UnknownBoard },
{ "DANCE2000", UnifBoards::Dance2000 }, { "DANCE2000", 518 },
{ "DREAMTECH01", UnifBoards::DreamTech01 }, { "DREAMTECH01", 521 },
{ "EDU2000", UnifBoards::Edu2000 }, { "EDU2000", 329 },
{ "EKROM", 5 }, { "EKROM", 5 },
{ "ELROM", 5 }, { "ELROM", 5 },
{ "ETROM", 5 }, { "ETROM", 5 },
@ -45,30 +45,30 @@ std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<
{ "FK23C", UnifBoards::Fk23C }, { "FK23C", UnifBoards::Fk23C },
{ "FK23CA", UnifBoards::Fk23Ca }, { "FK23CA", UnifBoards::Fk23Ca },
{ "FS304", 162 }, { "FS304", 162 },
{ "G-146", UnifBoards::BmcG146 }, { "G-146", 349 },
{ "GK-192", 58 }, { "GK-192", 58 },
{ "GS-2004", UnifBoards::Gs2004 }, { "GS-2004", 283 },
{ "GS-2013", UnifBoards::Gs2013 }, { "GS-2013", UnifBoards::Gs2013 },
{ "Ghostbusters63in1", UnifBoards::Ghostbusters63in1 }, { "Ghostbusters63in1", UnifBoards::Ghostbusters63in1 },
{ "H2288", 123 }, { "H2288", 123 },
{ "HKROM", 4 }, { "HKROM", 4 },
{ "KOF97", UnifBoards::Kof97 }, { "KOF97", 263 },
{ "KONAMI-QTAI", 190 }, { "KONAMI-QTAI", 190 },
{ "KS7010", UnifBoards::UnknownBoard }, { "KS7010", UnifBoards::UnknownBoard },
{ "KS7012", UnifBoards::Ks7012 }, { "KS7012", 346 },
{ "KS7013B", UnifBoards::Ks7013B }, { "KS7013B", 312 },
{ "KS7016", UnifBoards::Ks7016 }, { "KS7016", 306 },
{ "KS7017", UnifBoards::Ks7017 }, { "KS7017", 303 },
{ "KS7030", UnifBoards::UnknownBoard }, { "KS7030", UnifBoards::UnknownBoard },
{ "KS7031", UnifBoards::Ks7031 }, { "KS7031", 305 },
{ "KS7032", 142 }, { "KS7032", 142 },
{ "KS7037", UnifBoards::Ks7037 }, { "KS7037", 307 },
{ "KS7057", UnifBoards::Ks7057 }, { "KS7057", 302 },
{ "LE05", UnifBoards::UnknownBoard }, { "LE05", UnifBoards::UnknownBoard },
{ "LH10", UnifBoards::Lh10 }, { "LH10", 522 },
{ "LH32", 125 }, { "LH32", 125 },
{ "LH53", UnifBoards::UnknownBoard }, { "LH53", UnifBoards::UnknownBoard },
{ "MALISB", UnifBoards::MaliSB }, { "MALISB", 325 },
{ "MARIO1-MALEE2", UnifBoards::Malee }, { "MARIO1-MALEE2", UnifBoards::Malee },
{ "MHROM", 66 }, { "MHROM", 66 },
{ "N625092", 221 }, { "N625092", 221 },
@ -76,7 +76,7 @@ std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<
{ "NROM-128", 0 }, { "NROM-128", 0 },
{ "NROM-256", 0 }, { "NROM-256", 0 },
{ "NTBROM", 68 }, { "NTBROM", 68 },
{ "NTD-03", UnifBoards::BmcNtd03 }, { "NTD-03", 290 },
{ "NovelDiamond9999999in1", UnifBoards::NovelDiamond }, { "NovelDiamond9999999in1", UnifBoards::NovelDiamond },
{ "OneBus", UnifBoards::UnknownBoard }, { "OneBus", UnifBoards::UnknownBoard },
{ "PEC-586", UnifBoards::UnknownBoard }, { "PEC-586", UnifBoards::UnknownBoard },
@ -91,7 +91,7 @@ std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<
{ "SA-016-1M", 146 }, { "SA-016-1M", 146 },
{ "SA-72007", 145 }, { "SA-72007", 145 },
{ "SA-72008", 133 }, { "SA-72008", 133 },
{ "SA-9602B", UnifBoards::Sachen9602 }, { "SA-9602B", 513 },
{ "SA-NROM", 143 }, { "SA-NROM", 143 },
{ "SAROM", 1 }, { "SAROM", 1 },
{ "SBROM", 1 }, { "SBROM", 1 },
@ -99,13 +99,13 @@ std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<
{ "SCROM", 1 }, { "SCROM", 1 },
{ "SEROM", 1 }, { "SEROM", 1 },
{ "SGROM", 1 }, { "SGROM", 1 },
{ "SHERO", UnifBoards::StreetHeroes }, { "SHERO", 262 },
{ "SKROM", 1 }, { "SKROM", 1 },
{ "SL12", 116 }, { "SL12", 116 },
{ "SL1632", 14 }, { "SL1632", 14 },
{ "SL1ROM", 1 }, { "SL1ROM", 1 },
{ "SLROM", 1 }, { "SLROM", 1 },
{ "SMB2J", UnifBoards::Smb2j }, { "SMB2J", 304 },
{ "SNROM", 1 }, { "SNROM", 1 },
{ "SOROM", 1 }, { "SOROM", 1 },
{ "SSS-NROM-256", UnifBoards::SssNrom256 }, { "SSS-NROM-256", UnifBoards::SssNrom256 },
@ -120,13 +120,13 @@ std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<
{ "SuperHIK8in1", 45 }, { "SuperHIK8in1", 45 },
{ "Supervision16in1", 53 }, { "Supervision16in1", 53 },
{ "T-227-1", UnifBoards::UnknownBoard }, { "T-227-1", UnifBoards::UnknownBoard },
{ "T-230", UnifBoards::T230 }, { "T-230", 529 },
{ "T-262", UnifBoards::T262 }, { "T-262", 265 },
{ "TBROM", 4 }, { "TBROM", 4 },
{ "TC-U01-1.5M", 147 }, { "TC-U01-1.5M", 147 },
{ "TEK90", 90 }, { "TEK90", 90 },
{ "TEROM", 4 }, { "TEROM", 4 },
{ "TF1201", UnifBoards::Tf1201 }, { "TF1201", 298 },
{ "TFROM", 4 }, { "TFROM", 4 },
{ "TGROM", 4 }, { "TGROM", 4 },
{ "TKROM", 4 }, { "TKROM", 4 },
@ -144,23 +144,24 @@ std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<
{ "UNROM-512-32", 30 }, { "UNROM-512-32", 30 },
{ "UOROM", 2 }, { "UOROM", 2 },
{ "VRC7", UnifBoards::UnlVrc7 }, { "VRC7", UnifBoards::UnlVrc7 },
{ "YOKO", UnifBoards::Yoko }, { "YOKO", 264 },
{ "SB-2000", UnifBoards::UnknownBoard }, { "SB-2000", UnifBoards::UnknownBoard },
{ "158B", UnifBoards::Unl158B }, { "158B", 258 },
{ "DRAGONFIGHTER", UnifBoards::DragonFighter }, { "DRAGONFIGHTER", 292 },
{ "EH8813A", UnifBoards::Eh8813A }, { "EH8813A", 519 },
{ "HP898F", UnifBoards::Hp898f }, { "HP898F", 319 },
{ "F-15", UnifBoards::BmcF15 }, { "F-15", 259 },
{ "RT-01", UnifBoards::Rt01 }, { "RT-01", 328 },
{ "81-01-31-C", UnifBoards::UnknownBoard }, { "81-01-31-C", UnifBoards::UnknownBoard },
{ "8-IN-1", UnifBoards::Bmc8in1 }, { "8-IN-1", 333 },
{ "WS", UnifBoards::Super40in1Ws }, { "WS", 332 },
{ "80013-B", UnifBoards::Bmc80013B }, { "80013-B", 274 },
{ "WAIXING-FW01", 227 }, { "WAIXING-FW01", 227 },
{ "WAIXING-FS005", UnifBoards::UnknownBoard }, { "WAIXING-FS005", UnifBoards::UnknownBoard },
{ "HPxx", UnifBoards::BmcHpxx }, { "HPxx", 260 },
{ "HP2018A", 260 },
{ "GN-45", UnifBoards::BmcGn45 }, //Doesn't actually exist as a UNIF file (used to assign a mapper to GN-45 boards) { "GN-45", UnifBoards::BmcGn45 }, //Doesn't actually exist as a UNIF file (used to assign a mapper to GN-45 boards)
{ "DRIPGAME", UnifBoards::UnlDripGame }, { "DRIPGAME", 284 },
{ "60311C", UnifBoards::Bmc60311C }, { "60311C", 289 },
{ "CHINA_ER_SAN2", 19 }, //Appears to be a mapper 19 hack specific for VirtuaNES (which adds chinese text on top of the PPU's output), unknown if a board actually exists { "CHINA_ER_SAN2", 19 }, //Appears to be a mapper 19 hack specific for VirtuaNES (which adds chinese text on top of the PPU's output), unknown if a board actually exists
}; };

View file

@ -356,7 +356,7 @@ namespace Mesen.GUI.Debugger
{ {
switch(GetRomHeaderVersion()) { switch(GetRomHeaderVersion()) {
case RomHeaderVersion.Nes2_0: case RomHeaderVersion.Nes2_0:
return ((_bytes[8] & 0x0F) << 4) | (_bytes[7] & 0xF0) | (_bytes[6] >> 4); return ((_bytes[8] & 0x0F) << 8) | (_bytes[7] & 0xF0) | (_bytes[6] >> 4);
default: default:
case RomHeaderVersion.iNes: case RomHeaderVersion.iNes:
return (_bytes[7] & 0xF0) | (_bytes[6] >> 4); return (_bytes[7] & 0xF0) | (_bytes[6] >> 4);