Merge pull request #617 from nsx0r/patch-30

added NES mapper 228 - UNTESTED
This commit is contained in:
sanni 2022-11-08 12:59:05 +01:00 committed by GitHub
commit ca557ff9bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -116,6 +116,7 @@ static const byte PROGMEM mapsize[] = {
210, 3, 5, 5, 6, 0, 0, // namco 175/340 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] 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] 225, 7, 7, 8, 8, 0, 0, // ET-4310 (FC) + K-1010 (NES) [UNLICENSED]
228, 4, 7, 5, 7, 0, 0, // Action 52 + Cheetahmen II [UNLICENSED]
229, 5, 5, 6, 6, 0, 0, // BMC 31-IN-1 [UNLICENSED] 229, 5, 5, 6, 6, 0, 0, // BMC 31-IN-1 [UNLICENSED]
232, 4, 4, 0, 0, 0, 0, // Camerica/Codemasters "Quattro" cartridges [UNLICENSED] 232, 4, 4, 0, 0, 0, 0, // Camerica/Codemasters "Quattro" cartridges [UNLICENSED]
235, 6, 8, 0, 0, 0, 0, // "Golden Game" multicarts [UNLICENSED] 235, 6, 8, 0, 0, 0, 0, // "Golden Game" multicarts [UNLICENSED]
@ -3150,6 +3151,24 @@ void readPRG(boolean readrom) {
} }
break; break;
case 228:
banks = int_pow(2, prgsize);
for (int i = 0; i < banks; i += 2) {
write_prg_byte(0x8000 + ((i & 0x3F) << 6), 0);
for (word address = 0x0; address < 0x8000; address += 512) {
dumpPRG(base, address);
}
}
if (prgsize > 6) {
for (int i = 0; i < banks; i += 2) {
write_prg_byte(0x9800 + ((i & 0x1F) << 6), 0);
for (word address = 0x0; address < 0x8000; address += 512) {
dumpPRG(base, address);
}
}
}
break;
case 229: case 229:
write_prg_byte(0x8000, 0); write_prg_byte(0x8000, 0);
for (word address = 0x0; address < 0x8000; address += 512) { for (word address = 0x0; address < 0x8000; address += 512) {
@ -3961,7 +3980,17 @@ void readCHR(boolean readrom) {
} }
break; break;
case 229: // BMC 31-IN-1 case 228:
banks = int_pow(2, chrsize) / 2;
for (int i = 0; i < banks; i++) {
write_prg_byte(0x8000 + (i & 0x3C) >> 2, (i & 0x03));
for (word address = 0x0; address < 0x2000; address += 512) {
dumpCHR(address);
}
}
break;
case 229:
for (int i = 0; i < 32; i++) { for (int i = 0; i < 32; i++) {
write_prg_byte(0x8000 + i, i); write_prg_byte(0x8000 + i, i);
for (word address = 0; address < 0x2000; address += 512) { for (word address = 0; address < 0x2000; address += 512) {