From 0200e857bf2b1a47ac34c03a9994f7434b4e398f Mon Sep 17 00:00:00 2001 From: barbudreadmon Date: Mon, 10 Feb 2025 09:59:31 +0100 Subject: [PATCH] MAME 0.274 sync (irem,kaneko,metro,midway) --- src/burn/drv/irem/d_m62.cpp | 42 ++++++++++++++++++++++++++- src/burn/drv/pre90s/d_hvyunit.cpp | 2 +- src/burn/drv/pre90s/d_mcr.cpp | 46 ++++++++++++++++++++++++++++++ src/burn/drv/pre90s/d_travrusa.cpp | 4 ++- src/burn/drv/pst90s/d_hyperpac.cpp | 2 +- src/burn/drv/pst90s/d_metro.cpp | 34 ++++++++++++++++++++-- 6 files changed, 124 insertions(+), 6 deletions(-) diff --git a/src/burn/drv/irem/d_m62.cpp b/src/burn/drv/irem/d_m62.cpp index 56d5a032f..01f829925 100644 --- a/src/burn/drv/irem/d_m62.cpp +++ b/src/burn/drv/irem/d_m62.cpp @@ -1373,6 +1373,36 @@ static struct BurnRomInfo Ldrun3jRomDesc[] = { STD_ROM_PICK(Ldrun3j) STD_ROM_FN(Ldrun3j) +static struct BurnRomInfo Ldrun3jcRomDesc[] = { + { "lr3-a-4e-c", 0x04000, 0x9cdd7c9f, BRF_ESS | BRF_PRG }, // 0 Z80 Program Code + { "lr3-a-4d-c", 0x04000, 0x858b339f, BRF_ESS | BRF_PRG }, // 1 + { "lr3-a-4b-c", 0x04000, 0x63052776, BRF_ESS | BRF_PRG }, // 2 + + { "lr3-a-3d", 0x04000, 0x28be68cd, BRF_ESS | BRF_PRG }, // 3 M6803 Program Code + { "lr3-a-3f", 0x04000, 0xcb7186b7, BRF_ESS | BRF_PRG }, // 4 + + { "lr3-n-2a", 0x04000, 0xf9b74dee, BRF_GRA }, // 5 Characters + { "lr3-n-2c", 0x04000, 0xfef707ba, BRF_GRA }, // 6 + { "lr3-n-2b", 0x04000, 0xaf3d27b9, BRF_GRA }, // 7 + + { "lr3-b-4k", 0x04000, 0x63f070c7, BRF_GRA }, // 8 Sprites + { "lr3-b-3n", 0x04000, 0xeab7ad91, BRF_GRA }, // 9 + { "lr3-b-4c", 0x04000, 0x1a460a46, BRF_GRA }, // 10 + + { "lr3-n-2l", 0x00100, 0xe880b86b, BRF_GRA }, // 11 PROM (Tile Palette Red Component) + { "lr3-b-1m", 0x00100, 0xf02d7167, BRF_GRA }, // 12 PROM (Sprite Palette Red Component) + { "lr3-n-2k", 0x00100, 0x047ee051, BRF_GRA }, // 13 PROM (Tile Palette Green Component) + { "lr3-b-1n", 0x00100, 0x9e37f181, BRF_GRA }, // 14 PROM (Sprite Palette Green Component) + { "lr3-n-2m", 0x00100, 0x69ad8678, BRF_GRA }, // 15 PROM (Tile Palette Blue Component) + { "lr3-b-1l", 0x00100, 0x5b11c41d, BRF_GRA }, // 16 PROM (Sprite Palette Blue Component) + { "lr3-b-5p", 0x00020, 0xe01f69e2, BRF_GRA }, // 17 PROM (Sprite Height) + { "lr3-b-6f", 0x00100, 0x34d88d3c, BRF_GRA }, // 18 PROM (Video Timing) + { "lr3-n-4f", 0x00100, 0xdf674be9, BRF_OPT }, // 19 PROM (Unknown) +}; + +STD_ROM_PICK(Ldrun3jc) +STD_ROM_FN(Ldrun3jc) + static struct BurnRomInfo Ldrun4RomDesc[] = { { "lr4-a-4e", 0x04000, 0x5383e9bf, BRF_ESS | BRF_PRG }, // 0 Z80 Program Code { "lr4-a-4d.c", 0x04000, 0x298afa36, BRF_ESS | BRF_PRG }, // 1 @@ -4919,7 +4949,7 @@ struct BurnDriver BurnDrvLdrun3 = { struct BurnDriver BurnDrvLdrun3j = { "ldrun3j", "ldrun3", NULL, NULL, "1985", - "Lode Runner III - Majin no Fukkatsu (Japan)\0", NULL, "Irem (licensed from Broderbund)", "Irem M62", + "Lode Runner III - Majin no Fukkatsu (Japan, rev. A)\0", NULL, "Irem (licensed from Broderbund)", "Irem M62", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_IREM_M62, GBF_PLATFORM, 0, NULL, Ldrun3jRomInfo, Ldrun3jRomName, NULL, NULL, NULL, NULL, M62InputInfo, Ldrun2DIPInfo, @@ -4927,6 +4957,16 @@ struct BurnDriver BurnDrvLdrun3j = { NULL, 0x200, 384, 256, 4, 3 }; +struct BurnDriver BurnDrvLdrun3jc = { + "ldrun3jc", "ldrun3", NULL, NULL, "1985", + "Lode Runner III - Majin no Fukkatsu (Japan, rev. C)\0", NULL, "Irem (licensed from Broderbund)", "Irem M62", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_IREM_M62, GBF_PLATFORM, 0, + NULL, Ldrun3jcRomInfo, Ldrun3jcRomName, NULL, NULL, NULL, NULL, M62InputInfo, Ldrun2DIPInfo, + Ldrun3jInit, M62Exit, M62Frame, Ldrun3Draw, M62Scan, + NULL, 0x200, 384, 256, 4, 3 +}; + struct BurnDriver BurnDrvLdrun4 = { "ldrun4", NULL, NULL, NULL, "1986", "Lode Runner IV - Teikoku Karano Dasshutsu (Japan)\0", NULL, "Irem (licensed from Broderbund)", "Irem M62", diff --git a/src/burn/drv/pre90s/d_hvyunit.cpp b/src/burn/drv/pre90s/d_hvyunit.cpp index 78564eef2..a5042da62 100644 --- a/src/burn/drv/pre90s/d_hvyunit.cpp +++ b/src/burn/drv/pre90s/d_hvyunit.cpp @@ -825,7 +825,7 @@ static struct BurnRomInfo hvyunitjaRomDesc[] = { { "b73_19.0h", 0x20000, 0x2fb1b3e3, 5 | BRF_GRA }, // 10 { "b73_20.0k", 0x20000, 0x0662d0dd, 5 | BRF_GRA }, // 11 - { "b73_09.2p", 0x80000, 0x537c647f, 6 | BRF_GRA }, // 12 Background Tiles + { "b73_23.2p", 0x80000, 0x537c647f, 6 | BRF_GRA }, // 12 Background Tiles }; STD_ROM_PICK(hvyunitja) diff --git a/src/burn/drv/pre90s/d_mcr.cpp b/src/burn/drv/pre90s/d_mcr.cpp index d4d87c4b6..5432dacb9 100644 --- a/src/burn/drv/pre90s/d_mcr.cpp +++ b/src/burn/drv/pre90s/d_mcr.cpp @@ -3113,6 +3113,52 @@ struct BurnDriver BurnDrvDotrone = { }; +// Discs of Tron (Environmental, prototype, 8/9/83) + +static struct BurnRomInfo dotronepRomDesc[] = { + { "pgm0_8-9.1c", 0x4000, 0xa997e93d, 1 | BRF_PRG | BRF_ESS }, // 0 maincpu + { "pgm1_8-9.2c", 0x4000, 0x31e5c11e, 1 | BRF_PRG | BRF_ESS }, // 1 + { "pgm2_8-9.3c", 0x4000, 0x5162fe8d, 1 | BRF_PRG | BRF_ESS }, // 2 + { "pgm3_8-9.4c", 0x2000, 0x4e7085e1, 1 | BRF_PRG | BRF_ESS }, // 3 + + { "0_8-9.a7", 0x1000, 0x872160b3, 2 | BRF_PRG | BRF_ESS }, // 4 ssio:cpu + { "1_8-9.a8", 0x1000, 0xd9c3d4ca, 2 | BRF_PRG | BRF_ESS }, // 5 + { "2_8-9.a9", 0x1000, 0x78cc8bad, 2 | BRF_PRG | BRF_ESS }, // 6 + { "3_8-9.a10", 0x1000, 0xb369ec5a, 2 | BRF_PRG | BRF_ESS }, // 7 + + { "pre_aug_19.u3", 0x1000, 0xc3d0f762, 3 | BRF_PRG | BRF_ESS }, // 8 snt:cpu + { "pre.u4", 0x1000, 0x7ca79b43, 3 | BRF_PRG | BRF_ESS }, // 9 + { "pre.u5", 0x1000, 0x24e9618e, 3 | BRF_PRG | BRF_ESS }, // 10 + + { "bg0_8-9.6f", 0x2000, 0x40167124, 3 | BRF_GRA }, // 11 gfx1 + { "bg1_8-9.5f", 0x2000, 0xbb2d7a5d, 3 | BRF_GRA }, // 12 + + { "cp4_fg7-8-9-83.a7", 0x2000, 0x1e689f9c, 4 | BRF_GRA }, // 13 gfx2 + { "cp3_fg8-8-9-83.a8", 0x2000, 0x172685ee, 4 | BRF_GRA }, // 14 + { "cp6_fg5-8-9-83.a5", 0x2000, 0x4326041b, 4 | BRF_GRA }, // 15 + { "cp5_fg6-8-9-83.a6", 0x2000, 0x1df69f11, 4 | BRF_GRA }, // 16 + { "cp8_fg3-8-9-83.a3", 0x2000, 0x7587a8fd, 4 | BRF_GRA }, // 17 + { "cp7_fg4-8-9-83.a4", 0x2000, 0x6e1af64f, 4 | BRF_GRA }, // 18 + { "cp10_fg1.a1", 0x2000, 0x759f36a7, 4 | BRF_GRA }, // 19 + { "cp9_fg2-8-9-83.a2", 0x2000, 0x80ba9553, 4 | BRF_GRA }, // 20 + + { "1f26.u2", 0x0020, 0xfb58b867, 0 | BRF_GRA }, // 21 lamp sequencer PROM +}; + +STDROMPICKEXT(dotronep, dotronep, Ssioprom) +STD_ROM_FN(dotronep) + +struct BurnDriver BurnDrvDotronep = { + "dotronep", "dotron", "midssio", NULL, "1983", + "Discs of Tron (Environmental, prototype, 8/9/83)\0", NULL, "Bally Midway", "Miscellaneous", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_PROTOTYPE, 2, HARDWARE_MISC_PRE90S, GBF_ACTION | GBF_SHOOT, 0, + NULL, dotronepRomInfo, dotronepRomName, NULL, NULL, NULL, NULL, DotronInputInfo, DotroneDIPInfo, + DotroneInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x40, + 512, 480, 4, 3 +}; + + // Demolition Derby static struct BurnRomInfo demoderbRomDesc[] = { diff --git a/src/burn/drv/pre90s/d_travrusa.cpp b/src/burn/drv/pre90s/d_travrusa.cpp index dfa765873..4349b150d 100644 --- a/src/burn/drv/pre90s/d_travrusa.cpp +++ b/src/burn/drv/pre90s/d_travrusa.cpp @@ -807,7 +807,9 @@ static struct BurnRomInfo mototourRomDesc[] = { { "mt1-9.m3", 0x2000, 0x6f9f2a4e, 4 | BRF_GRA }, // 9 { "mt1-10.k3", 0x2000, 0xd958def5, 4 | BRF_GRA }, // 10 - TRAVRUSA_PROMS + { "mmi6349.k2", 0x0200, 0xc9724350, 5 | BRF_GRA }, // 11 Color data + { "prom1.f1", 0x0020, 0xa1130007, 5 | BRF_GRA }, // 12 + { "prom2.h2", 0x0100, 0x76062638, 5 | BRF_GRA }, // 13 }; STD_ROM_PICK(mototour) diff --git a/src/burn/drv/pst90s/d_hyperpac.cpp b/src/burn/drv/pst90s/d_hyperpac.cpp index e05aebf6c..f7684b9d8 100644 --- a/src/burn/drv/pst90s/d_hyperpac.cpp +++ b/src/burn/drv/pst90s/d_hyperpac.cpp @@ -4583,7 +4583,7 @@ static INT32 Ballboy3pInit() } struct BurnDriver BurnDrvBallboy3p = { - "ballboy3p", "snowbro3", NULL, NULL, "2003", + "ballboy3p", "snowbro3", NULL, NULL, "2004", "Ball Boy (3 players)\0", NULL, "bootleg", "Kaneko Pandora based", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_POST90S, GBF_PLATFORM, 0, diff --git a/src/burn/drv/pst90s/d_metro.cpp b/src/burn/drv/pst90s/d_metro.cpp index 52c50f0bc..bcdc4add6 100644 --- a/src/burn/drv/pst90s/d_metro.cpp +++ b/src/burn/drv/pst90s/d_metro.cpp @@ -5744,7 +5744,7 @@ struct BurnDriver BurnDrvToride2gk = { }; -// Toride II (Japan) +// Toride II (Japan, revision K) static struct BurnRomInfo toride2jRomDesc[] = { { "tr2_jk-5.20e", 0x040000, 0xf2668578, 1 | BRF_PRG | BRF_ESS }, // 0 68k Code @@ -5765,7 +5765,7 @@ STD_ROM_FN(toride2j) struct BurnDriver BurnDrvToride2j = { "toride2j", "toride2g", NULL, NULL, "1994", - "Toride II (Japan)\0", "No sound", "Metro", "Miscellaneous", + "Toride II (Japan, revision K)\0", "No sound", "Metro", "Miscellaneous", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_POST90S, GBF_MAHJONG, 0, NULL, toride2jRomInfo, toride2jRomName, NULL, NULL, NULL, NULL, PuzzliInputInfo, Toride2gDIPInfo, @@ -5774,6 +5774,36 @@ struct BurnDriver BurnDrvToride2j = { }; +// Toride II (Japan, revision I) + +static struct BurnRomInfo toride2jiRomDesc[] = { + { "tr2_ji-5.20e", 0x040000, 0x15906855, 1 | BRF_PRG | BRF_ESS }, // 0 68k Code + { "tr2_ji-6.20c", 0x040000, 0xe71e291e, 1 | BRF_PRG | BRF_ESS }, // 1 + + { "tr2_jb-8.3i", 0x020000, 0x0168f46f, 2 | BRF_PRG | BRF_ESS }, // 2 uPD7810 Code + + { "tr2_jb-2.14i", 0x080000, 0xb31754dc, 3 | BRF_GRA }, // 3 Graphics + { "tr2_jb-4.18i", 0x080000, 0xa855c3fa, 3 | BRF_GRA }, // 4 + { "tr2_jb-1.12i", 0x080000, 0x856f40b7, 3 | BRF_GRA }, // 5 + { "tr2_jb-3.16i", 0x080000, 0x78ba205f, 3 | BRF_GRA }, // 6 + + { "tr2_ja_7.3g", 0x020000, 0x6ee32315, 4 | BRF_SND }, // 7 MSM6295 Samples +}; + +STD_ROM_PICK(toride2ji) +STD_ROM_FN(toride2ji) + +struct BurnDriver BurnDrvToride2ji = { + "toride2ji", "toride2g", NULL, NULL, "1994", + "Toride II (Japan, revision I)\0", "No sound", "Metro", "Miscellaneous", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_MISC_POST90S, GBF_MAHJONG, 0, + NULL, toride2jiRomInfo, toride2jiRomName, NULL, NULL, NULL, NULL, PuzzliInputInfo, Toride2gDIPInfo, + toride2gInit, DrvExit, NoZ80Frame, i4x00_draw, DrvScan, &DrvRecalc, 0x1000, + 320, 224, 4, 3 +}; + + // Mouse Shooter GoGo static struct BurnRomInfo msgogoRomDesc[] = {