From 429f6c45455ca7f969fff670b68ceaeef21aff20 Mon Sep 17 00:00:00 2001 From: retro-wertz Date: Thu, 11 Jul 2019 16:34:39 +0800 Subject: [PATCH] UNIF: Update boards based on last commit - fixes (if necessary), update and cleanup the following boards that now dont need alternate mappings: - this is part of migrating unif to be usuable in ines mappers - boards affected in this commit are: SUPERVISION16IN1, GS-2004, GS-2013, UNL-SMB2J, MARIO1-MALEE2, UNL-SA-9602B, UNL-KS106C / RESETNROM-XIN1 UNL-AC08, NES-NTBROM, BMC-K-3033, BMC-GN-26, BMC-GHOSTBUSTERS63IN1, BMC-830425C-4391T BMC-830134C, BMC-891227 / BMC-CTC-12IN1, BMC-JC-016-2, UNL-T4A54A, UNL-8157, BMC-T-262 (might have forgotten to list some...) --- src/boards/09-034a.c | 2 +- src/boards/68.c | 2 +- src/boards/8157.c | 12 +++--------- src/boards/830134C.c | 14 ++++++-------- src/boards/SA-9602B.c | 10 +++++----- src/boards/ac-08.c | 2 +- src/boards/bmc830425C4391t.c | 7 +++---- src/boards/bmcgamecard.c | 6 +++--- src/boards/bmck3033.c | 26 +++++++++++++++----------- src/boards/ghostbusters63in1.c | 6 +++--- src/boards/gn26.c | 15 ++++++++------- src/boards/gs-2004.c | 6 +++--- src/boards/gs-2013.c | 8 ++++---- src/boards/malee.c | 2 +- src/boards/mmc3.c | 28 ++++------------------------ src/boards/resetnromxin1.c | 4 ++-- src/boards/resettxrom.c | 14 ++------------ src/boards/supervision.c | 15 ++------------- src/boards/t-262.c | 11 ++--------- src/unif.c | 4 ++-- 20 files changed, 71 insertions(+), 123 deletions(-) diff --git a/src/boards/09-034a.c b/src/boards/09-034a.c index b39d595..12e5b79 100644 --- a/src/boards/09-034a.c +++ b/src/boards/09-034a.c @@ -44,7 +44,7 @@ static SFORMAT StateRegs[] = }; static void Sync(void) { - setprg8r(1, 0x6000, prg); + setprg8(0x6000, 4 | prg); setprg32(0x8000, 0); setchr8(0); } diff --git a/src/boards/68.c b/src/boards/68.c index 19da627..2e0ec8f 100644 --- a/src/boards/68.c +++ b/src/boards/68.c @@ -73,7 +73,7 @@ static void Sync(void) { setchr2(0x1800, chr_reg[3]); setprg8r(0x10, 0x6000, 0); setprg16r((PRGptr[1]) ? kogame : 0, 0x8000, prg_reg); - setprg16(0xC000, ~0); + setprg16(0xC000, 0x07); } static DECLFR(M68Read) { diff --git a/src/boards/8157.c b/src/boards/8157.c index 1d72957..b81c05f 100644 --- a/src/boards/8157.c +++ b/src/boards/8157.c @@ -37,15 +37,9 @@ static void Sync(void) { uint32 base = ((cmdreg & 0x060) | ((cmdreg & 0x100) >> 1)) >> 2; uint32 bank = (cmdreg & 0x01C) >> 2; uint32 lbank = (cmdreg & 0x200) ? 7 : ((cmdreg & 0x80) ? bank : 0); - if (PRGptr[1]) { - chip = base >> 3; - if (chip > PRGchip_max) chip &= PRGchip_max; - setprg16r(chip, 0x8000, bank); /* for versions with split ROMs */ - setprg16r(chip, 0xC000, lbank); - } else { - setprg16(0x8000, base | bank); - setprg16(0xC000, base | lbank); - } + + setprg16(0x8000, base | bank); + setprg16(0xC000, base | lbank); setmirror(((cmdreg & 2) >> 1) ^ 1); } diff --git a/src/boards/830134C.c b/src/boards/830134C.c index 7d546d5..5637c7a 100644 --- a/src/boards/830134C.c +++ b/src/boards/830134C.c @@ -28,22 +28,20 @@ #include "mmc3.h" static void BMC830134CCW(uint32 A, uint8 V) { - uint32 chip = (EXPREGS[0] & 0x03) & ~((EXPREGS[0] & 0x02) >> 1); - setchr1r(chip, A, (V & 0xFF) | ((EXPREGS[0] & 0x01) << 8) | ((EXPREGS[0] & 0x02) << 6) | ((EXPREGS[0] & 0x08) << 3)); + setchr1(A, (V & 0xFF) | ((EXPREGS[0] & 0x01) << 8) | ((EXPREGS[0] & 0x02) << 6) | ((EXPREGS[0] & 0x08) << 3)); } static void BMC830134CPW(uint32 A, uint8 V) { - uint32 chip = (EXPREGS[0] & 0x06) >> 1; if ((EXPREGS[0] & 0x06) == 0x06) { if (A == 0x8000) { - setprg8r(chip, A, (V & 0x0F) | ((EXPREGS[0] & 0x06) << 3)); - setprg8r(chip, 0xC000, (V & 0x0F) | 0x32); + setprg8(A, (V & 0x0F) | ((EXPREGS[0] & 0x06) << 3)); + setprg8(0xC000, (V & 0x0F) | 0x32); } else if (A == 0xA000) { - setprg8r(chip, A, (V & 0x0F) | ((EXPREGS[0] & 0x06) << 3)); - setprg8r(chip, 0xE000, (V & 0x0F) | 0x32); + setprg8(A, (V & 0x0F) | ((EXPREGS[0] & 0x06) << 3)); + setprg8(0xE000, (V & 0x0F) | 0x32); } } else - setprg8r(chip, A, (V & 0x0F) | ((EXPREGS[0] & 0x06) << 3)); + setprg8(A, (V & 0x0F) | ((EXPREGS[0] & 0x06) << 3)); } static DECLFW(BMC830134CWrite) { diff --git a/src/boards/SA-9602B.c b/src/boards/SA-9602B.c index 7acd049..10b4315 100644 --- a/src/boards/SA-9602B.c +++ b/src/boards/SA-9602B.c @@ -22,12 +22,12 @@ #include "mmc3.h" static void SA9602BPW(uint32 A, uint8 V) { - setprg8r(EXPREGS[1], A, V & 0x3F); + setprg8(A, (EXPREGS[1] & 0xC0) | (V & 0x3F)); if (MMC3_cmd & 0x40) - setprg8r(0, 0x8000, ~(1)); + setprg8(0x8000, 62); else - setprg8r(0, 0xc000, ~(1)); - setprg8r(0, 0xe000, ~(0)); + setprg8(0xc000, 62); + setprg8(0xe000, 63); } static DECLFW(SA9602BWrite) { @@ -35,7 +35,7 @@ static DECLFW(SA9602BWrite) { case 0x8000: EXPREGS[0] = V; break; case 0x8001: if ((EXPREGS[0] & 7) < 6) { - EXPREGS[1] = V >> 6; + EXPREGS[1] = V; FixMMC3PRG(MMC3_cmd); } break; diff --git a/src/boards/ac-08.c b/src/boards/ac-08.c index 8dd16eb..081512e 100644 --- a/src/boards/ac-08.c +++ b/src/boards/ac-08.c @@ -34,7 +34,7 @@ static SFORMAT StateRegs[] = static void Sync(void) { setprg8(0x6000, reg); - setprg32r(1, 0x8000, 0); + setprg32(0x8000, 4); setchr8(0); setmirror(mirr); } diff --git a/src/boards/bmc830425C4391t.c b/src/boards/bmc830425C4391t.c index ce64fd2..108425a 100644 --- a/src/boards/bmc830425C4391t.c +++ b/src/boards/bmc830425C4391t.c @@ -39,17 +39,16 @@ static SFORMAT StateRegs[] = }; static void Sync(void) { - setprg16r(outer_bank, 0x8000, (inner_bank & bank_size)); - setprg16r(outer_bank, 0xC000, bank_size); + setprg16(0x8000, (outer_bank << 3) | (inner_bank & bank_size)); + setprg16(0xC000, (outer_bank << 3) | bank_size); setchr8(0); } static DECLFW(M320Write) { - const uint8 chip[] = { 0, 0, 1, 0, 2, 3, 4, 5 }; /* address mask is inconsistent with that is in the wiki. Mask should be * 0xFFE0 or Mermaid game will not work. */ if ((A & 0xFFE0) == 0xF0E0) { - outer_bank = chip[(A & 0x0F)]; + outer_bank = (A & 0x0F); bank_size = (A & 0x10) ? 0x07 : 0x0F; } inner_bank = (V & 0x0F); diff --git a/src/boards/bmcgamecard.c b/src/boards/bmcgamecard.c index 0cc58af..aab0e4c 100644 --- a/src/boards/bmcgamecard.c +++ b/src/boards/bmcgamecard.c @@ -41,12 +41,12 @@ static SFORMAT StateRegs[] = static void Sync(void) { uint8 mirroring = m350 ? ((latche >> 7) & 1) : ((latche >> 5) & 1); uint8 mode = m350 ? ((latche >> 5) & 0x03) : ((latche >> 6) & 0x03); - uint8 chip = m350 ? ((latche & 0x40) ? ((latche & 0x20) >> 5) : 0) : 0; + uint8 base = m350 ? ((latche & 0x40) ? (latche & 0x20) : 0) : 0; setchr8(0); setprg8(0x6000, 1); - setprg16r(PRGptr[1] ? chip : 0, 0x8000, (latche & 0x1F)); - setprg16r(PRGptr[1] ? chip : 0, 0xC000, (latche & 0x1F) | ((mode & 2) ? 0x07 : (mode & 1))); + setprg16r(0, 0x8000, base | (latche & 0x1F)); + setprg16r(0, 0xC000, base | ((latche & 0x1F) | ((mode & 2) ? 0x07 : (mode & 1)))); setmirror(mirroring ^ 1); } diff --git a/src/boards/bmck3033.c b/src/boards/bmck3033.c index 90ff0af..686d278 100644 --- a/src/boards/bmck3033.c +++ b/src/boards/bmck3033.c @@ -29,13 +29,16 @@ static void BMCK3033CW(uint32 A, uint8 V) { if (EXPREGS[2]) { - if (EXPREGS[3]) { // MMC3-256 - setchr1r(EXPREGS[1] & ~0x01, A, (V & 0xFF)); - } else { // MMC3-128 - setchr1r(EXPREGS[1], A, (V & 0x7F)); + if (EXPREGS[3]) { +/* FCEU_printf("MMC3-256: A:%04x V:%02x R1:%02x\n", A, V, EXPREGS[1]); */ + setchr1(A, (EXPREGS[1] << 8) | (V & 0xFF)); + } else { +/* FCEU_printf("MMC3-128: A:%04x V:%02x R1:%02x\n", A, V, EXPREGS[1]); */ + setchr1(A, (EXPREGS[1] << 7) | (V & 0x7F)); } - } else { // NROM - setchr1r(EXPREGS[1], A, (V & 0x7F)); + } else { +/* FCEU_printf("NROM: A:%04x V:%02x R1:%02x\n", A, V, EXPREGS[1]); */ + setchr1(A, (V & 0x7F)); } } @@ -43,19 +46,20 @@ static void BMCK3033PW(uint32 A, uint8 V) { if (EXPREGS[2]) { if (EXPREGS[3] ) { /* FCEU_printf("MMC3-256 A:%04x V:%02x chip:%02x\n", A, V, EXPREGS[1] & ~0x01); */ - setprg8r((EXPREGS[1] & ~0x01), A, (V & 0x1F)); + setprg8(A, (EXPREGS[1] << 5) | (V & 0x1F)); } else { /* FCEU_printf("MMC3-128 A:%04x V:%02x chip:%02x\n", A, V, EXPREGS[1]); */ - setprg8r(EXPREGS[1], A, (V & 0x0F)); + setprg8(A, (EXPREGS[1] << 4) | (V & 0x0F)); } } else { + uint32 base = (EXPREGS[1] << 3); if (EXPREGS[0] & 0x03) { /* FCEU_printf("NROM-256 base:%02x chip:%02x\n", EXPREGS[0] >> 1, EXPREGS[1]); */ - setprg32r(EXPREGS[1], 0x8000, EXPREGS[0] >> 1); + setprg32(0x8000, base | EXPREGS[0] >> 1); } else { /* FCEU_printf("NROM-128 base:%02x chip:%02x\n", EXPREGS[0], EXPREGS[1]); */ - setprg16r(EXPREGS[1], 0x8000, EXPREGS[0]); - setprg16r(EXPREGS[1], 0xC000, EXPREGS[0]); + setprg16(0x8000, base | EXPREGS[0]); + setprg16(0xC000, base | EXPREGS[0]); } } } diff --git a/src/boards/ghostbusters63in1.c b/src/boards/ghostbusters63in1.c index 2ca6ee1..bdd1f1e 100644 --- a/src/boards/ghostbusters63in1.c +++ b/src/boards/ghostbusters63in1.c @@ -35,10 +35,10 @@ static SFORMAT StateRegs[] = static void Sync(void) { if (reg[0] & 0x20) { - setprg16r(banks[bank], 0x8000, reg[0] & 0x1F); - setprg16r(banks[bank], 0xC000, reg[0] & 0x1F); + setprg16(0x8000, (banks[bank] << 5) | (reg[0] & 0x1F)); + setprg16(0xC000, (banks[bank] << 5) | (reg[0] & 0x1F)); } else - setprg32r(banks[bank], 0x8000, (reg[0] >> 1) & 0x0F); + setprg32(0x8000, ((banks[bank] << 5) | (reg[0] & 0x1F)) >> 1); if (reg[1] & 2) setchr8r(0x10, 0); else diff --git a/src/boards/gn26.c b/src/boards/gn26.c index b55967d..0af480b 100644 --- a/src/boards/gn26.c +++ b/src/boards/gn26.c @@ -27,19 +27,20 @@ #include "mmc3.h" static void BMCGN26CW(uint32 A, uint8 V) { - uint32 chip = (EXPREGS[0] & 0x03); - if (chip) chip -= 1; - setchr1r(chip, A, (V & 0xFF)); + uint32 base = (EXPREGS[0] & 0x03) << 7; + setchr1(A, base | (V & 0xFF)); } static void BMCGN26PW(uint32 A, uint8 V) { - uint32 chip = (EXPREGS[0] & 0x03); - if (chip) chip -= 1; /* Re-ordered -> 0:SF4 1:Contra Force 2:Revolution Hero */ + /* Re-ordered -> 0:SF4 1:Contra Force 2:Revolution Hero */ + uint32 table[] = { 0, 0, 1, 2 }; + uint32 base = table[(EXPREGS[0] & 0x03)]; + if (EXPREGS[0] & 4) { if (A == 0x8000) - setprg32r(chip, 0x8000, (V >> 2)); + setprg32(0x8000, (base << 2) | (V >> 2)); } else - setprg8r(chip, A, (V & 0x0F)); + setprg8(A, (base << 4) | (V & 0x0F)); } static DECLFW(BMCGN26Write) { diff --git a/src/boards/gs-2004.c b/src/boards/gs-2004.c index b292d90..fd964e5 100644 --- a/src/boards/gs-2004.c +++ b/src/boards/gs-2004.c @@ -29,7 +29,7 @@ static SFORMAT StateRegs[] = }; static void Sync(void) { - setprg8r(1, 0x6000, 0); + setprg8(0x6000, 32); setprg32(0x8000, reg); setchr8(0); } @@ -40,7 +40,7 @@ static DECLFW(BMCGS2004Write) { } static void BMCGS2004Power(void) { - reg = ~0; + reg = 0x07; Sync(); SetReadHandler(0x6000, 0x7FFF, CartBR); SetReadHandler(0x8000, 0xFFFF, CartBR); @@ -48,7 +48,7 @@ static void BMCGS2004Power(void) { } static void BMCGS2004Reset(void) { - reg = ~0; + reg = 0x07; } static void StateRestore(int version) { diff --git a/src/boards/gs-2013.c b/src/boards/gs-2013.c index fe81a53..e7cda5f 100644 --- a/src/boards/gs-2013.c +++ b/src/boards/gs-2013.c @@ -29,8 +29,8 @@ static SFORMAT StateRegs[] = }; static void Sync(void) { - setprg8r(0, 0x6000, ~0); - setprg32r((reg & 8) >> 3, 0x8000, reg); + setprg8(0x6000, 31); + setprg32(0x8000, reg); setchr8(0); } @@ -40,7 +40,7 @@ static DECLFW(BMCGS2013Write) { } static void BMCGS2013Power(void) { - reg = ~0; + reg = 0; Sync(); SetReadHandler(0x6000, 0x7FFF, CartBR); SetReadHandler(0x8000, 0xFFFF, CartBR); @@ -48,7 +48,7 @@ static void BMCGS2013Power(void) { } static void BMCGS2013Reset(void) { - reg = ~0; + reg = 0; } static void StateRestore(int version) { diff --git a/src/boards/malee.c b/src/boards/malee.c index 84c353a..a4a0721 100644 --- a/src/boards/malee.c +++ b/src/boards/malee.c @@ -31,7 +31,7 @@ static void MALEEPower(void) { SetReadHandler(0x6000, 0x67FF, CartBR); SetReadHandler(0x7000, 0x77FF, CartBR); SetWriteHandler(0x7000, 0x77FF, CartBW); - setprg2r(1, 0x6000, 0); + setprg2(0x6000, 16); setprg32(0x8000, 0); setchr8(0); } diff --git a/src/boards/mmc3.c b/src/boards/mmc3.c index 93d36b6..3c9d42a 100644 --- a/src/boards/mmc3.c +++ b/src/boards/mmc3.c @@ -914,22 +914,12 @@ void Mapper119_Init(CartInfo *info) { static void M134PW(uint32 A, uint8 V) { uint8 mask = (EXPREGS[0] & 0x04) ? 0x0F : 0x1F; - if (PRGptr[1]) { - chip = (EXPREGS[0] & 3); - if (chip > PRGchip_max) chip &= PRGchip_max; - setprg8r(chip, A, (V & mask)); - } else - setprg8(A, (V & mask) | ((EXPREGS[0] & 3) << 4)); + setprg8(A, (V & mask) | ((EXPREGS[0] & 3) << 4)); } static void M134CW(uint32 A, uint8 V) { uint8 mask = (EXPREGS[0] & 0x04) ? 0x7F : 0xFF; - if (CHRptr[1]) { - chip = (EXPREGS[0] & 0x30) >> 4; - if (chip > CHRchip_max) chip &= CHRchip_max; - setchr1r(chip, A, (V & mask)); - } else - setchr1(A, (V & mask) | ((EXPREGS[0] & 0x30) << 3)); + setchr1(A, (V & mask) | ((EXPREGS[0] & 0x30) << 3)); } static DECLFW(M134Write) { @@ -1212,22 +1202,12 @@ static uint8 block[] = {0, 0, 1, 2}; static void M205PW(uint32 A, uint8 V) { uint8 bank = V & ((EXPREGS[0] & 0x02) ? 0x0F : 0x1F); - if (PRGptr[1]) { - chip = block[EXPREGS[0]]; - if (chip > PRGchip_max) chip &= PRGchip_max; - setprg8r(chip, A, bank); - } else - setprg8(A, EXPREGS[0] << 4 | bank); + setprg8(A, EXPREGS[0] << 4 | bank); } static void M205CW(uint32 A, uint8 V) { uint8 bank = V & ((EXPREGS[0] & 0x02) ? 0x7F : 0xFF); - if (CHRptr[1]) { - chip = block[EXPREGS[0]]; - if (chip > CHRchip_max) chip &= CHRchip_max; - setchr1r(chip, A, bank); - } else - setchr1(A, (EXPREGS[0] << 7) | bank); + setchr1(A, (EXPREGS[0] << 7) | bank); } static DECLFW(M205Write0) { diff --git a/src/boards/resetnromxin1.c b/src/boards/resetnromxin1.c index 76c6e84..0f0372f 100644 --- a/src/boards/resetnromxin1.c +++ b/src/boards/resetnromxin1.c @@ -38,8 +38,8 @@ static SFORMAT StateRegs[] = }; static void Sync(void) { - setchr8r(gameblock, 0); - setprg32r(gameblock, 0x8000, 0); + setchr8(gameblock); + setprg32(0x8000, gameblock); } static void BMCRESETNROMXIN1Power(void) { diff --git a/src/boards/resettxrom.c b/src/boards/resettxrom.c index 039b5c8..8bef280 100644 --- a/src/boards/resettxrom.c +++ b/src/boards/resettxrom.c @@ -30,21 +30,11 @@ static uint8 chip; static void M313CW(uint32 A, uint8 V) { - if (CHRptr[1]) { - chip = EXPREGS[0]; - if (chip > CHRchip_max) chip &= CHRchip_max; - setchr1r(chip, A, (V & 0x7F)); - } else - setchr1(A, (EXPREGS[0] << 7) | (V & 0x7F)); + setchr1(A, (EXPREGS[0] << 7) | (V & 0x7F)); } static void M313PW(uint32 A, uint8 V) { - if (PRGptr[1]) { - chip = EXPREGS[0]; - if (chip > PRGchip_max) chip &= PRGchip_max; - setprg8r(chip, A, (V & 0x0F)); - } else - setprg8(A, (EXPREGS[0] << 4) | (V & 0x0F)); + setprg8(A, (EXPREGS[0] << 4) | (V & 0x0F)); } static void M313Reset(void) { diff --git a/src/boards/supervision.c b/src/boards/supervision.c index 46be8ed..43b67f5 100644 --- a/src/boards/supervision.c +++ b/src/boards/supervision.c @@ -30,23 +30,12 @@ static SFORMAT StateRegs[] = static void Sync(void) { setchr8(0); - if (PRGptr[1]) - setprg8r((cmd0 & 0xC) >> 2, 0x6000, ((cmd0 & 0x3) << 4) | 0xF); - else - setprg8(0x6000, (((cmd0 & 0xF) << 4) | 0xF) + 4); + setprg8(0x6000, (((cmd0 & 0xF) << 4) | 0xF) + 4); if (cmd0 & 0x10) { - if (PRGptr[1]) { - setprg16r((cmd0 & 0xC) >> 2, 0x8000, ((cmd0 & 0x3) << 3) | (cmd1 & 7)); - setprg16r((cmd0 & 0xC) >> 2, 0xc000, ((cmd0 & 0x3) << 3) | 7); - } else { setprg16(0x8000, (((cmd0 & 0xF) << 3) | (cmd1 & 7)) + 2); setprg16(0xc000, (((cmd0 & 0xF) << 3) | 7) + 2); - } } else - if (PRGptr[4]) - setprg32r(4, 0x8000, 0); - else - setprg32(0x8000, 0); + setprg32(0x8000, 0); setmirror(((cmd0 & 0x20) >> 5) ^ 1); } diff --git a/src/boards/t-262.c b/src/boards/t-262.c index 7806d56..5aaa515 100644 --- a/src/boards/t-262.c +++ b/src/boards/t-262.c @@ -34,15 +34,8 @@ static SFORMAT StateRegs[] = static void Sync(void) { setchr8(0); - if (PRGptr[1]) { - chip = base >> 3; - if (chip > PRGchip_max) chip &= PRGchip_max; - setprg16r(chip, 0x8000, bank); - setprg16r(chip, 0xC000, (mode ? bank : 7)); - } else { - setprg16(0x8000, base | bank); - setprg16(0xC000, base | (mode ? bank : 7)); - } + setprg16(0x8000, base | bank); + setprg16(0xC000, base | (mode ? bank : 7)); setmirror(mirr); } diff --git a/src/unif.c b/src/unif.c index 8f496cf..a4a5fc0 100644 --- a/src/unif.c +++ b/src/unif.c @@ -452,7 +452,7 @@ static BMAPPING bmap[] = { { "GK-192", NO_INES, BMCGK192_Init, 0 }, /* mapper 58? */ { "GS-2004", 283, BMCGS2004_Init, 0 }, { "GS-2013", 283, BMCGS2013_Init, 0 }, - { "Ghostbusters63in1", NO_INES, BMCGhostbusters63in1_Init, 0 }, /* 226 is non-split version */ + { "Ghostbusters63in1", NO_INES, BMCGhostbusters63in1_Init, 0 }, /* similar to 226 but different bank order */ { "H2288", 123, UNLH2288_Init, 0 }, { "HKROM", 4, HKROM_Init, 0 }, { "KOF97", 263, UNLKOF97_Init, 0 }, @@ -585,7 +585,7 @@ static BMAPPING bmap[] = { { "JC-016-2", 205, Mapper205_Init, 0 }, { "AX-40G", 527, UNLAX40G_Init, 0 }, { " BMC-STREETFIGTER-GAME4IN1", NO_INES, BMCSFGAME4IN1_Init, 0 }, /* mapper 49? submapper 1*/ - { "G631", 226, BMCGhostbusters63in1_Init, 0 }, /* duplicate, probably wrong name */ + { "G631", NO_INES, BMCGhostbusters63in1_Init, 0 }, /* duplicate, probably wrong name */ { "BJ-56", 526, UNLBJ56_Init, 0 }, { "L6IN1", 345, BMCL6IN1_Init, 0 }, { "CTC-12IN1", 337, BMCCTC12IN1_Init, 0 },