New Clones

- added Knuckle Bash (Korean PCB) [caius]
- added Mighty Monkey (Kaina Games, bootleg on Scramble hardware) [Team Europe]
This commit is contained in:
jackchatelet 2015-08-25 12:24:37 +00:00
parent a892b667b2
commit 6a86d841c0
2 changed files with 168 additions and 34 deletions

View File

@ -15801,6 +15801,30 @@ static struct BurnRomInfo MimonscrRomDesc[] = {
STD_ROM_PICK(Mimonscr)
STD_ROM_FN(Mimonscr)
static struct BurnRomInfo MimonscraRomDesc[] = {
{ "1.c2", 0x01000, 0xcfff26f3, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG1 },
{ "2.e2", 0x01000, 0x1fca805f, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG1 },
{ "3.f2", 0x01000, 0x24ce1ce3, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG1 },
{ "4.h2", 0x01000, 0xc83fb639, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG1 },
{ "5.j2", 0x01000, 0xa9f12dfc, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG1 },
{ "6.l2", 0x01000, 0xe492a40c, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG1 },
{ "7.m2", 0x01000, 0x5339928d, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG1 },
{ "8.p2", 0x01000, 0x0b9915b8, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG1 },
{ "2732.c5", 0x01000, 0x5995f24b, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG2 },
{ "2732.d5", 0x01000, 0x35ed0f96, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG2 },
{ "top.g5", 0x01000, 0xf73a8412, BRF_GRA | GAL_ROM_TILES_SHARED },
{ "bottom.g5", 0x01000, 0x3828c9db, BRF_GRA | GAL_ROM_TILES_SHARED },
{ "top.f5", 0x01000, 0x9e0e9289, BRF_GRA | GAL_ROM_TILES_SHARED },
{ "bottom.f5", 0x01000, 0x92085b0c, BRF_GRA | GAL_ROM_TILES_SHARED },
{ "mb7051.6e", 0x00020, 0x4e3caeab, BRF_GRA | GAL_ROM_PROM },
};
STD_ROM_PICK(Mimonscra)
STD_ROM_FN(Mimonscra)
UINT8 __fastcall ExplorerZ80Read(UINT16 a)
{
switch (a) {
@ -17451,6 +17475,16 @@ struct BurnDriver BurnDrvMimonscr = {
NULL, 392, 224, 256, 3, 4
};
struct BurnDriver BurnDrvMimonscra = {
"mimonscra", "mimonkey", NULL, NULL, "198?",
"Mighty Monkey (Kaina Games, bootleg on Scramble hardware)\0", NULL, "bootleg (Kaina Games)", "Galaxian",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_BOOTLEG, 2, HARDWARE_GALAXIAN, GBF_HORSHOOT, 0,
NULL, MimonscraRomInfo, MimonscraRomName, NULL, NULL, AtlantisInputInfo, MimonkeyDIPInfo,
MimonscrInit, KonamiExit, GalFrame, NULL, GalScan,
NULL, 392, 224, 256, 3, 4
};
// Scramble based hardware with one CPU and one AY8910
static struct BurnRomInfo TriplepRomDesc[] = {
{ "triplep.2g", 0x01000, 0xc583a93d, BRF_ESS | BRF_PRG | GAL_ROM_Z80_PROG1 },

View File

@ -13,21 +13,37 @@ static bool bVBlank;
// Rom information
static struct BurnRomInfo drvRomDesc[] = {
{ "tp023_01.bin", 0x080000, 0x2965F81D, BRF_ESS | BRF_PRG }, // 0 CPU #0 code
{ "tp023_01.bin", 0x080000, 0x2965f81d, BRF_ESS | BRF_PRG }, // 0 CPU #0 code
{ "tp023_3.bin", 0x200000, 0x32AD508B, BRF_GRA }, // 1 GP9001 Tile data
{ "tp023_5.bin", 0x200000, 0xB84C90EB, BRF_GRA }, // 2
{ "tp023_4.bin", 0x200000, 0xE493C077, BRF_GRA }, // 3
{ "tp023_6.bin", 0x200000, 0x9084B50A, BRF_GRA }, // 4
{ "tp023_3.bin", 0x200000, 0x32ad508b, BRF_GRA }, // 1 GP9001 Tile data
{ "tp023_5.bin", 0x200000, 0xb84c90eb, BRF_GRA }, // 2
{ "tp023_4.bin", 0x200000, 0xe493c077, BRF_GRA }, // 3
{ "tp023_6.bin", 0x200000, 0x9084b50a, BRF_GRA }, // 4
{ "tp023_02.bin", 0x008000, 0x4CD882A1, BRF_ESS | BRF_PRG }, // 5 Sound CPU
{ "tp023_7.bin", 0x040000, 0x3732318F, BRF_SND }, // 6 ADPCM data
{ "tp023_02.bin", 0x008000, 0x4cd882a1, BRF_ESS | BRF_PRG }, // 5 Sound CPU
{ "tp023_7.bin", 0x040000, 0x3732318f, BRF_SND }, // 6 ADPCM data
};
STD_ROM_PICK(drv)
STD_ROM_FN(drv)
static struct BurnRomInfo drvkRomDesc[] = {
{ "tp023_01.u52", 0x080000, 0x099aefbc, BRF_ESS | BRF_PRG }, // 0 CPU #0 code
{ "tp023_3.bin", 0x200000, 0x32ad508b, BRF_GRA }, // 1 GP9001 Tile data
{ "tp023_5.bin", 0x200000, 0xb84c90eb, BRF_GRA }, // 2
{ "tp023_4.bin", 0x200000, 0xe493c077, BRF_GRA }, // 3
{ "tp023_6.bin", 0x200000, 0x9084b50a, BRF_GRA }, // 4
{ "tp023_02.bin", 0x008000, 0x4cd882a1, BRF_ESS | BRF_PRG }, // 5 Sound CPU
{ "tp023_7.bin", 0x040000, 0x3732318f, BRF_SND }, // 6 ADPCM data
};
STD_ROM_PICK(drvk)
STD_ROM_FN(drvk)
static struct BurnInputInfo kbashInputList[] = {
{"P1 Coin", BIT_DIGITAL, DrvButton + 3, "p1 coin"},
{"P1 Start", BIT_DIGITAL, DrvButton + 5, "p1 start"},
@ -67,9 +83,9 @@ static struct BurnDIPInfo kbashDIPList[] = {
{0x16, 0xFF, 0x0F, 0x00, NULL},
// DIP 1
{0, 0xFE, 0, 2, "Continue Mode"},
{0x14, 0x01, 0x01, 0x00, "Discount off"},
{0x14, 0x01, 0x01, 0x01, "Continue discount"},
{0, 0xFE, 0, 2, "Continue Price"},
{0x14, 0x01, 0x01, 0x00, "Normal"},
{0x14, 0x01, 0x01, 0x01, "Discount"},
{0, 0xFE, 0, 2, "Screen Type"},
{0x14, 0x01, 0x02, 0x00, "Normal screen"},
{0x14, 0x01, 0x02, 0x02, "Invert screen"},
@ -101,40 +117,115 @@ static struct BurnDIPInfo kbashDIPList[] = {
{0x15, 0x01, 0x0C, 0x04, "100000 only"},
{0x15, 0x01, 0x0C, 0x08, "200000 only"},
{0x15, 0x01, 0x0C, 0x0C, "No extend"},
{0, 0xFE, 0, 4, "Hero counts"},
{0, 0xFE, 0, 4, "Lives"},
{0x15, 0x01, 0x30, 0x00, "2"},
{0x15, 0x01, 0x30, 0x01, "5"},
{0x15, 0x01, 0x30, 0x02, "4"},
{0x15, 0x01, 0x30, 0x03, "2"},
{0, 0xFE, 0, 2, NULL},
{0x15, 0x01, 0x40, 0x00, "Normal game"},
{0x15, 0x01, 0x40, 0x40, "no-death, stop mode"},
{0, 0xFE, 0, 2, "Continue play"},
{0x15, 0x01, 0x80, 0x00, "On"},
{0x15, 0x01, 0x80, 0x80, "Off"},
{0x15, 0x01, 0x30, 0x01, "4"},
{0x15, 0x01, 0x30, 0x02, "3"},
{0x15, 0x01, 0x30, 0x03, "1"},
{0, 0xFE, 0, 2, "Invulnerability (Cheat)"},
{0x15, 0x01, 0x40, 0x00, "Off"},
{0x15, 0x01, 0x40, 0x40, "On"},
{0, 0xFE, 0, 2, "Allow Continue"},
{0x15, 0x01, 0x80, 0x00, "Yes"},
{0x15, 0x01, 0x80, 0x80, "No"},
// DIP 3
{0, 0xFE, 0, 7, "For"},
{0, 0xFE, 0, 7, "Region"},
{0x16, 0x01, 0x0F, 0x00, "Japan"},
{0x16, 0x01, 0x0F, 0x01, "USA"},
{0x16, 0x01, 0x0F, 0x02, "Europe"},
{0x16, 0x01, 0x0F, 0x01, "USA, Europe (Atari Games)"},
{0x16, 0x01, 0x0F, 0x02, "Europe, USA (Atari Games)"},
{0x16, 0x01, 0x0F, 0x03, "Korea"},
{0x16, 0x01, 0x0F, 0x04, "Hong Kong"},
{0x16, 0x01, 0x0F, 0x05, "Taiwan"},
{0x16, 0x01, 0x0F, 0x06, "Asia"},
{0x16, 0x01, 0x0F, 0x07, "U.S.A."},
{0x16, 0x01, 0x0F, 0x08, "Japan"},
{0x16, 0x01, 0x0F, 0x09, "U.S.A."},
{0x16, 0x01, 0x0F, 0x06, "Southeast Asia"},
{0x16, 0x01, 0x0F, 0x07, "Unused"},
{0x16, 0x01, 0x0F, 0x08, "Unused"},
{0x16, 0x01, 0x0F, 0x09, "USA"},
{0x16, 0x01, 0x0F, 0x0A, "Europe"},
{0x16, 0x01, 0x0F, 0x0B, "Korea"},
{0x16, 0x01, 0x0F, 0x0C, "Hong Kong"},
{0x16, 0x01, 0x0F, 0x0D, "Taiwan"},
{0x16, 0x01, 0x0F, 0x0E, "Asia"},
{0x16, 0x01, 0x0F, 0x0F, ""},
{0x16, 0x01, 0x0F, 0x0B, "Unused"},
{0x16, 0x01, 0x0F, 0x0C, "Unused"},
{0x16, 0x01, 0x0F, 0x0D, "Unused"},
{0x16, 0x01, 0x0F, 0x0E, "Unused"},
{0x16, 0x01, 0x0F, 0x0F, "Unused"},
};
STDDIPINFO(kbash)
static struct BurnDIPInfo kbashkDIPList[] = {
// Defaults
{0x14, 0xFF, 0xFF, 0x00, NULL},
{0x15, 0xFF, 0xFF, 0x00, NULL},
{0x16, 0xFF, 0x0F, 0x00, NULL},
// DIP 1
{0, 0xFE, 0, 2, "Continue Price"},
{0x14, 0x01, 0x01, 0x00, "Normal"},
{0x14, 0x01, 0x01, 0x01, "Discount"},
{0, 0xFE, 0, 2, "Screen Type"},
{0x14, 0x01, 0x02, 0x00, "Normal screen"},
{0x14, 0x01, 0x02, 0x02, "Invert screen"},
{0, 0xFE, 0, 2, "Service"},
{0x14, 0x01, 0x04, 0x00, "Normal mode"},
{0x14, 0x01, 0x04, 0x04, "Test mode"},
{0, 0xFE, 0, 2, "Advertise sound"},
{0x14, 0x01, 0x08, 0x00, "On"},
{0x14, 0x01, 0x08, 0x08, "Off"},
{0, 0xFE, 0, 4, "Coin A"},
{0x14, 0x01, 0x30, 0x00, "1 coin 1 play"},
{0x14, 0x01, 0x30, 0x10, "1 coin 2 plays"},
{0x14, 0x01, 0x30, 0x20, "2 coins 1 play"},
{0x14, 0x01, 0x30, 0x30, "2 coins 3 plays"},
{0, 0xFE, 0, 4, "Coin B"},
{0x14, 0x01, 0xC0, 0x00, "1 coin 1 play"},
{0x14, 0x01, 0xC0, 0x40, "1 coin 2 plays"},
{0x14, 0x01, 0xC0, 0x80, "2 coins 1 play"},
{0x14, 0x01, 0xC0, 0xC0, "2 coins 3 plays"},
// DIP 2
{0, 0xFE, 0, 4, "Game difficulty"},
{0x15, 0x01, 0x03, 0x00, "B"},
{0x15, 0x01, 0x03, 0x01, "A"},
{0x15, 0x01, 0x03, 0x02, "C"},
{0x15, 0x01, 0x03, 0x03, "D"},
{0, 0xFE, 0, 4, "Extend"},
{0x15, 0x01, 0x0C, 0x00, "100000, 400000"},
{0x15, 0x01, 0x0C, 0x04, "100000 only"},
{0x15, 0x01, 0x0C, 0x08, "200000 only"},
{0x15, 0x01, 0x0C, 0x0C, "No extend"},
{0, 0xFE, 0, 4, "Lives"},
{0x15, 0x01, 0x30, 0x00, "2"},
{0x15, 0x01, 0x30, 0x01, "4"},
{0x15, 0x01, 0x30, 0x02, "3"},
{0x15, 0x01, 0x30, 0x03, "1"},
{0, 0xFE, 0, 2, "Invulnerability (Cheat)"},
{0x15, 0x01, 0x40, 0x00, "Off"},
{0x15, 0x01, 0x40, 0x40, "On"},
{0, 0xFE, 0, 2, "Allow Continue"},
{0x15, 0x01, 0x80, 0x00, "Yes"},
{0x15, 0x01, 0x80, 0x80, "No"},
// DIP 3
{0, 0xFE, 0, 7, "Region"},
{0x16, 0x01, 0x0F, 0x00, "Japan (Taito license"},
{0x16, 0x01, 0x0F, 0x01, "Unused"},
{0x16, 0x01, 0x0F, 0x02, "Unused"},
{0x16, 0x01, 0x0F, 0x03, "Korea"},
{0x16, 0x01, 0x0F, 0x04, "Hong Kong"},
{0x16, 0x01, 0x0F, 0x05, "Taiwan"},
{0x16, 0x01, 0x0F, 0x06, "Southeast Asia"},
{0x16, 0x01, 0x0F, 0x07, "Unused"},
{0x16, 0x01, 0x0F, 0x08, "Japan"},
{0x16, 0x01, 0x0F, 0x09, "Unused"},
{0x16, 0x01, 0x0F, 0x0A, "Unused"},
{0x16, 0x01, 0x0F, 0x0B, "Korea"},
{0x16, 0x01, 0x0F, 0x0C, "Hong Kong"},
{0x16, 0x01, 0x0F, 0x0D, "Taiwan"},
{0x16, 0x01, 0x0F, 0x0E, "Southeast Asia"},
{0x16, 0x01, 0x0F, 0x0F, "Unused"},
};
STDDIPINFO(kbashk)
static UINT8 *Mem = NULL, *MemEnd = NULL;
static UINT8 *RamStart, *RamEnd;
static UINT8 *Rom01, *Rom02;
@ -612,11 +703,20 @@ static INT32 DrvFrame()
struct BurnDriver BurnDrvKBash = {
"kbash", NULL, NULL, NULL, "1993",
"Knuckle Bash\0", NULL, "Toaplan", "Toaplan GP9001 based",
"Knuckle Bash\0", NULL, "Toaplan / Atari", "Toaplan GP9001 based",
L"Knuckle Bash\0Knuckle Bash \u30CA\u30C3\u30AF\u30EB\u30D0\u30C3\u30B7\u30E5\0", NULL, NULL, NULL,
1, 2, HARDWARE_TOAPLAN_68K_Zx80, GBF_SCRFIGHT, 0,
BDF_GAME_WORKING, 2, HARDWARE_TOAPLAN_68K_Zx80, GBF_SCRFIGHT, 0,
NULL, drvRomInfo, drvRomName, NULL, NULL, kbashInputInfo,kbashDIPInfo,
DrvInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &ToaRecalcPalette, 0x800,
320, 240, 4, 3
};
struct BurnDriver BurnDrvKBashk = {
"kbashk", "kbash", NULL, NULL, "1993",
"Knuckle Bash (Korean PCB\0", NULL, "Toaplan / Taito", "Toaplan GP9001 based",
L"Knuckle Bash\0Knuckle Bash \u30CA\u30C3\u30AF\u30EB\u30D0\u30C3\u30B7\u30E5 (Korean PCB)\0", NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_TOAPLAN_68K_Zx80, GBF_SCRFIGHT, 0,
NULL, drvkRomInfo, drvkRomName, NULL, NULL, kbashInputInfo,kbashkDIPInfo,
DrvInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &ToaRecalcPalette, 0x800,
320, 240, 4, 3
};