mirror of
https://github.com/sanni/cartreader.git
synced 2024-11-11 07:25:07 +01:00
Add NES mapper 209
Tested with "Shin Samurai Spirits 2 (JY-083)"
This commit is contained in:
parent
ae809de616
commit
36c01f4c8d
@ -130,6 +130,7 @@ static const byte PROGMEM mapsize[] = {
|
|||||||
203, 1, 4, 1, 4, 0, 0, // various NROM-128 multicarts [UNLICENSED]
|
203, 1, 4, 1, 4, 0, 0, // various NROM-128 multicarts [UNLICENSED]
|
||||||
206, 1, 3, 2, 4, 0, 0, // dxrom
|
206, 1, 3, 2, 4, 0, 0, // dxrom
|
||||||
207, 4, 4, 5, 5, 0, 0, // taito x1-005 variant (fudou myouou den)
|
207, 4, 4, 5, 5, 0, 0, // taito x1-005 variant (fudou myouou den)
|
||||||
|
209, 0, 7, 1, 8, 0, 0, // J.Y. Company ASIC [UNLICENSED]
|
||||||
210, 3, 5, 5, 6, 0, 0, // namco 175/340
|
210, 3, 5, 5, 6, 0, 0, // namco 175/340
|
||||||
212, 0, 3, 0, 4, 0, 0, // BMC Super HiK 300-in-1 [UNLICENSED]
|
212, 0, 3, 0, 4, 0, 0, // BMC Super HiK 300-in-1 [UNLICENSED]
|
||||||
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]
|
||||||
@ -3380,6 +3381,19 @@ void readPRG(boolean readrom) {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 209:
|
||||||
|
banks = int_pow(2, prgsize) * 2;
|
||||||
|
write_prg_byte(0xD000, 0x02);
|
||||||
|
|
||||||
|
for (byte i = 0; i < banks; i++) {
|
||||||
|
write_prg_byte(0xD003, (((i >> 5) & 0x06) | 0x20));
|
||||||
|
write_prg_byte(0x8000, (i & 0x3f));
|
||||||
|
for (word address = 0x0; address < 0x2000; 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) {
|
||||||
@ -4353,6 +4367,19 @@ void readCHR(boolean readrom) {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 209:
|
||||||
|
banks = int_pow(2, chrsize) / 2;
|
||||||
|
write_prg_byte(0xD000, 0x02);
|
||||||
|
|
||||||
|
for (int i = 0; i < banks; i++) {
|
||||||
|
write_prg_byte(0xD003, (((i >> 3) & 0x18) | 0x20));
|
||||||
|
write_prg_byte(0x9000, (i & 0x3f));
|
||||||
|
for (word address = 0x0; address < 0x2000; address += 512) {
|
||||||
|
dumpCHR(address);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 210: // 128K/256K
|
case 210: // 128K/256K
|
||||||
banks = int_pow(2, chrsize) * 4;
|
banks = int_pow(2, chrsize) * 4;
|
||||||
write_prg_byte(0xE800, 0xC0); // CHR RAM DISABLE (Bit 6 and 7) [WRITE NO RAM]
|
write_prg_byte(0xE800, 0xC0); // CHR RAM DISABLE (Bit 6 and 7) [WRITE NO RAM]
|
||||||
|
Loading…
Reference in New Issue
Block a user