Merge pull request #345 from negativeExponent/update_bmcfk23c

m176: Minor tweak to chr mixed ram/rom logic check and others
This commit is contained in:
hizzlekizzle
2020-03-20 21:55:22 -05:00
committed by GitHub
5 changed files with 556 additions and 570 deletions

View File

@@ -19,6 +19,19 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/* BMC-FK23C (no WRAM, no DIP switch)
* BMC-FK23CA (no WRAM, with DIP switch)
* BMC-Super24in1SC03 (functional duplicate of BMC-FK23C)
* WAIXING-FS005 (alternative name: Bensheng BS-001) (32 KiB battery-backed WRAM, 8 KiB of CHR-RAM, no DIP switch)
* WAIXING-FS006 (optional 8 KiB battery-backed WRAM, optional 8 KiB of CHR-RAM, no DIP switch)
* Three incompatible subtypes exist that do not correspond to these UNIF board names. No submappers have been proposed, as the subtypes can be easily discerned heuristically by looking at ROM sizes:
* Subtype 0, ROM size other than specified below: boot with Extended MMC3 mode disabled (boots in first 512 KiB of PRG-ROM regardless of ROM size)
* Subtype 1, 1024 KiB PRG-ROM, 1024 KiB CHR-ROM: boot with Extended MMC3 mode enabled (boots in last 512 KiB of the first 2 MiB of PRG-ROM)
* Subtype 2, 8192 or more KiB PRG-ROM, no CHR-ROM: Like Subtype 0, but MMC3 registers $46 and $47 swapped.
*/
/* 2020-3-14 - Refactoring based on latest sources */
/* TODO: Add database for ines 1.0 headers */
@@ -41,43 +54,43 @@ static uint8 irq_enabled = 0;
static uint8 irq_reload = 0;
static uint8 cnrom_chr = 0;
static uint8 dipswitch = 0;
static uint8 subType = 0;
static uint8 is_bmcfk23ca = 0;
static uint8 subtype = 0;
static SFORMAT StateRegs[] = {
{ fk23_regs, 4, "EXPR" },
{ mmc3_regs, 12, "M3RG" },
{ &cnrom_chr, 1, "CCHR" },
{ &dipswitch, 1, "DPSW" },
{ &mmc3_ctrl, 1, "M3CT" },
{ &mmc3_mirr, 1, "M3MR" },
{ &mmc3_wram, 1, "M3WR" },
{ &irq_reload, 1, "IRQR" },
{ &irq_count, 1, "IRQC" },
{ &irq_latch, 1, "IRQL" },
{ &irq_enabled, 1, "IRQA" },
{ fk23_regs, 4, "EXPR" },
{ mmc3_regs, 12, "M3RG" },
{ &cnrom_chr, 1, "CCHR" },
{ &dipswitch, 1, "DPSW" },
{ &mmc3_ctrl, 1, "M3CT" },
{ &mmc3_mirr, 1, "M3MR" },
{ &mmc3_wram, 1, "M3WR" },
{ &irq_reload, 1, "IRQR" },
{ &irq_count, 1, "IRQC" },
{ &irq_latch, 1, "IRQL" },
{ &irq_enabled, 1, "IRQA" },
{ &subType, 1, "SUBT" },
{ 0 }
};
#define INVERT_PRG (mmc3_ctrl & 0x40)
#define INVERT_CHR (mmc3_ctrl & 0x80)
#define WRAM_ENABLED (mmc3_wram & 0x80)
#define WRAM_EXTENDED (mmc3_wram & 0x20)
#define FK23_ENABLED (mmc3_wram & 0x40)
#define MMC3_EXTENDED (fk23_regs[3] & 0x02)
#define CHR_CNROM_MODE (fk23_regs[0] & 0x40)
#define CHR_OUTER_BANK_SIZE (fk23_regs[0] & 0x10)
#define INVERT_PRG (mmc3_ctrl & 0x40)
#define INVERT_CHR (mmc3_ctrl & 0x80)
#define WRAM_ENABLED (mmc3_wram & 0x80)
#define WRAM_EXTENDED (mmc3_wram & 0x20)
#define FK23_ENABLED (mmc3_wram & 0x40)
#define MMC3_EXTENDED (fk23_regs[3] & 0x02)
#define CHR_CNROM_MODE (fk23_regs[0] & 0x40)
#define CHR_OUTER_BANK_SIZE (fk23_regs[0] & 0x10)
static void cwrap(uint16 A, uint16 V)
{
/* some workaround for chr rom / ram access */
if (!UNIFchrrama && !CHRRAMSIZE)
fk23_regs[0] &= ~0x20; /* chr rom with no chr ram always write to bank 0 */
if (UNIFchrrama)
fk23_regs[0] &= ~0x20; /* no chr rom, then chr ram is in bank 0 through UNIFchrrama */
if (UNIFchrrama && WRAM_EXTENDED && (mmc3_wram & 0x04))
else if (UNIFchrrama && WRAM_EXTENDED && (mmc3_wram & 0x04))
fk23_regs[0] &= ~0x20;
else if (UNIFchrrama)
fk23_regs[0] &= ~0x20; /* no chr rom, then chr ram is in bank 0 through UNIFchrrama */
setchr1r((fk23_regs[0] & 0x20) >> 1, A, V);
}
@@ -86,8 +99,8 @@ static void SyncCHR(void)
{
if (CHR_CNROM_MODE)
{
uint8 mask = (fk23_regs[3] & 0x46) ? (CHR_OUTER_BANK_SIZE ? 0x01 : 0x03) : 0;
uint16 bank = (fk23_regs[2] | (cnrom_chr & mask)) << 3;
uint8 mask = (fk23_regs[3] & 0x46) ? (CHR_OUTER_BANK_SIZE ? 0x01 : 0x03) : 0;
uint16 bank = (fk23_regs[2] | (cnrom_chr & mask)) << 3;
cwrap(0x0000, bank);
cwrap(0x0400, bank + 1);
@@ -101,11 +114,10 @@ static void SyncCHR(void)
}
else
{
uint16 cbase = INVERT_CHR ? 0x1000 : 0;
if (MMC3_EXTENDED)
{
uint16 outer = fk23_regs[2] << 3;
uint16 cbase = INVERT_CHR ? 0x1000 : 0;
uint16 outer = fk23_regs[2] << 3;
cwrap(cbase ^ 0x0000, mmc3_regs[0] | outer);
cwrap(cbase ^ 0x0400, mmc3_regs[10] | outer);
@@ -119,8 +131,9 @@ static void SyncCHR(void)
}
else
{
uint8 mask = CHR_OUTER_BANK_SIZE ? 0x7F : 0xFF;
uint16 outer = (fk23_regs[2] << 3) & ~mask;
uint16 cbase = INVERT_CHR ? 0x1000 : 0;
uint8 mask = CHR_OUTER_BANK_SIZE ? 0x7F : 0xFF;
uint16 outer = (fk23_regs[2] << 3) & ~mask;
cwrap(cbase ^ 0x0000, ((mmc3_regs[0] & 0xFE) & mask) | outer);
cwrap(cbase ^ 0x0400, ((mmc3_regs[0] | 0x01) & mask) | outer);
@@ -137,8 +150,8 @@ static void SyncCHR(void)
static void SyncPRG(void)
{
uint8 prg_mode = fk23_regs[0] & 7;
uint16 prg_base = (fk23_regs[1] & 0x07F) | ((fk23_regs[0] << 4) & 0x080) |
uint8 prg_mode = fk23_regs[0] & 7;
uint16 prg_base = (fk23_regs[1] & 0x07F) | ((fk23_regs[0] << 4) & 0x080) |
((fk23_regs[0] << 1) & 0x100) | ((fk23_regs[2] << 3) & 0x600) |
((fk23_regs[2] << 6) & 0x800);
@@ -156,19 +169,19 @@ static void SyncPRG(void)
case 2:
if (MMC3_EXTENDED)
{
uint16 cbase = INVERT_PRG ? 0x4000 : 0;
uint16 outer = prg_base << 1;
uint16 cbase = INVERT_PRG ? 0x4000 : 0;
uint16 outer = prg_base << 1;
setprg8(0x8000 ^ cbase, mmc3_regs[6] | outer);
setprg8(0xA000, mmc3_regs[7] | outer);
setprg8(0xC000 ^ cbase, mmc3_regs[8] | outer);
setprg8(0xA000, mmc3_regs[7] | outer);
setprg8(0xC000 ^ cbase, mmc3_regs[8] | outer);
setprg8(0xE000, mmc3_regs[9] | outer);
}
else
{
uint8 mask = 0x3F >> prg_mode;
uint16 outer = (prg_base << 1) & ~mask;
uint16 cbase = INVERT_PRG ? 0x4000 : 0;
uint16 cbase = INVERT_PRG ? 0x4000 : 0;
uint8 mask = 0x3F >> prg_mode;
uint16 outer = (prg_base << 1) & ~mask;
setprg8(0x8000 ^ cbase, (mmc3_regs[6] & mask) | outer);
setprg8(0xA000, (mmc3_regs[7] & mask) | outer);
@@ -218,10 +231,41 @@ static DECLFW(WriteLo)
{
if (((WRAM_EXTENDED == 0) || FK23_ENABLED) && (A & (0x10 << dipswitch)))
{
fk23_regs[A & 3] = V;
cnrom_chr = 0;
SyncPRG();
SyncCHR();
switch (A & 3)
{
case 0:
if (fk23_regs[0] != V)
{
fk23_regs[0] = V;
SyncPRG();
SyncCHR();
}
break;
case 1:
if (fk23_regs[1] != V)
{
fk23_regs[1] = V;
SyncPRG();
}
break;
case 2:
cnrom_chr = 0;
if (fk23_regs[2] != V)
{
fk23_regs[2] = V;
SyncPRG();
SyncCHR();
}
break;
case 3:
if (fk23_regs[3] != V)
{
fk23_regs[3] = V;
SyncPRG();
SyncCHR();
}
break;
}
}
else
/* FK23C Registers disabled, $5000-$5FFF maps to the second 4 KiB of the 8 KiB WRAM bank 2 */
@@ -258,7 +302,7 @@ static DECLFW(WriteHi)
/* Subtype 2, 8192 or more KiB PRG-ROM, no CHR-ROM: Like Subtype 0,
* but MMC3 registers $46 and $47 swapped. */
if (UNIFchrrama && ((ROM_size << 4) > 8192))
if (subType == 2)
{
if (V == 0x46)
V = 0x47;
@@ -355,7 +399,7 @@ static void Reset(void)
mmc3_wram = 0x80;
mmc3_ctrl = mmc3_mirr = irq_count = irq_latch = irq_enabled = 0;
if (subtype == 1)
if (subType == 1)
fk23_regs[1] = 0x20;
Sync();
@@ -379,7 +423,7 @@ static void Power(void)
mmc3_wram = 0x80;
mmc3_ctrl = mmc3_mirr = irq_count = irq_latch = irq_enabled = 0;
if (subtype == 1)
if (subType == 1)
fk23_regs[1] = 0x20;
Sync();
@@ -407,44 +451,22 @@ static void Close(void)
CHRRAM = NULL;
}
static void StateRestore(void)
static void StateRestore(int version)
{
Sync();
}
void BMCFK23C_Init(CartInfo *info)
void GenBMCFK23C_Init(CartInfo *info)
{
is_bmcfk23ca = 0;
info->Power = Power;
info->Reset = Reset;
info->Close = Close;
GameHBIRQHook = IRQHook;
GameStateRestore = StateRestore;
info->Power = Power;
info->Reset = Reset;
info->Close = Close;
GameHBIRQHook = IRQHook;
GameStateRestore = StateRestore;
AddExState(StateRegs, ~0, 0, 0);
if (((ROM_size << 4) == 1024) && ((VROM_size << 3) == 1024))
subtype = 1;
if (info->iNES2)
{
if (!UNIFchrrama)
CHRRAMSIZE = info->CHRRamSize + info->CHRRamSaveSize;
WRAMSIZE = info->PRGRamSize + info->PRGRamSaveSize;
}
else
{
if (!UNIFchrrama)
{
/* Rockman I - VI */
if (ROM_size == 128 && VROM_size == 64)
CHRRAMSIZE = 8 * 1024;
}
/* For compatibility with waixing games, set wram to 32K */
WRAMSIZE = 32 * 1024;
}
if (CHRRAMSIZE)
{
CHRRAM = (uint8 *)FCEU_gmalloc(CHRRAMSIZE);
@@ -464,10 +486,70 @@ void BMCFK23C_Init(CartInfo *info)
info->SaveGameLen[0] = info->PRGRamSaveSize ? info->PRGRamSaveSize : WRAMSIZE;
}
}
subType = 0;
if (((ROM_size * 16) == 1024) && ((VROM_size * 8) == 1024))
subType = 1;
else if (UNIFchrrama && ((ROM_size << 4) >= 8192))
subType = 2;
}
/* generic entry point for mapper 176 / bmcfk23c carts */
void BMCFK23C_Init(CartInfo *info) {
/* prepare ROM params before loading... */
if (info->iNES2)
{
if (!UNIFchrrama)
CHRRAMSIZE = info->CHRRamSize + info->CHRRamSaveSize;
WRAMSIZE = info->PRGRamSize + info->PRGRamSaveSize;
}
else
{
if (!UNIFchrrama)
{
/* Rockman I - VI uses mixed chr rom/ram */
if ((ROM_size * 16) == 2048 && (VROM_size * 8) == 512)
CHRRAMSIZE = 8 * 1024;
}
/* Only waixing boards has battery backed wram, so only declare
* size when battery is set */
if (info->battery)
WRAMSIZE = 32 * 1024;
}
GenBMCFK23C_Init(info);
}
/* UNIF Boards, declares so we can for chr mixed mode size and wram if any */
void BMCFK23CA_Init(CartInfo *info)
{
BMCFK23C_Init(info);
/* can use mixed chr rom/ram */
if (!UNIFchrrama)
CHRRAMSIZE = 8 * 1024;
GenBMCFK23C_Init(info);
is_bmcfk23ca = 1;
}
/* BMC-Super24in1SC03 */
void Super24_Init(CartInfo *info) {
/* can use mixed chr rom/ram */
if (!UNIFchrrama)
CHRRAMSIZE = 8 * 1024;
GenBMCFK23C_Init(info);
}
void WAIXINGFS005_Init(CartInfo *info)
{
/* can have 8 or 32 KB battery-backed prg ram
* plus 8 KB chr for these boards */
if (!UNIFchrrama)
CHRRAMSIZE = 8 * 1024;
WRAMSIZE = 32 * 1024;
GenBMCFK23C_Init(info);
}

View File

@@ -1,96 +0,0 @@
/* FCE Ultra - NES/Famicom Emulator
*
* Copyright notice for this file:
* Copyright (C) 2005 CaH4e3
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/* BMC-Super24in1SC03, basically is just a duplicate of BMC-FK23C (mapper 176)
* This should be merge with the said mapper soon... */
#include "mapinc.h"
#include "mmc3.h"
static uint8 *CHRRAM = NULL;
static const int masko8[8] = { 63, 31, 15, 1, 3, 0, 0, 0 };
static void Super24PW(uint32 A, uint8 V) {
setprg8(A, (EXPREGS[1] << 1) | (V & masko8[EXPREGS[0] & 0x7]));
}
static void Super24CW(uint32 A, uint8 V) {
setchr1r((EXPREGS[0] & 0x20) >> 1, A, (EXPREGS[2] << 3) | V);
}
static DECLFW(Super24Write) {
switch (A & 0xF003) {
case 0x5000:
if (EXPREGS[0] != V) {
EXPREGS[0] = V;
FixMMC3PRG(MMC3_cmd);
FixMMC3CHR(MMC3_cmd);
}
break;
case 0x5001:
if (EXPREGS[1] != V) {
EXPREGS[1] = V;
FixMMC3PRG(MMC3_cmd);
}
break;
case 0x5002:
if (EXPREGS[2] != V) {
EXPREGS[2] = V;
FixMMC3CHR(MMC3_cmd);
}
break;
}
}
static void Super24Power(void) {
EXPREGS[0] = 0x24;
EXPREGS[1] = 0x9F;
EXPREGS[2] = 0;
GenMMC3Power();
SetWriteHandler(0x5000, 0x7FFF, Super24Write);
SetReadHandler(0x8000, 0xFFFF, CartBR);
}
static void Super24Reset(void) {
EXPREGS[0] = 0x24;
EXPREGS[1] = 0x9F;
EXPREGS[2] = 0;
MMC3RegReset();
}
static void Super24Close(void) {
GenMMC3Close();
if (CHRRAM)
FCEU_gfree(CHRRAM);
CHRRAM = NULL;
}
void Super24_Init(CartInfo *info) {
GenMMC3_Init(info, 512, 512, 0, 0);
info->Power = Super24Power;
info->Reset = Super24Reset;
info->Close = Super24Close;
cwrap = Super24CW;
pwrap = Super24PW;
CHRRAM = (uint8*)FCEU_gmalloc(8192);
SetupCartCHRMapping(0x10, CHRRAM, 8192, 1);
AddExState(CHRRAM, 8192, 0, "CHRR");
AddExState(EXPREGS, 3, 0, "BIG2");
}

View File

@@ -1,415 +1,414 @@
#ifndef _FCEU_INES_CORRECT_H
#define _FCEU_INES_CORRECT_H
{0xaf5d7aa2, -1, 0}, /* Clu Clu Land */
{0xcfb224e6, -1, 1}, /* Dragon Ninja (J) [p1][!].nes */
{0x82f204ae, -1, 1}, /* Liang Shan Ying Xiong (NJ023) (Ch) [!] */
{0x684afccd, -1, 1}, /* Space Hunter (J) */
{0xad9c63e2, -1, 1}, /* Space Shadow (J) */
{0xe1526228, -1, 1}, /* Quest of Ki */
{0xaf5d7aa2, -1, 0}, /* Clu Clu Land */
{0xcfb224e6, -1, 1}, /* Dragon Ninja (J) [p1][!].nes */
{0xfcdaca80, 0, 0}, /* Elevator Action */
{0xc05a365b, 0, 0}, /* Exed Exes (J) */
{0xc4c3949a, 0, 0}, /* Mario Bros. (World) */
{0x32fa246f, 0, 0}, /* Tag Team Pro Wrestling */
{0x43D30C2F, 0, 0}, /* Ms. Pac-Man (USA) (Unl) Tengen */
{0xb3c30bea, 0, 0}, /* Xevious (J) */
{0xe492d45a, 0, 0}, /* Zippy Race */
{0x24598791, 0, 1}, /* Duck Hunt (World) */
{0x49aeb3a6, 0, 1}, /* Excitebike (Japan, USA) */
{0xb8535ca3, 0, 1}, /* Mahjong (Japan) */
{0x330de468, 0, 1}, /* Obake no Q Tarou - Wanwan Panic (Japan) */
{0xe28f2596, 0, 1}, /* Pac Land (J) */
{0x5112dc21, 0, 1}, /* Wild Gunman (World) (Rev A) */
{0xd8ee7669, 1, 8}, /* Adventures of Rad Gravity */
{0x5b837e8d, 1, 8}, /* Alien Syndrome */
{0x37ba3261, 1, 8}, /* Back to the Future 2 and 3 */
{0x5b6ca654, 1, 8}, /* Barbie rev X*/
{0x61a852ea, 1, 8}, /* Battle Stadium - Senbatsu Pro Yakyuu */
{0xf6fa4453, 1, 8}, /* Bigfoot */
{0x391aa1b8, 1, 8}, /* Bloody Warriors (J) */
{0xa5e8d2cd, 1, 8}, /* Breakthru */
{0x3f56a392, 1, 8}, /* Captain Ed (J) */
{0x078ced30, 1, 8}, /* Choujin - Ultra Baseball */
{0xfe364be5, 1, 8}, /* Deep Dungeon 4 */
{0x57c12280, 1, 8}, /* Demon Sword */
{0xd09b74dc, 1, 8}, /* Great Tank (J) */
{0xe8baa782, 1, 8}, /* Gun Hed (J) */
{0x970bd9c2, 1, 8}, /* Hanjuku Hero */
{0xcd7a2fd7, 1, 8}, /* Hanjuku Hero */
{0x63469396, 1, 8}, /* Hokuto no Ken 4 */
{0xe94d5181, 1, 8}, /* Mirai Senshi - Lios */
{0x7156cb4d, 1, 8}, /* Muppet Adventure Carnival thingy */
{0x70f67ab7, 1, 8}, /* Musashi no Bouken */
{0x958e4bae, 1, 8}, /* Orb 3D (USA) */
{0x291bcd7d, 1, 8}, /* Pachio Kun 2 */
{0xa9a4ea4c, 1, 8}, /* Satomi Hakkenden */
{0xcc3544b0, 1, 8}, /* Triathron */
{0x52ab2d17, 1, 8}, /* Toukyou Pachi-Slot Adventure (Japan) (Rev 0) */
{0x934db14a, 1, -1},/* All-Pro Basketball */
{0xf74dfc91, 1, -1},/* Win, Lose, or Draw */
{0xe6a477b2, 2, 1}, /* 3-D WorldRunner (USA) */
{0x9ea1dc76, 2, 0}, /* Rainbow Islands */
{0x6d65cac6, 2, 0}, /* Terra Cresta */
{0xe1b260da, 2, 1}, /* Argos no Senshi */
{0x1d0f4d6b, 2, 1}, /* Black Bass thinging */
{0x266ce198, 2, 1}, /* City Adventure Touch */
{0x804f898a, 2, 1}, /* Dragon Unit */
{0x55773880, 2, 1}, /* Gilligan's Island */
{0x6e0eb43e, 2, 1}, /* Puss n Boots */
{0x2bb6a0f8, 2, 1}, /* Sherlock Holmes */
{0x28c11d24, 2, 1}, /* Sukeban Deka */
{0x02863604, 2, 1}, /* Sukeban Deka */
{0x419461d0, 2, 1}, /* Super Cars */
{0xdbf90772, 3, 0}, /* Alpha Mission */
{0xd858033d, 3, 0}, /* Armored Scrum Object */
{0xf283cf58, 3, 0}, /* Colorful Dragon (Asia) (PAL) (Unl) */
{0xd858033d, 3, 0}, /* Incantation (Asia) (Unl) */
{0x8f154a0d, 3, 0}, /* Pu Ke Jing Ling (China) (Unl) */
{0xd04a40e6, 3, 0}, /* Bingo 75 (Asia) (Unl) */
{0x637ba508, 3, 1}, /* Adan y Eva (Spain) (Gluk Video) (Unl) */
{0xebd0644d, 3, 1}, /* Dao Shuai (Asia) (Unl) */
{0x9bde3267, 3, 1}, /* Adventures of Dino Riki */
{0xd8eff0df, 3, 1}, /* Gradius (J) */
{0x1d41cc8c, 3, 1}, /* Gyruss */
{0xcf322bb3, 3, 1}, /* John Elway's Quarterback */
{0xb5d28ea2, 3, 1}, /* Mystery Quest - mapper 3?*/
{0x02cc3973, 3, 1}, /* Ninja Kid */
{0xbc065fc3, 3, 1}, /* Pipe Dream */
{0xc9ee15a7, 3, -1}, /* 3 is probably best. 41 WILL NOT WORK. */
{0x97b6cb19, 4, -1},/* Aladdin (SuperGame) (Mapper 4) [!] */
{0xd97c31b0, 206, 1}, /* Rasaaru Ishii no Childs Quest (J) */
{0x404b2e8b, 4, 2}, /* Rad Racer 2 */
{0x15141401, 4, 8}, /* Asmik Kun Land */
{0x4cccd878, 4, 8}, /* Cat Ninden Teyandee */
{0x59280bec, 4, 8}, /* Jackie Chan */
{0x7474ac92, 4, 8}, /* Kabuki: Quantum Fighter */
{0xf2594374, 4, 8}, /* Matendouji (Japan) */
{0x5337f73c, 4, 8}, /* Niji no Silk Road */
{0x9eefb4b4, 4, 8}, /* Pachi Slot Adventure 2 */
{0xafe03802, 4, 8}, /* Pachio-kun 3 (Japan) (Rev A) */
{0x21a653c7, 4, -1}, /* Super Sky Kid */
{0xdb7f07be, 4, -1}, /* Toki (USA) (Beta) */
{0x9cbadc25, 5, 8}, /* JustBreed */
{0xf518dd58, 7, 8}, /* Captain Skyhawk */
{0x6c4a9735, 7, 8}, /* WWF Wrestlemania (Europe) */
{0x84382231, 9, -1}, /* Punch Out (J) */
{0xbe939fce, 9, -1}, /* Punchout*/
{0x7b837fde, 9, -1}, /* Mike Tyson's Punch-Out!! (PC10)*/
{0x345d3a1a, 11, 1}, /* Castle of Deceit */
{0xb79f2651, 11, 1}, /* Chiller (USA) (Unl) */
{0x5e66eaea, 13, 1}, /* Videomation */
{0xcd373baa, 14, -1}, /* Samurai Spirits (Rex Soft) */
{0xbfc7a2e9, 16, 8}, /* Gokuu Den (J) [a1] */
{0x6e68e31a, 16, 8}, /* Dragon Ball 3*/
{0x33b899c9, 16, -1}, /* Dragon Ball - Dai Maou Fukkatsu (J) [!] */
{0xa262a81f, 16, -1}, /* Rokudenashi Blues (J) */
{0x286fcd20, 21, -1}, /* Ganbare Goemon Gaiden 2 - Tenka no Zaihou (J) [!] */
{0x335E6339, 23, -1}, /* kung fu legend (unl)[!].nes */
{0x1A8D767B, 23, -1}, /* kung fu legend (unl)[!p].nes */
{0x0E263D47, 23, -1}, /* World Hero (Unl) (TV System Select) [!].nes */
{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 */
{0x8a7d0abe, 33, 8}, /* Akira (J) [!] */
{0x376138d8, 33, 8}, /* Akira (J) [a1] */
{0xadf606f6, 33, 8}, /* Bakushou!! Jinsei Gekijou (J) [!] */
{0xbc7b1d0f, 33, 8}, /* Bakushou!! Jinsei Gekijou 2 (J) [!] */
{0x7a497ae3, 33, 8}, /* Don Doko Don (J) [!] */
{0xbaca10a9, 33, 8}, /* Golf Ko Open (J) [!] */
{0xf80bdc50, 33, 8}, /* Insector X (J) [!] */
{0x2a6559a1, 33, 8}, /* Operation Wolf (J) [!] */
{0xaeb7fce9, 33, 8}, /* Power Blazer (J) [!] */
{0xd920f9df, 33, 8}, /* Takeshi no Sengoku Fuuunji (J) [!] */
{0x3cd4b420, 33, 8}, /* Takeshi no Sengoku Fuuunji (Japan) (Beta) */
{0x4c7c1af3, 34, 1}, /* Caesar's Palace */
{0x932ff06e, 34, 1}, /* Classic Concentration */
{0xf46ef39a, 37, -1}, /* Super Mario Bros. + Tetris + Nintendo World Cup (E) [!] */
{0x090C0C17, 42, 1}, /* Ai Senshi Nicol (FDS Conversion) [p1][!].nes */
{0x4DF84825, 42, 1}, /* Ai Senshi Nicol (FDS Conversion) [p2][!].nes */
{0x579E5BC5, 42, 1}, /* Ai Senshi Nicol (FDS Conversion) [p3].nes */
{0xC744F205, 42, 1}, /* Ai Senshi Nicol (FDS Conversion) [p3][t1].nes */
{0x71699765, 42, -1}, /* Love Warrior Nicol.nes */
{0x6BF3F6A3, 42, -1}, /* Bio Miracle Bokutte Upa (J) (Mario Baby - FDS Conversion).nes */
{0x5BA1C5CF, 42, -1}, /* Green Beret (FDS Conversion) (Unl).nes (256K PRG) */
{0x50AB1AB2, 42, -1}, /* Green Beret (FDS Conversion, LH09) (Unl) [U][!][t1] (160K PRG */
{0x7ccb12a3, 43, -1}, /* SMB2j */
{0x6c71feae, 45, -1}, /* Kunio 8-in-1 */
{0x40c0ad47, 48, 8}, /* Flintstones 2 */
{0xaebd6549, 48, 8}, /* Bakushou!! Jinsei Gekijou 3 (J) [!] */
{0x6cdc0cd9, 48, 8}, /* Bubble Bobble 2 (J) */
{0x99c395f9, 48, 8}, /* Captain Saver (J) */
{0xa7b0536c, 48, 8}, /* Don Doko Don 2 (J) [!] */
{0xb17c828a, 48, 8}, /* Don Doko Don 2 (J) [a1] */
{0x10e24006, 48, 8}, /* Flintstones, The - The Rescue of Dino & Hoppy (J) */
{0x1500e835, 48, 8}, /* Jetsons, The - Cogswell's Caper! (J) */
{0xe2c94bc2, 48, 8}, /* Super Bros 8 (Unl) [!] */
{0xa912b064, 51|0x800, 8}, /* 11-in-1 Ball Games(has CHR ROM when it shouldn't) */
{0x39ab0fc7, 64, 8}, /* Hard Drivin' (USA) (Proto) (Unl) */
{0xb19a55dd, 64, 8}, /* Road Runner */
{0xf92be3ec, 64, -1}, /* Rolling Thunder */
{0xd114f544, 66, 0}, /* AV Super Real Pachinko (Japan) (Unl) */
{0xe84274c5, 66, 1}, /* Mississippi Satsujin Jiken (J) [h2] */
{0xbde3ae9b, 66, 1}, /* Doraemon */
{0x9552e8df, 66, 1}, /* Dragon Ball */
{0x811f06d9, 66, 1}, /* Dragon Power */
{0xd26efd78, 66, 1}, /* SMB Duck Hunt */
{0xdd8ed0f7, 70, 1}, /* Kamen Rider Club */
{0xbba58be5, 70, -1}, /* Family Trainer - Manhattan Police */
{0x370ceb65, 70, -1}, /* Family Trainer - Meiro Dai Sakusen */
{0x86be4746, 2, -1}, /* Dooly Bravo Land (Korea) (Unl) */
{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) */
{0xba51ac6f, 78, 2}, /* Holy Diver (J) [!] */
{0x3d1c3137, 78, 8}, /* Uchuusen - Cosmo Carrier */
{0xa4fbb438, 79, 0}, /* F-15 City War (AVE) (REV1.x) [b1] */
{0xd4a76b07, 79, 0}, /* F-15 City Wars*/
{0x8eab381c, 79, 1}, /* Death Bots --changed 2017-29-26 */
{0x1eb4a920, 79, 1}, /* Double Strike */
{0x3e1271d5, 79, 1}, /* Tiles of Fate */
{0x2deb12b8, 79, 1}, /* Venice Beach Volleyball (Asia) (Unl) */
{0xd2699893, 88, 0}, /* Dragon Spirit */
{0xbb7c5f7a, 89, 8}, /* Mito Koumon or something similar */
{0x10119e6b, 93, 8}, /* Fantasy Zone (Japan) */
{0x2b750bf9, 101, 1}, /* Urusei Yatsura - Lum no Wedding Bell (Japan) (Beta) */
{0x0da5e32e, 101, 1}, /* Urusei Yatsura - Lum no Wedding Bell (Japan) */
{0x6096f84e, 104, 1}, /* Pegasus 5-in-1 (Golden Five) (Unl) */
{0x3d3ff543, 113, 0}, /* Kazama Jun to Asama Yuuko no AV Dragon Mahjong (Japan) (Unl) */
{0x68379fdb, 113, 1}, /* Pipemania (Australia) (HES) (Unl) */
{0x6a03d3f3, 114, -1}, /* Lion King, The (Unl) (Mapper 114) */
{0x0d98db53, 114, -1}, /* Pocahontas */
{0x4e7729ff, 114, -1}, /* Super Donkey Kong */
{0xc5e5c5b2, 115, -1}, /* Bao Qing Tian (As).nes */
{0xe40dfb7e, 116, -1}, /* Somari (P conf.) */
{0xc9371ebb, 116, -1}, /* Somari (W conf.) */
{0x78b657ac, 118, -1}, /* Armadillo */
{0x90c773c1, 118, -1}, /* Goal! 2 */
{0xb9b4d9e0, 118, -1}, /* NES Play Action Football */
{0x07d92c31, 118, -1}, /* RPG Jinsei Game */
{0x37b62d04, 118, -1}, /* Ys 3 */
{0x318e5502, 121, -1}, /* Sonic 3D Blast 6 (Unl) */
{0xddcfb058, 121, -1}, /* Street Fighter Zero 2 '97 (Unl) [!] */
{0xd2674b0a, 132, 0}, /* Qi Wang - Chinese Chess (Asia) (Unl) */
{0x5aefbc94, 133, -1}, /* Jovial Race (Sachen) [a1][!] */
{0xc2df0a00, 140, 1}, /* Bio Senshi Dan(hacked) */
{0xe46b1c5d, 140, 1}, /* Mississippi Satsujin Jiken */
{0x3293afea, 140, 1}, /* Mississippi Satsujin Jiken */
{0x6bc65d7e, 140, 1}, /* Youkai Club*/
{0x5caa3e61, 144, 1}, /* Death Race */
{0x48239b42, 146, -1}, /* Mahjong Companion (Sachen) [!] */
{0xb6a727fa, 146, -1}, /* Papillion (As) [!] */
{0xa62b79e1, 146, -1}, /* Side Winder (HES) [!] */
{0xcc868d4e, 149, -1}, /* 16 Mahjong [p1][!] */
{0x29582ca1, 150, -1}, /* Mei Nu Quan (Honey Peach) (Sachen) [!] */
{0x40dbf7a2, 150, -1}, /* Olympic IQ (Sachen) [!] */
{0x73fb55ac, 150, -1}, /* 2-in-1 Cosmo Cop + Cyber Monster (Sachen) [!] */
{0xddcbda16, 150, -1}, /* 2-in-1 Tough Cop + Super Tough Cop (Sachen) [!] */
{0x47918d84, 150, -1}, /* Auto-Upturn */
{0x471173E7, 150, -1}, /* Chinese Checkers (Asia) (PAL) (Unl) */
{0x2394ae1c, 150, -1}, /* Happy Pairs (Asia) (PAL) (Unl) */
{0xcab40a6c, 150, -1}, /* Magic Cube (Asia) (PAL) (Unl) */
{0xbe17e27b, 150, -1}, /* Poker III (Asia) (Unl) */
{0x34ddf806, 150, -1}, /* Strategist (Asia) (NTSC) (Unl) */
{0xc06facfc, 150, -1}, /* Strategist (Asia) (PAL) (Unl) */
{0xa95a915a, 150, -1}, /* Tasac (Asia) (Unl) */
{0x0f141525, 152, 8}, /* Arkanoid 2 (Japanese) */
{0xbda8f8e4, 152, 8}, /* Gegege no Kitarou 2 */
{0xb1a94b82, 152, 8}, /* Pocket Zaurus */
{0x026c5fca, 152, 8}, /* Saint Seiya Ougon Densetsu */
{0x3f15d20d, 153, 8}, /* Famicom Jump 2 */
{0xd1691028, 154, 8}, /* Devil Man */
{0xcfd4a281, 155, 8}, /* Money Game. Yay for money! */
{0x2f27cdef, 155, 8}, /* Tatakae!! Rahmen Man */
{0xc1719664, 155, 8}, /* Tatakae!! Rahmen Man - Sakuretsu Choujin 102 Gei (Japan) */
{0xccc03440, 156, -1}, /* Buzz and Waldog (U) (Prototype) [!] */
{0x983d8175, 157, 8}, /* Datach Battle Rush */
{0x894efdbc, 157, 8}, /* Datach Crayon Shin Chan */
{0x19e81461, 157, 8}, /* Datach DBZ */
{0xbe06853f, 157, 8}, /* Datach J-League */
{0x0be0a328, 157, 8}, /* Datach SD Gundam Wars */
{0x5b457641, 157, 8}, /* Datach Ultraman Club */
{0xf51a7f46, 157, 8}, /* Datach Yuu Yuu Hakusho */
{0xcbf4366f, 158, 8}, /* Alien Syndrome (U.S. unlicensed) */
{0xe170404c, 159, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.0) [!] */
{0x276ac722, 159, -1}, /* SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.1) [!] */
{0x0cf42e69, 159, -1}, /* Magical Taruruuto-kun - Fantastic World!! (J) (V1.0) [!] */
{0xdcb972ce, 159, -1}, /* Magical Taruruuto-kun - Fantastic World!! (J) (V1.1) [!] */
{0xb7f28915, 159, -1}, /* Magical Taruruuto-kun 2 - Mahou Daibouken (J) */
{0x183859d2, 159, -1}, /* Dragon Ball Z - Kyoushuu! Saiya Jin (J) [!] */
{0x58152b42, 160, 1}, /* Pipe 5 (Sachen) */
{0x1c098942, 162, -1}, /* Xi You Ji Hou Zhuan (Ch) */
{0x081caaff, 163, -1}, /* Commandos (Ch) */
{0x02c41438, 176, -1}, /* Xing He Zhan Shi (C) */
{0x409601a5, 176, -1}, /* 4-in-1 (BS-8088) [p1][!] */
{0xa391549d, 176, -1}, /* 4-in-1 (FK23C8021) [p1][!] */
{0x06d13d9e, 176, -1}, /* 4-in-1 (FK23C8026) [p1][!] */
{0x2ebd5fd6, 176, -1}, /* 4-in-1 (FK23C8033) [p1][!] */
{0x23e4906a, 176, -1}, /* 4-in-1 (FK23C8043) [p1][!] */
{0x10155a92, 176, -1}, /* 4-in-1 (FK23C8045) [p1][!] */
{0x8baeedc0, 176, -1}, /* 4-in-1 (FK23C8052) [p1][!] */
{0x39307391, 176, -1}, /* 4-in-1 (FK23C8056) [p1][!] */
{0x72ceab1e, 176, -1}, /* 4-in-1 (FK23C8078) (Ch) [p1] */
{0x07d3f6cb, 176, -1}, /* 4-in-1 (FK23C8079) [p1][!] */
{0xc6d97331, 176, -1}, /* 4-in-1 (FK23Cxxxx, S-0210A PCB)[p1][!] */
{0x17d43af9, 176, -1}, /* 5-in-1 (K5003) [p1][!]-1125) (Ch) */
{0x20379331, 176, -1}, /* Mortal Kombat 30 Peoples (DH1043) (Ch) */
{0x558c0dc3, 178, -1}, /* Super 2in1 (unl)[!] {mapper unsupported} */
{0xc68363f6, 180, 0}, /* Crazy Climber */
{0x0f05ff0a, 181, -1}, /* Seicross (redump) */
{0x96ce586e, 189, 8}, /* Street Fighter 2 YOKO */
{0x0E76E4C1, 190, 0}, /* Magic Kid Googoo */
{0x555a555e, 191, -1}, /* Sugoro Quest - Dice no Senshitachi (Ch) */
{0x2cc381f6, 191, -1}, /* Sugoro Quest - Dice no Senshitachi (As) */
{0xa145fae6, 192, -1}, /* Young Chivalry (Ch) [b3] */
{0xa9115bc1, 192, -1}, /* Young Chivalry (Ch) [!] */
{0x4c7bbb0e, 192, -1}, /* Young Chivalry (Ch) [b2] */
{0x98c1cd4b, 192, -1}, /* Ying Lie Qun Xia Zhuan (Chinese) */
{0xee810d55, 192, -1}, /* You Ling Xing Dong (Ch) */
{0x442f1a29, 192, -1}, /* Young chivalry */
{0x637134e8, 193, 1}, /* Fighting Hero */
{0xa925226c, 194, -1}, /* Dai-2-Ji - Super Robot Taisen (As) */
{0x7f3dbf1b, 195, 0}, /* Chaos World (Ch) */
{0xb616885c, 195, 0}, /* CHaos WOrld (Ch)*/
{0x33c5df92, 195, -1}, /* Captain Tsubasa Vol. II - Super Striker (Ch) [a1] */
{0x1bc0be6c, 195, -1}, /* Captain Tsubasa Vol 2 - Super Striker (C) */
{0xd5224fde, 195, -1}, /* Crystalis (c) */
{0xfdec419f, 196, -1}, /* Street Fighter VI 16 Peoples (Unl) [!] */
{0x700705f4, 198, -1},
{0x9a2cf02c, 198, -1},
{0xd8b401a7, 198, -1},
{0x28192599, 198, -1},
{0x19b9e732, 198, -1}, /* Tenchi wo Kurau II - Shokatsu Koumei Den (J) (PRG0) [T-Chi] */
{0xdd431ba7, 198, -1}, /* Tenchi wo kurau 2 (c) */
{0xd871d3e6, 199, -1}, /* Dragon Ball Z 2 - Gekishin Freeza! (C) */
{0xed481b7c, 199, -1}, /* Dragon Ball Z Gaiden - Saiya Jin Zetsumetsu Keikaku (C) */
{0x44c20420, 199, -1}, /* San Guo Zhi 2 (C) */
{0x44c20420, 199, -1}, /* San Guo Zhi 2 (C) */
{0x05658DED, 201, -1}, /* 21-in-1 (CF-043) (2006-V) (Unl) [p1].nes, submapper 15 */
{0x276237b3, 206, 0}, /* Karnov */
{0xa5e6baf9, 206, 1}, /* Dragon Slayer 4 - Drasle Family (Japan) */
{0x4f2f1846, 206, 1}, /* Famista '89 - Kaimaku Han!! (J) */
{0x22d6d5bd, 206, 1}, /* Jikuu Yuuden - Debias (J) */
{0x9d21fe96, 206, 1}, /* Lupin Sansei - Pandora no Isan (Japan) */
{0xae321339, 206, 1}, /* Pro Yakyuu - Family Stadium '88 (Japan) */
{0x96dfc776, 206, 1}, /* R.B.I. Baseball 2 (USA) (Unl) */
{0xfd63e7ac, 206, 1}, /* R.B.I. Baseball 3 (USA) (Unl) */
{0x2a01f9d1, 206, 1}, /* Wagyan Land (Japan) */
{0x7678f1d5, 207, 8}, /* Fudou Myouou Den */
{0x07eb2c12, 208, -1}, /* Street Fighter IV */
{0xdd8ced31, 209, -1}, /* Power Rangers 3 */
{0x063b1151, 209, -1}, /* Power Rangers 4 */
{0xdd4d9a62, 209, -1}, /* Shin Samurai Spirits 2 */
{0x0c47946d, 210, 1}, /* Chibi Maruko Chan */
{0xc247cc80, 210, 1}, /* Family Circuit '91 */
{0x808606f0, 210, 1}, /* Famista '91 */
{0x6ec51de5, 210, 1}, /* Famista '92 */
{0xadffd64f, 210, 1}, /* Famista '93 */
{0x429103c9, 210, 1}, /* Famista '94 */
{0x81b7f1a8, 210, 1}, /* Heisei Tensai Bakabon */
{0x2447e03b, 210, 1}, /* Top Striker */
{0x1dc0f740, 210, 1}, /* Wagyan Land 2 */
{0xd323b806, 210, 1}, /* Wagyan Land 3 */
{0xbd523011, 210, 0}, /* Namco Prism Zone - Dream Master (Japan) */
{0x5daae69a, 211, -1}, /* Aladdin - Return of Jaffar, The (Unl) [!] */
{0x1ec1dfeb, 217, -1}, /* 255-in-1 (Cut version) [p1] */
{0x046d70cc, 217, -1}, /* 500-in-1 (Anim Splash, Alt Mapper)[p1][!] */
{0x12f86a4d, 217, -1}, /* 500-in-1 (Static Splash, Alt Mapper)[p1][!] */
{0xd09f778d, 217, -1}, /* 9999999-in-1 (Static Splash, Alt Mapper)[p1][!] */
{0x62ef6c79, 232, 8}, /* Quattro Sports -Aladdin */
{0x2705eaeb, 234, -1}, /* Maxi 15 */
{0x80CBCACB, 235, -1}, /* 100-in-1 (Unl).nes */
{0x6175B9A0, 235, -1}, /* 150_in_1_199x-ASp */
{0x745A6791, 235, -1}, /* 210-in-1 and Contra 4-in-1 (212-in-1,212 Hong Kong,Reset Based)(Unl).nes */
{0xDF81364D, 235, -1}, /* 260-in-1 [p1][!].nes */
{0xA38F2F1D, 235, -1}, /* 1500-in-1.nes */
{0x6f12afc5, 235, -1}, /* Golden Game 150-in-1 */
{0x2537b3e6, 241, -1}, /* Dance Xtreme - Prima (Unl) */
{0x11611e89, 241, -1}, /* Darkseed (Unl) [p1] */
{0x81a37827, 241, -1}, /* Darkseed (Unl) [p1][b1] */
{0xfb2b6b10, 241, -1}, /* Fan Kong Jing Ying (Ch) */
{0xb5e83c9a, 241, -1}, /* Xing Ji Zheng Ba (Ch) */
{0x368c19a8, 241, -1}, /* LIKO Study Cartridge 3-in-1 (Unl) [!] */
{0x54d98b79, 241, -1}, /* Titanic 1912 (Unl) */
{0xc2730c30, 34, 0}, /* Deadly Towers (U) [!] */
{0xa21e675c, 34, 0}, /* Mashou (J) [!] */
{0x6bea1235, 245, -1}, /* MMC3 cart, but with nobanking applied to CHR-RAM, so let it be there */
{0x345ee51a, 245, -1}, /* DQ4c */
{0x57514c6c, 245, -1}, /* Yong Zhe Dou E Long - Dragon Quest VI (Ch) */
{0xdb9d71b7, 114, -1}, /* Super Donkey Kong (Unl) [o1] */
{0x61fc4d20, 224, 0}, /* Pokemon HeartGold (KT-008 PCB)(Ch)[!] */
{0x4d735cb1, 224, 0}, /* Pokemon Platinum (KT-008 PCB)(Ch)[!] */
{0x4f427110, 224, 0}, /* Pokemon Platinum Alt title 1 (KT-008 PCB)(Ch)[!] */
{0xe001de16, 224, 0}, /* Pokemon Platinum Alt title 2 (KT-008 PCB)(Ch)[!] */
{0xbdbe3c96, 238, 1}, /* Contra Fighter (Unl) */
{0xcfe02ada, 1, -1}, /* Darkman (E) [!] */
{0xcb53c523, 11, 1}, /* King Neptune's Adventure (Color Dreams) [!] */
{0x6e149729, 189, -1}, /* Master Fighter II (Unl) [a1] */
{0x60bfeb0c, 90, -1}, /* Mortal Kombat 2 (Unl) [!] */
{0x247cc73d, 150, -1}, /* Poker II (Sachen) [!] */
{0xe41b440f, 3, 0}, /* Sidewinder (Joy Van) */
{0x1f1326d4, 121, 0}, /* Super Sonic 5 (1997) (Unl) [!] */
{0xb0c871c5, 3, 1}, /* Wei Lai Xiao Zi (Joy Van) */
{0xb3be2f71, 3, 0}, /* Yanshan Chess (Unl) */
{0x8dedea07, 3, 1}, /* Shui Guo Li (Ch) [a1] */
{0x1a71fd06, 1, 1}, /* Kujaku Ou (J) [T+Eng1.1_Snark] */
{0x99748230, 215, 0}, /* EarthWorm Jim 2 (SuperGame) */
{0x37876ac7, 215, 0}, /* Golden Card 6-in-1 (Unl) [!] */
{0x1a3320a3, 215, 0}, /* Mortal Kombat 3 (SuperGame) */
{0x80eb1839, 114, 0}, /* Boogerman (Sugar Softec) (Unl) [!] */
{0x071e4ee8, 114, 0}, /* m114,submapper 1 test rom */
{0xfe3e03a1, 197, -1}, /* Mortal Kombat III Special (YY-030) (Ch) [!] */
{0x9151d311, 197, -1}, /* Mortal Kombat III 28 Peoples (NT-328) (Ch) [!] */
{0x272709b9, 237, -1}, /* Teletubbies Y2K (420-in-1) */
{0x2e27e0af, 227, -1}, /* Bio Hazard (No-Bug) (Unl).nes */
{0x0e7e9309, 189, -1}, /* Street Fighter II - The World Warrior (Unl) [a1].nes */
{0xa3ac0095, 189, -1}, /* Street Fighter II - The World Warrior (Unl) [a2].nes */
{0xeced5899, 121, -1}, /* Ultimate Mortal Kombat 4 (Unl) [!].nes */
{ 0xaf5d7aa2, -1, 0 }, /* Clu Clu Land */
{ 0xcfb224e6, -1, 1 }, /* Dragon Ninja (J) [p1][!].nes */
{ 0x82f204ae, -1, 1 }, /* Liang Shan Ying Xiong (NJ023) (Ch) [!] */
{ 0x684afccd, -1, 1 }, /* Space Hunter (J) */
{ 0xad9c63e2, -1, 1 }, /* Space Shadow (J) */
{ 0xe1526228, -1, 1 }, /* Quest of Ki */
{ 0xaf5d7aa2, -1, 0 }, /* Clu Clu Land */
{ 0xcfb224e6, -1, 1 }, /* Dragon Ninja (J) [p1][!].nes */
{ 0xfcdaca80, 0, 0 }, /* Elevator Action */
{ 0xc05a365b, 0, 0 }, /* Exed Exes (J) */
{ 0xc4c3949a, 0, 0 }, /* Mario Bros. (World) */
{ 0x32fa246f, 0, 0 }, /* Tag Team Pro Wrestling */
{ 0x43D30C2F, 0, 0 }, /* Ms. Pac-Man (USA) (Unl) Tengen */
{ 0xb3c30bea, 0, 0 }, /* Xevious (J) */
{ 0xe492d45a, 0, 0 }, /* Zippy Race */
{ 0x24598791, 0, 1 }, /* Duck Hunt (World) */
{ 0x49aeb3a6, 0, 1 }, /* Excitebike (Japan, USA) */
{ 0xb8535ca3, 0, 1 }, /* Mahjong (Japan) */
{ 0x330de468, 0, 1 }, /* Obake no Q Tarou - Wanwan Panic (Japan) */
{ 0xe28f2596, 0, 1 }, /* Pac Land (J) */
{ 0x5112dc21, 0, 1 }, /* Wild Gunman (World) (Rev A) */
{ 0xd8ee7669, 1, 8 }, /* Adventures of Rad Gravity */
{ 0x5b837e8d, 1, 8 }, /* Alien Syndrome */
{ 0x37ba3261, 1, 8 }, /* Back to the Future 2 and 3 */
{ 0x5b6ca654, 1, 8 }, /* Barbie rev X*/
{ 0x61a852ea, 1, 8 }, /* Battle Stadium - Senbatsu Pro Yakyuu */
{ 0xf6fa4453, 1, 8 }, /* Bigfoot */
{ 0x391aa1b8, 1, 8 }, /* Bloody Warriors (J) */
{ 0xa5e8d2cd, 1, 8 }, /* Breakthru */
{ 0x3f56a392, 1, 8 }, /* Captain Ed (J) */
{ 0x078ced30, 1, 8 }, /* Choujin - Ultra Baseball */
{ 0xfe364be5, 1, 8 }, /* Deep Dungeon 4 */
{ 0x57c12280, 1, 8 }, /* Demon Sword */
{ 0xd09b74dc, 1, 8 }, /* Great Tank (J) */
{ 0xe8baa782, 1, 8 }, /* Gun Hed (J) */
{ 0x970bd9c2, 1, 8 }, /* Hanjuku Hero */
{ 0xcd7a2fd7, 1, 8 }, /* Hanjuku Hero */
{ 0x63469396, 1, 8 }, /* Hokuto no Ken 4 */
{ 0xe94d5181, 1, 8 }, /* Mirai Senshi - Lios */
{ 0x7156cb4d, 1, 8 }, /* Muppet Adventure Carnival thingy */
{ 0x70f67ab7, 1, 8 }, /* Musashi no Bouken */
{ 0x958e4bae, 1, 8 }, /* Orb 3D (USA) */
{ 0x291bcd7d, 1, 8 }, /* Pachio Kun 2 */
{ 0xa9a4ea4c, 1, 8 }, /* Satomi Hakkenden */
{ 0xcc3544b0, 1, 8 }, /* Triathron */
{ 0x52ab2d17, 1, 8 }, /* Toukyou Pachi-Slot Adventure (Japan) (Rev 0) */
{ 0x934db14a, 1, -1 },/* All-Pro Basketball */
{ 0xf74dfc91, 1, -1 },/* Win, Lose, or Draw */
{ 0xe6a477b2, 2, 1 }, /* 3-D WorldRunner (USA) */
{ 0x9ea1dc76, 2, 0 }, /* Rainbow Islands */
{ 0x6d65cac6, 2, 0 }, /* Terra Cresta */
{ 0xe1b260da, 2, 1 }, /* Argos no Senshi */
{ 0x1d0f4d6b, 2, 1 }, /* Black Bass thinging */
{ 0x266ce198, 2, 1 }, /* City Adventure Touch */
{ 0x804f898a, 2, 1 }, /* Dragon Unit */
{ 0x55773880, 2, 1 }, /* Gilligan's Island */
{ 0x6e0eb43e, 2, 1 }, /* Puss n Boots */
{ 0x2bb6a0f8, 2, 1 }, /* Sherlock Holmes */
{ 0x28c11d24, 2, 1 }, /* Sukeban Deka */
{ 0x02863604, 2, 1 }, /* Sukeban Deka */
{ 0x419461d0, 2, 1 }, /* Super Cars */
{ 0xdbf90772, 3, 0 }, /* Alpha Mission */
{ 0xd858033d, 3, 0 }, /* Armored Scrum Object */
{ 0xf283cf58, 3, 0 }, /* Colorful Dragon (Asia) (PAL) (Unl) */
{ 0xd858033d, 3, 0 }, /* Incantation (Asia) (Unl) */
{ 0x8f154a0d, 3, 0 }, /* Pu Ke Jing Ling (China) (Unl) */
{ 0xd04a40e6, 3, 0 }, /* Bingo 75 (Asia) (Unl) */
{ 0x637ba508, 3, 1 }, /* Adan y Eva (Spain) (Gluk Video) (Unl) */
{ 0xebd0644d, 3, 1 }, /* Dao Shuai (Asia) (Unl) */
{ 0x9bde3267, 3, 1 }, /* Adventures of Dino Riki */
{ 0xd8eff0df, 3, 1 }, /* Gradius (J) */
{ 0x1d41cc8c, 3, 1 }, /* Gyruss */
{ 0xcf322bb3, 3, 1 }, /* John Elway's Quarterback */
{ 0xb5d28ea2, 3, 1 }, /* Mystery Quest - mapper 3?*/
{ 0x02cc3973, 3, 1 }, /* Ninja Kid */
{ 0xbc065fc3, 3, 1 }, /* Pipe Dream */
{ 0xc9ee15a7, 3, -1 }, /* 3 is probably best. 41 WILL NOT WORK. */
{ 0x97b6cb19, 4, -1 },/* Aladdin (SuperGame) (Mapper 4) [!] */
{ 0xd97c31b0, 206, 1 }, /* Rasaaru Ishii no Childs Quest (J) */
{ 0x404b2e8b, 4, 2 }, /* Rad Racer 2 */
{ 0x15141401, 4, 8 }, /* Asmik Kun Land */
{ 0x4cccd878, 4, 8 }, /* Cat Ninden Teyandee */
{ 0x59280bec, 4, 8 }, /* Jackie Chan */
{ 0x7474ac92, 4, 8 }, /* Kabuki: Quantum Fighter */
{ 0xf2594374, 4, 8 }, /* Matendouji (Japan) */
{ 0x5337f73c, 4, 8 }, /* Niji no Silk Road */
{ 0x9eefb4b4, 4, 8 }, /* Pachi Slot Adventure 2 */
{ 0xafe03802, 4, 8 }, /* Pachio-kun 3 (Japan) (Rev A) */
{ 0x21a653c7, 4, -1 }, /* Super Sky Kid */
{ 0xdb7f07be, 4, -1 }, /* Toki (USA) (Beta) */
{ 0x9cbadc25, 5, 8 }, /* JustBreed */
{ 0xf518dd58, 7, 8 }, /* Captain Skyhawk */
{ 0x6c4a9735, 7, 8 }, /* WWF Wrestlemania (Europe) */
{ 0x84382231, 9, -1 }, /* Punch Out (J) */
{ 0xbe939fce, 9, -1 }, /* Punchout*/
{ 0x7b837fde, 9, -1 }, /* Mike Tyson's Punch-Out!! (PC10)*/
{ 0x345d3a1a, 11, 1 }, /* Castle of Deceit */
{ 0xb79f2651, 11, 1 }, /* Chiller (USA) (Unl) */
{ 0x5e66eaea, 13, 1 }, /* Videomation */
{ 0xcd373baa, 14, -1 }, /* Samurai Spirits (Rex Soft) */
{ 0xbfc7a2e9, 16, 8 }, /* Gokuu Den (J) [a1] */
{ 0x6e68e31a, 16, 8 }, /* Dragon Ball 3*/
{ 0x33b899c9, 16, -1 }, /* Dragon Ball - Dai Maou Fukkatsu (J) [!] */
{ 0xa262a81f, 16, -1 }, /* Rokudenashi Blues (J) */
{ 0x286fcd20, 21, -1 }, /* Ganbare Goemon Gaiden 2 - Tenka no Zaihou (J) [!] */
{ 0x335E6339, 23, -1 }, /* kung fu legend (unl)[!].nes */
{ 0x1A8D767B, 23, -1 }, /* kung fu legend (unl)[!p].nes */
{ 0x0E263D47, 23, -1 }, /* World Hero (Unl) (TV System Select) [!].nes */
{ 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 */
{ 0x8a7d0abe, 33, 8 }, /* Akira (J) [!] */
{ 0x376138d8, 33, 8 }, /* Akira (J) [a1] */
{ 0xadf606f6, 33, 8 }, /* Bakushou!! Jinsei Gekijou (J) [!] */
{ 0xbc7b1d0f, 33, 8 }, /* Bakushou!! Jinsei Gekijou 2 (J) [!] */
{ 0x7a497ae3, 33, 8 }, /* Don Doko Don (J) [!] */
{ 0xbaca10a9, 33, 8 }, /* Golf Ko Open (J) [!] */
{ 0xf80bdc50, 33, 8 }, /* Insector X (J) [!] */
{ 0x2a6559a1, 33, 8 }, /* Operation Wolf (J) [!] */
{ 0xaeb7fce9, 33, 8 }, /* Power Blazer (J) [!] */
{ 0xd920f9df, 33, 8 }, /* Takeshi no Sengoku Fuuunji (J) [!] */
{ 0x3cd4b420, 33, 8 }, /* Takeshi no Sengoku Fuuunji (Japan) (Beta) */
{ 0x4c7c1af3, 34, 1 }, /* Caesar's Palace */
{ 0x932ff06e, 34, 1 }, /* Classic Concentration */
{ 0xf46ef39a, 37, -1 }, /* Super Mario Bros. + Tetris + Nintendo World Cup (E) [!] */
{ 0x090C0C17, 42, 1 }, /* Ai Senshi Nicol (FDS Conversion) [p1][!].nes */
{ 0x4DF84825, 42, 1 }, /* Ai Senshi Nicol (FDS Conversion) [p2][!].nes */
{ 0x579E5BC5, 42, 1 }, /* Ai Senshi Nicol (FDS Conversion) [p3].nes */
{ 0xC744F205, 42, 1 }, /* Ai Senshi Nicol (FDS Conversion) [p3][t1].nes */
{ 0x71699765, 42, -1 }, /* Love Warrior Nicol.nes */
{ 0x6BF3F6A3, 42, -1 }, /* Bio Miracle Bokutte Upa (J) (Mario Baby - FDS Conversion).nes */
{ 0x5BA1C5CF, 42, -1 }, /* Green Beret (FDS Conversion) (Unl).nes (256K PRG) */
{ 0x50AB1AB2, 42, -1 }, /* Green Beret (FDS Conversion, LH09) (Unl) [U][!][t1] (160K PRG */
{ 0x7ccb12a3, 43, -1 }, /* SMB2j */
{ 0x6c71feae, 45, -1 }, /* Kunio 8-in-1 */
{ 0x40c0ad47, 48, 8 }, /* Flintstones 2 */
{ 0xaebd6549, 48, 8 }, /* Bakushou!! Jinsei Gekijou 3 (J) [!] */
{ 0x6cdc0cd9, 48, 8 }, /* Bubble Bobble 2 (J) */
{ 0x99c395f9, 48, 8 }, /* Captain Saver (J) */
{ 0xa7b0536c, 48, 8 }, /* Don Doko Don 2 (J) [!] */
{ 0xb17c828a, 48, 8 }, /* Don Doko Don 2 (J) [a1] */
{ 0x10e24006, 48, 8 }, /* Flintstones, The - The Rescue of Dino & Hoppy (J) */
{ 0x1500e835, 48, 8 }, /* Jetsons, The - Cogswell's Caper! (J) */
{ 0xe2c94bc2, 48, 8 }, /* Super Bros 8 (Unl) [!] */
{ 0xa912b064, 51|0x800, 8 }, /* 11-in-1 Ball Games(has CHR ROM when it shouldn't) */
{ 0x39ab0fc7, 64, 8 }, /* Hard Drivin' (USA) (Proto) (Unl) */
{ 0xb19a55dd, 64, 8 }, /* Road Runner */
{ 0xf92be3ec, 64, -1 }, /* Rolling Thunder */
{ 0xd114f544, 66, 0 }, /* AV Super Real Pachinko (Japan) (Unl) */
{ 0xe84274c5, 66, 1 }, /* Mississippi Satsujin Jiken (J) [h2] */
{ 0xbde3ae9b, 66, 1 }, /* Doraemon */
{ 0x9552e8df, 66, 1 }, /* Dragon Ball */
{ 0x811f06d9, 66, 1 }, /* Dragon Power */
{ 0xd26efd78, 66, 1 }, /* SMB Duck Hunt */
{ 0xdd8ed0f7, 70, 1 }, /* Kamen Rider Club */
{ 0xbba58be5, 70, -1 }, /* Family Trainer - Manhattan Police */
{ 0x370ceb65, 70, -1 }, /* Family Trainer - Meiro Dai Sakusen */
{ 0x86be4746, 2, -1 }, /* Dooly Bravo Land (Korea) (Unl) */
{ 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) */
{ 0xba51ac6f, 78, 2}, /* Holy Diver (J) [!] */
{ 0x3d1c3137, 78, 8 }, /* Uchuusen - Cosmo Carrier */
{ 0xa4fbb438, 79, 0 }, /* F-15 City War (AVE) (REV1.x) [b1] */
{ 0xd4a76b07, 79, 0 }, /* F-15 City Wars*/
{ 0x8eab381c, 79, 1 }, /* Death Bots --changed 2017-29-26 */
{ 0x1eb4a920, 79, 1 }, /* Double Strike */
{ 0x3e1271d5, 79, 1 }, /* Tiles of Fate */
{ 0x2deb12b8, 79, 1 }, /* Venice Beach Volleyball (Asia) (Unl) */
{ 0xd2699893, 88, 0 }, /* Dragon Spirit */
{ 0xbb7c5f7a, 89, 8 }, /* Mito Koumon or something similar */
{ 0x10119e6b, 93, 8 }, /* Fantasy Zone (Japan) */
{ 0x2b750bf9, 101, 1 }, /* Urusei Yatsura - Lum no Wedding Bell (Japan) (Beta) */
{ 0x0da5e32e, 101, 1 }, /* Urusei Yatsura - Lum no Wedding Bell (Japan) */
{ 0x6096f84e, 104, 1 }, /* Pegasus 5-in-1 (Golden Five) (Unl) */
{ 0x3d3ff543, 113, 0 }, /* Kazama Jun to Asama Yuuko no AV Dragon Mahjong (Japan) (Unl) */
{ 0x68379fdb, 113, 1 }, /* Pipemania (Australia) (HES) (Unl) */
{ 0x6a03d3f3, 114, -1 }, /* Lion King, The (Unl) (Mapper 114) */
{ 0x0d98db53, 114, -1 }, /* Pocahontas */
{ 0x4e7729ff, 114, -1 }, /* Super Donkey Kong */
{ 0xc5e5c5b2, 115, -1 }, /* Bao Qing Tian (As).nes */
{ 0xe40dfb7e, 116, -1 }, /* Somari (P conf.) */
{ 0xc9371ebb, 116, -1 }, /* Somari (W conf.) */
{ 0x78b657ac, 118, -1 }, /* Armadillo */
{ 0x90c773c1, 118, -1 }, /* Goal! 2 */
{ 0xb9b4d9e0, 118, -1 }, /* NES Play Action Football */
{ 0x07d92c31, 118, -1 }, /* RPG Jinsei Game */
{ 0x37b62d04, 118, -1 }, /* Ys 3 */
{ 0x318e5502, 121, -1 }, /* Sonic 3D Blast 6 (Unl) */
{ 0xddcfb058, 121, -1 }, /* Street Fighter Zero 2 '97 (Unl) [!] */
{ 0xd2674b0a, 132, 0 }, /* Qi Wang - Chinese Chess (Asia) (Unl) */
{ 0x5aefbc94, 133, -1 }, /* Jovial Race (Sachen) [a1][!] */
{ 0xc2df0a00, 140, 1 }, /* Bio Senshi Dan(hacked) */
{ 0xe46b1c5d, 140, 1 }, /* Mississippi Satsujin Jiken */
{ 0x3293afea, 140, 1 }, /* Mississippi Satsujin Jiken */
{ 0x6bc65d7e, 140, 1 }, /* Youkai Club*/
{ 0x5caa3e61, 144, 1 }, /* Death Race */
{ 0x48239b42, 146, -1 }, /* Mahjong Companion (Sachen) [!] */
{ 0xb6a727fa, 146, -1 }, /* Papillion (As) [!] */
{ 0xa62b79e1, 146, -1 }, /* Side Winder (HES) [!] */
{ 0xcc868d4e, 149, -1 }, /* 16 Mahjong [p1][!] */
{ 0x29582ca1, 150, -1 }, /* Mei Nu Quan (Honey Peach) (Sachen) [!] */
{ 0x40dbf7a2, 150, -1 }, /* Olympic IQ (Sachen) [!] */
{ 0x73fb55ac, 150, -1 }, /* 2-in-1 Cosmo Cop + Cyber Monster (Sachen) [!] */
{ 0xddcbda16, 150, -1 }, /* 2-in-1 Tough Cop + Super Tough Cop (Sachen) [!] */
{ 0x47918d84, 150, -1 }, /* Auto-Upturn */
{ 0x471173E7, 150, -1 }, /* Chinese Checkers (Asia) (PAL) (Unl) */
{ 0x2394ae1c, 150, -1 }, /* Happy Pairs (Asia) (PAL) (Unl) */
{ 0xcab40a6c, 150, -1 }, /* Magic Cube (Asia) (PAL) (Unl) */
{ 0xbe17e27b, 150, -1 }, /* Poker III (Asia) (Unl) */
{ 0x34ddf806, 150, -1 }, /* Strategist (Asia) (NTSC) (Unl) */
{ 0xc06facfc, 150, -1 }, /* Strategist (Asia) (PAL) (Unl) */
{ 0xa95a915a, 150, -1 }, /* Tasac (Asia) (Unl) */
{ 0x0f141525, 152, 8 }, /* Arkanoid 2 (Japanese) */
{ 0xbda8f8e4, 152, 8 }, /* Gegege no Kitarou 2 */
{ 0xb1a94b82, 152, 8 }, /* Pocket Zaurus */
{ 0x026c5fca, 152, 8 }, /* Saint Seiya Ougon Densetsu */
{ 0x3f15d20d, 153, 8 }, /* Famicom Jump 2 */
{ 0xd1691028, 154, 8 }, /* Devil Man */
{ 0xcfd4a281, 155, 8 }, /* Money Game. Yay for money! */
{ 0x2f27cdef, 155, 8 }, /* Tatakae!! Rahmen Man */
{ 0xc1719664, 155, 8 }, /* Tatakae!! Rahmen Man - Sakuretsu Choujin 102 Gei (Japan) */
{ 0xccc03440, 156, -1 }, /* Buzz and Waldog (U) (Prototype) [!] */
{ 0x983d8175, 157, 8 }, /* Datach Battle Rush */
{ 0x894efdbc, 157, 8 }, /* Datach Crayon Shin Chan */
{ 0x19e81461, 157, 8 }, /* Datach DBZ */
{ 0xbe06853f, 157, 8 }, /* Datach J-League */
{ 0x0be0a328, 157, 8 }, /* Datach SD Gundam Wars */
{ 0x5b457641, 157, 8 }, /* Datach Ultraman Club */
{ 0xf51a7f46, 157, 8 }, /* Datach Yuu Yuu Hakusho */
{ 0xcbf4366f, 158, 8 }, /* Alien Syndrome (U.S. unlicensed) */
{ 0xe170404c, 159, -1 }, /* SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.0) [!] */
{ 0x276ac722, 159, -1 }, /* SD Gundam Gaiden - Knight Gundam Monogatari (J) (V1.1) [!] */
{ 0x0cf42e69, 159, -1 }, /* Magical Taruruuto-kun - Fantastic World!! (J) (V1.0) [!] */
{ 0xdcb972ce, 159, -1 }, /* Magical Taruruuto-kun - Fantastic World!! (J) (V1.1) [!] */
{ 0xb7f28915, 159, -1 }, /* Magical Taruruuto-kun 2 - Mahou Daibouken (J) */
{ 0x183859d2, 159, -1 }, /* Dragon Ball Z - Kyoushuu! Saiya Jin (J) [!] */
{ 0x58152b42, 160, 1 }, /* Pipe 5 (Sachen) */
{ 0x1c098942, 162, -1 }, /* Xi You Ji Hou Zhuan (Ch) */
{ 0x081caaff, 163, -1 }, /* Commandos (Ch) */
{ 0x02c41438, 176, -1 }, /* Xing He Zhan Shi (C) */
{ 0x409601a5, 176, -1 }, /* 4-in-1 (BS-8088) [p1][!] */
{ 0xa391549d, 176, -1 }, /* 4-in-1 (FK23C8021) [p1][!] */
{ 0x06d13d9e, 176, -1 }, /* 4-in-1 (FK23C8026) [p1][!] */
{ 0x2ebd5fd6, 176, -1 }, /* 4-in-1 (FK23C8033) [p1][!] */
{ 0x23e4906a, 176, -1 }, /* 4-in-1 (FK23C8043) [p1][!] */
{ 0x10155a92, 176, -1 }, /* 4-in-1 (FK23C8045) [p1][!] */
{ 0x8baeedc0, 176, -1 }, /* 4-in-1 (FK23C8052) [p1][!] */
{ 0x39307391, 176, -1 }, /* 4-in-1 (FK23C8056) [p1][!] */
{ 0x72ceab1e, 176, -1 }, /* 4-in-1 (FK23C8078) (Ch) [p1] */
{ 0x07d3f6cb, 176, -1 }, /* 4-in-1 (FK23C8079) [p1][!] */
{ 0xc6d97331, 176, -1 }, /* 4-in-1 (FK23Cxxxx, S-0210A PCB)[p1][!] */
{ 0x17d43af9, 176, -1 }, /* 5-in-1 (K5003) [p1][!]-1125) (Ch) */
{ 0x20379331, 176, -1 }, /* Mortal Kombat 30 Peoples (DH1043) (Ch) */
{ 0x558c0dc3, 178, -1 }, /* Super 2in1 (unl)[!] {mapper unsupported} */
{ 0xc68363f6, 180, 0 }, /* Crazy Climber */
{ 0x0f05ff0a, 181, -1 }, /* Seicross (redump) */
{ 0x96ce586e, 189, 8 }, /* Street Fighter 2 YOKO */
{ 0x0E76E4C1, 190, 0 }, /* Magic Kid Googoo */
{ 0x555a555e, 191, -1 }, /* Sugoro Quest - Dice no Senshitachi (Ch) */
{ 0x2cc381f6, 191, -1 }, /* Sugoro Quest - Dice no Senshitachi (As) */
{ 0xa145fae6, 192, -1 }, /* Young Chivalry (Ch) [b3] */
{ 0xa9115bc1, 192, -1 }, /* Young Chivalry (Ch) [!] */
{ 0x4c7bbb0e, 192, -1 }, /* Young Chivalry (Ch) [b2] */
{ 0x98c1cd4b, 192, -1 }, /* Ying Lie Qun Xia Zhuan (Chinese) */
{ 0xee810d55, 192, -1 }, /* You Ling Xing Dong (Ch) */
{ 0x442f1a29, 192, -1 }, /* Young chivalry */
{ 0x637134e8, 193, 1 }, /* Fighting Hero */
{ 0xa925226c, 194, -1 }, /* Dai-2-Ji - Super Robot Taisen (As) */
{ 0x7f3dbf1b, 195, 0 }, /* Chaos World (Ch) */
{ 0xb616885c, 195, 0 }, /* CHaos WOrld (Ch)*/
{ 0x33c5df92, 195, -1 }, /* Captain Tsubasa Vol. II - Super Striker (Ch) [a1] */
{ 0x1bc0be6c, 195, -1 }, /* Captain Tsubasa Vol 2 - Super Striker (C) */
{ 0xd5224fde, 195, -1 }, /* Crystalis (c) */
{ 0xfdec419f, 196, -1 }, /* Street Fighter VI 16 Peoples (Unl) [!] */
{ 0x700705f4, 198, -1 },
{ 0x9a2cf02c, 198, -1 },
{ 0xd8b401a7, 198, -1 },
{ 0x28192599, 198, -1 },
{ 0x19b9e732, 198, -1 }, /* Tenchi wo Kurau II - Shokatsu Koumei Den (J) (PRG0) [T-Chi] */
{ 0xdd431ba7, 198, -1 }, /* Tenchi wo kurau 2 (c) */
{ 0xd871d3e6, 199, -1 }, /* Dragon Ball Z 2 - Gekishin Freeza! (C) */
{ 0xed481b7c, 199, -1 }, /* Dragon Ball Z Gaiden - Saiya Jin Zetsumetsu Keikaku (C) */
{ 0x44c20420, 199, -1 }, /* San Guo Zhi 2 (C) */
{ 0x44c20420, 199, -1 }, /* San Guo Zhi 2 (C) */
{ 0x05658DED, 201, -1 }, /* 21-in-1 (CF-043) (2006-V) (Unl) [p1].nes, submapper 15 */
{ 0x276237b3, 206, 0 }, /* Karnov */
{ 0xa5e6baf9, 206, 1 }, /* Dragon Slayer 4 - Drasle Family (Japan) */
{ 0x4f2f1846, 206, 1 }, /* Famista '89 - Kaimaku Han!! (J) */
{ 0x22d6d5bd, 206, 1 }, /* Jikuu Yuuden - Debias (J) */
{ 0x9d21fe96, 206, 1 }, /* Lupin Sansei - Pandora no Isan (Japan) */
{ 0xae321339, 206, 1 }, /* Pro Yakyuu - Family Stadium '88 (Japan) */
{ 0x96dfc776, 206, 1 }, /* R.B.I. Baseball 2 (USA) (Unl) */
{ 0xfd63e7ac, 206, 1 }, /* R.B.I. Baseball 3 (USA) (Unl) */
{ 0x2a01f9d1, 206, 1 }, /* Wagyan Land (Japan) */
{ 0x7678f1d5, 207, 8 }, /* Fudou Myouou Den */
{ 0x07eb2c12, 208, -1 }, /* Street Fighter IV */
{ 0xdd8ced31, 209, -1 }, /* Power Rangers 3 */
{ 0x063b1151, 209, -1 }, /* Power Rangers 4 */
{ 0xdd4d9a62, 209, -1 }, /* Shin Samurai Spirits 2 */
{ 0x0c47946d, 210, 1 }, /* Chibi Maruko Chan */
{ 0xc247cc80, 210, 1 }, /* Family Circuit '91 */
{ 0x808606f0, 210, 1 }, /* Famista '91 */
{ 0x6ec51de5, 210, 1 }, /* Famista '92 */
{ 0xadffd64f, 210, 1 }, /* Famista '93 */
{ 0x429103c9, 210, 1 }, /* Famista '94 */
{ 0x81b7f1a8, 210, 1 }, /* Heisei Tensai Bakabon */
{ 0x2447e03b, 210, 1 }, /* Top Striker */
{ 0x1dc0f740, 210, 1 }, /* Wagyan Land 2 */
{ 0xd323b806, 210, 1 }, /* Wagyan Land 3 */
{ 0xbd523011, 210, 0 }, /* Namco Prism Zone - Dream Master (Japan) */
{ 0x5daae69a, 211, -1 }, /* Aladdin - Return of Jaffar, The (Unl) [!] */
{ 0x1ec1dfeb, 217, -1 }, /* 255-in-1 (Cut version) [p1] */
{ 0x046d70cc, 217, -1 }, /* 500-in-1 (Anim Splash, Alt Mapper)[p1][!] */
{ 0x12f86a4d, 217, -1 }, /* 500-in-1 (Static Splash, Alt Mapper)[p1][!] */
{ 0xd09f778d, 217, -1 }, /* 9999999-in-1 (Static Splash, Alt Mapper)[p1][!] */
{ 0x62ef6c79, 232, 8 }, /* Quattro Sports -Aladdin */
{ 0x2705eaeb, 234, -1 }, /* Maxi 15 */
{ 0x80CBCACB, 235, -1 }, /* 100-in-1 (Unl).nes */
{ 0x6175B9A0, 235, -1 }, /* 150_in_1_199x-ASp */
{ 0x745A6791, 235, -1 }, /* 210-in-1 and Contra 4-in-1 (212-in-1,212 Hong Kong,Reset Based)(Unl).nes */
{ 0xDF81364D, 235, -1 }, /* 260-in-1 [p1][!].nes */
{ 0xA38F2F1D, 235, -1 }, /* 1500-in-1.nes */
{ 0x6f12afc5, 235, -1 }, /* Golden Game 150-in-1 */
{ 0x2537b3e6, 241, -1 }, /* Dance Xtreme - Prima (Unl) */
{ 0x11611e89, 241, -1 }, /* Darkseed (Unl) [p1] */
{ 0x81a37827, 241, -1 }, /* Darkseed (Unl) [p1][b1] */
{ 0xfb2b6b10, 241, -1 }, /* Fan Kong Jing Ying (Ch) */
{ 0xb5e83c9a, 241, -1 }, /* Xing Ji Zheng Ba (Ch) */
{ 0x368c19a8, 241, -1 }, /* LIKO Study Cartridge 3-in-1 (Unl) [!] */
{ 0x54d98b79, 241, -1 }, /* Titanic 1912 (Unl) */
{ 0xc2730c30, 34, 0 }, /* Deadly Towers (U) [!] */
{ 0xa21e675c, 34, 0 }, /* Mashou (J) [!] */
{ 0x6bea1235, 245, -1 }, /* MMC3 cart, but with nobanking applied to CHR-RAM, so let it be there */
{ 0x345ee51a, 245, -1 }, /* DQ4c */
{ 0x57514c6c, 245, -1 }, /* Yong Zhe Dou E Long - Dragon Quest VI (Ch) */
{ 0xdb9d71b7, 114, -1 }, /* Super Donkey Kong (Unl) [o1] */
{ 0x61fc4d20, 224, 0 }, /* Pokemon HeartGold (KT-008 PCB)(Ch)[!] */
{ 0x4d735cb1, 224, 0 }, /* Pokemon Platinum (KT-008 PCB)(Ch)[!] */
{ 0x4f427110, 224, 0 }, /* Pokemon Platinum Alt title 1 (KT-008 PCB)(Ch)[!] */
{ 0xe001de16, 224, 0 }, /* Pokemon Platinum Alt title 2 (KT-008 PCB)(Ch)[!] */
{ 0xbdbe3c96, 238, 1 }, /* Contra Fighter (Unl) */
{ 0xcfe02ada, 1, -1 }, /* Darkman (E) [!] */
{ 0xcb53c523, 11, 1 }, /* King Neptune's Adventure (Color Dreams) [!] */
{ 0x6e149729, 189, -1 }, /* Master Fighter II (Unl) [a1] */
{ 0x60bfeb0c, 90, -1 }, /* Mortal Kombat 2 (Unl) [!] */
{ 0x247cc73d, 150, -1 }, /* Poker II (Sachen) [!] */
{ 0xe41b440f, 3, 0 }, /* Sidewinder (Joy Van) */
{ 0x1f1326d4, 121, 0 }, /* Super Sonic 5 (1997) (Unl) [!] */
{ 0xb0c871c5, 3, 1 }, /* Wei Lai Xiao Zi (Joy Van) */
{ 0xb3be2f71, 3, 0 }, /* Yanshan Chess (Unl) */
{ 0x8dedea07, 3, 1 }, /* Shui Guo Li (Ch) [a1] */
{ 0x1a71fd06, 1, 1 }, /* Kujaku Ou (J) [T+Eng1.1_Snark] */
{ 0x99748230, 215, 0 }, /* EarthWorm Jim 2 (SuperGame) */
{ 0x37876ac7, 215, 0 }, /* Golden Card 6-in-1 (Unl) [!] */
{ 0x1a3320a3, 215, 0 }, /* Mortal Kombat 3 (SuperGame) */
{ 0x80eb1839, 114, 0 }, /* Boogerman (Sugar Softec) (Unl) [!] */
{ 0x071e4ee8, 114, 0 }, /* m114,submapper 1 test rom */
{ 0xfe3e03a1, 197, -1 }, /* Mortal Kombat III Special (YY-030) (Ch) [!] */
{ 0x9151d311, 197, -1 }, /* Mortal Kombat III 28 Peoples (NT-328) (Ch) [!] */
{ 0x272709b9, 237, -1 }, /* Teletubbies Y2K (420-in-1) */
{ 0x2e27e0af, 227, -1 }, /* Bio Hazard (No-Bug) (Unl).nes */
{ 0x0e7e9309, 189, -1 }, /* Street Fighter II - The World Warrior (Unl) [a1].nes */
{ 0xa3ac0095, 189, -1 }, /* Street Fighter II - The World Warrior (Unl) [a2].nes */
{ 0xeced5899, 121, -1 }, /* Ultimate Mortal Kombat 4 (Unl) [!].nes */
{0x19C1ED51, 150, -1}, /* Poker III (Asia) (Ja) (Unl).nes */
{0x282745C5, 141, -1}, /* Q Boy (Asia) (Ja) (Unl).nes */
{0x4B9ECFB2, 21, -1}, /* Wai Wai World 2 - SOS!! Paseri Jou (Japan) (Virtual Console).nes */
{0x33751782, 4, -1}, /* Zoda's Revenge - StarTropics II (USA, Europe) (Virtual Console).nes */
{0x9BBF3E5D, 15, -1}, /* 168-in-1 New Contra Function 16 */
{ 0x19C1ED51, 150, -1 }, /* Poker III (Asia) (Ja) (Unl).nes */
{ 0x282745C5, 141, -1 }, /* Q Boy (Asia) (Ja) (Unl).nes */
{ 0x4B9ECFB2, 21, -1 }, /* Wai Wai World 2 - SOS!! Paseri Jou (Japan) (Virtual Console).nes */
{ 0x33751782, 4, -1 }, /* Zoda's Revenge - StarTropics II (USA, Europe) (Virtual Console).nes */
{ 0x9BBF3E5D, 15, -1 }, /* 168-in-1 New Contra Function 16 */
/* TXC / Sachen / JoyVan */
/* This cart does not work anymore with latest mapper implementation.
* This will be run using alternate mapper using override in m132 */
{0x2a5f4c5a, 132, -1}, /* /Zhan Guo Si Chuan Sheng (C&E) (Unl).nes */
{ 0x2a5f4c5a, 132, -1 }, /* /Zhan Guo Si Chuan Sheng (C&E) (Unl).nes */
{0x0acfc3cd, 132, -1}, /* Mahjong Block (MGC-008) (Unl) [!].nes */
{ 0x0acfc3cd, 132, -1 }, /* Mahjong Block (MGC-008) (Unl) [!].nes */
/* ines mappers that uses iNes 2.0 numbers */
{0xf6bd8e31, 281, 0}, /* 1997 Super HIK 4-in-1 (JY-052) [p1][!] */
{0x5aa23a15, 361, 0}, /* 4-in-1 (OK-411)[p1][!] */
{0xf6b9d088, 366, 0}, /* 4-in-1 (K-3131GS, GN-45) [p1][!] */
{0x503566b2, 366, 0}, /* 4-in-1 (K-3131SS, GN-45) [p1][!] */
{0xDB2D2D88, 369, -1}, /* Super Mario Bros. Party.nes */
{ 0xf6bd8e31, 281, 0 }, /* 1997 Super HIK 4-in-1 (JY-052) [p1][!] */
{ 0x5aa23a15, 361, 0 }, /* 4-in-1 (OK-411)[p1][!] */
{ 0xf6b9d088, 366, 0 }, /* 4-in-1 (K-3131GS, GN-45) [p1][!] */
{ 0x503566b2, 366, 0 }, /* 4-in-1 (K-3131SS, GN-45) [p1][!] */
{ 0xDB2D2D88, 369, -1 }, /* Super Mario Bros. Party.nes */
/* ines mappers that uses unif boards */
{0x0073dbd8, 260, -1}, /* 2-in-1 - Mortal Kombat V Turbo 30 + Super Aladdin (Unl) [p1][!] */
{0x4dc6107d, 260, -1}, /* 2-in-1 - Boogerman + Flintstones, The (Unl) [p1][!] */
{0xb72b2cf4, 260, -1}, /* 2-in-1 - Aladdin + Lion King, The (Unl) [p1][!] */
{0xa1dc16c0, 262, -1}, /* Street Heroes (Asia) (Ja) (Unl */
{0x1df10182, 263, -1}, /* Boogerman II (Rex-Soft) [!].nes */
{0xf956fcea, 521, -1}, /* Korean Igo (Korea) (Unl) */
{0x2EED2E34, 289, -1}, /* 76-in-1 [p1][a1].nes 2048 PRG, 0 CHR */
{ 0x0073dbd8, 260, -1 }, /* 2-in-1 - Mortal Kombat V Turbo 30 + Super Aladdin (Unl) [p1][!] */
{ 0x4dc6107d, 260, -1 }, /* 2-in-1 - Boogerman + Flintstones, The (Unl) [p1][!] */
{ 0xb72b2cf4, 260, -1 }, /* 2-in-1 - Aladdin + Lion King, The (Unl) [p1][!] */
{ 0x5638BA59, 260, -1 }, /* Mortal Kombat Trilogy - 8 People (M1274) (Ch) [!].nes */
{ 0xa1dc16c0, 262, -1 }, /* Street Heroes (Asia) (Ja) (Unl */
{ 0x1df10182, 263, -1 }, /* Boogerman II (Rex-Soft) [!].nes */
{ 0xf956fcea, 521, -1 }, /* Korean Igo (Korea) (Unl) */
{ 0x2EED2E34, 289, -1 }, /* 76-in-1 [p1][a1].nes 2048 PRG, 0 CHR */
{0x00000000, -1, -1}
{ 0x00000000, -1, -1 }
#endif

View File

@@ -571,7 +571,7 @@ static BMAPPING bmap[] = {
{ "HP2018-A", 260, BMCHPxx_Init, 0 },
{ "CHINA_ER_SAN2", 19, Mapper19_Init, 0 },
{ "WAIXING-FW01", 227, Mapper227_Init, 0 },
{ "WAIXING-FS005", 176, BMCFK23C_Init, 0 },
{ "WAIXING-FS005", 176, WAIXINGFS005_Init, 0 },
{ "80013-B", 274, BMC80013B_Init, 0 },
{ "TH2131-1", 308, UNLTH21311_Init, 0 },
{ "LH51", 309, LH51_Init, 0 },

View File

@@ -194,6 +194,7 @@ void BS110_Init(CartInfo *info);
void WellNoDG450_Init(CartInfo *info);
void AbG1l_Init(CartInfo *info);
void KG256_Init(CartInfo *info);
void WAIXINGFS005_Init(CartInfo *info);
#ifdef COPYFAMI
void MapperCopyFamiMMC3_Init(CartInfo *info);