diff --git a/Cart_Reader/NES.ino b/Cart_Reader/NES.ino index 9d027a0..4427c81 100644 --- a/Cart_Reader/NES.ino +++ b/Cart_Reader/NES.ino @@ -106,13 +106,14 @@ static const byte PROGMEM mapsize[] = { 185, 0, 1, 1, 1, 0, 0, // cnrom lockout 200, 1, 4, 1, 4, 0, 0, // HN-02 multicarts [UNLICENSED] 201, 1, 8, 1, 9, 0, 0, // NROM-256 multicarts [UNLICENSED] + 202, 0, 3, 1, 4, 0, 0, // BMC-150IN1 multicarts [UNLICENSED] 203, 1, 4, 1, 4, 0, 0, // various NROM-128 multicarts [UNLICENSED] 206, 1, 3, 2, 4, 0, 0, // dxrom 207, 4, 4, 5, 5, 0, 0, // taito x1-005 variant (fudou myouou den) 210, 3, 5, 5, 6, 0, 0, // namco 175/340 213, 1, 6, 1, 6, 0, 0, // BMC-GKB (C)NROM-based multicarts, duplicate of mapper 58 [UNLICENSED] 225, 7, 7, 8, 8, 0, 0, // ET-4310 (FC) + K-1010 (NES) [UNLICENSED] - 229, 5, 5, 6, 6, 0, 0, // BMC 31-IN-1 + 229, 5, 5, 6, 6, 0, 0, // BMC 31-IN-1 [UNLICENSED] 232, 4, 4, 0, 0, 0, 0, // Camerica/Codemasters "Quattro" cartridges [UNLICENSED] 235, 6, 8, 0, 0, 0, 0, // "Golden Game" multicarts [UNLICENSED] 242, 5, 5, 0, 0, 0, 0, // ET-113 [UNLICENSED] @@ -3521,6 +3522,16 @@ void readPRG(boolean readrom) { } } break; + + case 202: + banks = int_pow(2, prgsize); + for (int i = 0; i < banks; i++) { + write_prg_byte(0x8000 | (i << 1), 0); + for (word address = 0x0; address < 0x4000; address += 512) { + dumpPRG(base, address); + } + } + break; case 203: banks = int_pow(2, prgsize) / 2; @@ -4268,6 +4279,16 @@ void readCHR(boolean readrom) { } } break; + + case 202: + banks = int_pow(2, chrsize) / 2; + for (int i = 0; i < banks; i++) { + write_prg_byte(0x8000 | (i << 1), 0); + for (word address = 0x0; address < 0x2000; address += 512) { + dumpCHR(address); + } + } + break; case 203: banks = int_pow(2, chrsize) / 2;