From abcb50e2e357f8f70530fe240ccab28ad4250f29 Mon Sep 17 00:00:00 2001 From: CaH4e3 Date: Tue, 7 May 2013 20:42:54 +0000 Subject: [PATCH] bandai mappers fix (for now) more crc redefinitions --- trunk/src/boards/bandai.cpp | 12 ++++++++++++ trunk/src/ines-correct.h | 19 +++++++++++++------ trunk/src/ines.cpp | 8 ++++---- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/trunk/src/boards/bandai.cpp b/trunk/src/boards/bandai.cpp index b1dfebdc..b3fef187 100644 --- a/trunk/src/boards/bandai.cpp +++ b/trunk/src/boards/bandai.cpp @@ -90,8 +90,13 @@ static DECLFW(BandaiWrite) { } } +static DECLFR(BandaiRead) { + return 0xef; // TODO: EEPROM +} + static void BandaiPower(void) { BandaiSync(); + SetReadHandler(0x6000, 0x7FFF, BandaiRead); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0xFFFF, BandaiWrite); } @@ -108,6 +113,13 @@ void Mapper16_Init(CartInfo *info) { AddExState(&StateRegs, ~0, 0, 0); } +// Famicom jump 2: +// 0-7: Lower bit of data selects which 256KB PRG block is in use. +// This seems to be a hack on the developers' part, so I'll make emulation +// of it a hack(I think the current PRG block would depend on whatever the +// lowest bit of the CHR bank switching register that corresponds to the +// last CHR address read). + static void M153Power(void) { BandaiSync(); setprg8r(0x10, 0x6000, 0); diff --git a/trunk/src/ines-correct.h b/trunk/src/ines-correct.h index 3b2d7011..94420b21 100644 --- a/trunk/src/ines-correct.h +++ b/trunk/src/ines-correct.h @@ -78,6 +78,7 @@ {0xbe939fce, 9, 1}, /* Punchout*/ {0x345d3a1a, 11, 1}, /* Castle of Deceit */ {0x5e66eaea, 13, 1}, /* Videomation */ + {0xcd373baa, 14, -1}, /* Samurai Spirits (Rex Soft) */ {0xbfc7a2e9, 16, 8}, {0x6e68e31a, 16, 8}, /* Dragon Ball 3*/ {0x183859d2, 16, -1}, @@ -85,6 +86,11 @@ {0x286fcd20, 23, -1}, /* Ganbare Goemon Gaiden 2 - Tenka no Zaihou (J) [!] */ {0xe4a291ce, 23, -1}, /* World Hero (Unl) [!] */ {0x51e9cd33, 23, -1}, /* World Hero (Unl) [b1] */ + {0x105dd586, 27, -1}, /* Mi Hun Che variations... */ + {0xbc9bb6c1, 27, -1}, /* -- */ + {0x43753886, 27, -1}, /* -- */ + {0x5b3de3d1, 27, -1}, /* -- */ + {0x511e73f8, 27, -1}, /* -- */ {0x5555fca3, 32, 8}, {0x283ad224, 32, 8}, /* Ai Sensei no Oshiete */ {0x243a8735, 32, 0x10|4}, /* Major League */ @@ -114,6 +120,7 @@ {0xbba58be5, 70, -1}, /* Family Trainer - Manhattan Police */ {0x370ceb65, 70, -1}, /* Family Trainer - Meiro Dai Sakusen */ {0xe62e3382, 71, -1}, /* Mig-29 Soviet Fighter */ + {0xac7b0742, 71, -1}, /* Golden KTV (Ch) [!], not actually 71, but UNROM without BUS conflict */ {0x054bd3e9, 74, -1}, /* Di 4 Ci - Ji Qi Ren Dai Zhan (As) */ {0x496ac8f7, 74, -1}, /* Ji Jia Zhan Shi (As) */ {0xae854cef, 74, -1}, /* Jia A Fung Yun (Chinese) */ @@ -162,12 +169,6 @@ {0xb1a94b82, 152, 8}, /* Pocket Zaurus */ {0x026c5fca, 152, 8}, /* Saint Seiya Ougon Densetsu */ {0x3f15d20d, 153, 8}, /* Famicom Jump 2 */ - {0xb7f28915, 153, -1}, /* Magical Taruruuto-kun 2 - Mahou Daibouken (J) */ - {0xa262a81f, 153, -1}, /* Rokudenashi Blues (J) */ - {0xe170404c, 153, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.0) [!] */ - {0x276ac722, 153, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.1) [!] */ - {0xb049a8c4, 153, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari 2 - Hikari no Kishi (J) [!] */ - {0xc2840372, 153, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari 3 - Densetsu no Kishi Dan (J) [!] */ {0xd1691028, 154, 8}, /* Devil Man */ {0xcfd4a281, 155, 8}, /* Money Game. Yay for money! */ {0x2f27cdef, 155, 8}, /* Tatakae!! Rahmen Man */ @@ -179,6 +180,12 @@ {0x0be0a328, 157, 8}, /* Datach SD Gundam Wars */ {0x5b457641, 157, 8}, /* Datach Ultraman Club */ {0xf51a7f46, 157, 8}, /* Datach Yuu Yuu Hakusho */ + {0xb7f28915, 159, -1}, /* Magical Taruruuto-kun 2 - Mahou Daibouken (J) */ + {0xa262a81f, 159, -1}, /* Rokudenashi Blues (J) */ + {0xe170404c, 159, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.0) [!] */ + {0x276ac722, 159, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.1) [!] */ + {0xb049a8c4, 159, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari 2 - Hikari no Kishi (J) [!] */ + {0xc2840372, 159, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari 3 - Densetsu no Kishi Dan (J) [!] */ {0x58152b42, 160, 1}, /* Pipe 5 (Sachen) */ {0x1c098942, 162, -1}, /* Xi You Ji Hou Zhuan (Ch) */ {0x081caaff, 163, -1}, /* Commandos (Ch) */ diff --git a/trunk/src/ines.cpp b/trunk/src/ines.cpp index e53d0994..da6e30e8 100644 --- a/trunk/src/ines.cpp +++ b/trunk/src/ines.cpp @@ -458,9 +458,9 @@ static BMAPPINGLocal bmap[] = { {"Color Dreams", 11, Mapper11_Init}, {"REX DBZ 5", 12, Mapper12_Init}, {"CPROM", 13, CPROM_Init}, -// {"", 14, Mapper14_Init}, + {"REX SL-1632", 14, UNLSL1632_Init}, {"100-in-1", 15, Mapper15_Init}, - {"Bandai", 16, Mapper16_Init}, + {"BANDAI 24C02", 16, Mapper16_Init}, {"FFE Rev. B", 17, Mapper17_Init}, {"JALECO SS880006", 18, Mapper18_Init}, // JF-NNX (EB89018-30007) boards {"Namcot 106", 19, Mapper19_Init}, @@ -471,7 +471,7 @@ static BMAPPINGLocal bmap[] = { {"Konami VRC6 Rev. A", 24, Mapper24_Init}, {"Konami VRC2/VRC4 D", 25, Mapper25_Init}, {"Konami VRC6 Rev. B", 26, Mapper26_Init}, -// {"", 27, Mapper27_Init}, // Deprecated, dupe for VRC2/VRC4 mapper + {"CC-21 MI HUN CHE", 27, UNLCC21_Init}, // Former dupe for VRC2/VRC4 mapper, redefined with crc to mihunche boards {"", 28, Mapper28_Init}, // {"", 29, Mapper29_Init}, // {"", 30, Mapper30_Init}, @@ -603,7 +603,7 @@ static BMAPPINGLocal bmap[] = { {"", 156, Mapper156_Init}, {"", 157, Mapper157_Init}, // {"", 158, Mapper158_Init}, -// {"", 159, Mapper159_Init}, + {"BANDAI 24C01", 159, Mapper16_Init}, // Different type of EEPROM on bandai board {"SA009", 160, SA009_Init}, // {"", 161, Mapper161_Init}, {"", 162, UNLFS304_Init},