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 95:
case 154: // 128K
case 206: // 32/64/128K
banks = int_pow(2, prgsize) * 2;
for (int i = 0; i < banks; i += 2) {
write_prg_byte(0x8000, 6); // PRG ROM Command ($8000-$9FFF)
write_prg_byte(0x8001, i); // PRG Bank
write_prg_byte(0x8000, 7); // PRG ROM Command ($A000-$BFFF)
write_prg_byte(0x8001, i + 1); // PRG Bank
for (word address = 0x0; address < 0x4000; address += 512) { // 8K Banks ($8000-$BFFF)
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 79:
@ -3110,22 +3114,6 @@ void readPRG(boolean readrom) {
}
}
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
banks = int_pow(2, prgsize) * 2;