fixed NES mapper 206

fixed NES mapper 206, tested working with FC game "Super Chinese"
This commit is contained in:
nsx0r 2022-11-02 05:50:33 +01:00 committed by GitHub
parent 61cc4b034c
commit 4a799e6969
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2913,7 +2913,6 @@ void readPRG(boolean readrom) {
case 88: case 88:
case 95: case 95:
case 154: // 128K case 154: // 128K
case 206: // 32K/64K/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; i += 2) {
write_prg_byte(0x8000, 6); // PRG ROM Command ($8000-$9FFF) write_prg_byte(0x8000, 6); // PRG ROM Command ($8000-$9FFF)
@ -3112,6 +3111,22 @@ 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) {