added Cobra-Command (Japan)(bootleg) [f205v]

TO DO : Simplify stastic INT32 CobraInint() and remove as possible BurnDrvGetText
This commit is contained in:
jackchatelet 2014-11-16 21:56:47 +00:00
parent c34a8b3249
commit d32cb409d5
1 changed files with 65 additions and 1 deletions

View File

@ -2086,7 +2086,32 @@ static INT32 CobraInit()
if (BurnLoadRom(DrvGfxROM3 + 0x60000, 16, 1)) return 1;
memcpy (DrvM6502OPS + 0x8000, DrvM6502ROM + 0x8000, 0x8000);
} else {
} else if (!strcmp(BurnDrvGetTextA(DRV_NAME), "cobracomjb")) {
if (BurnLoadRom(DrvMainROM + 0x08000, 0, 1)) return 1;
if (BurnLoadRom(DrvMainROM + 0x10000, 1, 1)) return 1;
if (BurnLoadRom(DrvMainROM + 0x20000, 2, 1)) return 1;
if (BurnLoadRom(DrvM6502ROM + 0x08000, 3, 1)) return 1;
if (BurnLoadRom(DrvGfxROM0 + 0x00000, 4, 1)) return 1;
if (BurnLoadRom(DrvGfxROM1 + 0x00000, 5, 1)) return 1;
if (BurnLoadRom(DrvGfxROM1 + 0x20000, 6, 1)) return 1;
if (BurnLoadRom(DrvGfxROM1 + 0x40000, 7, 1)) return 1;
if (BurnLoadRom(DrvGfxROM1 + 0x60000, 8, 1)) return 1;
if (BurnLoadRom(DrvGfxROM2 + 0x00000, 9, 1)) return 1;
if (BurnLoadRom(DrvGfxROM2 + 0x40000, 10, 1)) return 1;
if (BurnLoadRom(DrvGfxROM2 + 0x20000, 11, 1)) return 1;
if (BurnLoadRom(DrvGfxROM2 + 0x60000, 12, 1)) return 1;
if (BurnLoadRom(DrvGfxROM3 + 0x00000, 13, 1)) return 1;
if (BurnLoadRom(DrvGfxROM3 + 0x20000, 14, 1)) return 1;
if (BurnLoadRom(DrvGfxROM3 + 0x40000, 15, 1)) return 1;
if (BurnLoadRom(DrvGfxROM3 + 0x60000, 16, 1)) return 1;
memcpy (DrvM6502OPS + 0x8000, DrvM6502ROM + 0x8000, 0x8000);
} else{
if (BurnLoadRom(DrvMainROM + 0x08000, 0, 1)) return 1;
if (BurnLoadRom(DrvMainROM + 0x10000, 1, 1)) return 1;
if (BurnLoadRom(DrvMainROM + 0x20000, 2, 1)) return 1;
@ -2526,8 +2551,47 @@ struct BurnDriver BurnDrvCobracomb = {
256, 240, 4, 3
};
// Cobra-Command (Japan, bootleg)
// f205v id 375
// This PCB has been manufactured in Italy, roms are the same as "Cobra-Command (Japan)" already in MAME, but divided into different size eprom chips //
static struct BurnRomInfo cobracomjbRomDesc[] = {
{ "4.bin", 0x08000, 0x868637e1, 1 }, // 0 maincpu
{ "3.bin", 0x10000, 0x7c878a83, 1 }, // 1
{ "2.bin", 0x10000, 0x04505acb, 1 }, // 2
{ "5.bin", 0x08000, 0x62ca5e89, 2 }, // 3 audiocpu
{ "1.bin", 0x08000, 0x47246177, 3 }, // 4 gfx1
{ "13.bin", 0x10000, 0xd96b6797, 4 }, // 5 gfx2
{ "12.bin", 0x10000, 0x3fef9c02, 4 }, // 6
{ "11.bin", 0x10000, 0xbfae6c34, 4 }, // 7
{ "10.bin", 0x10000, 0xd56790f8, 4 }, // 8
{ "6.bin", 0x08000, 0xc991298f, 5 }, // 9 gfx4
{ "7.bin", 0x08000, 0xf5e267e5, 5 }, // 10
{ "8.bin", 0x08000, 0x6bcc5982, 5 }, // 11
{ "9.bin", 0x08000, 0xc90443b5, 5 }, // 12
{ "17.bin", 0x10000, 0x1c4f6033, 6 }, // 13 gfx3
{ "16.bin", 0x10000, 0xd24ba794, 6 }, // 14
{ "15.bin", 0x10000, 0xd80a49ce, 6 }, // 15
{ "14.bin", 0x10000, 0x6d771fc3, 6 }, // 16
};
STD_ROM_PICK(cobracomjb)
STD_ROM_FN(cobracomjb)
struct BurnDriver BurnDrvCobracomjb = {
"cobracomjb", "cobracom", NULL, NULL, "1988",
"Cobra-Command (Japan, bootleg)\0", NULL, "bootleg", "DEC8",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_PREFIX_DATAEAST, GBF_HORSHOOT, 0,
NULL, cobracomjbRomInfo, cobracomjbRomName, NULL, NULL, CobracomInputInfo, CobracomDIPInfo,
CobraInit, CobraExit, CobraFrame, CobraDraw, CobraScan, &DrvRecalc, 0x100,
256, 240, 4, 3
};
static void srdarwin_i8751_w(INT32 offset, INT32 data)
{