actually fix all NAMCOT mappers similar to 206

actually fix all NAMCOT mappers similar to 206
This commit is contained in:
nsx0r 2022-11-02 07:44:25 +01:00 committed by GitHub
parent 4a799e6969
commit bc0923d1ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2913,16 +2913,20 @@ void readPRG(boolean readrom) {
case 88: case 88:
case 95: case 95:
case 154: // 128K case 154: // 128K
case 206: // 32/64/128K
banks = int_pow(2, prgsize) * 2; banks = int_pow(2, prgsize) * 2;
for (int i = 0; i < banks; i += 2) { for (int i = 0; i < banks-2; i += 2) {
write_prg_byte(0x8000, 6); // PRG ROM Command ($8000-$9FFF) write_prg_byte(0x8000, 6);
write_prg_byte(0x8001, i); // PRG Bank write_prg_byte(0x8001, i);
write_prg_byte(0x8000, 7); // PRG ROM Command ($A000-$BFFF) write_prg_byte(0x8000, 7);
write_prg_byte(0x8001, i + 1); // PRG Bank write_prg_byte(0x8001, i | 1);
for (word address = 0x0; address < 0x4000; address += 512) { // 8K Banks ($8000-$BFFF) for (word address = 0x0; address < 0x4000; address += 512) {
dumpPRG(base, address); dumpPRG(base, address);
} }
} }
for (word address = 0x4000; address < 0x8000; address += 512) {
dumpPRG(base, address);
}
break; break;
case 79: case 79:
@ -3111,22 +3115,6 @@ void readPRG(boolean readrom) {
} }
break; break;
case 206:
banks = int_pow(2, prgsize) * 2;
for (int i = 0; i < banks-2; i += 2) {
write_prg_byte(0x8000, 6);
write_prg_byte(0x8001, i);
write_prg_byte(0x8000, 7);
write_prg_byte(0x8001, i | 1);
for (word address = 0x0; address < 0x4000; address += 512) {
dumpPRG(base, address);
}
}
for (word address = 0x4000; address < 0x8000; address += 512) {
dumpPRG(base, address);
}
break;
case 210: // 128K/256K case 210: // 128K/256K
banks = int_pow(2, prgsize) * 2; banks = int_pow(2, prgsize) * 2;
for (int i = 0; i < banks; i += 2) { for (int i = 0; i < banks; i += 2) {