[NES] added mapper 114

[NES] added mapper 114
This commit is contained in:
nsx0r 2023-05-11 20:41:19 +02:00 committed by GitHub
parent 33df3c43b5
commit 4c2a42de86
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -109,8 +109,9 @@ static const byte PROGMEM mapsize[] = {
// 100 - bad mapper, not used // 100 - bad mapper, not used
// 101 - bad mapper, not used // 101 - bad mapper, not used
105, 4, 4, 0, 0, 0, 0, // (nintendo world Championships 1990) [UNTESTED] 105, 4, 4, 0, 0, 0, 0, // (nintendo world Championships 1990) [UNTESTED]
113, 1, 4, 0, 5, 0, 0, // NINA-03/06 [UNLICENSED]
111, 5, 5, 0, 0, 0, 0, // GTROM [UNLICENSED] 111, 5, 5, 0, 0, 0, 0, // GTROM [UNLICENSED]
113, 1, 4, 0, 5, 0, 0, // NINA-03/06 [UNLICENSED]
114, 3, 4, 5, 6, 0, 0, // SuperGame MMC3-clone [UNLICENSED]
118, 3, 4, 5, 5, 0, 1, // txsrom/mmc3 [sram r/w] 118, 3, 4, 5, 5, 0, 1, // txsrom/mmc3 [sram r/w]
119, 3, 3, 4, 4, 0, 0, // tqrom/mmc3 119, 3, 3, 4, 4, 0, 0, // tqrom/mmc3
126, 1, 8, 0, 8, 0, 0, // MMC3-based multicart (PJ-008, AT-207) [UNLICENSED] 126, 1, 8, 0, 8, 0, 0, // MMC3-based multicart (PJ-008, AT-207) [UNLICENSED]
@ -3324,6 +3325,18 @@ void readPRG(bool readrom) {
} }
break; break;
case 114: // Submapper 0
banks = int_pow(2, prgsize) * 2;
write_prg_byte(0x6000, 0);
for (int i = 0; i < banks; i++) {
write_prg_byte(0xA000, 4);
write_prg_byte(0xC000, i);
for (word address = 0x0; address < 0x2000; address += 512) {
dumpPRG(base, address);
}
}
break;
case 126: case 126:
banks = int_pow(2, prgsize) * 2; banks = int_pow(2, prgsize) * 2;
write_prg_byte(0xA001, 0x80); // enable WRAM write_prg_byte(0xA001, 0x80); // enable WRAM
@ -4436,6 +4449,18 @@ void readCHR(bool readrom) {
} }
break; break;
case 114: // Submapper 0
banks = int_pow(2, chrsize) * 4;
for (int i = 0; i < banks; i++) {
write_prg_byte(0x6000, (i & 0x80) >> 7);
write_prg_byte(0xA000, 6);
write_prg_byte(0xC000, i);
for (word address = 0x1000; address < 0x1400; address += 512) {
dumpCHR(address);
}
}
break;
case 126: case 126:
banks = int_pow(2, chrsize) * 2; banks = int_pow(2, chrsize) * 2;
write_prg_byte(0xA001, 0x80); // enable WRAM write_prg_byte(0xA001, 0x80); // enable WRAM