mirror of
https://github.com/sanni/cartreader.git
synced 2024-12-24 12:01:53 +01:00
Merge pull request #660 from nsx0r/patch-46
mapper 209 dumps the same as 35, 90 and 211
This commit is contained in:
commit
642d582002
@ -45,6 +45,7 @@ static const byte PROGMEM mapsize[] = {
|
||||
16, 3, 4, 5, 6, 0, 1, // bandai x24c02 [eep r/w]
|
||||
18, 3, 4, 5, 6, 0, 1, // jaleco ss8806 [sram r/w]
|
||||
19, 3, 4, 5, 6, 0, 1, // namco 106/163 [sram/prgram r/w]
|
||||
// 20 - bad mapper, not used
|
||||
21, 4, 4, 5, 6, 0, 1, // vrc4a/vrc4c [sram r/w]
|
||||
22, 3, 3, 5, 5, 0, 0, // vrc2a
|
||||
23, 3, 3, 5, 6, 0, 0, // vrc2b/vrc4e
|
||||
@ -56,6 +57,7 @@ static const byte PROGMEM mapsize[] = {
|
||||
32, 3, 4, 5, 5, 0, 0, // irem g-101
|
||||
33, 3, 4, 5, 6, 0, 0, // taito tc0190
|
||||
34, 3, 5, 0, 0, 0, 0, // bnrom [nina-1 NOT SUPPORTED]
|
||||
35, 0, 7, 1, 8, 0, 0, // J.Y. Company ASIC [UNLICENSED]
|
||||
36, 0, 3, 1, 5, 0, 0, // TXC 01-22000-400 Board [UNLICENSED]
|
||||
37, 4, 4, 6, 6, 0, 0, // (super mario bros + tetris + world cup)
|
||||
42, 0, 3, 0, 5, 0, 0, // hacked FDS games converted to cartridge [UNLICENSED]
|
||||
@ -86,11 +88,13 @@ static const byte PROGMEM mapsize[] = {
|
||||
79, 1, 2, 2, 3, 0, 0, // NINA-03/06 by AVE [UNLICENSED]
|
||||
80, 3, 3, 5, 6, 0, 1, // taito x1-005 [prgram r/w]
|
||||
82, 3, 3, 5, 6, 0, 1, // taito x1-017 [prgram r/w]
|
||||
// 84 - bad mapper, not used
|
||||
85, 3, 5, 0, 5, 0, 1, // vrc7 [sram r/w]
|
||||
86, 3, 3, 4, 4, 0, 0, // jaleco jf-13 (moero pro yakyuu)
|
||||
87, 0, 1, 2, 3, 0, 0, // Jaleco/Konami CNROM (DIS_74X139X74)
|
||||
88, 3, 3, 5, 5, 0, 0, // namco (dxrom variant)
|
||||
89, 3, 3, 5, 5, 0, 0, // sunsoft 2 variant (tenka no goikenban: mito koumon)
|
||||
90, 0, 7, 1, 8, 0, 0, // J.Y. Company ASIC [UNLICENSED]
|
||||
91, 3, 5, 7, 8, 0, 0, // JY830623C/YY840238C boards [UNLICENSED]
|
||||
92, 4, 4, 5, 5, 0, 0, // jaleco jf-19/jf-21
|
||||
93, 3, 3, 0, 0, 0, 0, // sunsoft 2
|
||||
@ -98,6 +102,8 @@ static const byte PROGMEM mapsize[] = {
|
||||
95, 3, 3, 3, 3, 0, 0, // namcot-3425 (dragon buster)
|
||||
96, 3, 3, 0, 0, 0, 0, // (oeka kids)
|
||||
97, 4, 4, 0, 0, 0, 0, // irem tam-s1 (kaiketsu yanchamaru)
|
||||
// 100 - bad mapper, not used
|
||||
// 101 - bad mapper, not used
|
||||
105, 4, 4, 0, 0, 0, 0, // (nintendo world Championships 1990) [UNTESTED]
|
||||
113, 1, 4, 0, 5, 0, 0, // NINA-03/06 [UNLICENSED]
|
||||
111, 5, 5, 0, 0, 0, 0, // GTROM [UNLICENSED]
|
||||
@ -108,6 +114,7 @@ static const byte PROGMEM mapsize[] = {
|
||||
140, 3, 3, 3, 5, 0, 0, // jaleco jf-11/jf-14
|
||||
142, 1, 3, 0, 0, 0, 0, // UNL-KS7032 [UNLICENSED]
|
||||
146, 1, 2, 2, 3, 0, 0, // Sachen 3015 [UNLICENSED]
|
||||
// 151 - bad mapper, not used
|
||||
152, 2, 3, 5, 5, 0, 0, // BANDAI-74*161/161/32
|
||||
153, 5, 5, 0, 0, 1, 1, // (famicom jump ii) [sram r/w]
|
||||
154, 3, 3, 5, 5, 0, 0, // namcot-3453 (devil man)
|
||||
@ -124,6 +131,7 @@ static const byte PROGMEM mapsize[] = {
|
||||
180, 3, 3, 0, 0, 0, 0, // unrom variant (crazy climber)
|
||||
184, 1, 1, 2, 3, 0, 0, // sunsoft 1
|
||||
185, 0, 1, 1, 1, 0, 0, // cnrom lockout
|
||||
// 186 - bad mapper, not used
|
||||
200, 1, 4, 1, 4, 0, 0, // HN-02 multicarts [UNLICENSED]
|
||||
201, 1, 8, 1, 9, 0, 0, // NROM-256 multicarts [UNLICENSED]
|
||||
202, 0, 3, 1, 4, 0, 0, // BMC-150IN1 multicarts [UNLICENSED]
|
||||
@ -132,6 +140,7 @@ static const byte PROGMEM mapsize[] = {
|
||||
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
|
||||
211, 0, 7, 1, 8, 0, 0, // J.Y. Company ASIC [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]
|
||||
225, 4, 7, 5, 8, 0, 0, // ET-4310 (FC) + K-1010 (NES) [UNLICENSED]
|
||||
@ -145,6 +154,7 @@ static const byte PROGMEM mapsize[] = {
|
||||
241, 3, 5, 0, 0, 0, 0, // BxROM with WRAM [UNLICENSED]
|
||||
242, 5, 5, 0, 0, 0, 0, // ET-113 [UNLICENSED]
|
||||
246, 5, 5, 7, 7, 0, 0, // C&E Feng Shen Bang [UNLICENSED]
|
||||
// 248 - bad mapper, not used
|
||||
255, 4, 7, 5, 8, 0, 0, // 110-in-1 multicart (same as 225) [UNLICENSED]
|
||||
};
|
||||
|
||||
@ -2789,6 +2799,22 @@ void readPRG(boolean readrom) {
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 35:
|
||||
case 90:
|
||||
case 209:
|
||||
case 211:
|
||||
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 36:
|
||||
banks = int_pow(2, prgsize) / 2;
|
||||
@ -3381,19 +3407,6 @@ void readPRG(boolean readrom) {
|
||||
}
|
||||
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
|
||||
banks = int_pow(2, prgsize) * 2;
|
||||
for (int i = 0; i < banks; i += 2) {
|
||||
@ -3863,6 +3876,22 @@ void readCHR(boolean readrom) {
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 35:
|
||||
case 90:
|
||||
case 209:
|
||||
case 211:
|
||||
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 36:
|
||||
banks = int_pow(2, chrsize) * 4;
|
||||
@ -4367,19 +4396,6 @@ void readCHR(boolean readrom) {
|
||||
}
|
||||
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
|
||||
banks = int_pow(2, chrsize) * 4;
|
||||
write_prg_byte(0xE800, 0xC0); // CHR RAM DISABLE (Bit 6 and 7) [WRITE NO RAM]
|
||||
|
Loading…
Reference in New Issue
Block a user