From da4af3256378519efe34949009dcb645a4f83109 Mon Sep 17 00:00:00 2001 From: barbudreadmon Date: Sun, 27 Oct 2024 13:40:07 +0100 Subject: [PATCH] MAME 0.270 sync (dataeast) --- src/burn/drv/dataeast/d_dec0.cpp | 68 +++++++++++++- src/burn/drv/dataeast/d_dietgogo.cpp | 132 ++++++++++++++++++++++----- 2 files changed, 175 insertions(+), 25 deletions(-) diff --git a/src/burn/drv/dataeast/d_dec0.cpp b/src/burn/drv/dataeast/d_dec0.cpp index bb46d1276f..9d116aa049 100644 --- a/src/burn/drv/dataeast/d_dec0.cpp +++ b/src/burn/drv/dataeast/d_dec0.cpp @@ -1277,12 +1277,12 @@ STD_ROM_PICK(Hbarrel) STD_ROM_FN(Hbarrel) -// Heavy Barrel (US) +// Heavy Barrel (US, revision 3) // DE-0297-1 main board, DE-0299-0 sub/rom board static struct BurnRomInfo HbarreluRomDesc[] = { - { "heavy_barrel_04.3c", 0x10000, 0x4877b09e, BRF_ESS | BRF_PRG }, // 0 68000 Program Code - { "heavy_barrel_01.3a", 0x10000, 0x8b41c219, BRF_ESS | BRF_PRG }, // 1 + { "heavy_barrel_04-3u.3c", 0x10000, 0xc8d26d56, BRF_ESS | BRF_PRG }, // 0 68000 Program Code + { "heavy_barrel_01-3u.3a", 0x10000, 0xae05753e, BRF_ESS | BRF_PRG }, // 1 { "heavy_barrel_05.4c", 0x10000, 0x2087d570, BRF_ESS | BRF_PRG }, // 2 { "heavy_barrel_02.4a", 0x10000, 0x815536ae, BRF_ESS | BRF_PRG }, // 3 { "heavy_barrel_06.6c", 0x10000, 0xda4e3fbc, BRF_ESS | BRF_PRG }, // 4 @@ -1328,6 +1328,56 @@ STD_ROM_PICK(Hbarrelu) STD_ROM_FN(Hbarrelu) +// Heavy Barrel (US, revision 1) + +static struct BurnRomInfo HbarreluaRomDesc[] = { + { "heavy_barrel_04-1.3c", 0x10000, 0x4877b09e, BRF_ESS | BRF_PRG }, // 0 68000 Program Code + { "heavy_barrel_01-1.3a", 0x10000, 0x8b41c219, BRF_ESS | BRF_PRG }, // 1 + { "heavy_barrel_05.4c", 0x10000, 0x2087d570, BRF_ESS | BRF_PRG }, // 2 + { "heavy_barrel_02.4a", 0x10000, 0x815536ae, BRF_ESS | BRF_PRG }, // 3 + { "heavy_barrel_06.6c", 0x10000, 0xda4e3fbc, BRF_ESS | BRF_PRG }, // 4 + { "heavy_barrel_03.6a", 0x10000, 0x7fed7c46, BRF_ESS | BRF_PRG }, // 5 + + { "heavy_barrel_07.8a", 0x08000, 0xa127f0f7, BRF_ESS | BRF_PRG }, // 6 6502 Program + + { "heavy_barrel_25.15h", 0x10000, 0x8649762c, BRF_GRA }, // 7 Characters + { "heavy_barrel_26.16h", 0x10000, 0xf8189bbd, BRF_GRA }, // 8 + + { "heavy_barrel_18.14d", 0x10000, 0xef664373, BRF_GRA }, // 9 Tiles 1 + { "heavy_barrel_17.12d", 0x10000, 0xa4f186ac, BRF_GRA }, // 10 + { "heavy_barrel_20.17d", 0x10000, 0x2fc13be0, BRF_GRA }, // 11 + { "heavy_barrel_19.15d", 0x10000, 0xd6b47869, BRF_GRA }, // 12 + { "heavy_barrel_22.14f", 0x10000, 0x50d6a1ad, BRF_GRA }, // 13 + { "heavy_barrel_21.12f", 0x10000, 0xf01d75c5, BRF_GRA }, // 14 + { "heavy_barrel_24.17f", 0x10000, 0xae377361, BRF_GRA }, // 15 + { "heavy_barrel_23.15f", 0x10000, 0xbbdaf771, BRF_GRA }, // 16 + + { "heavy_barrel_29.8h", 0x10000, 0x5514b296, BRF_GRA }, // 17 Tiles 2 + { "heavy_barrel_30.9h", 0x10000, 0x5855e8ef, BRF_GRA }, // 18 + { "heavy_barrel_27.8f", 0x10000, 0x99db7b9c, BRF_GRA }, // 19 + { "heavy_barrel_28.9f", 0x10000, 0x33ce2b1a, BRF_GRA }, // 20 + + { "heavy_barrel_15.16c", 0x10000, 0x21816707, BRF_GRA }, // 21 Sprites + { "heavy_barrel_16.17c", 0x10000, 0xa5684574, BRF_GRA }, // 22 + { "heavy_barrel_11.16a", 0x10000, 0x5c768315, BRF_GRA }, // 23 + { "heavy_barrel_12.17a", 0x10000, 0x8b64d7a4, BRF_GRA }, // 24 + { "heavy_barrel_13.13c", 0x10000, 0x56e3ed65, BRF_GRA }, // 25 + { "heavy_barrel_14.14c", 0x10000, 0xbedfe7f3, BRF_GRA }, // 26 + { "heavy_barrel_09.13a", 0x10000, 0x26240ea0, BRF_GRA }, // 27 + { "heavy_barrel_10.14a", 0x10000, 0x47d95447, BRF_GRA }, // 28 + + { "heavy_barrel_08.2c", 0x10000, 0x645c5b68, BRF_SND }, // 29 Samples + + { "heavy_barrel_31.9a", 0x01000, 0x239d726f, BRF_ESS | BRF_PRG }, // 30 I8751 + + { "mb7116e.12c", 0x00200, 0x86e775f8, BRF_OPT }, // 31 PROMs + { "mb7122e.17e", 0x00400, 0xa5cda23e, BRF_OPT }, // 32 +}; + +STD_ROM_PICK(Hbarrelua) +STD_ROM_FN(Hbarrelua) + + // Hippodrome (US) static struct BurnRomInfo HippodrmRomDesc[] = { @@ -5998,7 +6048,7 @@ struct BurnDriver BurnDrvHbarrel = { struct BurnDriver BurnDrvHbarrelu = { "hbarrelu", "hbarrel", NULL, NULL, "1987", - "Heavy Barrel (US)\0", NULL, "Data East USA", "DEC0", + "Heavy Barrel (US, revision 3)\0", NULL, "Data East USA", "DEC0", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_DATAEAST, GBF_RUNGUN, 0, NULL, HbarreluRomInfo, HbarreluRomName, NULL, NULL, NULL, NULL, HbarrelInputInfo, HbarrelDIPInfo, @@ -6006,6 +6056,16 @@ struct BurnDriver BurnDrvHbarrelu = { NULL, 0x400, 240, 256, 3, 4 }; +struct BurnDriver BurnDrvHbarrelua = { + "hbarrelua", "hbarrel", NULL, NULL, "1987", + "Heavy Barrel (US, revision 1)\0", NULL, "Data East USA", "DEC0", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_DATAEAST, GBF_RUNGUN, 0, + NULL, HbarreluaRomInfo, HbarreluaRomName, NULL, NULL, NULL, NULL, HbarrelInputInfo, HbarrelDIPInfo, + HbarrelInit, BaddudesExit, DrvFrame, HbarrelDraw, BaddudesScan, + NULL, 0x400, 240, 256, 3, 4 +}; + struct BurnDriver BurnDrvHippodrm = { "hippodrm", NULL, NULL, NULL, "1989", "Hippodrome (US)\0", NULL, "Data East USA", "DEC0", diff --git a/src/burn/drv/dataeast/d_dietgogo.cpp b/src/burn/drv/dataeast/d_dietgogo.cpp index 85e62b1d2a..f6d3b34986 100644 --- a/src/burn/drv/dataeast/d_dietgogo.cpp +++ b/src/burn/drv/dataeast/d_dietgogo.cpp @@ -120,6 +120,62 @@ static struct BurnDIPInfo DietgoDIPList[]= STDDIPINFO(Dietgo) +static struct BurnDIPInfo DietgonDIPList[]= +{ + {0x14, 0xff, 0xff, 0xff, NULL }, + {0x15, 0xff, 0xff, 0xff, NULL }, + + {0 , 0xfe, 0 , 8, "Coin A" }, + {0x14, 0x01, 0x07, 0x00, "3 Coins 1 Credits" }, + {0x14, 0x01, 0x07, 0x01, "2 Coins 1 Credits" }, + {0x14, 0x01, 0x07, 0x07, "1 Coin 1 Credits" }, + {0x14, 0x01, 0x07, 0x06, "1 Coin 2 Credits" }, + {0x14, 0x01, 0x07, 0x05, "1 Coin 3 Credits" }, + {0x14, 0x01, 0x07, 0x04, "1 Coin 4 Credits" }, + {0x14, 0x01, 0x07, 0x03, "1 Coin 5 Credits" }, + {0x14, 0x01, 0x07, 0x02, "1 Coin 6 Credits" }, + + {0 , 0xfe, 0 , 8, "Coin B" }, + {0x14, 0x01, 0x38, 0x00, "3 Coins 1 Credits" }, + {0x14, 0x01, 0x38, 0x08, "2 Coins 1 Credits" }, + {0x14, 0x01, 0x38, 0x38, "1 Coin 1 Credits" }, + {0x14, 0x01, 0x38, 0x30, "1 Coin 2 Credits" }, + {0x14, 0x01, 0x38, 0x28, "1 Coin 3 Credits" }, + {0x14, 0x01, 0x38, 0x20, "1 Coin 4 Credits" }, + {0x14, 0x01, 0x38, 0x18, "1 Coin 5 Credits" }, + {0x14, 0x01, 0x38, 0x10, "1 Coin 6 Credits" }, + + {0 , 0xfe, 0 , 2, "Flip Screen" }, + {0x14, 0x01, 0x40, 0x40, "Off" }, + {0x14, 0x01, 0x40, 0x00, "On" }, + + {0 , 0xfe, 0 , 2, "Continue Coin" }, + {0x14, 0x01, 0x80, 0x80, "1 Start/1 Continue" }, + {0x14, 0x01, 0x80, 0x00, "2 Start/1 Continue" }, + + {0 , 0xfe, 0 , 4, "Lives" }, + {0x15, 0x01, 0x03, 0x01, "1" }, + {0x15, 0x01, 0x03, 0x00, "2" }, + {0x15, 0x01, 0x03, 0x03, "3" }, + {0x15, 0x01, 0x03, 0x02, "4" }, + + {0 , 0xfe, 0 , 4, "Difficulty" }, + {0x15, 0x01, 0x0c, 0x08, "Easy" }, + {0x15, 0x01, 0x0c, 0x0c, "Normal" }, + {0x15, 0x01, 0x0c, 0x04, "Hard" }, + {0x15, 0x01, 0x0c, 0x00, "Hardest" }, + + {0 , 0xfe, 0 , 2, "Free Play" }, + {0x15, 0x01, 0x10, 0x10, "Off" }, + {0x15, 0x01, 0x10, 0x00, "On" }, + + {0 , 0xfe, 0 , 2, "Alternative graphics" }, + {0x15, 0x01, 0x20, 0x20, "Off" }, + {0x15, 0x01, 0x20, 0x00, "On" }, +}; + +STDDIPINFO(Dietgon) + static void __fastcall dietgogo_main_write_word(UINT32 address, UINT16 data) { deco16_write_control_word(0, address, 0x200000, data) @@ -479,24 +535,24 @@ static INT32 DrvScan(INT32 nAction, INT32 *pnMin) } -// Diet Go Go (Europe v1.1 1992.09.26 v3) +// Diet Go Go (Europe v1.1 1992.09.26, set 1) static struct BurnRomInfo dietgoRomDesc[] = { - { "jy_00-3.4h", 0x040000, 0xa863ad0c, 1 | BRF_PRG | BRF_ESS }, // 0 68k Code - { "jy_01-3.5h", 0x040000, 0xef243eda, 1 | BRF_PRG | BRF_ESS }, // 1 + { "jy_00-3.4h", 0x040000, 0xa863ad0c, 1 | BRF_PRG | BRF_ESS }, // 0 68k Code + { "jy_01-3.5h", 0x040000, 0xef243eda, 1 | BRF_PRG | BRF_ESS }, // 1 - { "jy_02.14m", 0x010000, 0x4e3492a5, 2 | BRF_PRG | BRF_ESS }, // 2 Huc6280 Code + { "jy_02.14m", 0x010000, 0x4e3492a5, 2 | BRF_PRG | BRF_ESS }, // 2 Huc6280 Code - { "may-00.10a", 0x100000, 0x234d1f8d, 3 | BRF_GRA }, // 3 Characters & Background Tiles + { "may-00.10a", 0x100000, 0x234d1f8d, 3 | BRF_GRA }, // 3 Characters & Background Tiles - { "may-01.14a", 0x100000, 0x2da57d04, 4 | BRF_GRA }, // 4 Sprites - { "may-02.16a", 0x100000, 0x3a66a713, 4 | BRF_GRA }, // 5 + { "may-04_w78_9235kd011.14a", 0x100000, 0xdedd2dd3, 4 | BRF_GRA }, // 4 Sprites + { "may-05_w79_9235kd019.16a", 0x100000, 0xcb23835f, 4 | BRF_GRA }, // 5 - { "may-03.11l", 0x080000, 0xb6e42bae, 5 | BRF_SND }, // 6 OKI M6295 Samples + { "may-03.11l", 0x080000, 0xb6e42bae, 5 | BRF_SND }, // 6 OKI M6295 Samples - { "pal16l8b_vd-00.6h", 0x000104, 0x00000000, 6 | BRF_NODUMP }, // 7 PLDs - { "pal16l8b_vd-01.7h", 0x000104, 0x00000000, 6 | BRF_NODUMP }, // 8 - { "pal16r6a_vd-02.11h", 0x000104, 0x00000000, 6 | BRF_NODUMP }, // 9 + { "pal16l8b_vd-00.6h", 0x000104, 0x00000000, 6 | BRF_NODUMP }, // 7 PLDs + { "pal16l8b_vd-01.7h", 0x000104, 0x00000000, 6 | BRF_NODUMP }, // 8 + { "pal16r6a_vd-02.11h", 0x000104, 0x00000000, 6 | BRF_NODUMP }, // 9 }; STD_ROM_PICK(dietgo) @@ -504,20 +560,20 @@ STD_ROM_FN(dietgo) struct BurnDriver BurnDrvDietgo = { "dietgo", NULL, NULL, NULL, "1992", - "Diet Go Go (Europe v1.1 1992.09.26 v3)\0", NULL, "Data East Corporation", "DECO IC16", + "Diet Go Go (Europe v1.1 1992.09.26, set 1)\0", NULL, "Data East Corporation", "DECO IC16", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_DATAEAST, GBF_PLATFORM, 0, - NULL, dietgoRomInfo, dietgoRomName, NULL, NULL, NULL, NULL, DietgoInputInfo, DietgoDIPInfo, + NULL, dietgoRomInfo, dietgoRomName, NULL, NULL, NULL, NULL, DietgoInputInfo, DietgonDIPInfo, DrvInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x300, 320, 240, 4, 3 }; -// Diet Go Go (Europe v1.1 1992.09.26 v2) +// Diet Go Go (Europe v1.1 1992.09.26, set 2) static struct BurnRomInfo dietgoeRomDesc[] = { - { "jy_00-2.4h", 0x040000, 0x014dcf62, 1 | BRF_PRG | BRF_ESS }, // 0 68k Code - { "jy_01-2.5h", 0x040000, 0x793ebd83, 1 | BRF_PRG | BRF_ESS }, // 1 + { "jy_00-3.4h", 0x040000, 0xa863ad0c, 1 | BRF_PRG | BRF_ESS }, // 0 68k Code + { "jy_01-3.5h", 0x040000, 0xef243eda, 1 | BRF_PRG | BRF_ESS }, // 1 { "jy_02.14m", 0x010000, 0x4e3492a5, 2 | BRF_PRG | BRF_ESS }, // 2 Huc6280 Code @@ -538,7 +594,7 @@ STD_ROM_FN(dietgoe) struct BurnDriver BurnDrvDietgoe = { "dietgoe", "dietgo", NULL, NULL, "1992", - "Diet Go Go (Europe v1.1 1992.09.26 v2)\0", NULL, "Data East Corporation", "DECO IC16", + "Diet Go Go (Europe v1.1 1992.09.26, set 2)\0", NULL, "Data East Corporation", "DECO IC16", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_DATAEAST, GBF_PLATFORM, 0, NULL, dietgoeRomInfo, dietgoeRomName, NULL, NULL, NULL, NULL, DietgoInputInfo, DietgoDIPInfo, @@ -547,11 +603,11 @@ struct BurnDriver BurnDrvDietgoe = { }; -// Diet Go Go (Europe v1.1 1992.08.04) +// Diet Go Go (Europe v1.1 1992.09.26, set 3) static struct BurnRomInfo dietgoeaRomDesc[] = { - { "jy_00-1.4h", 0x040000, 0x8bce137d, 1 | BRF_PRG | BRF_ESS }, // 0 68k Code - { "jy_01-1.5h", 0x040000, 0xeca50450, 1 | BRF_PRG | BRF_ESS }, // 1 + { "jy_00-2.4h", 0x040000, 0x014dcf62, 1 | BRF_PRG | BRF_ESS }, // 0 68k Code + { "jy_01-2.5h", 0x040000, 0x793ebd83, 1 | BRF_PRG | BRF_ESS }, // 1 { "jy_02.14m", 0x010000, 0x4e3492a5, 2 | BRF_PRG | BRF_ESS }, // 2 Huc6280 Code @@ -572,7 +628,7 @@ STD_ROM_FN(dietgoea) struct BurnDriver BurnDrvDietgoea = { "dietgoea", "dietgo", NULL, NULL, "1992", - "Diet Go Go (Europe v1.1 1992.08.04)\0", NULL, "Data East Corporation", "DECO IC16", + "Diet Go Go (Europe v1.1 1992.09.26, set 3)\0", NULL, "Data East Corporation", "DECO IC16", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_DATAEAST, GBF_PLATFORM, 0, NULL, dietgoeaRomInfo, dietgoeaRomName, NULL, NULL, NULL, NULL, DietgoInputInfo, DietgoDIPInfo, @@ -581,6 +637,40 @@ struct BurnDriver BurnDrvDietgoea = { }; +// Diet Go Go (Europe v1.1 1992.08.04) + +static struct BurnRomInfo dietgoebRomDesc[] = { + { "jy_00-1.4h", 0x040000, 0x8bce137d, 1 | BRF_PRG | BRF_ESS }, // 0 68k Code + { "jy_01-1.5h", 0x040000, 0xeca50450, 1 | BRF_PRG | BRF_ESS }, // 1 + + { "jy_02.14m", 0x010000, 0x4e3492a5, 2 | BRF_PRG | BRF_ESS }, // 2 Huc6280 Code + + { "may-00.10a", 0x100000, 0x234d1f8d, 3 | BRF_GRA }, // 3 Characters & Background Tiles + + { "may-01.14a", 0x100000, 0x2da57d04, 4 | BRF_GRA }, // 4 Sprites + { "may-02.16a", 0x100000, 0x3a66a713, 4 | BRF_GRA }, // 5 + + { "may-03.11l", 0x080000, 0xb6e42bae, 5 | BRF_SND }, // 6 OKI M6295 Samples + + { "pal16l8b_vd-00.6h", 0x000104, 0x00000000, 6 | BRF_NODUMP }, // 7 PLDs + { "pal16l8b_vd-01.7h", 0x000104, 0x00000000, 6 | BRF_NODUMP }, // 8 + { "pal16r6a_vd-02.11h", 0x000104, 0x00000000, 6 | BRF_NODUMP }, // 9 +}; + +STD_ROM_PICK(dietgoeb) +STD_ROM_FN(dietgoeb) + +struct BurnDriver BurnDrvDietgoeb = { + "dietgoeb", "dietgo", NULL, NULL, "1992", + "Diet Go Go (Europe v1.1 1992.08.04)\0", NULL, "Data East Corporation", "DECO IC16", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_DATAEAST, GBF_PLATFORM, 0, + NULL, dietgoebRomInfo, dietgoebRomName, NULL, NULL, NULL, NULL, DietgoInputInfo, DietgoDIPInfo, + DrvInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x300, + 320, 240, 4, 3 +}; + + // Diet Go Go (USA v1.1 1992.09.26) static struct BurnRomInfo dietgouRomDesc[] = {